0.84/0.83.1 Notes

=Sucrose 0.83.1 Release Notes=

Announcement
This is our first Development Release in the 0.84 cycle. The code base has seen many refactoring efforts to improve the platform. To improve performance several heavy shell dependency have been dropped and the journal and the shell service has been merged into the shell. Furthermore the datastore has been rewritten, to simplify and improve maintainability. The API has been kept in place.

Sugar moved to use Gconf as a back end to store the profile. An ABI policy has been figured out and modules have been marked as STABLE / UNSTABLE / DEPRECATED.

Some enhancements have been made to the clipboard to provide visual consistency with the Sugar environment. And of course many many bugs have been fixed, which you can see in detail below.

Thanks
To everyone for bearing with us and keeping up the good work in this new release cycle!

Compatibility
When you upgrade a computer running an earlier version,
 * The old datastore will be updated to the new format.
 * Your old profile (in .sugar/default/config) will be imported into GConf

If you later downgrade from Sucrose 0.83.1 to an earlier version,
 * The datastore is incompatible
 * You will be prompted to enter all your profile settings like you are on first boot

Most of the activities in Sucrose 0.83.1 should be compatible with Sucrose 0.82, the version shipped with OLPC Release 8.2.0. An exception is Browse, which depends on new versions of XULRunner and Hulahop. Read likewise may soon depend on a new version of Evince

Glucose modules

 * sugar-toolkit 0.83.1
 * sugar 0.83.1
 * sugar-artwork 0.83.1
 * sugar-base 0.83.1
 * sugar-datastore 0.83.0
 * sugar-presence-service 0.83.1
 * etoys 3.0.2160

sugar-toolkit

 * Mark modules as STABLE/UNSTABLE/DEPRECATED
 * Failure to handle 404 in ChunkedGlibHTTPRequestHandler
 * Activities needs to access sugar-toolbox's members directly
 * Clipboard scroll buttons icons point left/right, should point up/down
 * Tray control should support highlight on drag
 * Can't join shared activity
 * 8.2-764, Software Update erased complete /home/olpc/Activities directory
 * Icons overlap unnecessarily in crowded neighborhood view.
 * Sugar Palette doesn't handle 'table menus'.
 * SIGCHLD fights with threads.
 * Shell navigation leaks
 * gst usage in the shell wastes 2.6mb
 * sugar shell leaks presence service info
 * palette.menu is leaked
 * sugar shell leaks presence service info
 * Remove "dynamic" font height computation
 * downloads not starting in Browse due to old compreg.dat
 * 7+% of shell startup time is spent in `grab' of sugar._sugarext.KeyGrabber
 * Pulsing icon on activity launch significantly slows activity start-up
 * setup release does not update the bundle number
 * gettext translations slows journal's scrolling
 * Cannot install Wikipedia-10.xo
 * Activity does not respond to ctrl-q keyboard shortcut unless the 'Activity' tab is visible

sugar

 * Modularized the shell to have every major UI component like the frame the home view and the control panel reside in his own module and be self contained
 * Use gconf as a backend to store the profile.
 * Several heavy shell dependency have been dropped.
 * Merge of the journal and of the shell service into the shell
 * "Battery fully charged" shows up in error (battery is removed)
 * Jabber server description is ambiguous
 * Should re-request closed random views
 * Should request random activities/buddies to populate the mesh view
 * Clipboard objects need meaningful labels.
 * Dragging within the clipboard creates duplicate clippings
 * Cursor lock while dragging icons in Home (or anywhere)
 * Tray control should support highlight on drag

sugar-artwork

 * Ensure that all common drag operations use a sugar cursor
 * Generate two themes based on SUGAR_SCALING
 * Merge sugar-artwork patches from debian package.
 * allow prelightning of buttons

sugar-base

 * Add dispatcher implementation from django
 * Mark modules as STABLE

sugar-datastore

 * The datastore has been rewritten, to simplify and improve maintainability. As a first step the API was not changed at all (other than removing removable devices support), so that the new implementation was swapped in without changes to activities and Sugar.
 * Drop for now the management of removable devices inside the DS. Removable devices support in Sugar should happen without intervention from the DS.
 * The datastore should hard link identical files, to handle repeated downloads of the same content without filling up NAND.
 * Support arbitrary metadata properties that activities wish to add
 * Degrade gracefully if a database gets corrupted- Basic functionality should only depend on the filesystem being available. Any other data structures (full text index) should be rebuildable from the filesystem.

sugar-presence-service

 * Don't ignore buddies without keys. This improve interoperability with non Sugar clients.
 * Display PS version in the log.
 * Use gconf to get Sugar profile settings.
 * Don't rely on the roster to check if a contact handle is channel specific or not - so PS will properly create Buddy objects discovered using Gadget. Furthermore, this workaround has the nice side effect to improve compatibility with bugged shared roster (as the one of ejabberd).
 * Discard invalid handles if InspectHandles failed.

etoys
This version copes with the datastore using byte arrays for strings, thus allowing to resume again

Fructose modules

 * read-activity 60
 * chat-activity 60
 * terminal-activity 20
 * browse-activity 100
 * etoys-activity 96
 * write-activity 60
 * calculate-activity 25
 * log-activity 16
 * pippy-activity 25

read-activity

 * The version bump is to allow for stable releases after Read-52 which is the current stable release.
 * Use journal object picker if not resuming a file
 * Read sharing can deadlock.

chat-activity

 * The version bump is to allow for stable releases after Chat-48 which is the current stable release.
 * Can't resume a previous Chat entry with Write anymore

browse-activity

 * Add a "Download image" option to the image palette (tomeu)
 * Add a "Download link" option to the link palette (tomeu)
 * Get downloads and upload alerts for multiple windows to work (marco)
 * Handle download names with non-ascii characters (tomeu)

terminal-activity

 * Systemwide keyboard shortcuts break terminal apps (e.g. nano)
 * Terminal-activity: path does not contain olpc-update

 Updated translations: 
 * tr
 * pt

Fructose dependencies

 * hulahop 0.4.7

hulahop
Provide the ground to make downloads and uploads work for multiple instances (marco)