API changes between maemo 3.2 and maemo 4.0

maemo 4.0 Chinook introduces an API break from maemo 3.x Bora. Please see an earlier announcement for the rationale behind this.

Toolkit

Hildon

Hildon has undergone big changes towards the Hildon 2.0. See the Hildon pages under gnome.org for a complete list of changes. As the main highlight Hildon 2.0 relies on a slightly modified GTK+ 2.10 instead of a heavily modified GTK+ 2.6. Glib also has been upgraded to 2.12, which is a minor upgrade.

Note also that Hildon Application Framework is now called Hildon and Maemo Desktop (same as maemo-af-desktop) has been renamed to Hildon Desktop.

Renamed packages:

  • Hildon-fm -> libhildonfm2 (pkg-config name hildon-fm-2)
  • Hildon-libs -> libhildon1 (pkg-config name hildon-1)
  • Libossomime0 -> libhildonmime0
  • Maemo-af-desktop -> hildon-desktop
  • libosso-help -> libhildonhelp0 (pkg-config name hildon-help)

Removed packages:

  • Lessertunjo & archtunjo (combined to hildon-games-wrapper)
  • Hildon-lgpl & Hildon-libs (merged to libhildon1)
  • Libhildonmenu0 (replaced with libhildondesktop0, pkg-config name libhildondesktop)
  • Hildon-base-lib (GnomeVFS to be used instead)
  • Hildon-status-bar-lib (statusbar plugins should link against libhildondesktop) 

D-Bus

D-Bus has been upgraded to version 1.0.2. See changes from the ChangeLog in the D-Bus 1.0.2 release. The package name has been changed from libdbus-1-2 to libdbus-1-3.

Removed API items: dbus_connection_disconnect, dbus_g_thread_init.

Added API items: dbus_connection_get_g_connection.

Pango

Pango has been upgraded to version 2.14. Applications should not use pango directly, so this upgrade should not have any effect on them.

Libosso

 

  • Added registration for locale change, setting new locale
  • Added registration for display on/off/dimmed notifications
  • Removed osso_tasknav_* and osso_application_initialize

GnomeVFS

GnomeVFS upgraded from 2.12 to 2.16. This is a minor upgrade.

Cairo

Cairo, a hardware acceleration capable 2D graphics library designed to produce consistent output on all medias, has been added to the maemo platform. The version used is 1.4.10.

Gtkhtml

Gtkhtml has been updated to version 3.9.1.

Libxml2

Libxml2 has been updated to version 2.6.27. This is a minor upgrade, see the ChangeLog in the package for changes.

GConf2

Gconf2 has been upgraded from 2.6 to 2.16.

Removed API items listed here for convenience:

  • gconf_daemon_blow_away_locks
  • gconf_get_daemon_dir
  • gconf_get_lock_dir
  • gconf_quote_percents

Multimedia

GStreamer

GStreamer has been upgraded to version 0.10.13. The playbin plugin should be used for all playback except RealAudio. It takes care of routing the audio and video to the proper sinks. GStreamer mpeg1demux removed. playbin to be used instead.

Connectivity

Added BlueZ audio support http://wiki.bluez.org/wiki/Audio. Removed IC API (osso-ic-oss, osso-ic-lib, osso-ic-dev), which was previously deprecated. Use ConIC API (libconic0) instead.

System software & core

HAL

  • HAL added, with libhal as wrapper. Supported devices:
    • MMC/SD cards
    • USB mass storage
    • keyboard (open/closed, exists/doesn’t exist)
    • ambient light sensor
    • camera status (open, closed)

glibc

glibc 2.3 upgraded to 2.5. NPTL taken into use, which might have effect on applications with specific needs for thread behaviour.