Xojo 2018 Release 4 hit the internet this week. This relatively small (84 bug fixes, 21 changes, 5 new items, and 11 doc and example changes) update is a nice end of year release that may or may not satisfy your Xojo dreams. Let’s get into the highlights.
Of the new items list the big one is the new URLConnection class. The URLConnection class works with the HTTP 1.1+ protocol and works with http and https connections. This is a replacement for the Xojo.Net.HTTPSocket and brings back one of the things many developers missed about the old HTTPSocket class – Synchronous communications – using the SendSync method.
SendSync is a concession by Xojo with the caveat that the application may appear to freeze while running this method. The regular, and probably the better, Send method is asynchronous and does not freeze the app. Admittedly the async way is the better way but for many developers the synchronous method is easier to implement and ‘good enough’ for their use. Still, consider using the async method.
The Screen class now has the ScaleFactor property. There are two new global constants: AppSupportsDarkMode and AppSupportsHiDPI that are pretty self explanatory.
iOS builds now use the iOS 12.1 SDK. macOS builds now use the 10.14 SDK for 64-bit builds.
There are couple of changes that are noteworthy. The first being that the Windows IDE can now successfully build large projects for Linux 64-bit and ARM targets (frankly I didn’t know this was a problem but I bet that ‘large’ is the key word). Any remaining threads are now killed after the app.close event (possibly a reason why some apps in macOS crash after they quit?). EnableMenuItems no longer fires needlessly on every keypress in Windows. Lingua and Remote Debugger Stub have been updated to work with Dark Mode on macOS.
There are 84 bug fixes in this release. The more important ones (at least in my opinion): The Build folder is properly emptied between build runs. Remote Debugging to a Raspberry Pi no longer randomly crashes when stopping at a breakpoint. Browsers that have disconnected from the web app will now reload the web app so they don’t appear frozen. There are also a couple dozen IDE bug fixes to the Inspector, Navigator, Find & Replace and a number of the editors.
As with any new release you need to thoroughly test your projects before doing a public release. It was noted during the beta period that the Einhugur Search Control didn’t work properly in Mojave but has since been fixed. We had one large project not work when remote debugging from Mac to Windows but I haven’t had time to track it down. If you have found any new issues with R4 please submit a Feedback report right away!