This is a regular minor release, thus it not only includes many bugfixes but also many new features and improvements.
source-hybrid
target, for generating an app, which combines the ease of debugging an app's source version with near the speed of loading its build version.See this detailed list of issues resolved for qooxdoo 1.4, which includes the fixes of the accompanying 1.3.1 patch release. A detailed list for those issues that were resolved for 1.4 exclusively, see here.
Being a regular release with many additional and improved features, there are some migration steps needed for upgrading your apps from the previous 1.3.x releases. After the semiautomatic migration steps supported by the toolchain, you will most likely notice a number of typical deprecation warnings in the development version of your apps ("source"), while that shouldn't affect the production version of your app ("build"). Nevertheless you should get rid of those runtime warnings altogether by adjusting the places in code you are pointed to.
If you need a bugfix-only drop-in replacement, you might want to check-out qooxdoo 1.3.1, the corresponding patch release.
removeAll
methods. (#4367)qx.lang.Object
that serializes a given map to URI parameters.GlobalError
handler called the existing handler with wrong parameters. This is now fixed. (#4604)"scroll"
event fired asynchronously by some browsers. (#4570).qx.bom.request.Xhr
(experimental), a wrapper of the XMLHttpRequest
host object that abstracts browser inconsistencies.qx.io.request.Xhr
(experimental), a convenient interface to send AJAX requests and handle responses.qx.xml.Element
: added getAttributeNS
function to complement the existing setAttributeNS
function (#4308)DateFormat
inconsistencies fixed, adheres to Unicode standard now.(#4577)input
event when adding line break to qx.ui.form.TextArea
across browsers, including Opera (#4511).qx.ui.form.TextField
is now vertically aligned (#1585)qx.ui.form.ComboBox
with rich text items (#4389).qx.ui.tree.Tree
jumps to parent (#4466).data:
URLs. (#4555)qx.ui.basic.Image
. (#4524).qx.ui.embed.Iframe
(#4481).qx.ui.embed.ThemedIframe
ignored the horizontal scrollbar. This is now fixed. (#4662).qx.ui.container.Stack
has the full children handling capability as defined in qx.ui.core.MChildrenHandling
(#4630)qx.ui.basic.Atom
selectable also makes its child controls selectable. (#4452).qx.ui.popup.Popup
widget. (#4421)rowHeight
, headerCellHeight
, headerCellsVisible
and columnVisibilityButtonVisible
and are now themable to better support the theming of the table widget and its sub-components.SimpleTreeDataModel
of the TreeVirtual widget. (#4515)qx.dev.unit.MMock
building upon the great Sinon.JS library. Can be mixed in test cases to add spies, stubs and mocks to unit tests. Also provides fake XMLHttpRequest
objects, custom assertions and transparent sand boxing.data:
URLs.sys.executable
instead of hard-wiring the interpreter name. This is also available in configuration files through the PYTHON_CMD
macro (see further). (#4479)CACHE
macro is now version-dependent (e.g. /tmp/qx1.4/cache); this better supports side-by-side installations of different qooxdoo versions, which no longer clear each others cache objects.source-hybrid
, has been introduced; it collects the unaltered source code of classes into common .js files, thus combining the ease of debugging of a source version with the near speed of app loading of a build version._
(underscore) in the generator console output. (#1455)PYTHON_CMD
exposes the Python executable with which the generator was started (aka sys.executable
; usable e.g. in shell
config keys).settings
and variants
. Environment settings can serve as a simple key:value store, can trigger variant builds by the generator, and allow compile-time code optimization. Supported values are all simple JSON values (string, number, boolean, 'null'), or lists thereof. If you use both variants
and environment
with same keys in your job configs, the variants
settings will take precedence.qx.Theme
class.qx.data.SingleValueBinding.DEBUG
has been moved to the new Environment system. (#4791)qx.bom.client.*
qx.core.Setting
. All settings with a string value "on"
/ "off"
have been converted to boolean true
/ false
.qx.core.Variant
. All variants with a string value "on"
/ "off"
have been converted to boolean true
/ false
.qx.util.AliasManager.getAliases()
to retrieve a map of all registered aliases.qx.util.ResourceManager.isClippedImage()
; use qx.util.ResourceManager.getCombinedFormat()
instead.variants
and settings
generator configuration keys, in favour of the new environment
key.