0.84/Notes
Sucrose 0.84 Release Notes
Introduction
Sucrose 0.84 is the latest version of the Sugar education platform, consisting of Glucose, the base system environment; and Fructose, a set of demonstration activities.
Sucrose is released every six months and contains many new features, improvements, bug fixes, and translations. Sucrose 0.84 continues this tradition and is our second well-planned release to date.
You can learn more about Sugar itself here.
What is new for users
What is new for developers
The following changes are important for developers using the Sucrose 0.84 developer platform. If you're not interested in changes for developers, you can skip forward to Section Internationalization and Localization.
Widgets
A colorpicker widget has been added. It is similar to the gtk.ColorButton, but does not have any alpha support. Instead of a color selector dialog it will pop up a Sugar palette. An example on how to use the ColorToolButton in your activity can be examined in the Write activity.
The Object chooser can now be filtered by data type. An example is the import image functionality in Write.
Support for accelerators has been added to MenuItem. The sub classed hippo.CanvasWidget, CanvasTextView has been moved to the toolkit.
API
An API policy has been figured out and modules have been marked as STABLE / UNSTABLE / DEPRECATED. There is a comment in the module that indicates it's current state.
Sugar moved to use GConf as a back end to store the profile. This is another step into reducing diverts where not needed.
To handle view source HandleViewSource and GetDocumentPath have been added to the activity service. The former will handle the content of the activity bundle, the latter is the source of the current activity instance, in the case of Browse this would be the source of the HTML page currently displayed. Activity authors need to implement get_document_path and return the path to the document the dialog should display.
The method get_preview has been changed to be public. It does return an image representing the state of the activity. Generally this is what the user is seeing in this moment. Activities can override this method and provide their own preview data.
Dependencies
For performance reasons Sugar is using exclusively cjson, a JSON processing module written in C. pyjson and simplejson have been dropped. All the Fructose activities that use JSON to serialize data have been changed to use cjson as well.
Bundlebuilder
Bundlebuilder the module for packaging xo bundles, bundling source tarballs and installing activities on the system has been refactored, mainly to do a more standard system installation of activities. The install argument has a prefix option, mo files are installed in /usr/share/locale and po files are not installed. The release command has been dropped. For Glucose and Fructose components you can use the release script of the sugar-tools module instead.
Extensions
Extending the shell has never been so easy. With the new extension layout one can quickly add desired functionality. For example for a new Control Panel section, one need only to place a model and view...
Debugging
Since version 0.84 the configuration file ~/.sugar/debug is created which gets read when Sugar starts. The file does contain logging options which are commented by default. Use your editor of choice and remove the '#' before the line 'export SUGAR_LOGGER_LEVEL=debug' to enable Sugar debug logging. More information about the Sugar logs can be found at BugSquad/GetLogs.
Misc
- Restore minimal .xol support #459
- util.TempFilePath
- Listen for map in Window instead of in Canvas (alsroot) #428
- Use the same font size independent from scaling
Internationalization (i18n) and Localization (l10n)
Thanks to members of the worldwide translation team, who can be found on the localization mailing list, we have the following languages (listed alphabetically) which have significant support (more than 80% of the user interface translated):
- Chinese (China)
- Chinese (Taiwan)
- Dutch
- French
- German
- Italian
- Japanese
- Nepali
- Portuguese
- Russian
- Spanish
- Swedish
- Turkish
- Vietnamese
Compatibility
When you upgrade a computer that was running previously Sucrose 0.82,
- 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.84.x to an earlier version,
- The datastore is incompatible, so all data in the journal won't be accessible (but will be still there)
- You will be prompted to enter a new name and color like it would happen on first boot
Most of the activities in Sucrose 0.84.x should be compatible with Sucrose 0.82. An exception is Browse, which depends on new versions of Hulahop, Read which depend on the latest version of Evince and Write which depends on the latest version of libabiword.
Getting the sources
If you want to package sugar for your favourite distribution or just want to examine sugar's lovely code ;) you can find all the source code of each module at the links below.
Glucose
- sugar-toolkit 0.84.0
- sugar 0.84.0
- sugar-artwork 0.84.0
- sugar-base 0.84.0
- sugar-datastore 0.84.0
- sugar-presence-service 0.84.0
- etoys 4.0.2206
Fructose
- read 65
- chat 64
- terminal 23
- imageviewer 6
- jukebox 7
- turtleart 41
- browse 105
- etoys 100
- write 63
- calculate 28
- log 17
- pippy 25
Fructose dependencies
Detailed changes
Glucose
- sugar
- sugar-toolkit
- sugar-base
- sugar-presence-service
- sugar-datastore
- sugar-artwork
- etoys
Fructose
Fructose dependencies
- hulahop
Honey
Looking at the release cycle details
You can browse the notes of each development release in DevelopmentTeam/Release/Roadmap/0.84#Schedule. Their respective sources are listed there as well.
Looking Forward to 0.86
Planning of the next release cycle has started at DevelopmentTeam/Release/Roadmap/0.86.
Credits
Many people contributed to this release indirectly, including testing, documentation, translation, contributing to the Wiki, outreach to education and developer communities. On behalf of the community, we give our warmest thanks to the developers and contributors who made this Sugar release possible.