(19 KB) Pobierz
Python for S60 1.9.7 RELEASE NOTES, 03.08.2009

Product Description

Python for S60 (hereafter PyS60) is intended for developers looking to create
programs that use the native features and resources of the S60 phones, using the
Python programming language.

About this release

This is the new 1.9.7 development release of PyS60. This release is intended
only for S60 3rd edition, S60 3rd edition FP1, S60 3rd edition FP2 and
S60 5th edition devices.

Note on versioning: The versioning scheme in PyS60 releases is such that the
releases with an even minor version (1.0.x, 1.2.x ...) are "stable" and releases
with an odd minor version (1.1.x, 1.3.x ...) are "development" releases. This is
thus a development release, meaning that it includes functionality that has not
been tested as extensively as the stable releases. This release is provided as a
preview to developers who wish to experiment with Python on S60 before the next
final stable release.

What is new when compared with PyS60 1.9.6?
- Touch support added for GLCanvas UI Control. Directional pad is displayed
  by default on touch enabled devices. A sample application -
  is added to ScriptShell which demonstrates the functionality.

- Two new APIs are added to canvas - begin_redraw and end_redraw. These can be
  used to instruct the window server to enable redraw drawing on the canvas UI
  control. Please refer the documentation (Section 3.1.10) for more details.

- The multi-selection listbox has been modified such that the dialog
  for the option 'checkmark' now has 'Options' and 'Back' as its left and right
  softkeys respectively. The 'Options' has Mark/Unmark entry that can be used
  to select and de-select respectively. The 'Back' softkey returns the
  current state of the listbox based on the selected items.

- 4-way directional pad support in landscape mode
- Different flavors of Scriptshell application can coexist on the device.

- Scribble application improvements:
  - Performance improvement by using API's begin_redraw and end_redraw.
  - The drawing area is retained between landscape and portrait
    modes as the toolbar shifts to accommodate for this change.
  - Pen width can be selected from a list of predefined values.

- PyS60 document is available online on maemo.garage

Corrected defects:
4251 - The compression type for the dll and exe files for Python is shown
       as Deflate instead of Byte-pair.
4313 - Scrollbar visible afterwards, should not be there
4338 - Multiple lisbox objects decrease scroll performance
4349 - time.mktime() taking too much time to execute

What is new when compared with PyS60 1.9.5?
- Support for a virtual 4-way directional pad is added for Canvas and text
  widgets. This D-Pad is displayed at the bottom of the screen and this
  feauture is enabled by default on touch enabled devices. Currently, this is
  supported only in the portrait mode and landscape support will be available
  in a future release.
  The 'full_max' mode is invalidated by this change and is removed in this

- The modules in the base runtime is more refined and hence the size of
  application SIS, created using PyS60 Application Packager is reduced.

- A new chapter is added in the PyS60 documentation (Extending and Embedding
  PyS60), that is an end-to-end tutorial for creating 3rd party extention
  modules and distributing them.

Corrected defects:
3223 - Floating point formatting/parsing routines on this platform are imprecise
4078 - socket.access_points() returns iapid 0 for lots of entries
4106 - Problems exiting standalone apps
4185 - Calendar module returns end time with time zone offset added to Unix time
4186 - Using rollback in calendar module returns error
4198 - Screen orientation remains landscape after exit, while device was
       portrait all the time
4215 - cannot load .pyc files
4216 - sys.exit() doesn't exit Python

What is new when compared with PyS60 1.9.4?

- e32.s60_version_info is now modified to do a dynamic fetch and return of S60
  version information, instead of returning the version information configured
  at the compile time.
- Default heapsize for PyS60 applications is increased to 100k,4M from 4k,1M
- An option "Continue with missing dependencies" is added to packaging tool.
  Enabling this option will display the missing dependencies as warnings and 
  continue with SIS generation. Otherwise the packaging is strict. Missing 
  dependencies are displayed as errors and SIS generation is aborted.

