2018r4 Release Notes

From Xojo Documentation

You are currently browsing the old Xojo documentation site. Please visit the new Xojo documentation site!

(December 11, 2018)

Xojo 2018 Release 4 is now available with over 110 changes and improvements.

Major changes include:

  • The new URLConnection class (part of API 2.0) is an updated version of HTTPSocket and Xojo.Net.HTTPSocket used for web communications
  • New constants AppSupportsDarkMode and AppSupportsHiDPI
  • More Dark Mode improvements to both the IDE and framework
  • iOS builds now use the 12.1. SDK for latest device support
  • macOS builds now use the 10.14 SDK for latest Declare support
  • SQLite updated to 3.25.3

Release Notes

Bug Fixes (84 cases)

Case Area Description
12488 Build The build folder is properly emptied between build runs.
53632 Crashes & Assertions » IDE Unhandled Exception Report editor no longer crashes if you click an alignment button with no controls selected.
53708 Crashes & Assertions » IDE Unhandled Exception Fixed a NilObjectException that could sometimes occur when trying to connect to the LangRef database. If the IDE cannot connect then a message is posted to the DebugLog and several IDE features cannot work, including “Help for…” contextual menu, Code Editor Syntax Area and Library descriptions.
53715 Crashes & Assertions » IDE Unhandled Exception Shared external items in multiple open projects no longer result in NilObjectExceptions when clicking on search results.
53750 Crashes & Assertions » IDE Unhandled Exception NilObjectException no longer occurs when backspacing quickly in the filter and there's a match in a menu bar sub-item.
53755 Crashes & Assertions » IDE Unhandled Exception You can no longer paste an iOS control into a desktop project.
53801 Crashes & Assertions » IDE Unhandled Exception Fixed a spurious NilObjectException.
53855 Crashes & Assertions » IDE Unhandled Exception UnsupportedFormatExceptions no longer bring the IDE down when trying to relocate project files.
53896 Crashes & Assertions » IDE Unhandled Exception No longer get an NOE when moving a control using the arrow keys in the report edior
53951 Crashes & Assertions » IDE Unhandled Exception NilObjectException no longer occurs when you have a window in a folder and open the folder in a tab and then add to a existing control set on the window.
53607 Debugger Remote debugging to Pi no longer randomly crashes when stopping on a breakpoint.
53832 Debugger Doubles and single no longer show in scientific notation in the debugger.
53541 Framework Pushbuttons with the Default property set to True are visible again.
53918 Framework » All Console and web apps now also have the same stage code constants as desktop apps.
53990 Framework » All Color.HSVA no longer ignores the alpha channel when the saturation value is 0.
7096 Framework » Linux ComboBox.TextChanged event is now called properly on Linux.
50274 Framework » Linux Xojo.Net.HTTPSocket: The request method is now automatically capitalized so that "get" no longer returns an invalid method from the server, this matches other platforms behavior.
52747 Framework » Linux Linux IDE: Using the Delete key in a TextField no longer deletes the selected control(s) on the layout editor.
54148 Framework » Linux Returning True from HTMLViewer.CancelLoad now actually cancels loading the page.
53627 Framework » Macintosh (Cocoa) Resized containers no longer require the use of ClearRect to clean up artifacts.
53941 Framework » Macintosh (Cocoa) On macOS, setting the text color of a TextArea whose Styled property is set to False to Black (&c00000000) will now obey the special rules we set up in 2018r3 so that the system's textColor will actually be used.
54036 Framework » Macintosh (Cocoa) Slider tracks no longer disappear when a window is resized in its Open event.
54046 Framework » Macintosh (Cocoa) ClearRect no longer fills with the wrong color on macOS Mojave with Dark Mode disabled.
52802 Framework » Web iOS is no longer slow to disconnect from a running web app.
53291 Framework » Web Browsers who have been disconnected from the server will now reload the web app so they don't appear frozen.
47613 Framework » Windows Xojo.Net.HTTPSocket can now connect securely with TLS 1.2 on Windows 7.
53050 Framework » Windows Updated Screen class so extended screens report a virtualized left/top consistent with other platforms like macOS.
53604 Framework » Windows Retrieving the clipboard text after TextArea.SelText was called now returns the correct text instead of being empty.
53728 Framework » Windows Fixed the ListBox.DragRow selection being offset incorrectly if you had EnableDragReorder enabled but EnableDrag disabled.
53751 Framework » Windows RectControl.DrawInto no longer causes flicker when drawing directly on screen.
53898 Framework » Windows Label now matches previous vertical alignment behavior (i.e. it is no longer incorrectly offset vertically by a pixel).
53901 Framework » Windows Checkbox.DrawInto no longer draws an aliased control at integral scale factors which caused the image to be blurry.
53922 Framework » Windows Window.BitmapForCaching now raises an exception when passing an invalid height instead of just crashing.
53996 Framework » Windows Listbox sort indicator now appears after a header click on Linux/Windows.
54091 Framework » Windows Listbox no longer displays artifacts near the bottom of the Listbox at HiDPI scale factors (typically seen at 175% DPI or higher), when CellTextPaint is used to draw the text.
54094 Framework » Windows The background color of controls in a ContainerControl on a TabPanel no longer inherits the wrong parent's background color.
54283 Framework » Windows Control.PanelIndex now correctly returns -1 when the control is not on a Tab/PagePanel for 64-bit Window builds.
53794 IDE Popover editor for listbox contents uses the correct text color instead of explicitly black all the time
53931 IDE Made it so when you set up macOS to have one menu bar across multiple screens a new project does not get put behind the menu bar on the screen that has the menu bar.
53999 IDE When starting Xojo, floating palettes for Inspector and Library restore back to the screen where they were last.
54069 IDE Profiler row and text colors work in dark mode so the results are readable.
53737 IDE » Build Automation Build steps items that are outside a build target are properly saved and restored when writing text format projects.
51226 IDE » Code Editor Column position reported when at the end of code and pressing right arrow does not increase.
51228 IDE » Code Editor Cleaner no longer drops characters from the cleaned line in some situations.
52872 IDE » Code Editor Cut & Paste, particularly when auto code reformatmode is enabled, behaves much better. Note that with the auto code reformat mode on a paste may result in 2 actions - one for the paste followed by one for the code reformatting. Undoing both does return code to what it was originally which was not occurring before.
53765 IDE » Code Editor Copying code no longer inserts spaces.
53944 IDE » Database Editor Columns are not longer defined with lengths as scientific notation.
54206 IDE » Database Editor Schema editor no longer enables the "delete column" contextual item for db's that do not support "drop column" such as SQLite.
53854 IDE » Debugger Alpha values on colors show up correctly in the debugger.
53095 IDE » Error & Warning Panel Selecting the already active view style, by type or by location, in the errors panel does nothing.
53548 IDE » FileTypes Editor File Type Set scrolling should behave a lot better.
53874 IDE » Find & Replace No longer get a NilObjectException with certain kinds of searches.
54131 IDE » Find & Replace Fixed a bug which prevented the IDE's Find menu from being immediately available.
54220 IDE » Find & Replace Search and replace in external methods no longer mangles them.
53927 IDE » Image Editor The text on selected lines of the image editor are no longer unreadable on macOS 10.14.
53539 IDE » Inspector Inspector scrollbar hides and shows appropriately.
53677 IDE » Inspector Inadvertent workflow change that occurred when adding overloaded methods has been fixed so there is no workflow change.
53709 IDE » Inspector Can enter constants into MajorVersion, MinorVersion, BugVersion and NonReleaseVersion.
53710 IDE » Inspector Can enter constant into NonReleaseVersion. However if you do this the automatic increment of the NonReleaseVersion value is disabled.
53772 IDE » Inspector Inspector labels on Windows are not clipped with an ellipsis on the right side.
53785 IDE » Inspector Autolayout editor buttons are no longer garbled.
54008 IDE » Inspector Shift + Home and Shift + End work properly on Windows and Linux.
54052 IDE » Inspector Overloading a method that returns an array sets up the call to the super correctly.
54173 IDE » Inspector Inspector items with accessory editors now open as a sheet attached to the Inspector when it is a floating palette.
53766 IDE » Language Reference The find field on the online language reference viewer looks correct again.
53895 IDE » Language Reference LR no longer causes infinite loop due to redirects.
53911 IDE » Language Reference Toolbar retains it user set display type.
53787 IDE » Layout Editor Controls are no longer drawn clipped (when they really shouldn't be).
53788 IDE » Layout Editor Timer and other tray controls no longer look so bizarre when using certain background colors for the Layout Editor pasteboard color.
54316 IDE » Layout Editor WebPopupMenu now draws correctly in the layout editor when viewed on a HiDPI/Retina screen.
53825 IDE » Menu Editor Menu editor has the correct background again.
53871 IDE » Menu Editor Menubar menus now have the correct color when the user's accent color is not blue.
53734 IDE » Miscellaneous An event that was implemented on an instance of a control that has been removed from the superclass no longer show up in the Add Event window as an event that can be added again.
53781 IDE » Miscellaneous Select Super dialog search field no longer has lines above and below.
53809 IDE » Miscellaneous Separator appears as expected above "Desktop" entry in the Project Chooser.
53965 IDE » Miscellaneous If you are in dark mode and print, then the default light mode colors are used for printing in color.
53319 IDE » Navigator Scrolling Inspector at fractional DPI scale factors no longer leaves trailing graphical artifacts.
53676 IDE » Navigator Using clause and event definitions in the Navigator are no longer black icons on a black background.
53797 IDE » Navigator If you are editing one method and right click another item in the Navigator and change the scope the focus is not shifted to the item you changed the scope for.
54212 IDE » Navigator The fill rect and frame are using the same coordinates when drawing the scope behind the row text.
52343 IDE » Scripting Custom reformat is now called once on pasted code not once per line pasted.
53775 IDE » Scripting IDE Script Editor now draws all the matching code block brackets.
53859 IDE » Style Editor Web Style Editor State control is visible again.
54194 IDE » Xojo Cloud » Statistics Xojo Cloud hosting statistics graphs now draw dark when the IDE is running in dark mode.

Changes (21 cases)

Case Area Description
51734 Compiler Windows IDE can now successfully build large projects for Linux 64-bit and ARM targets.
54066 Database Plugins » SQLite SQLite plugin has been updated to version 3.25.3.
21197 Framework » All TextField input now respects user's locale when a Format is setup.
53658 Framework » All Any remaining threads are now killed after the App.Close event.
53628 Framework » Macintosh (Cocoa) Listbox now obeys the Transparent property on macOS.
42596 Framework » Windows Xojo.Net.HTTPSocket is no longer limited to creating and firing events on the main thread.
51973 Framework » Windows EnableMenuItems no longer fires needlessly on every keypress.
53830 IDE Since analyze is platform specific the insertion of #pragma unused is now wrapped in a #if TargetXXXXX statement.
53883 IDE » Constant Editor Reduced the thickness of the dark mode color picker frame and removed its inner shadow to make colors more distinct.
54026 IDE » FileIO Made it so that if you select a bunch of items to export, the first one you set the location and export type and the rest will also end up exported to the same location as the same type.
53287 IDE » Find & Replace Search result icons distinguish between events , methods, and computed property getter / setters.
54017 IDE » Find & Replace Special searches for break points and bookmarks do not get invoked as frequently, which should improve typing speed when the panel is visible. They are now only updated when a new breakpoint/ bookmark is added or removed or when code is edited in a way that the line number of a breakpoint / bookmark would be altered.
53906 IDE » Language Reference Since the online LR has its own search field, the one in the IDE's built in browser is no longer needed.
54007 IDE » Navigator Contextual click on a property in the navigator will have a new Go To <type> entry if its a user type that allows you to jump to that type in the project.
53839 IDE » Preferences Layout editor pasteboard color changes are "live" like code editor color changes are so you can see them without having to close the preferences pane first.
53843 IDE » Preferences After caches are cleared, a MsgBox is displayed to indicate it finished.
54248 IDE » Rendering The NSRequiresAquaSystemAppearance plist key is no longer written for 64-bit apps that support Mojave's Dark Mode, as it is no longer necessary to explicitly opt in with the 10.14 SDK.
53362 Lingua Lingua has been updated for Mojave's dark mode.
54000 Lingua The constant label is now selectable.
53807 Miscellaneous iOS ImageMaker has been updated for Dark Mode.
53363 Remote Debugger Stub Remote Debugger Stub has been updated for Dark Mode on macOS.

New Items (5 cases)

Case Area Description
54136 Compiler iOS simulator/device builds now use the iOS 12.1 SDK.
53942 Framework There are 2 new global constants (available for all project types) that can be used in #if statements and build scripts:

AppSupportsDarkMode and AppSupportsHiDPI

53845 Framework » All Added URLConnection class (as a replacement for Xojo.NET.HTTPSocket), see documentation for details.
53984 Framework » All Added new Screen.ScaleFactor property.
48376 Framework » Macintosh (Cocoa) Updated Xojo to use the macOS 10.14 SDK for 64-bit builds.

Docs and Examples (11 cases)

Case Area Description
50620 Documentation Added links to SMTP errors code to SMTPSecureSocket page.
54058 Documentation Fixed tooltips for methods on String page.
54096 Documentation XmlNode.Compare page now indicates that nodes to be compared must have the same parent.
54184 Documentation MenuItem.Visible page notes that you should use MenuItem.Remove on Windows instead.
54258 Documentation » Miscellaneous SOAPMethod sample code updated to use a working SOAP web service.
50040 Examples Example projects have Architecture set to 64-bit.
54195 Examples Fixed app icon for Eddie’s Electronics web project.
50164 Language Reference » Documentation Added Integer values to Variant Class Constants table.
53630 Language Reference » Documentation Updated iOSApplication.Open with correct parameters and return value.
54229 Language Reference » Documentation Added TargetiOS constant to Language Reference.
54270 Language Reference » Documentation Fixed confusing sample code on WebControl.Shown page.