The week in qooxdoo (2015-06-12)

Here is a quick status update.

As mentioned on the blog recently we’ve been busy finishing the upcoming qooxdoo releases. That’s done by now. After a successful ramp-down phase involving quite some testing, qooxdoo is going to ship another double release next week: a maintenance release qooxdoo 4.1.1 as well as another major version qooxdoo 5.0.

General availability of those releases should be during the course of next Monday, so stay tuned.

The week in qooxdoo (2015-05-22)

Welcome back to the weekly status update.

Upcoming Releases

We have started to work on the ramp-down for two new releases: a maintenance release qooxdoo 4.1.1 as well as a major release qooxdoo 5.0. They are expected to ship in mid June.

qooxdoo 4.1.1

Currently there already are 70+ issues resolved for qooxdoo 4.1.1.

qooxdoo 5.0

qooxdoo 5.0 has about the same number of add’tl issues resolved. That’s a total of about 140 issues for qooxdoo 5.0, currently. As some API changes are to be part of this upcoming release (in the qx.Website domain of the framework), and acc. to our semantic versioning scheme it will be called 5.0 instead of 4.2.

As said, there’s currently the ramp-down phase dominated by testing and bugfixing. We work towards stable, complete release packages in the next few days. With a number of holidays and absences coming up, we expect to do the actual shipping in about 3 weeks, i.e. in mid June. Stay tuned.

The week in qooxdoo (2015-04-24)

Welcome to the weekly status update. I want to highlight two new features today.

First of all, qx.Desktop now allows tooltips on disabled widgets. This has been a community requested feature we added this week. It needs to be enabled so the default behavior did not change. Take a look  at this playground sample to see how to enabled it.

The second feature is in the core data binding layer, the SingleValueBinding. It used to reject bindings with an exception if no target property could be found on creation.

var model = {a: {}};
model =;

model.bind("a.text", target, "value");

This piece of code used to break as the model stored in the a property does not have a text property. But the model structure can change and that property can be available in the new model structure.

model.setA({text: ""}));

With that, the former binding becomes valid and should be executed. Take a look at this playground sample for an illustration.

For a complete list of all tasks accomplished during the last two weeks, take a look at this Bugzilla query. Have a nice weekend.