========================================================================
RELEASE NOTE FOR S60 3RD EDITION SDK FOR SYMBIAN OS, FOR C++	18.01.2006
========================================================================

Introduction:
=============
The S60 SDK for Symbian OS enables application development for devices 
based on S60 platform using C++. The SDK is based on S60 
Developer Platform 3rd Edition and Symbian OS 9.1. The SDK includes all 
key functionalities needed for application development (documentation, 
API reference, emulator) excluding IDE. 


SDK Features Supported :
========================
- This product requires free registration after 14 days of use.
- Emulator for debugging applications 
- Building tools and environment for emulator (WINSCW UDEB)
- Building tools and environment for terminal deployment (GCCE, RVCT). 

- Symbian and S60 platform documentation, as specified below:
	+ Help
	+ Installation Guide
	+ API set documentation
	+ Platform security documentation including description of the 
	   modified development process
- S60 Tools including:
  + MBMViewer for viewing Symbian multibitmap images
	+ SimPSY including tool for generation of simulated locations 
	+ Svg2Svgt for converting SVG images to SVG-T format
  + Task Manager 
  + Http Monitoring 
  + System Event Generator 
  + Emulator Configuration Tool 
  + Command Line Interface for mobile content developers 
  + Content Push to device through command line interface
  + Remote Logging API 
	
- Support for CodeWarrior version 3.1 for Symbian OS.
- Emulator TCP/IP support


New Features:
=============
- TRK support for on-device-debugging
- Platform security support in examples
- Platform security documentation
- SIP client application development environment including 
    - SIP server emulator
- Http monitoring tool
- System event generator tool
- New additional web browser in emulator
- Flash Lite viewer utility in emulator
- RealPlayer in emulator 
- Improved S60 API Documentation
- Support for context sensitive S60 API help in CodeWarrior 3.1

New or fundamentally changed APIs
=================================
Audio Effects API 
Audio Effects Presets API 
BLID application satellite info API 
Bookmarks API 
Common Audio Enhancements API 
CommsDat API 
DRM Audio Player API
Exif API 
Find Item API 
HWRM Power State API 
IM  API 
IM Application Launch API 
Landmarks API 
Landmarks UI Selector API 
Light API 
New Message Notification API 
OMA DRM CAF Agent API 
PtiEngine API 
Remote Control Address API 
Remote Control Client API 
Remote Control Core API 
Remote Control Interface Selector API 
Screen saver API 
SDP Codec API 
Send UI API 
Server application API 
SIP Client API 
SIP Client Resolver API 
SIP Codec API 
SIP Configuration API 
SIP Profile  API 
Timezone API 
Timezone Localization API 
Web Service Connection API 
Web Service Description API 
Web Service Manager API 
WebUtils API 
Vibra API 
Vibra Settings API 
XML Extensions API 


System Requirements:
====================
Basic Requirements:
- Microsoft Windows XP SP2 or Microsoft Windows 2000 SP4
  tested with Windows XP SP2
- IDE:  CodeWarrior for Symbian OS v3.1
- ARM RVCT compiler 2.2 build 503 or newer is supported.
- Minimum 1 GHz Pentium PC, 256 MB of memory
- 450 MB free disk space, other requirements as required by the IDE
  used

Additional Requirements:
- Installation/uninstallation and using of the SDK requires local admin rights.
- Active Perl 5.6.1 build 631 for SDK build tools. Newer or older
  versions of Perl may not be fully compatible with Symbian toolchain.
  Perl must be installed before using the SDK to build applications.
- Java Runtime version 1.4.1_02 or later is required.

Changes Since Beta Release:
===========================
- Following headers were removed: VpnApItem.h, mmfvideoframebuffer.h, 
  akninfopopupnote.h, DRMRights.h, DRMAsset.h, DRMPermission.h, 
  DRMConstraint.h, DRMTypes.h, DcfCommon.h
- Following header was added: ApAccessPointItem.h 
- Changes in ptidefs.h: Values for enum EPtiKeyQwertyPlus has changed 
  from 0x87 to 0x2b.
- Changes in screensaverplugin.h: Enum EScreensaverEventStarting added. 
  Values for enums EScreensaverEventStopping, EScreensaverEventDisplayChanged,
  EScreensaverEventTimeout have been changed.
- WriteDeviceData capability is is required to do any write to the 
  Comms Database.

Known Issues and Deficiencies in this  SDK Release:
===================================================

Documentation
-------------
- In S60 3rd Edition the platform UID must be defined with square brackets
  in the .pkg file, and not in round brackets as mentioned in the 
  documentation (Developer Guides > Platform UID for S60 3rd Edition SDK).
  If defined in round brackets, the platoform UID is not recognized by
  the installer and installation of SIS file fails with an Application
  not compatible error. Notice, that some  tools or IDEs that are
  capable of automatically creating .pkg files for S60 3rd Ed projects
  may still incorrectly use round brackets for the dependency line.
- Some hyperlinks to "Remote Logging" section don't work. To find
  information about REcmt API, use SDK help index to locate "Remote
  Logging".

Build Tools
-----------
- MMP option to suppress warnings has no effect on linker-generated
  warnings.
- Can't make the sis file when .pkg file name has non-Latin (e.g.
  Chinese, Japanese, Thai) characters.
