2018r2 Release Notes

From Xojo Documentation

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

(August 7, 2018)

Xojo 2018 Release 2 has over 160 changes and improvements. This release is primarily focused on optimization and fixes.

Notable Xojo 2018 Release 2 changes include:

Download Xojo today.

Release Notes

Bug Fixes (121 cases)

Case Area Description
52406 Build Windows/Linux IDE: Building with 64-bit native shared libraries in the Plugins folder now works properly.
5135 Compiler Analyze will report multiple warnings per line if necessary.
52291 Compiler Fixed an issue where Unicode characters in the project path could cause a failure when running or building 64-bit Windows apps.
51957 Crashes & Assertions » Crash Setting the Horizontal or Vertical resolutions of a Picture object before calling its Super.Constructor no longer crashes but instead throws an UnsupportedOperationException.
47238 Crashes & Assertions » Failed Assertion Cancelling an update no longer causes an exception.
50576 Crashes & Assertions » IDE Unhandled Exception No longer get a NilObjectException when navigating back and forth using the forward and backward arrows.
51911 Crashes & Assertions » IDE Unhandled Exception An illegal cast when reading a project ui state file no longer causes the IDE to raise an unhandled exception.
52325 Crashes & Assertions » IDE Unhandled Exception An NilObjectException that can occur when altering the name of a control to be part of a control set has been fixed.
52661 Crashes & Assertions » IDE Unhandled Exception A NilObjectException that could occur when caching plugins has been fixed.
51805 Database Plugins MySQLCommunityServer now maintains its unsigned value when retrieving an unsigned smallest type instead of it being converted to a signed value.
49173 Debugger Viewing the Runtime->Contents in the debugger (for 64-bit debug apps) no longer crashes debug app.
49634 Framework » All Rotated PixmapShapes and StringShapes are now positioned correctly (was incorrectly placed at HiDPI and when printing before).
51965 Framework » All Quitting from a Close event no longer causes the application to crash.
52138 Framework » All JSONItem.Load no longer raises an OutOfBoundsException for an empty string.
52230 Framework » All ContainerControl Moved event now fires again.
41061 Framework » Linux HTMLViewer no longer crashes on Pi.
49844 Framework » Linux Setting the BackColor and TextColor of a TextField or TextArea control now works.
50326 Framework » Linux The text in some of the PopupMenu controls in the Options dialog of the IDE in Ubuntu 17.10 is no longer offset.
51981 Framework » Linux Window bounds now correctly offsets the menu/toolbar from its top/height calculations.
52040 Framework » Linux If there are more Tabs than available space to display them on a TabPanel, scrollable arrows now appear to get to them.
52041 Framework » Linux Listbox headers no longer appear transparent.
52113 Framework » Linux BevelButton no longer ignores the TextSize.
52375 Framework » Linux Web apps no longer hang at startup on Linux ARM builds.
52538 Framework » Linux Controls in GroupBox are no longer incorrectly positioned on Pi.
38278 Framework » Macintosh (Cocoa) Listbox with header and no border no longer leaves drawing artifacts behind.
52453 Framework » Macintosh (Cocoa) Tooltips that are hidden automatically can now show themselves again.
34720 Framework » Web WebTextAreas whose text contains line ending characters set in the IDE now sends the correct line ending characters to Internet Explorer.
52368 Framework » Web WebFileUploader properly resets again when a new instance is created.
52395 Framework » Web Auto-Reconnect works on Firefox again.
52419 Framework » Web WebStyle gradient stop points render in the correct order again.
52492 Framework » Web WebFileUploader no longer fails on IE11.
52514 Framework » Web Uploading large files using WebFileUploader will no longer fail with an OutOfBoundsException inside the web framework.
42277 Framework » Windows Console apps that write to StdOut now convert the string to the correct encoding for the console.
45597 Framework » Windows BevelButton.Caption is no longer partially cut off when CaptionAlignment is Flush Left or Flush Right.
49499 Framework » Windows WebKit based HTMLViewer now updates the contents immediately when resizing.
51583 Framework » Windows Now honoring the Serial.RequestToSend property.
51840 Framework » Windows Hiding/Closing a modal dialog no longer activates the wrong window before presenting the correct one. This bug could be seen in the Windows IDE when closing a property editor dialog while multiple windows were present.
51841 Framework » Windows Listbox header no longer lags behind content when scrolling or when resizing columns.
51844 Framework » Windows Xojo.IO.TextOutputStream/BinaryStream can now correctly create and open files that contain unicode characters on Windows.
51847 Framework » Windows Using Xojo.Net.HTTPSocket to send a file that contains Unicode characters in its file path/name now works.
51867 Framework » Windows Now using higher quality anti-aliasing when scaling a Picture.
51897 Framework » Windows Slider controls now update their background correctly when its parent window updates.
52012 Framework » Windows Sliders placed directly on a TabPanel now correctly matches the TabPanel background color.
52087 Framework » Windows Rotating an Object2D on a clipped Graphics now correctly rotates on the relative X, Y delta supplied.
52165 Framework » Windows OpenGLSurface: Calling Render from a Paint event now works again.
52257 Framework » Windows Listbox focus ring is now drawn thin dotted again instead of dashes.
52266 Framework » Windows Embedding ContainerControls on a hidden page of a PagePanel no longer causes redraw artifacts to appear.
52279 Framework » Windows WebKit based HTMLViewer now correctly scales when moving between monitors with different DPI scales.
52289 Framework » Windows Listbox Drag reorder indicator is no longer offset incorrectly.
52312 Framework » Windows Improved ContainerControl scrolling.
52331 Framework » Windows MouseMove, MouseEnter and MouseExit events are now called for MDI child windows.
52402 Framework » Windows Hierarchical Listbox disclosure icon is no longer painted in wrong row and too small.
52410 Framework » Windows A debug app with a Webkit based HTMLViewer on a window can now be closed properly when forcibly stopping the debug app.
52470 Framework » Windows Optimized a case where one would draw a picture to another picture frequently.
52481 Framework » Windows We now smartly cache drawing pictures to use less memory and to draw a bit faster when drawing to another picture object. This potentially fixes some failed assertions at DrawableD2D.cpp that some people have been reporting.
52748 Framework » Windows Changing a ToolButton's caption no longer leaks the icon associated with it.
52851 Framework » Windows TabPanel: Removing a tab or changing the tab caption now correctly updates the empty area along the top-right of the TabPanel so it no longer overlaps the tabs and draws the background properly.
37969 Framework » iOS A user can manually unparent a control more easily using this process: 1) Select the control, 2) Right click, 3) Select "Unparent" from the contextual menu. Use caution with this as overlapped unparented control can cause display issues.
51920 Framework » iOS Setting the Active property on an iOSLayoutConstraint to False in the IDE now works.
52182 Framework » iOS Xojo.Threading.Thread Priority now defaults to 1, not 0, which resulted in an error. However, this makes NO change to existing instances in existing projects.
52307 Framework » iOS The iOS Framework now return False instead of True to iOS by default in response to the "application didFinishLaunchingWithOptions:" event to match Apple's documented behavior.
8788 IDE MenuHandlers for menu item arrays show the “index as integer” parameters. Note there is a refresh glitch when you remove all menu items from the array. You can collapse the containing row and re-expand it and the item will redraw correctly.
52728 IDE Extract method assistant does a better job of crafting a suitable name and parameters from the selected text making it easier to edit the name right away. The name no longer includes illegal characters that have to be removed before you can edit the name.
52043 IDE » Auto Complete Fixed regression where global methods in external modules would not autocomplete.
52044 IDE » Auto Complete MenuItems autocomplete properly.
52373 IDE » Auto Complete PagePanel.CreatePane and other internal details removed from autocomplete list.
51927 IDE » AutoLayout Constraint editor tries really hard to stop you from setting up constraints that are going to cause crashes. For example, you can’t set something’s LEFT to something else’s TOP as that would cause a crash.
35430 IDE » Code Editor Bare Exception and Catch statements no longer draw extraneous code matching markers.
42366 IDE » Code Editor Selecting "Go to <constant>" from the context menu now selects the constant if it is a module.
51279 IDE » Code Editor A Shift-Return on an ElseIf line that has no Then will add the Then as needed and close the ElseIf with an End If.
51683 IDE » Code Editor A super-return on a line being reformatted by a user script no longer has the text from the first line inserted at the end of the closing line.
51774 IDE » Code Editor Clicking on the code folding hot box works properly.
51992 IDE » Code Editor Indents and folding hit box positions are consistent even when using really small or really large font sizes.
52183 IDE » Code Editor Code editor contextual Find does partial word searches not just whole word searches.
52372 IDE » Code Editor Home and End scroll to beginning and ending of line.
51959 IDE » Debugger Viewing properties of a Picture subclass in its Consturctor no longer crashes debugged app.
51880 IDE » FileIO Backslash encoded strings in a note no longer cause issues when loading a project.
52053 IDE » FileIO Subclassed iOS controls reload properly.
52407 IDE » FileIO The IDE now cleans out existing build folders before a target is built. This happens before any pre-build steps.
52426 IDE » FileIO Project opening speed is vastly improved for some projects with incredibly long methods.
52573 IDE » FileTypes Editor Deleting a file type in the File Type Set Editor moves the selection to an appropriate item.
52140 IDE » Find & Replace Search and replace within parameters no longer mishandles ByRef and Optional keywords.
52262 IDE » Find & Replace Search followed by a replace no longer alters the found items list or the search scope.
52795 IDE » Find & Replace Clicking on a breakpoint in the search results, when showing all breakpoints, correctly moves the Navigator focus.
51821 IDE » Inspector Changing the scope of an external Objective-C method no longer drops the Objective-C setting.
51859 IDE » Inspector Inspector Size fields changed via paste now retain the correct value.
51861 IDE » Inspector Inspector labels no longer shift slightly.
51906 IDE » Inspector Labels and switches in Inspector align better on Linux.
52016 IDE » Inspector Constants and other code items cannot have names that end in white space.
52069 IDE » Inspector Make it so extraneous new lines in the column widths multi line editor are trimmed off and newlines between values are turned into commas.
52125 IDE » Inspector Constants assigned to color or booleans show a label that is as wide as possible and not limited to the width of the color selector or switch.
52195 IDE » Inspector The button on the Inspector panel for multiline items no longer has draw through artifacts.
52513 IDE » Inspector Fixed up a bug in the method edit pane that resulted in an exception when adding an overload method to an interface.
52779 IDE » Inspector Formatting is removed when you paste formatted text into the parameters field.
52790 IDE » Inspector When you right click a boolean or color property editor, select an item from the contextual menu and then press ESC when editing the field value that shows up, the property editor reverts back to its normal appearance as a boolean or color editor.
49989 IDE » Layout Editor Windows IDE: The window titlebar icon no longer overlaps the title text in the layout editor.
51277 IDE » Layout Editor Pasting a flex space ToolButton copied from another view no longer causes a hang.
52271 IDE » Layout Editor Container control shows assigned backdrop in its design mode not just when placed on another layout.
51993 IDE » Library Floating Library panel on macOS no longer draw the top popup menu oddly.
52110 IDE » Library Listbox now has a 3x icon in the Library.
7930 IDE » Miscellaneous Searching for a picture by name shows the properties of windows controls that its been used in.
26224 IDE » Miscellaneous Attributes can refer to constants that use fully qualified dotted paths to access them.
45584 IDE » Miscellaneous An issue when adding ActiveX controls that used dates has been fixed so that the generated code is no longer incorrect requiring manual fixing.
51317 IDE » Miscellaneous Go To Location no longer overrides tab locks.
51513 IDE » Miscellaneous Clicking on an iOSView may still add properties that have been added since the project was created but things like autolayout properties won’t be sorted into a different order just by clicking on the view when other parts of the project are changed.
52003 IDE » Miscellaneous Undo of adding a file type to the file type editor removes pane from the UI.
52286 IDE » Miscellaneous Search and replace on the declaration line no longer messes up the declaration when you need to replace many items in the declaration.
52490 IDE » Miscellaneous There should be no longer be any overlapping controls in the bottom Find/Errors/Messages panel.
52720 IDE » Miscellaneous An exception that could occur when an error that referred to an item that had been deleted no longer occurs.
42060 IDE » Navigator Items from search panel are now properly highlighted in the Navigator.
42458 IDE » Navigator Icons of items in modules now show the correct icon.
52255 IDE » Navigator When changing the name of a method it remains selected in the Navigator.
52275 IDE » Navigator Scope settings in the Navigator contextual menu for a class in a module behave properly.
51725 IDE » Preferences Can edit color scheme and export immediately without having to first close the Preferences.
52437 IDE » Profiler Warning dialog about building with profiling on now displays properly.
52733 IDE » Profiler The dialog warning about compiling with profiling on no longer appears oddly on macOS.
51166 IDE » Rendering An issue where the IDE would create the wrong code has been corrected and now remote debugging from a 64-bit IDE to a 32-bit target is working.
51950 IDE » Updater Update panel no longer draws left pane in shocking green.
13376 IDE » Web Page Editor Naming an image / picture the same as a property on a web page no longer causes compilation errors.
51972 Plugin SDK Plugin SDK prototypes are as expected and don’t generate warnings if you turn on strict prototypes.
52387 Plugin SDK Updated REALGetPropValue to be more consistent when dealing with Variants.

