Document Information

Last modified:
2009/12/20 11:15 by thron7

qooxdoo 1.0 (2009-12-17)

The following release notes detail the changes after the latest stable release qooxdoo 0.8.3, therefore including the changes of the pre-release qooxdoo 1.0-beta1.

For more info about the many features and highlights of qooxdoo 1.0, please see the following:

People coming from older versions of qooxdoo and upgrading to 1.0 will have to migrate their existing applications.

Framework

Performance

  • Disposing of objects takes less time.
  • Assertions are faster now.
  • qx.html.element.Style.setStyles has been improved.
  • Improved qx.lang.String.pad.

Event System

  • #2891 Mouse capturing now works even if the user leaves the browser view port.
  • #2919 Mouse Capturing: Captured events are now bubbling.
  • #2795 All native events can now be cloned without breaking any of the public API.
  • #2856 Drag and drop events are now bubbling.
  • qx.event.Command has been split up into two different classes. One, qx.bom.Shortcut, handles the shortcut functionality. The other, qx.ui.core.Command is the high level command.

Core

  • All legacy code has been removed.
  • Improved browser detection and added qx.bom.client.Browser which can be used to get the browser name and version number. Thanks to Sebastian Werner for contribution.
  • Added detection for Windows 7 to qx.bom.client.System.
  • Fixed some issues with the size calculation on qx.bom.Viewport and qx.bom.Document.
  • Safari 3 always returned the wrong value for isStandardMode on qx.bom.Document, this is now fixed.
  • Fixed an iframe issue in Firefox. Whenever the iframe got a new parent element Firefox did load the wrong source under certain circumstance.
  • Prevent inline root from growing endlessly if the height of the element is implicit (=defined by the content).
  • New method qx.util.DisposeUtil.disposeTriggeredBy().
  • Corrected several destructors.
  • Fixed wrong format and size return values in qx.io.ImageLoader.
  • Added serializer util class qx.util.Serializer that produces a native JavaScript object.
  • Removed almost all dependencies from qx.core.Assert which can lead to a smaller footprint of qooxdoo.
  • Fixed loading/startup issue in IE whenever qx was loaded within a frame.
  • Types of fired custom events are now validated against the declared types in the class map.

Browser Support

  • Firefox 1.5 is working again.
  • #2230 For Internet Explorer 8, fixed unreachable TextField when a TextField is lying over an image.
  • Fixed mouse events in iPhone.

Transport

  • qx.io.remote.RequestQueue stopped sending when too many requestHandler throw an exception. Applied a patch that places the request handler in a try/catch block to prevent a program crash upon exception. If an exception is thrown, an “aborted” message is now issued to the application.
  • Fixed a timeout issue at the new HttpRequest implementation (qx.io.HttpRequest). Thanks to Sebastian Werner for the contribution.

Low-level

  • The History Manager has been refactored. It now supports the native hashchange event and IE support has been improved. Additionally the state is now available as a property which makes it bindable.
  • Fixed loading issue in BOM libraries in IE.
  • Improved low-level blocker class.
  • The global error handling is disabled for the BOM skeleton. In this scenario every error is handled by the browser directly (and not catched by the framework).
  • Low-level XMLHttp implementation received a major overhaul. Thanks to Sebastian Werner for the patches.
  • Added support for modal native window.
  • Testing an element for event support is now supported.

GUI Toolkit

UI Core

  • #3075 Fixed size hint calculation for some edge cases.
  • Removed the color grey as valid color, because this is not a valid color for IE6 and IE7.
  • Added property wrap to qx.ui.basic.Label, to allow or deny line breaks. But this feature only works with rich labels.
  • Added property blockToolTip to qx.ui.core.Widget to disable a tool tip.
  • Removed limitation of not being able to change the scaling mode and/or the source of a qx.ui.basic.Image widget during runtime.
  • Fixed alpha PNG issue at decoration utility class.
  • AlphaImageLoader is now used for all IE browsers. The reson is documented in Bug #3253.
  • getSelectionStart and getSelectionEnd are supported by the TextField and TextArea widget.
  • Bugfix in Element queue. Thanks to Derrell Lipman for the patch.
  • Use the CSS3 pointer-events property to optimize shadow rendering.

