2018r4
Xojo 2018 Release 4, with over 110 changes and improvements, was released on December 11th, 2018.
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
Bug fixes (84 cases)
Case |
Area |
Description |
---|---|---|
Build |
The build folder is properly emptied between build runs. |
|
Crashes & Assertions » IDE Unhandled Exception |
Report editor no longer crashes if you click an alignment button with no controls selected. |
|
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. |
|
Crashes & Assertions » IDE Unhandled Exception |
Shared external items in multiple open projects no longer result in NilObjectExceptions when clicking on search results. |
|
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. |
|
Crashes & Assertions » IDE Unhandled Exception |
You can no longer paste an iOS control into a desktop project. |
|
Crashes & Assertions » IDE Unhandled Exception |
Fixed a spurious NilObjectException. |
|
Crashes & Assertions » IDE Unhandled Exception |
UnsupportedFormatExceptions no longer bring the IDE down when trying to relocate project files. |
|
Crashes & Assertions » IDE Unhandled Exception |
No longer get an NOE when moving a control using the arrow keys in the report edior |
|
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. |
|
Debugger |
Remote debugging to Pi no longer randomly crashes when stopping on a breakpoint. |
|
Debugger |
Doubles and single no longer show in scientific notation in the debugger. |
|
Framework |
Pushbuttons with the Default property set to True are visible again. |
|
Framework » All |
Console and web apps now also have the same stage code constants as desktop apps. |
|
Framework » All |
Color.HSVA no longer ignores the alpha channel when the saturation value is 0. |
|
Framework » Linux |
ComboBox.TextChanged event is now called properly on Linux. |
|
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. |
|
Framework » Linux |
Linux IDE: Using the Delete key in a TextField no longer deletes the selected control(s) on the layout editor. |
|
Framework » Linux |
Returning True from HTMLViewer.CancelLoad now actually cancels loading the page. |
|
Framework » Macintosh (Cocoa) |
Resized containers no longer require the use of ClearRect to clean up artifacts. |
|
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. |
|
Framework » Macintosh (Cocoa) |
Slider tracks no longer disappear when a window is resized in its Open event. |
|
Framework » Macintosh (Cocoa) |
ClearRect no longer fills with the wrong color on macOS Mojave with Dark Mode disabled. |
|
Framework » Web |
iOS is no longer slow to disconnect from a running web app. |
|
Framework » Web |
Browsers who have been disconnected from the server will now reload the web app so they don't appear frozen. |
|
Framework » Windows |
Xojo.Net.HTTPSocket can now connect securely with TLS 1.2 on Windows 7. |
|
Framework » Windows |
Updated Screen class so extended screens report a virtualized left/top consistent with other platforms like macOS. |
|
Framework » Windows |
Retrieving the clipboard text after TextArea.SelText was called now returns the correct text instead of being empty. |
|
Framework » Windows |
Fixed the ListBox.DragRow selection being offset incorrectly if you had EnableDragReorder enabled but EnableDrag disabled. |
|
Framework » Windows |
RectControl.DrawInto no longer causes flicker when drawing directly on screen. |
|
Framework » Windows |
Label now matches previous vertical alignment behavior (i.e. it is no longer incorrectly offset vertically by a pixel). |
|
Framework » Windows |
Checkbox.DrawInto no longer draws an aliased control at integral scale factors which caused the image to be blurry. |
|
Framework » Windows |
Window.BitmapForCaching now raises an exception when passing an invalid height instead of just crashing. |
|
Framework » Windows |
Listbox sort indicator now appears after a header click on Linux/Windows. |
|
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. |
|
Framework » Windows |
The background color of controls in a ContainerControl on a TabPanel no longer inherits the wrong parent's background color. |
|
Framework » Windows |
Control.PanelIndex now correctly returns -1 when the control is not on a Tab/PagePanel for 64-bit Window builds. |
|
IDE |
Popover editor for listbox contents uses the correct text color instead of explicitly black all the time |
|
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. |
|
IDE |
When starting Xojo, floating palettes for Inspector and Library restore back to the screen where they were last. |
|
IDE |
Profiler row and text colors work in dark mode so the results are readable. |
|
IDE » Build Automation |
Build steps items that are outside a build target are properly saved and restored when writing text format projects. |
|
IDE » Code Editor |
Column position reported when at the end of code and pressing right arrow does not increase. |
|
IDE » Code Editor |
Cleaner no longer drops characters from the cleaned line in some situations. |
|
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. |
|
IDE » Code Editor |
Copying code no longer inserts spaces. |
|
IDE » Database Editor |
Columns are not longer defined with lengths as scientific notation. |
|
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. |
|
IDE » Debugger |
Alpha values on colors show up correctly in the debugger. |
|
IDE » Error & Warning Panel |
Selecting the already active view style, by type or by location, in the errors panel does nothing. |
|
IDE » FileTypes Editor |
File Type Set scrolling should behave a lot better. |
|
IDE » Find & Replace |
No longer get a NilObjectException with certain kinds of searches. |
|
IDE » Find & Replace |
Fixed a bug which prevented the IDE's Find menu from being immediately available. |
|
IDE » Find & Replace |
Search and replace in external methods no longer mangles them. |
|
IDE » Image Editor |
The text on selected lines of the image editor are no longer unreadable on macOS 10.14. |
|
IDE » Inspector |
Inspector scrollbar hides and shows appropriately. |
|
IDE » Inspector |
Inadvertent workflow change that occurred when adding overloaded methods has been fixed so there is no workflow change. |
|
IDE » Inspector |
Can enter constants into MajorVersion, MinorVersion, BugVersion and NonReleaseVersion. |
|
IDE » Inspector |
Can enter constant into NonReleaseVersion. However if you do this the automatic increment of the NonReleaseVersion value is disabled. |
|
IDE » Inspector |
Inspector labels on Windows are not clipped with an ellipsis on the right side. |
|
IDE » Inspector |
Autolayout editor buttons are no longer garbled. |
|
IDE » Inspector |
Shift + Home and Shift + End work properly on Windows and Linux. |
|
IDE » Inspector |
Overloading a method that returns an array sets up the call to the super correctly. |
|
IDE » Inspector |
Inspector items with accessory editors now open as a sheet attached to the Inspector when it is a floating palette. |
|
IDE » Language Reference |
The find field on the online language reference viewer looks correct again. |
|
IDE » Language Reference |
LR no longer causes infinite loop due to redirects. |
|
IDE » Language Reference |
Toolbar retains it user set display type. |
|
IDE » Layout Editor |
Controls are no longer drawn clipped (when they really shouldn't be). |
|
IDE » Layout Editor |
Timer and other tray controls no longer look so bizarre when using certain background colors for the Layout Editor pasteboard color. |
|
IDE » Layout Editor |
WebPopupMenu now draws correctly in the layout editor when viewed on a HiDPI/Retina screen. |
|
IDE » Menu Editor |
Menu editor has the correct background again. |
|
IDE » Menu Editor |
Menubar menus now have the correct color when the user's accent color is not blue. |
|
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. |
|
IDE » Miscellaneous |
Select Super dialog search field no longer has lines above and below. |
|
IDE » Miscellaneous |
Separator appears as expected above Desktop entry in the Project Chooser. |
|
IDE » Miscellaneous |
If you are in dark mode and print, then the default light mode colors are used for printing in color. |
|
IDE » Navigator |
Scrolling Inspector at fractional DPI scale factors no longer leaves trailing graphical artifacts. |
|
IDE » Navigator |
Using clause and event definitions in the Navigator are no longer black icons on a black background. |
|
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. |
|
IDE » Navigator |
The fill rect and frame are using the same coordinates when drawing the scope behind the row text. |
|
IDE » Scripting |
Custom reformat is now called once on pasted code not once per line pasted. |
|
IDE » Scripting |
IDE Script Editor now draws all the matching code block brackets. |
|
IDE » Style Editor |
Web Style Editor State control is visible again. |
|
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 |
---|---|---|
Compiler |
Windows IDE can now successfully build large projects for Linux 64-bit and ARM targets. |
|
Database Plugins » SQLite |
SQLite plugin has been updated to version 3.25.3. |
|
Framework » All |
TextField input now respects user's locale when a Format is setup. |
|
Framework » All |
Any remaining threads are now killed after the App.Close event. |
|
Framework » Macintosh (Cocoa) |
Listbox now obeys the Transparent property on macOS. |
|
Framework » Windows |
Xojo.Net.HTTPSocket is no longer limited to creating and firing events on the main thread. |
|
Framework » Windows |
EnableMenuItems no longer fires needlessly on every keypress. |
|
IDE |
Since analyze is platform specific the insertion of #pragma unused is now wrapped in a #if TargetXXXXX statement. |
|
IDE » Constant Editor |
Reduced the thickness of the dark mode color picker frame and removed its inner shadow to make colors more distinct. |
|
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. |
|
IDE » Find & Replace |
Search result icons distinguish between events , methods, and computed property getter / setters. |
|
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. |
|
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. |
|
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. |
|
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. |
|
IDE » Preferences |
After caches are cleared, a MsgBox is displayed to indicate it finished. |
|
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. |
|
Lingua |
Lingua has been updated for Mojave's dark mode. |
|
Lingua |
The constant label is now selectable. |
|
Miscellaneous |
iOS ImageMaker has been updated for Dark Mode. |
|
Remote Debugger Stub |
Remote Debugger Stub has been updated for Dark Mode on macOS. |
New items (5 cases)
Case |
Area |
Description |
---|---|---|
Compiler |
iOS simulator/device builds now use the iOS 12.1 SDK. |
|
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 |
|
Framework » All |
Added URLConnection class (as a replacement for Xojo.NET.HTTPSocket), see documentation for details. |
|
Framework » All |
Added new Screen.ScaleFactor property. |
|
Framework » Macintosh (Cocoa) |
Updated Xojo to use the macOS 10.14 SDK for 64-bit builds. |