Changes (11 cases)

Case Area Description
51695 Build On Windows, when a non-Admin user tries to debug a 64-bit app with its security level set to Admin, a warning is now displayed.
50249 Build Process (GoCD) Debian packages now include high rez icons @ 16, 32, 36, 48, 64, 72, 96, 128, 256, 512.
52272 Database Plugins SQLiteDatabase plugin has been updated to version 3.23.1.
51771 Framework » All There is a version of REALBasic.Rect that takes x and y instead of a point.
52180 Framework » Web App.SessionTimeout can no longer be set lower than 30 seconds.
52126 Framework » Windows Optimized Pseudo-transparency using a different drawing model. Instead of caching pictures we now call additional Paint events on the Parent windows to help draw the background of child controls.
52568 IDE Issue resolution window default width is 600 or 75% of the opened project window, whichever is greater.
52085 IDE » Debugger The debugger tab now has a bug icon to make it distinct from the others.
52757 IDE » Scripting Since iterating a folder is no longer assured to do so in alphabetical order we impose that ordering now so IDE scripts load in alphabetical oder.
52853 Installer Windows Installer has been updated with the Windows 7 SP1 minimum requirement.
51949 Lingua Lingua and iOSImageMaker are now 64-bit on macOS.

New Items (23 cases)

Case Area Description
37170 Database Plugins SQLiteDatabase now allows up to 30 attached databases.
23441 Framework » All Graphics API now takes Doubles instead of Integers for better precision.
51019 Framework » All Add new Resources and GetResource methods to SpecialFolder.
SpecialFolder.Resources() As FolderItem
  on macOS:
           returns a reference to the Resources Dir in a bundled app (GUI)
           otherwise returns a references to the Resources Dir next to the executable
  on Windows/Linux:
           returns a reference to the “<App name> Resources” dir if it exists, or the Resources dir next to the exe if it exists
           returns nil if neither exists

