====================================================================================
Release notes for Nokia Symbian^3 SDK v1.0 - 31st March 2011
====================================================================================
               
Product Description:
====================

The Nokia Symbian^3 SDK enables application development using Symbian C++, Qt, Standard C/C++, Java ME and Web Runtime for devices based on the Symbian Platform. The SDK is based on Symbian^3 platform. It includes all key functionalities needed for application development (documentation, emulator etc.) excluding IDEs.

What's new in Symbian^3 SDK v1.0: 
=================================

 Qt v4.7 and Qt mobility. 
 Updated Browser v7.3.1.1.
 International Domain Names (IDN) support in browser.
 Updated Java Runtime 2.2 for Symbian with support for Java profiling, see Java section below.
 Java on device debug using USB, WLAN and Bluetooth.
 Multiple customizable Home Screen support with 3 widget enabled screens.
 Improved graphics architecture for fast and responsive UI.
	 Single tap interaction mode for improved user experience.
	 Better Multitasking capabilities with better memory management.
	 New task switcher with faster UI.
	 One click internet connectivity.
 Support for OpenGL ES v1.1 and v2.0.
 Three Plane Comms architecture for improved data flow performance.
 Multipoint touch support in the SDK.
 Creator Tool which can be used to create test data (eg.contacts, SMS messages, bookmarks, appointments and to-dos) in the emulator.
 Support for SBSv2 which is installed as part of standard SDK install.
 Support for GCCE v4.4.1 which is installed as part of standard SDK install.
 Support for Korean and Chinese languages in the SDK.


New C++ APIs:
=============
 Adapter Customization API.
 After Market Application (AMA) Starter API.
 Beagle Variant Header API.
 CryptoSPI (Weak and Strong) API.
 Communication Buffer API.
 Comms User Prompt Manager API.
 Common Graphics Header API.
 Content Control Server API.
 Content Control Client API.
 Discreet Pop-up API.
 DS Data Modification API.
 E-mail Widget API.
 exFAT File System API.
 Extended Content Publisher API.
 EUser High Level (EUserHL) Library API.
 Feature Manager API.
 FM Transmitter Control API.
 Haptics API.
 Home Screen Widget Publisher API.
 IP Transport Layer API.
 Libxm2 Library API.
 Location Centre Utility API.
 MBMS Parameter Plug-in API.
 MTP Pictbridge Data Provider API.
 OMAP 34xx Variant API.
 OpenMAX IL API.
 OpenMAX IL Core API.
 OpenWF Composition API.
 OpenWF Support API.
 Puny Code Converter API.
 Service Discovery Framework API.
 SQLite 3 API.
 Standard C++ Library (STLport v5) API.
 Surface Manager API.
 Surface Update API.
 SyncML Framework Error Reporting API.
 SyncML Framework Customization API.
 System State Manager API.
 System Health Manager API.
 Telephony Server Plug-in API.
 Touch Gesture Framework (FW) API.
 User Prompt Service API.
 Video Renderer API.
 XML DOM Engine and XPath API.


New Java Runtime 2.2 for Symbian
=====================================

Java Runtime 2.2 for Symbian is the renewed Java Runtime in Symbian^3 devices and it will also be made available as an add-on for S60 5th Edition devices in Forum Nokia.

Main new features in this release:

 JSR272 Stub implementation has been provided.
 Graphics hardware acceleration support in Symbian^3  Mobile 3D Graphics API is accelerated by 3D GPU as well as graphics performance is optimized when mixing of 2D and 3D graphics.
 Improved application installation experience - no need to accept several dialogs in Java application installation.
 Improved application startup experience - instant startup screen together with faster Java environment loading.
 Less security prompts at runtime - for certified Java applications granting of all requested permissions can even be given in one go.
 Several new developer APIs have been introduced.
 Enhanced support for MIDP security.
 New Java Command line argument support.
  -keepinstalled : Does not uninstall the MIDlet suite on exit.  
  
  Java Profiling:	
  -Xrun<library>[:options] : Loads a JVMPI agent library into the JVM.
  -agentlib:<library>[=<options>] : Loads a JVMTI agent library into the JVM.


For the detailed list of new developer features and supported APIs read the JRT 2.2 Release Notes from Forum Nokia website:
	http://wiki.forum.nokia.com/index.php/Java_Runtime_2.2_for_Symbian_Release_Notes

More thorough developer documentation for the new features and APIs is provided as part of Forum Nokia Java Developer's Library:
	http://library.forum.nokia.com/topic/Java_Developers_Library/GUID-0961408D-28A4-48DA-A6F2-2B55674E6E7B.html

