Xojo Release 2 went public this week. This release is a typical mishmash of new features and bug fixes. So let’s dig into it!
The DatePicker was added to iOS. This is a most welcome addition and let’s you switch between Time, Date, Date and Time, and Countdown Timer. There’s still no generic data picker which is a shame.
The Launch Images and App Icons folders for iOS has now been replaced with an editor that allows you to drag and drop images into it. If the image isn’t the appropriate size for the selected image a message appears saying what the dimensions of the image is and that it will be scaled to fit.
[Edit] One thing I forgot (because I didn’t see them in the release notes) was that build times are much better in R2. From comments I’ve seen it may be an order of magnitude faster.
If you are using the HandleSpecialURL or HandleURL the RequestHeaders now has a Secure property telling you if the request came in over a secure channel. If you are using SSL Certificates they can be specified on the command line. Another new web feature is the ability to set the HTTPOnly property attribute in the Session.Cookie.Set method. This should work as a preventative measure against cross site scripting attacks against Xojo web apps.
The new framework is making its way to more and more of the overall package. The Xojo.Data, Xojo.Crypto, and Xojo.IO.Folderitem are now available for all targets and platforms. The Xojo.Data namespace includes the ability to read/write JSON (no work on XML yet). The Xojo.Crypto framework gives you access to MD5, RSAEncrypt/Decrypt, RSASign, RSASignVerify, SHA1, SHA256 and SHA512 hash methods. Xojo.IO.Folderitem gives you file handling.
Xojo.Net.HTTPSocket now works for all platforms (except Xojo Cloud). It should be noted that HTTPSocket is now ONLY asynchronous. No longer can you wait for the response but now you have to use the events from the socket. This is really a better way of using the HTTPSocket but if you’ve been using it in the old framework synchronously you’ll need to adjust your code accordingly.
[Edit] The new HTTPSocket supports HTTP 1.1, automatically supports proxies on all platforms, and performs proper certificate validation. It also no longer performs polling on the socket so it should be have significantly lower CPU usage.
The Xojo.Core.Timer now works properly on Mac OS X 10.7 and 10.8. Apparently it didn’t work properly in older versions of Mac OS X.
For many, the recent addition of the Windows ICU DLL was a major setback as they were quite large. You’ll be happy to know that they’re now statically linking them and removed the unused portion of the libraries so the built package is now considerably smaller.
The IDE receive a large number of bug fixes including a couple of memory leaks. They also fixed how deleting items works and how the focus works when switching between tabs with the Code Editor displaying.
According to the release notes there are 147 total items that were changed in Release 2. This number seems a little low in comparison to some previous releases. Given the short period between the R1 release and XDC I think this makes sense and the engineers have a lot of work to do in getting ready for XDC.
I did not get as much of a chance to run the beta as I usually do but there hasn’t been a lot of chatter on the forums about issues either. What little I did with the beta was solid and this looks to be a decent release.
Have any comments about this release?