SpecialFolder.GetResource(name As string) As FolderItem
  on macOS:
           returns a reference to the named item in the Resources Dir in a bundled app (GUI)
           otherwise returns a references to the named item in the Resources dir next to the executable
  on Windows/Linux:
        first checks if “<App name> Resources” dir exists and the named item exists in this dir
              returns a reference to this item if it exists
        otherwise checks if “Resources” dir exists and the named item exists
              returns a reference to this item if it exists

           returns nil if the named item does not exist in either
52522 Framework » All Added AntiAliasMode property on Graphics class. This property controls the level of interpolation/quality when drawing scaled Pictures. Valid modes are from the Graphics.AntiAliasModes enumeration: LowQuality, DefaultQuality, and HighQuality. The default is DefaultQuality.
51556 Framework » Windows Printing is no longer restricted to 96 DPI.
52229 Framework » Windows Updated Webkit based HTMLViewer to CEF 3.3359.1774.gd49d25f.
37898 Framework » iOS iOSTable now supports Pull-To-Refresh. To use, set the AllowsRefresh property to True and then when you're done refreshing data, call the EndRefresh method.
46879 Framework » iOS iOSToolbutton.NewBordered is now marked deprecated.
51142 Framework » iOS iOSApplication.Open now receives the launchOptions Ptr as a parameter and returns a boolean as to whether or not the app is handling the request.
52117 Framework » iOS It is now possible to disable the default height constraints on a iOSTableCustomCell by setting the UseDynamicHeight property to True. This allows you to create cells which vary in height based on their content. The default value for this property is False to maintain backward compatibility.
52118 Framework » iOS Inserting or Removing a row/section within the visible rows on an iOS table is now animated.
52333 Framework » iOS iOSHTMLViewer is now a WKWebView instead of a UIWebView.
52599 Framework » iOS iOSViews now have a LargeTitleMode property which allows you to enable and control how titles render in iOS 11+ using the LargeTitleModes enumeration, which has these elements: Automatic, Always, Never (the default). This property does nothing on pre-iOS 11 versions.
1557 IDE » FileIO There's now an option to save XML projects with indentation so they are more readable.
43408 IDE » Find & Replace Find keeps a history of recent searches (15 at this time).
52314 IDE » Find & Replace Search scope segmented control grows and shrinks as segments are added and removed instead of staying the same size.
52319 IDE » Inspector Moved the Browse item in the picture and image property pickers up to the second item in the list so in a project with a lot of images its easy to find (instead of being at the very end of a really long list of images).
51824 IDE » Preferences There is now a “Clear Cache” button on the Build Preferences.
2760 IDE » Profiler You can start and stop profiling in code. Use the global methods: StartProfiling and StopProfiling. Profile Code must be enabled in the Project menu for these to work.
21203 Lingua Lingua can now import the Tab delimited files that it exports.
51626 Lingua Added a menu to specify the search scope.
51791 Lingua Added script methods to get the first and last rows and to get/set the current row.
52371 Plugin SDK All Plugin SDK examples have been updated to build with Xcode 9 or newer and Visual Studio 2015 or newer.

