Table of Contents
qooxdoo 1.1 (2010-04-28)
Summary
This is a regular minor release, thus it not only includes many bugfixes but also many new features and improvements. A particular focus for the 1.1 release is on performance, and many of your apps should benefit from the built-in improvements or be able to leverage new functionality.
Despite being a minor release, no manual migration steps seem to be needed for upgrading from the previous 1.0 release. There might be some typical deprecation warnings in the development version, but that shouldn't affect the production version of your app. If you need a bugfix-only drop-in replacement, you might want to check-out qooxdoo 1.0.2, the corresponding patch release.
Performance
Application
-
- Parts can now be loaded in parallel instead of consecutively
- By leveraging parts the minimum size of a qooxdoo application is down to about 6kB gzipped (from about 30kb gzipped).
- Improved the shutdown and disposal of applications (~30% speedup on shutdown)
Technologies
- Added CSS3 Decorators for Grid, HBox and VBox (#3351) (40% - 50% speedup on supported browsers)
- If available, use HTML5 functionality for speedups
- If available, use ECMAScript 5 functionality for speedups
Core
- Improved the object registry by using a faster hash calculation (~33% speedup when registering objects)
- Removed the constructor wrapper in almost all classes (~60% speedup when creating an instance)
- Removed the usage of
argumentsto speed up various functions - Improved the refresh of inherited properties
Tooling
- Build system
- Removed unnecessary calculation of class dependencies and parts
- Re-implementation of the base call optimizer (again, eliminating
arguments) - Translations and locale information can be generated as separate parts
Bugfixes
See this detailed list of the almost 200 issues (defects and enhancements) resolved for qooxdoo 1.1.
Framework
Core
- Fixed Internet Explorer 7 timing issue by focusing an element. For details have a look at bug #3267.
- Set the
KeepFocusproperty totrueonqx.ui.root.Inlinefor all Internet Explorers. This avoid an automatically scroll in to view, when the user clicks on the root element. For more details have a look at bug #3236. - Added deprecateMethodOverriding method to log a warning when a method is overridden from a subclass.
qx.bom.String.toText()now converts all HTML tags correctly. #3507- Added the possibility to undefine classes. (#3360)
- Added a method for disposing singletons, useful for for testing. (#3410)
- Reduced the class dependencies in the core layer. (#2426)
GUI Toolkit
UI Core
- To streamline the implementation of inline applications the inline root widget does now also fire an
appearevent when getting visible. - The TabView now has a keyboard focus indicator.
Data Binding
- The YQL store now supports https as protocol.
- Added some new demos to show some advanced capabilities of the data binding.
- General improvements and fixes.
Widgets
- The slider widget now offers the
hoveredandpressedstates for better appearance support. - HtmlArea: Added support to show the native context menu.
- Fixed bug #3402
qx.ui.window.Windowcaption can't be changed if it's initially empty string. qx.ui.tree.Tree: RenamedgetNextSiblingOf/getPreviousSiblingOftogetNextNodeOfandgetPreviousNodeOfand deprecated theinvisibleandstayInSameNestingLevelparameters. Added new methodsgetNextSiblingOfandgetPreviousSiblingOfthat stay inside the given item's nesting level, implementing the old behavior. (see bug #3260)
- A lot of defects inside the Table widget got addressed:
AbstractFieldparses float values correctly now. #3424- Some minor JS unnicities in
qx.ui.table.cellrenderer.Defaultwere removed. #3426 - the cell index inside TableColumnModel are now checked in the source version.#3522
- The
cellclickevent is now fired correctly. #3437 - The celleditor is deactivated when the user clicks on an element inside the header. #3089
- The celleditor now swallows the enter key. #3489
- Fixed some defects in TabView and AbstractScrollArea
- General improvements in the form namespace.
Theming
- Icon and decoration manager classes are now also firing
changeThemeevents as all other theme manager classes already did. - Added include mechanism for font themes.
Applications
Skeletons
- Running a skeleton app before its initial generation will now bring up a proper error message (instead of a blank page).
Inspector
- Refactored the
Objects Windowand fixed some minor bugs.
Demobrowser
- Improved the BOM blocker demo, to show that native control elements are also blocked.
Playground
- Moved the url shortening service from bit.ly to tinyurl.com because bit.ly does not support very long urls.
- Improved the the gist handling.
- General bugfixes and improvements.
Tooling
- New log4j-style log filters for generator runs, together with includer jobs
log-partsandlog-dependencieswhich use them.
Generation
- Part handling and package merging is made more robust w.r.t. dependencies.
Configuration
- Support for deprecated config keys
compile-distandcompile-sourcehas been removed. - The end-of-line character sequence and the the tab-to-space width for the
fix-fileskey are now configurable.
Optimization
- Removed calculations of dependencies and parts where possible, during build runs of the generator. Resource copying is now done per variant.
- The base call optimizer has been re-written, to inline static super-class names.
Internationalization
- Upgrade to polib 0.5.2.
- Improved handling of escaped characters.
- I18N files can now be generated as qooxdoo parts, so they can be loaded deliberately and individually.
Known Issues
- Using two blocker instances at the same time blocks the browser (bug #3331).
- Inspector: Inspect widget doesn't work on the first start (bug #3370).
- Inspector: In Opera 10.5 and Safari 4, this is not updated in the console window to the selected object and will always point to window (bug #3618).
- Testrunner: In Chrome 5, the Testrunner will not run from the local file system (file: protocol).