Most of the implementation of Java Runtime 2.2 is contributed to Symbian Foundation as Mobile Runtime for Java Applications with EPL license (see http://developer.symbian.org/main/source/packages/package/index.php?pk=266).


New C++ Examples:
=================

 Haptics
  Demonstrates how to use Haptics API on Symbian application.

 BluetoothPMP
  Demonstrates the use of Bluetooth technology: device and service discovery, connection establishment to one or more devices, communication between devices, and disconnection. The Bluetooth RFCOMM protocol (RS-232 serial port emulation) is used as the transport protocol.

 ContactsModel
  Demonstrates the use of the Contacts Model API. It allows viewing contact items from the default contacts database and each contact is shown using a custom text definition. New contacts can be imported from files that contain vCard items.

 DBMS
  Demonstrates the usage of DBMS APIs and it includes a bookstore database engine and a simple Avkon GUI for testing the engine.

 Descriptor
  Demonstrates how to use descriptors (Symbian OS strings) and related APIs.

 Document_Handler
  Demonstrates how to use the Document Handler and the Recognizer to open and handle certain file types.

 ImageConverter
   Demonstrates how to use the image conversion APIs available in the Symbian platform (Image Conversion Library, ICL) and they include important classes such as CBitmapRotator and CBitmapScaler to be used for rotating and scaling images, respectively.

 InternetEmail
   Demonstrates how to retrieve e-mail from a remote mailbox to a Symbian mobile device. The application contains both IMAP and POP implementations, which differ only slightly from each other due to the generic messaging framework in Symbian OS.

 SMS
  Demonstrates programmatically handling of SMS messages.

 Sockets
  Demonstrates the basic usage of Symbian socket connection. The Socket task Manager loads the user's task through Symbian secure sockets from the server. The socket task manager client can be used to mark downloaded task as completed. It also listens for SMS messages sent by the server. The server sends an SMS message to the client when new tasks are available in the server. 

 TextMTM
  Demonstrates the key functionality of the Messaging subsystem by implementing and using its own messaging protocol with the Symbian Message Type Module (MTM).

 Thread
  Demonstrates thread usage and synchronization.

 TZLocalizer
  Demonstrates how to convert UTC time to local time using the time zone server (RTz) and how to add, remove or find a city in the database using TZLocalizer API.

 ThreadAndActiveObjects
  Demonstrates how to create an active scheduler and how to use active objects inside a new thread.

 Calendar
  Demonstrates the usage of the Calendar Interim API (also known as the CalInterim API), by adding and modifying anniversary entries. The example has been updated to be compatible with touch UI.

 Geoprofiles
  Demonstrates the use of the Location based Triggering Framework which developers can use to understand the main use case of Location based triggering.
    
 OpenGL ES
   CrossApi
    Demonstrates the rendering of OpenVG to OpenGL texture and then OpenGL to the window.
   CrossApiTexturing
    Demonstrates the rendering of OpenGL & OpenVG to the one window.      
   NormalMapping
    Demonstrates the benefits of texture normalmapping. NormalMapping is a technique of pre-filtering texture maps to reduce aliasing effects when the texture is drawn minimized.                    
   SimpleShader
    Demonstrates the basic openVG rendering.     
   SimpleShape
    Demonstrates basic openGL2.0 rendering.

    
Deprecated/Removed examples:
============================

 Aiwconsumerbasics
 Datamobility
 Imopenapiexample
 Isvtelcallapp
 Isvtelinfoapp
 Locationrefappfors60
 HelpExample
 IMOpenAPIExample
 OomExample


Deprecated APIs:
================
 Home Screen publishing for native widget is not supported.
 Calendar APIs
  class CCalInstanceView { ... IMPORT_C CCalInstanceIterator* FindInstanceL(const   CCalFindInstanceSettings& aSettings, const TCalInstanceId& aInstanceId) const; IMPORT_C    
  CCalInstance*  FindInstanceL(const TCalInstanceId& aLocalId) const; IMPORT_C   CCalInstanceIterator* FindInstanceByUidL(TCalCollectionId aCollectionId, const TDesC8& aUid,       const TCalTime& aInstanceTime)  const;...}       
 Connection settings access APIs
         GetIntSetting(const TDesC&, TUint32&)
         GetBoolSetting(const TDesC&, TBool&)
         GetDesSetting(const TDesC&, TDes8&)
         GetDesSetting(const TDesC&, TDes16&)
         GetLongDesSetting(const TDesC&, TDes&)
 Class CommonPhoneparser is deprecated, see TulPhoneNumberUtils.h for an alternative. 


Deprecated Tools:
================
 ABLD tool (SBSv1).


Supported IDEs:
===============
C++
 Carbide.C++ v2.6 and higher.

Java
 Eclipse Pulsar for Mobile Java Developers 3.5 or higher (http://www.eclipse.org/).
 NetBeans 6.8 and 6.9 (http://www.netbeans.com/).

 
System Requirements:
====================
Supported Platforms:
 Microsoft Windows XP Professional SP2 & SP3.
  (Windows XP SP3 was used for testing of this product)
 Microsoft Windows 7.

Additional Softwares (Recommended):
 Active Perl 5.6.1 build 635 or higher for SDK build tools(installer available as epoc32\tools\distrib\ActivePerl-5.6.1.635-MSWin32-x86.msi). 
	Perl must be installed before using the abld tool to build symbian applications.
 Java Runtime v1.5.0 or higher.
 ARM RVCT compiler v2.2.

Recommended hardware configuration:
 Minimum 2 GHz Pentium PC, 3 GB of memory.
 At least 10 GB free disk space, other requirements according to the IDE used.
 Installation/Uninstallation and using of the SDK requires local admin rights.
 Other Requirements as required by IDE used.

Minimum hardware configuration:
 Minimum 1 GHz Pentium PC, 1 GB of memory.
 At least 3 GB free disk space, other requirements according to the IDE used.
 Installation/Uninstallation and using of the SDK requires local admin rights.
 Other Requirements as required by IDE used.


Known Problems and Limitations in this SDK Release:
===================================================

General:

 Browser exit throws a Kern Exec 3 message.
 Cannot edit a bookmark in browser.
 Contacts and Settings Restore is not supported in this SDK.
 In Settings->Connectivity->Bluetooth, pairing of the device is slow and takes few minutes.
 In Settings->Connectivity, USB option is not supported in this SDK.
 If Perl is installed through SDK installation, environment variable sbs_home is not set correctly.
  Please manually modify the "sbs_home" to "<Default SDK>\epoc32\tools\sbs".

C++:
 Example application AudioStreamExample doesn't work for the second and subsequent record options.
 Example application SensorExample doesn't run on Emulator.
 Example applications Simpleshader and Normalmapping from OpenGL can't be run on Emulator.
 Example application NPBitmap doesn't compile for winscw,armv5 and gcce target.
 Example application HTTPClient does not work in WINSCW build for HTTP GET methode




Java:

 Default access point has to be set for Java ODD.
 Switching the bearer (BT, WLAN and USB) does not happen and though the bearer is changed in the Settings, ECMTAgent continues to work with the old bearer.
  Workaround: Restart the device to get ECMTAgent start with the new bearer.
 Display does not get refreshed properly when running ECMTAgent if the device has Theme effects turned on.
  Workaround: Turn off Theme effects when using ECMTAgent.
 SystemOut logs are sometimes not displayed in proper sequence in NetBeans console.
 Java ME APIs are not verified for compliance.
 JAD attribute "Nokia-MIDlet-App-Orientation: landscape" doesn't work.
 JAVA documentation is not integrated in Netbeans IDE.



Documentation:
 Guides for the technologies that were previously part of S60, including for the Avkon UI framework, are not yet updated from the S60 5th Edition versions.
 Some links are broken.
 This SDK release doesnt contains the latest version of the Java Developer's Library.
  Please refer to the online version of the Java Developer's Library (http://www.forum.nokia.com/JDL) 
  for the latest information on the Java technology support in Symbian^3.


Product support: 
================
For product support, please visit the Forum Nokia web site 
http://www.forum.nokia.com/

For Feedback, please visit Forum Nokia Discussion board at 
http://discussion.forum.nokia.com/forum/tools_and_sdks/feedback/

This product includes certain OSS components. Detailed licensing and copyrights are available in the SDK> Emulator> About Box window (same can be viewed in licenses_texts.txt in SDK root folder).

Copyright  2010 Nokia Corporation. All rights reserved. 

Nokia and Forum Nokia are trademarks or registered trademarks of Nokia Corporation. 
Java and all Java-based marks are trademarks or registered trademarks of Oracle Corporation. 
Bluetooth is a registered trademark of Bluetooth SIG, Inc. Other product and company names mentioned herein may be trademarks or trade names of their respective owners.