Docs and Examples (15 cases)

Case Area Description
51851 Examples Moved EasyTCPSocket example projects so that they remain available for Windows/Linux users.
51946 Examples SQLitePreparedStatement example now uses SQLitePreparedStatement everywhere. Also improved search results output.
52204 Examples HTTP Example project is now set to 64-bit for macOS and now runs without errors.
52600 Examples Added port number 5432 to PostgreSQL Listen and Notify example projects.
52753 Examples WindowMenu example now checks for WindowMenuItems to allow other menus items to also exist in the Window.
50705 Language Reference » Documentation Redim appears in autocomplete drop-down as “Redim” so it’s consistent with documentation.
51598 Language Reference » Documentation Array methods should now appear in bulit-in Language Reference.
51618 Language Reference » Documentation Fixed typo in example code on Str page.
51619 Language Reference » Documentation Cleaned up examples for StrComp page.
51678 Language Reference » Documentation Fixed sample code for String.InStr method.
51828 Language Reference » Documentation Added PreparedSQLStatement.Bind(zeroBasedParam As Integer, value As Variant, type As Integer) method overload to Bind page.
51829 Language Reference » Documentation Added PreparedSQLStatement.BindType(types() As Integer) method overload to BindType page.
51858 Language Reference » Documentation Local LR shows the various operators with both their symbol and text name.
52119 Language Reference » Documentation Description for iOSDatePicker.MinuteInterval now properly notes it can be used with Time and DateTime display modes.
52152 Language Reference » Documentation Documentation wiki updated with value for REG_QWORD.