Xojo 2018 R1

Xojo 2018 R1 was released today.  It’s been over four months since Xojo 2017 R3 was released in December of 2017.  By any stretch of the imagination that’s a long time between updates.  Let’s start with the big ticket items that you’ll be relatively happy about.  2018 R1 has a ton of bug fixes, enhancements, and new features.  

Windows users will find things to be happy about as Xojo has gone way out their way to reduce flickering issues in the Xojo IDE and in our own built apps.  The magic behind the scenes is not that Xojo is using double buffered windows (or anything like it) but they are now freezing drawing in the window while it’s doing things in the background.  Thus the flicker is gone but at the price of speed.

If you’ve spent a lot of time working around the limitations of control flickering in Xojo, your upgrade to 2018 R1 won’t be a walk in the park.  A number of forum users have done considerable work figuring out the best way to get things to work well together.  The basic premise is that everywhere there is a Transparent, DoubleBuffer, or EraseBackground property you should turn them off.  I’m sure in the upcoming days a more thorough explanation of the best practices will turn up on the Xojo forums.

One thing that might really turn developers off is Feedback Case #51337 where Labels look ‘fuzzy’ and not acceptable to many end users.  This appears to be caused by the difference between the Direct2D drawing engine and the old GDI engine.  Before jumping into 2018 R1 you might want to do some testing to see if this is acceptable to you.

Printing in Windows appears to be better now as you can now print with higher resolution than 96 DPI.

The other big Windows feature to make it into 2018 R1 is the ability Debug and Remote Debug 64-bit Windows applications.  This is a big deal and required that Xojo upgrade the compiler to LLVM version 6.

In late beta testing I had issues with the Remote Debugger (from MacOS to Windows) not dropping down into the debugger and AutoComplete sometimes not working but those appear to be fixed just before the final release.  If you run into issues with either please report them as soon as possible!

The EraseBackground property is now gone for Canvas and Container Controls.  Container Controls have a new DoubleBuffer property that composites the control on Windows and allows for moving/scrolling controls with less flicker.

The Currency datatype is working properly again in 64-bit builds.  In previous builds the Currency comparisons didn’t always work and precision was lost when dividing Currency values.

A host of Windows framework bugs were fixed in the Listbox. The Val function in 64-bit Windows builds now returns appropriate values.  BevelButton captions and menu arrows now work properly when the DPI scale factor is greater then 100%.  Graphics TextUnit.Pixel is no longer treated as Point sizes when the DPI scale factor greater than 100%.  Please see the Release Notes for a complete list of Windows framework changes.

The Web framework received some love too.  The WebFileUploader control works with files greater than 2 GB in size and works with files with ampersands and apostrophes in their name.  It also supports drag and drop and now has a new UploadProgress event.  It also supports file multi-select to allow users to select more than one at a time.  It also has a CancelUpload method and a new UploadTimeout property.

The WebMoviePlayer now uses a native HTML5 video player on supported browsers (I believe this means all of them) and now has a separate Stop method.  Internet Explorer 9 support was removed.  WebMapViewer only calls into the Google Map API once per browser session.

The SQLite library was updated to version 3.22.  One of the big changes is that errors when creating SQLitePreparedStatments now get a more meaningful error messages versus the unhelpful ”unable to prepare” message.  SQLiteDatabase now supports AES-256 encryption.  The SQLiteDatabase now yields to other threads when it’s busy performing a long operation and using the ThreadYieldInterval property.

For many users the upgrade to 2018R1 will be a no brainer.  However, those that have a complex UI should do some testing in Windows to ensure that drawing speed is still acceptable.  Some beta testers found that the tradeoff of being flicker free was not worth the slower rendering speeds.

The Debugging of Windows 64-bit applications is a much needed and welcome feature.  Without much time to see it working (properly) I can’t give much of an opinion of it.  The compiling speed of 64-bit apps is very slow and it appears that incremental compiling is off.  I would expect the entire process to get better over time.

With this major milestone out of the way I hope we see considerable progress on Interops, creating plugins from within Xojo, Android, and Web 2.0 in the next couple of releases.  I’m sure we’ll find out more next week at XDC.

What excites you in 2018 R1 and what gives you some concerns?

12 thoughts on “Xojo 2018 R1

  1. I’m dealing with an issue right now on Windows where breakpoints are properly halting the execution, but the debugger doesn’t show the appropriate method/event in the debugger (and the variables pane is obviously empty as a result). Going to submit a report shortly.

    • Doesn’t surprise me as it was, what, the last Final Candidate where dropping down into the debugger worked. I had written up a very different review for that version. I still think that this version is a bit iffy but I think Xojo *had* to ship something before XDC or else they’d have been answering a lot of questions.

      • I don’t know, I was going to try and do some testing in the RCs, but the RC said my account wasn’t approved for pre-release testing, despite being listed as a pre-release tester.

        Was going to email them, then got crazy busy.

  2. my question is what happened with the promise to compile for android, the current market requires us to have our developments on all available mobile platforms

    • Wednesday morning we’ll know a lot more about Android as Geoff gives his XDC keynote address and Travis is doing an entire hour session just on Android. Check back as I will post whatever information I can.

  3. Looks like there might be some 32-bit debugger issues for some folks as well as some issues with labels in PagePanels. Hoping we get a dot release. With XDC next week I wouldn’t count on it until after that.

  4. Let’s pretend 2018R1 did never exist, and look forward to the .1 which is more important than ever. In my mind promises for Android, building plugins etc. don’t make sense as long as the longstanding issues, behavior and regressions are not solved.
    Wish Xojo and all attendees a good XDC and fun.

    • I concur that R1 isn’t as good as it should be. But sadly, R1 fixes some other Windows bugs so I have to use R1 on one project. 🙁

  5. I just bought 2018r1 for windows, and man am I pissed. It does nothing but flicker, start “not responding”, and a whole host of other really annoying headaches. Half the time, I can’t even add a new window! What a pile of crap.

    • Please, get on the forums and talk to the Xojo folks. There *are* Windows people using it so it’s something with your installation.

      Oh, and please try the 1.1 release that hit today.

Comments are closed.