Feature requests:
3261 - Add option to convert to bytecode before py2sis
3298 - appuifw listbox now sports a scrollbar

Corrected defects:
3228 - time.clock() does not work as expected.
3784 - Python shell file listing in reverse alphabetical order
3788 - uninstall_Python script for SDK has a leading \ in path
3934 - appuifw.Icon creates only grey boxes
3938 - Listbox scrolling off-by-one with touch
4006 - Fake selection problem when sliding quickly your fingers over a list
       with two lines per raw (XM 5800)
4007 - Lists with one raw per item are generating a type_error when sliding
       my finger from top to down
4013 - relates to 1.9.4. !! returns wrong S60 OS version number
4016 - ZeroDivisionError running in 1.9.4

What is new when compared with PyS60 1.9.3?

- A single Nokia signed runtime package which can be installed on all S60 3rd ED
  and above devices is available. The actual size of the runtime is ~1MB, but due
  to the embedded OpenC sis and Platform Service sis, the size is increased to
  2.8MB. The runtime includes only the most essential modules. The Rest of the
  modules are available with the application packager tool.

- Improved version of application packager tool. The PyS60 application packager
  now scans the Python application being packaged and picks up the missing
  Python modules on which the application is dependent and packages them along
  with the application files. Refer Chapter 7. "Module Repository" in the
  PyS60 Documentation for more details.

- Easier runtime deployment: Python runtime and its dependent components can be
  installed by just running any Python application packaged using 1.9.4
  application packager. This feature is available only from S60 3rd edition FP2
  devices onwards and also these devices should have been updated with the
  latest firmware.

- Two new APIs are added to the socket module - access_points() &
  set_default_access_point() which have similar functionality to the APIs
  present in btsocket module.

- Two new APIs are added to e32 module - get_capabilities() and
  has_capabilities(). The former can be used to get the capabilities, the
  application has been signed with, and the latter to check if a given list of
  capabilities is granted to the application or not.

  Note: The capabilities of scriptshell are displayed on startup using the
  get_capabilities() API.

- Added a new mode to - 'full_max' which can be used to
  achieve fullscreen on devices that don't have Left Soft Key and Right Soft
  Key(e.g.: Nokia 5800). Setting the screen to 'full' will translate to
  'large' mode on these devices.

- The prefix to the binaries of 1.9.x to support co-existence with 1.4.x
  runtime, has been changed from '251_' to 'kf_'.

Corrected defects:
3368: Importing modules under application's private directory fails.
3841: socket vs. btsocket interoperability

What is new when compared with PyS60 1.9.2?
- Touch event support is added to appuifw Canvas. An API is added to appuifw
  module, touch_enabled() for checking if the device supports touch input.

- scribble application developed using PyS60 touch feature is available in the

- This release includes a new extension module, scriptext. This is an enabler for
  using S60 Platform Service APIs that were introduced in the S60 5th Edition
  and back ported on S60 3rd edition FP2, from Python. It supports services like
  Application Manager, Calendar, Contacts, Landmarks, Location, Logging,
  Messaging, Media Management, Sensors and Sys Info. Refer scriptext module
  documentation for the usage and the convention for accessing the platform
  Service API interfaces is subjected to change.

- Easier runtime deployment: Python runtime and its dependent components can be
  installed by just running the scriptshell application that comes with 1.9.3
  release. This feature is available only from S60 3rd edition FP2 devices
  onwards and also these devices should have been updated with the latest
  firmware. The easier runtime deployment support will be available with all
  ensymble packaged applications in future releases.

- SSL support for socket is enabled

- Python core is upgraded to 2.5.4

Corrected defects:
3220: Time and strptime modules fails when the 'Z' format specifier is used
3221: Issue with non-blocking TCP socket
3229: Problem with decimal separator when the phone's locale uses a non dot decimal separator
3388: SSL Client not supported by this Python installation
3631: The packager does not remember the source directory of previous invocation

What is new when ...
Zgłoś jeśli naruszono regulamin