The former Release Manager here at Trolltech told me that the former former Release Manager had a saying:
The release is not out until you blog about it
So I’m doing a 3-in-1 blog!
Qt 4.3
A week and a half ago, we released Qt 4.3.4, containing some bug fixes to issues reported to us since 4.3.3 was released. It seems old news now (even though it’s only my last blog entry), but Qt 4.3.4 is also the first Qt 4 release under the GPL version 3. The snapshots were already under that license, but now system integrators and Linux distributions can upgrade their packages to an officially released version.
Qt 4.4
Then, one week ago, we released the long-awaited first beta for Qt 4.4, containing a lot of new features, like WebKit, Phonon & backends, network access, Qt Concurrent, Widgets on the Canvas, improved printing support, Patternist, Aliens, a new help system and a lot more that Trolltech developers have been blogging about. This release is so big that we could have split it in two or three and we’d still have enough to go around — note how there are 17 links to blogs about different features in the previous sentence alone! (We’re still writing the change log file for the release) It’s also very daring: who could have imagined a full web engine built in the toolkit a year ago? And just like Qt 4.3.4, the 4.4.0 beta 1 Open Source edition is licensed under the GPL versions 2 and 3.
The beta 1 also marks the first new platform for Qt in many years: Qt/Embedded for Windows CE. It’s now the fifth platform that Qt supports, after X11, Windows, Mac and Embedded Linux (QWS). It’s the result of a year and a half of work done mostly by the Trolltech Berlin office, trying to adapt our existing Windows code to a deceptively similar platform. If you have tried to develop for WinCE, you’ll have noticed that the APIs that are available in the Microsoft products are full of subtle differences and not-so-subtle omissions. Well, Qt brings you a unified, cross-platform API, across the board.
Qt 4.5… (not quite)
Talking about new platforms and deceptively similar platforms brings me to the Mac. Apple has not been afraid of changing their platform under you. The 10.5 (Leopard) release of MacOS X is full of those changes, including some that may break existing Qt applications. Qt 4.3.3 introduced initial support for Leopard and that was improved with 4.3.4, with a fix for OpenGL because Apple changed the typedef of a type.
And today we announced the first alpha of the Qt/Mac Cocoa port (hmm… can I call it the sixth platform?). It comes to emphasise our commitment to the desktop PCs, to our customers and providing them with an upgrade path to newer systems. (For those of you not following the Mac news, Apple decided to halt development of the 64-bit version of the base libraries that Qt depends on, called Carbon; so we had to rewrite a good portion of our code using the Cocoa libraries) As any other alpha, this release is expected to be full of bugs and missing functionality. Trenton has posted a list of what’s known to work and what isn’t in his blog. As soon as possible, we’ll make snapshots of the Mac Cocoa tree public so users can follow what’s going on. More news on snapshots at a later date.
Conclusion
So, that’s it: in the space of a week and a half, we have released three Qt versions, in three different minor series: 4.3, 4.4 and 4.5. And that’s not it: we’re scheduling a 4.3.5 and possibly a 4.3.6 release some time in the future, for those clients who cannot or will not upgrade to 4.4.0 when it’s out. And since no more betas for 4.4 are planned, the next release will be the first Release Candidate sometime in the next 3-5 weeks. (In fact, I wrote a rough initial timeline for a year and a half worth of releases. And no, I cannot share that document, since it’s pure speculation at this point)
I’d like to thank everyone involved in making those releases possible: the development team (the Windows CE and Mac Cocoa teams in particular), the support engineers, the Product Management team and all of our users and clients. Yeah, without the input and feedback from you, we wouldn’t have come up with the releases.
I couldn’t finish this blog without mentioning Nokia: while the planning of the integration is proceeding in several fronts, we continue to work. And quite hard. I hope three releases in a week in a half shows how committed we are to what we do. And we will continue to do what we do best: provide you with the best toolkit you can find. For all platforms: “Code once, deploy everywhere” (I think I have to pitch this slogan to Marketing…)
11 Responses to “Many new Qt releases”
I wouldn’t call 4.4 and 4.5 “releases”, as one is still beta and the other alpha.
Trust me, the work of the Release Manager doesn’t change much if it’s a beta, alpha or final version. Whenever we publish a package, we call that a release, despite the fact that the next Qt 4.4 package will be the “Release Candidate 1″.
MySQL has an interest mechanism: each release is numbered, but they are given alpha, beta or gamma status, depending on how finished the product is. So the RC is actually the gamma release. Or, if you’d prefer, beta 1 is 4.3.98.1 and RC 1 is 4.3.99.1.
Take your pick.
Awesome. 4.4 is going to rock. I’ve tried the beta to compile my app and it looks like there are only some cosmetic problems, everything else works.
The only worrying thing about new versions of Qt is the library size. I use mingw to compile with the commercial version of Qt on Windows (because it’s much more painless to build a completely self contained application than with msvc), and with 4.3, a static mingw build is around 6mb. With 4.4, the exe grows by more than a megabyte, even though I’m not using any of the new features in 4.4. While this is mostly just an annoyance, it does become a bit unwieldy, especially for smaller apps. Not sure if anything can be done about it though.
Oh yeah, one more thing. I’m building an app with phonon for playing internet radio streams. This works more or less fine on Linux, but with my commercial build of qt for windows, neither phonon nor any backends for it are shipped in binary form. I’ve compiled it before, but it’s kind of a pain, requiring directx sdk and directshow headers. Are there any plans to ship these precompiled for the final release?
Yes, it’s in my to-do list to ship Phonon and its default backend on both the Mac and Windows binaries.
Congratulations! Especially with the alpha and beta releases, because the less “mature” it is, the harder it is to gauge the reactions of developers and the more courage it needs to actually release it.
One question on “the Nokia thing”: does it make such a big difference? From the outside, most people will just see “yet another bunch of QT releases”. But then again, we only see press releases and (of course) the products shipped… (Oh, and I can understand very well that you might not be able to comment on this
).
@Erik: that’s exactly the point: nothing changed so far, we’re doing what we’ve always done. Hopefully, soon we’ll be doing more, better and faster. That’s it.
I’m having similar problems as Leo. I want to create an multiplatfrom OSS-app using Qt4.4 and Phonon for multimedia playback. But building this on windows is a pain… Are there any prebuilt Qt-installation packages planed for the near time (setup.exe and I can start compiling
)? Or will they only be shipped when the final release is there?
Thanks!
@David: Thats just because you don’t know the amount of work behind a Qt release ![]()
So with the Qt/Mac port update… can we write iphone apps?