- "Bldmake plat" may fail if Visual C++ not available.
- "Makmake project.mmp cw_ide" command may cause harmless warnings.
- If SecureID is separately defined in MMP file, GCCE toolchain may
  produce a wrong SecureID for the application. Use command "petran
  -dump s project.exe" to check generated SecureID.
  Workaround: Run "bldmake bldfiles". Locate file
  <SDK>\Epoc32\BUILD\Work\<PROJECT_FOLDER>\group\<MMPNAME>\GCCE\<MMPNAME>.GCCE.
  Locate "elf2e32" commands and edit "-sid" parameters, if wrong
  securid is set. Run "abld build gcce urel" to build application.
- Signsis does not work if no password is given on the commandline
- Emulator freezes if files are deployed into
  \private\10003a3f\import\apps. Therefore, it is recommended to use
  following template to define _reg.rss resources in MMP file: 
  START
    RESOURCE HelloWorldBasic_reg.rss
  #ifdef WINSCW
  TARGETPATH
    \private\10003a3f\apps
  #else
  TARGETPATH
    \private\10003a3f\import\apps
  #endif
  END //RESOURCE

Connectivity
------------
- Executing ceddump.exe does not create cedout.cfg file if emulator is
  running.
- IrDA is enabled and configured by default even if hardware not
  present in PC.
- Second instance of emulator can't be used for Bluetooth connectivity,
- Nokia Connectivity Framework is supported for file-based SMS and MMS
- Bluetooth USB dongles are not supported. Only Casira hardware can be
  used.

Emulator
--------
- Of the documented key combinations Alt-F2 and F11 do not work. In
  addition debug key combinations [Ctrl]+[Alt]+[Shift] +A (B,C) do not
  function in the Emulator.
- MMC emulation doesn't show size of emulated card correctly. Memory
  Application shows the size of the Hard drive in the PC, Not the
  memory details of the USB stick used in MMC emulation..
- Just-in-time debugging is always on in SDK emulator.
- In MMC Emulation, removable drive letter is not always updated in
  configuration panel.
- WAP Push Files do not open in emulator.
- Epoc.exe process hangs if emulator is "turned off" in standby mode.
  Workaround: Kill process using Windows Task Manager.
- To start debugging application go to Installed folder in emulator and
  select the application to be debugged. Debuggee is started.
- In the emulator, the value of the User::NTickCount() function
  advances every 5 ms (200 Hz) instead of every 1 ms (1000 Hz) as
  mentioned in the documentation.
- Hotswapping a memory card doesn't work in the emulator environment
- When opening DRM content using File->Open, rights object (DRC) must
  be loaded before content (DCF).
- SIC (Service Indication) and DRC (Digital Rights) content cannot be
  'pushed' to the SDK from NMIT (Nokia Mobile Internet Toolkit).
  Workaround: Save the SIC and DRC content in NMIT by using the Save
  Binary option, and then File-Open them using the SDK.

Emulator Applications
---------------------
- Camera is not supported by S60 Emulator.
- Browsers do not support IPv6 connectivity.
- Telephony settings can't be changed.
- In to-do app, priorities of task can't be edited.
- Message application doesn't allow Chinese names in recipient field.
- RealPlayer supports playing 3gp and mp4 files. Also Real Video 10, 9,
  8 can be played, video part is displayed but the audio part may
  suffer distortions. Other formats are not supported in S60 emulator.

Examples
--------
- In emulator Webclient example a panic is shown at exit. This panic is
  caused by S60 emulator implementation.
- Brctlsample.app panics at exit. This panic is caused by S60 emulator
  implementation. Additionally, external links can't be followed.

Installation/Uninstallation
---------------------------
- Installation to non default folder creates extra folders to C:-drive.
- SDK uninstall doesn't remove SDK entries from
  "installationRegistry.xml.
- It is suggested to install the SDK to default location.

S60 APIs
--------
- SDK file apaccesspointitem.h fails to compile. The class
  CApAccessPointItem is unusable in the public SDK. This will be
  corrected in future releases of S60.
- The method CBitmapRotator::CustomMethod() is not implemented. Using
  this function will cause linking error.
- The method CommsDat::CMDBRecordBase::RecordFactoryLC is not
  implemented. Using this function will cause linking error.
- SDP Codec API does not require any capabilities. It is incorrectly
  stated in the API reference documentation that the API requires
  NetworkControl and NetworkServices capabilities.
- CAknPopupFieldList defined aknpopupfieldlist.h is deprecated and
  should not be used.
- CalenInterimUtils class implementation defined in caleninterimutils.h
  will change in future S60 releases. It should not be used.
- Header calnotification.h may be removed or changed in future. It
  should not be used.
- Header remconaddress.h may be removed or changed in future. It should
  not be used.
- Data Synchronization plug-in API and Device Management plug-in API
  were removed.

S60 Tools
---------
- Multiple JRE installation confuses svg2svgt installer.
  Workaround: add JRE (1.4.2 or newer) folder to PATH, before running
  installer, after installation JRE installation folder can be removed
  from PATH.
- Route point longitude is different in Utilities->Route and in
  SimPsyConfigurator
- SIP Server Emulator can only be run in two PC configuration.
  PC1: S60 Emulator running Client application using SIP + SIP Server
  Emulator
  PC2: S60 Emulator running Client application using SIP
  SIP Invitation can only be sent from PC2. SIP Server Emulator fails to
  register invitations coming from S60 Emulator running on same PC as
  the Server Emulator.
- SIP Configuration: both SIP Registrar and SIP Proxy servers need to be
  configured. Note that Proxy configuration is a mandatory step.
  Otherwise SIP Server emulator connection can't be made.

Copyright (c) 2001-2006 Nokia Corporation. All rights reserved. 
Nokia and Nokia Connecting People are registered trademarks of 
Nokia Corporation.