Layouts

  • Fixed a bug in the box layouts which caused some wrong flex values.
  • Fix HBox and VBox decorators for IE quirks mode.
  • Add public API to the Grid layout to read the number of rows and columns.

Data Binding

  • The data binding is no longer experimental.
  • Added two new data stores.
    • JSONP data store.
    • YQL data store.
  • Two new delegate methods for the data stores.
    • Added the possibility to change settings on the created request.
    • Added the possibility to manipulate the data returned from the request.
  • Improvements to the form controller concerning init values and binding options.
  • Improvements to the selection handling of the controller.
  • Improved the single value binding in cases of binding property chains on the target.
  • Minor improvements in the tree and list controller.
  • Introduced a reverse binding possibility in the list and tree controller.
  • Improvements to the data binding selection handling.

Forms

  • Form validation is no longer experimental.
  • The placeholder now also supports password fields.
  • Minor improvements to the resetter.
  • The model selection array for RadioGroup’s, RadioButtonGroup’s, List’s, SelectBox’es and Trees has been changed from a native JavaScript array to a qooxdoo data binding array.
  • Fixed some problems with executions on check boxes and radio buttons.

Widgets

  • #730 Large menus are no longer cut off at browser window.
  • #2847 Option to use native browser scroll bars in all widgets.
  • Changed unblock and unblockConten behavior from our Blocker. Both methods take now care of the number of block and blockContent calls, before the Blocker is removed. To force a unblock, two new methods are added forceUnblock and forceUnblockContent.
  • Adjust the Table to the Selection API and renamed the clearSelection method to resetSelection.
  • Table column model has a new method setColumnsOrder(), the remote table model new setters for attributes sortColumnIndex and sortAscending.
  • The getPreviousSiblingOf() method of Tree has new param allowing search to be restricted to current nest level.
  • Progressive: removed experimental indications. The Progressive interface is now considered reasonably stable. Contributed and maintained by Derrell Lipman.
  • RadioButtons and CheckBoxs are not updated when using a shortcut from a command. This bug #3037 is fixed.
  • Fixed drag selection issue on qx.ui.tree.Tree bug #3208.
  • Added the HtmlArea as low- and UI-level widget. Two demos were also added to the demobrowser to show the widget in action.
  • Setting decorators and paddings on root widgets is now prevented because it will break the positioning of popups.
  • Add support for dynamic locale switching to the DateField widget.
Table
  • The table pane now sends an event after it has modified the DOM.

Theming

  • The default theme for applications is now qx.theme.Modern.

Applications

Showcase

  • New Showcase application that highlights some of qooxdoo’s features.

Inspector

  • The auto completion now works with the key word this and you can type the tab key without having a valid sub key like qx..
  • Done some improvements on the property window do make it more reliable for internal exceptions.
  • Done some improvements basically minor bug fixes.

Demobrowser

  • Demobrowser GUI and demos are now generated jointly in one generator process.
  • A search field has been added to the demo browser which makes it possible to search for the names of demos.
  • General improvements to the filter capability.
  • Added a welcome page and links to other interesting qooxdoo apps.
  • The code of most of the demos can now be send to the playground for live testing.

Playground

  • New table demo.
  • New a YQL demo.
  • New tree demo.
  • #2772 Fixed issue with hash value in IE.

API Viewer

  • We improved the user interface of the API Viewer: property methods are shown now by default and we switched from a menu toolbar to simple radio buttons to allow faster access.
  • #1649 throw information will now be displayed for every method which can throw errors.
  • #1780 You can now include API doc for all used libraries of the application, using the API_INCLUDE config macro.
  • The viewer will also scroll correctly to the selected entry now.

