2019r2.1 Release Notes

From Xojo Documentation

(Nov 20, 2019)

This release has important improvements to Xojo 2019r2.

Notable changes:

  • DatabaseRow.Column now returns a DatabaseColumn which can be used to obtain and set the column values. Other column methods have been removed.
  • Events have been reverted back to their pre-r2 names to make it easier to move between 2019r2.1 and prior versions. The IDE will automatically change any API 2.0 events back to the prior names when a project is loaded. If there are two events with the same purpose in a project (such as Open/Opening) they will be left alone so you can review the code and remove the now-unneeded additional event. You will need to adjust code that is moved from Toolbar.Pressed and Toolbar.MenuSelected back to Action and DropDownMenuAction due to different event parameter names.
  • Deprecations with replacements no longer show warnings by default. When you want to see the API 2.0 deprecations warnings for a specific project, go to Project->Analysis Warnings and select "Item1 is deprecated. You should use Item2 instead.".

Download Xojo today.

Release Notes

Bug Fixes

57875CompilerRemoveAllRows no longer crashes in certain circumstances, for example when referenced as a Window property using Self.Array.RemoveAllRows.
57901CompilerAnalyze project now reports Ubound(array) syntax as deprecated.
57998Crashes & Assertions » IDE Unhandled ExceptionIDE Database Editor no longer throws exceptions when dropping table columns.
58212Crashes & Assertions » IDE Unhandled ExceptionIDE no longer crashes when building the SuperClass contextual menu for a 3rd partly plugin control.
58076Database PluginsRowSet.RowCount now raises an UnsupportedOperationException if getting the row count is not supported by the database (instead of returning -1).
57914Database Plugins » MySQLMySQLCommunityServer: LastInsertedID is now LastInsertedRowID as documented.
58029Database Plugins » ODBCODBCDatabase no longer leaks objects when binding parameters to prepared statements.
57976Database Plugins » SQLiteRowSet.ColumnAt and RowSet.Column no longer leaks a RowSet object.
57696Framework » AllOptimized Dictionary in the case where a custom key comparison delegate is used.
57760Framework » AllDeprecated FolderItem.TrueItem now correctly shows ChildAt as the replacement.
57789Framework » AllColor picker on 10.15 should no longer subtly change the color when the user doesn't change anything.
57815Framework » AllDeprecated Picture.Save method now points to overloaded Save replacement.
57817Framework » AllDeprecated Thread state constants now show corresponding ThreadStates enum value replacement.
57823Framework » AllShell controls no longer lose their mode when saving/reloading a project.
57916Framework » AllAdded missing SerialDevice.LastIndex shared property.
57945Framework » AllSerialConnection.Connect no longer fails to connect.
57948Framework » AllPicture.HasAlphaChannel is no longer marked as deprecated, also removed IsAlphaChannel.
57960Framework » AllOptimized FolderItem iteration (when using FolderItem.Children).
57974Framework » AllExecuteSQL and SelectSQL no longer creates unnecessary prepared statements if no parameters are passed in. This allows multi-statements to be run.
57979Framework » AllMSSQLServerDatabase and ODBCDatabase: Creating prepared statements no longer leaks, this also affected ExecuteSQL and SelectSQL.
58008Framework » AllAdded ExecuteSQL to PreparedSQLStatement.
58034Framework » AllRowSet column values that are date/timestamps are now returned as DateTime instead of the deprecated Date class.
58066Framework » AllSSLSocket: Error event no longer missing RuntimeException parameter.
58070Framework » AllFixed SegmentedButton.RemoveSegmentAt function definition to include an index parameter.
58095Framework » AllA Variant DateTime to Auto conversion now works instead of raising a failed assertion.
58192Framework » AllLabel Text Alignment constants are now marked as deprecated.
58208Framework » AllDateTime.FromString is no longer as lenient in how it parses the date/time, i.e. incorrect values will now raise an exception instead of the parser trying to determine if months/days/years should roll over.
58220Framework » AllNo longer leaking Database objects when they go out of scope or are set to Nil.
58317Framework » AllThe value for SSLSocket.SSLConnectionTypes.SSLv23 has been corrected.
55632Framework » WindowsWebkit based HTMLViewer now renders correctly on a DoubleBuffered ContainerControl.
57603Framework » WindowsURLConnection no longer consumes 100% CPU while stopped in the debugger (may also affect built apps if one of the URLConnection events takes a long time to complete).
57949Framework » WindowsURLConnection: If the server is configured to request an optional client certificate, the request no longer fails with an Error event being raised on Windows.
57964Framework » WindowsConsecutive AddArc drawing now draws at the correct offset and connects with its previous end point.
58025Framework » WindowsA BevelButton with width/height less than or equal to 0 no longer raises a failed assertion (this could happen in the IDE or at Runtime).
58142Framework » WindowsNative HTMLViewer.LoadPage now works again instead of displaying an error/cancelation page.
57799Framework » macOSWindow.ShowModal now correctly repositions the window according to the bounds set.
57865Framework » macOSFix drag handling freeze on older (< 10.12) versions of macOS.
57907Framework » macOSSpotlightItem.File no longer raises an UnsupportedFormatException.
57952Framework » macOSPassing parameters to FolderItem.Launch now works again.
58143Framework » macOSGetting the FolderItem.Parent for Volume roots now returns Nil which matches the behavior of 2019r1.1.
58188Framework » macOSSupport a few missing folder types when using SpecialFolder.GetFromDomainAndCode. Also if a folder type isn't supported we return Nil instead of always returning a FolderItem that points to ~/Library.
57303IDE » FileIOCopyFilesSteps on Windows now work when the application name includes one or more unicode characters.
57710IDE » FileIOBevelButton, PopupArrows, and a few other internal plugin controls, now correctly saves and loads the new property changes made in the Inspector.
57897IDE » FileIOTextField.HasBorder now saves its value properly.
57803IDE » InspectorThe IDE no longer crashes on macOS 10.15 when you click on a color swatch in the inspector and then navigate to another control before closing the color picker.
58156IDE » InspectorControls added to a pre-2019r2 project using 2019r2 now transfer their property values correctly to the deprecated properties.
58233IDE » InspectorSSL Connection Type property shows in the inspector again for SSLSocket and its subclasses.
58122IDE » LicensingLicense Agreement dialog no longer fails when macOS locale set to UK with 12 hour time format.
46871IDE » Menu EditorMenu editor no longer renders items fuzzy at HiDPI scale factors on Windows/Linux.
57634IDE » NavigatorConverting control set events to API 2 in the navigator now works.
58043Plugin SDKUsing shared properties and methods on a Plugin Control now compiles correctly instead of raising errors.
51 Bug Fixes


58075Framework » AllAdded an optional parameter to DateTime.Now that lets you specifiy a TimeZone.
1 Changes

New Items

56816Framework » AllAdded Window.Controls As Iterable. Use this in a For Each loop to iterate through all the controls on the Window.
57947Framework » AllAdded new methods to FolderItem that will raise exceptions:
  • CreateAsFolder => CreateFolder
  • CopyFileTo => CopyTo
  • MoveFileTo => MoveTo
  • Launch => Open
58078Framework » AllRemoved duplicate API 2 event names.
58260Framework » AllDatabaseRow.Column now returns a DatabaseColumn which can be used to obtain and set the column values.
57953IDE » FileIOAdded compatibility flags for API 1 and API 2 to help when developing libraries which need to have elements specific to old and new APIs.
5 New Items

Docs and Examples

58298DocumentationUpdated System Requirements page to note macOS Catalina 10.15 and iOS 13 are supported.
58159Language Reference » DocumentationCorrected sample code for assigning a value using ODBCDatabase.ConnectionAttribute method.
58222Language Reference » DocumentationIterable page now links to Iterator page.
3 Docs and Examples