qooxdoo 0.7.4 is a genuine maintenance/bugfixing release. Many issues have been resolved, also due to some great feedback from and collaboration with the community. There are no known API changes, so it should be a fine replacement for a 0.7.3 version. Of course, some of the behavior may have changed a bit compared to the previous version, but only to make things more consistent and to behave as expected.
One of the "highlights" of the 0.7.4 release.
A more rigorous memory management for qooxdoo 0.7.4 has been implemented, thanks to an excellent collaboration with Stefan Hansel. There is now an additional "destroy()" method available on widgets. Unlike the usual "dispose()" method this also removes DOM elements that belong to the widget. In the course of introducing this additional feature, some incomplete destruct sections have also been corrected.
Existing qooxdoo 0.7.3 apps typically do not need to incorporate this additional feature, as during the runtime of an average application memory should already be managed sufficiently. But in highly dynamic scenarios that involve the mass creation and destruction of widgets, this new feature is a dramatic improvement, particularly in IE. Anyway, if you are able to reuse widgets by implementing some sort of "pooling", that would still be advantageous as it reduces the cost to (re-)create widgets.
Safari 3.1 switched the key event handling to emulate
IE behaviour. For this reason key event handling does no longer work in Safari with older qooxdoo 0.7.x version.
Fixed serious overflow bug in Safari. Container widgets with advanced borders like "inset" or "shadow" ignored the overflow style.
Webkit nightly always showed the native focus indicator around focused widget.
In tables with meta columns, parts of the scrollbars of the first meta column remained visible.
The
HTTP "Referrer" header is no longer set in Safari since it results in a security warning.
There wasn't much to adjust in the framework's code base. The browser detection now also accounts for Google Chrome. Applications based on qooxdoo 0.7.4 should mostly run fine, despite some minor rendering glitches that might still be related to the beta status of Chrome.
Fixed many issues for Internet Explorer when loading qooxdoo applications via HTTPS. There were many (questionable) scenarios that triggered an annoying security alert due to "mixed content".
Property implementation now works with the "deferredInit" key to initialize complex types.
Timer instances now reuse a single event object, instead of recreating a new one for each timer interval.
Fixed issue with rejecting legal and accepting illegal JSON.
Double click events in
IE now fire the same event sequence as the other browsers.
Profiler had a defect that allowed only for reporting profile data of static methods.
Improved log handling. Log window initialization more robust when disposing an application.
Many issues of the virtual Table widget have been fixed. A lot of people contributed to this in an ongoing effort, e.g. Tino Butz, Michael Haitz, Derrell Lipman, Hugh Gibson and many others. Thanks!
While porting the table to 0.8 many table bugs have been fixed and backported to 0.7.4
Add utility method to set the header cell height.
Selection handling; table pane dispose.
Table scroller fix.
Allow easy display of multiple lines of data in a single cell through a "forceLineHeight" property. This allows a cell renderer to display multiple lines of data in the cell.
Eliminate table flicker with remote table model.
Problems with theme switches resolved.
Several widgets were improved, here are just some of the most significant:
qx.ui.form.ComboBox
can now display and handle
HTML entities correctly, and also consistent between textfield and list.
Fixed problem with Escape key in ComboBox.
Several fixes for the Gallery widget. Thanks Dalmazio!
Fixed bug with inactive scrollbar of the splitpane in
IE.
qx.ui.form.TextField
: applied community patch concerning selectionStart.
Fixed rendering problem with
IE6 and IE7 when using the ToolBar widget only with labels (no icons). Previously the toolbar separators were taller than the toolbar.
Double click on a tree no longer hides the root node.
Date chooser buttons now use a shared date chooser instance including window.
Width and height of NativeWindow sets inner w/h instead of outer.
Iframe : blocker node sometimes not rendered correctly.
Quite an entertaining demonstration of Derrell's finite state machine (FSM) was added to demobrowser. Wanna see a mice moving through a maze?
An implementation of a Progressive renderer was also added by Derrell.
There were only minor adjustments, so the look of existing application should not be much affected. Some corrections involved cleaning-up of themes, or fixing the table-cell background color in editing mode.
Several fixes, e.g. exceptions while sending requests are now correctly displayed as log statements. Thanks to Carsten Lergenmueller.
XmlHttpTransport: A wrongly parsed JSON will now return null, which allows for a consistent error handling.
Several fixes for the request queue and the related event handler methods.
The build process has been made more robust and powerful:
JavaScript parsing improved for regexps and arithmetic expressions.
String handling has been optimized.
Pretty-printing was polished.
Help output is more structured.
New Makefile parameters APPLICATION_ADDITIONAL_XGETTEXT_PARAMS and APPLICATION_ADDITIONAL_MSGMERGE_PARAM allow to pass additional info to the gettext tools used for internationalization.
Some issues with the built-in applications have been resolved:
Demobrowser loads the individual demos flawlessly.
In the "build" version the apps usually do not try to open a log window.
Skeletons come with an improved error logging.
API Viewer displays the correct icons in the search view (e.g. interface, mixin).