Test Runner

  • #2907 Generator jobs “test” and “test-source” now honor the “libraries” job, so that additional libraries used in the application are also considered for the test application.

Skeletons

  • [BUG #2488] New native application template, for low-level applications with full qooxdoo OO and event support but no widget layer.
  • The migration application template has been withdrawn (as there is no longer the qx.legacy.* infrastructure.

Tooling

  • A new bash COMPSPEC file allows tab-completion of generator jobs (tool/bin/generator_compspec.bash).

Generation

  • The generator now only prints stack traces when invoked with the -s command line option.
  • #2376 Dependency checking is more accurate now, also after library changes; unknown global symbols are warned about.
  • #2800 New experimental option to split off I18N data in separate files, using config key packages/i18n-with-boot = false. There is no automatic loading of these files, this is currently up to the application.
  • #2129 Resource information is now maintained on the package level, not globally in the loader script, which greatly reduces loader script sizes; using this with the new packages/<part>/no-merge-private-package key allows theme-specific packages to retain their own resource info.
  • #2879 Add facility to hook JS code into qx.$$loader.decodeUris(), using compile-options/code/decode-uris-plug.
  • Parts are now being verified after package collapsing, to make sure they contain all required classes.
  • The compile cache will be auto-cleared by default when a cache-affecting change in the tool chain was made (controlled by the cache/invalidate-on-tool-change config key); the cache directory now maintains a .cache_check_file to check cache freshness.
  • Speed up in the generation of .po files.
  • #ignore compiler hints in class code are functional again.
  • The clean-files action key now allows Python-style file globs.
  • Improved logging when checking/downloading contribs.
  • Various parser bug fixes.
  • #3031 If create-application.py is invoked with both namespace and application name parameters, only the namespace will be modified to only contain valid JavaScript identifier characters.
  • #2038 New generator job info: Prints some basic environment information for debugging.
  • #2220 The copy-files job will now overwrite target files that are write-protected.

Configuration

  • The compile-source and compile-dist config keys have been deprecated in favour of compile-options and compile. The old keys are still accepted, but if you have extended or overridden standard build jobs (source-script or build-script) in your own config, migrate to the new keys.
  • #2868 Set translate/poentry-with-occurrences = false, to disable the generation of location comments in .po files.
  • New add-script config key allows inclusion of arbitrary Javascript files.
  • The loader template for the source/build versions is now configurable (compile-options/paths/loader-template); see tool/data/generator/loader.tmpl.js for a sample.
  • A new generator option -m/--macro allows specification of let macros on the command line.
  • extend and run config keys now allow the use of macros; bear in mind that these keys are evaluated very early, so the referenced macros should usually be defined within the same file to take effect.

Internationalization

  • Various updates to the translation handling module (polib).

Code Formatting

  • #2886 Compiler hints (#require, #asset, ...) now allow leading whitespace.

Migration

People developing with older versions of qooxdoo and upgrading to 1.0 have to migrate their existing applications. Here are a few related notes. For more info about the semi-automatic migration support, and to migrate existing applications, please see the migration guide.

API Changes

  • qx.util.ColorUtil.hsbToRgb now returns the RGB value as array instead of a map.
  • The qx.io2.* namespace is moved to qx.io.*.

Missing Features

  • Part handling is still experimental.
  • Active support for Python 2.4 has been dropped.
  • HtmlArea won’t start correctly in Opera 9.6.x and below under Linux. This issue is documented at Bug report #3257.

Information

Last modified:
2009/12/20 11:15 by thron7

Account

Not logged in

 
 

Rich Ajax Platform (RAP)

RAP uses qooxdoo, Java and the Eclipse development model to build rich web applications. Read more...

qooxdoo Web Toolkit (QWT)

Similar to GWT this framework allows to create impressive qooxdoo applications just using Java. Read more...

Pustefix

Pustefix is a MVC-based web application framework using Java and XML/XSLT. Read more...

 
SourceForge.net Logo

Bad Behavior has blocked 0 potential spam attempts in the last 7 days.