2019r2.1 Release Notes

From Xojo Documentation

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

(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 (51 cases)

Case Area Description
57875 Compiler RemoveAllRows no longer crashes in certain circumstances, for example when referenced as a Window property using Self.Array.RemoveAllRows.
57901 Compiler Analyze project now reports Ubound(array) syntax as deprecated.
57998 Crashes & Assertions » IDE Unhandled Exception IDE Database Editor no longer throws exceptions when dropping table columns.
58212 Crashes & Assertions » IDE Unhandled Exception IDE no longer crashes when building the SuperClass contextual menu for a 3rd partly plugin control.
58076 Database Plugins RowSet.RowCount now raises an UnsupportedOperationException if getting the row count is not supported by the database (instead of returning -1).
57914 Database Plugins » MySQL MySQLCommunityServer: LastInsertedID is now LastInsertedRowID as documented.
58029 Database Plugins » ODBC ODBCDatabase no longer leaks objects when binding parameters to prepared statements.
57976 Database Plugins » SQLite RowSet.ColumnAt and RowSet.Column no longer leaks a RowSet object.
57696 Framework » All Optimized Dictionary in the case where a custom key comparison delegate is used.
57760 Framework » All Deprecated FolderItem.TrueItem now correctly shows ChildAt as the replacement.
57789 Framework » All Color picker on 10.15 should no longer subtly change the color when the user doesn't change anything.
57815 Framework » All Deprecated Picture.Save method now points to overloaded Save replacement.
57817 Framework » All Deprecated Thread state constants now show corresponding ThreadStates enum value replacement.
57823 Framework » All Shell controls no longer lose their mode when saving/reloading a project.
57916 Framework » All Added missing SerialDevice.LastIndex shared property.
57945 Framework » All SerialConnection.Connect no longer fails to connect.
57948 Framework » All Picture.HasAlphaChannel is no longer marked as deprecated, also removed IsAlphaChannel.
57960 Framework » All Optimized FolderItem iteration (when using FolderItem.Children).
57974 Framework » All ExecuteSQL and SelectSQL no longer creates unnecessary prepared statements if no parameters are passed in. This allows multi-statements to be run.
57979 Framework » All MSSQLServerDatabase and ODBCDatabase: Creating prepared statements no longer leaks, this also affected ExecuteSQL and SelectSQL.
58008 Framework » All Added ExecuteSQL to PreparedSQLStatement.
58034 Framework » All RowSet column values that are date/timestamps are now returned as DateTime instead of the deprecated Date class.
58066 Framework » All SSLSocket: Error event no longer missing RuntimeException parameter.
58070 Framework » All Fixed SegmentedButton.RemoveSegmentAt function definition to include an index parameter.
58095 Framework » All A Variant DateTime to Auto conversion now works instead of raising a failed assertion.
58192 Framework » All Label Text Alignment constants are now marked as deprecated.
58208 Framework » All DateTime.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.
58220 Framework » All No longer leaking Database objects when they go out of scope or are set to Nil.
58317 Framework » All The value for SSLSocket.SSLConnectionTypes.SSLv23 has been corrected.
55632 Framework » Windows Webkit based HTMLViewer now renders correctly on a DoubleBuffered ContainerControl.
57603 Framework » Windows URLConnection 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).
57949 Framework » Windows URLConnection: If the server is configured to request an optional client certificate, the request no longer fails with an Error event being raised on Windows.
57964 Framework » Windows Consecutive AddArc drawing now draws at the correct offset and connects with its previous end point.
58025 Framework » Windows A 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).
58142 Framework » Windows Native HTMLViewer.LoadPage now works again instead of displaying an error/cancelation page.
57799 Framework » macOS Window.ShowModal now correctly repositions the window according to the bounds set.
57865 Framework » macOS Fix drag handling freeze on older (< 10.12) versions of macOS.
57907 Framework » macOS SpotlightItem.File no longer raises an UnsupportedFormatException.
57952 Framework » macOS Passing parameters to FolderItem.Launch now works again.
58143 Framework » macOS Getting the FolderItem.Parent for Volume roots now returns Nil which matches the behavior of 2019r1.1.
58188 Framework » macOS Support 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.
57303 IDE » FileIO CopyFilesSteps on Windows now work when the application name includes one or more unicode characters.
57710 IDE » FileIO BevelButton, PopupArrows, and a few other internal plugin controls, now correctly saves and loads the new property changes made in the Inspector.
57897 IDE » FileIO TextField.HasBorder now saves its value properly.
57803 IDE » Inspector The 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.
58156 IDE » Inspector Controls added to a pre-2019r2 project using 2019r2 now transfer their property values correctly to the deprecated properties.
58233 IDE » Inspector SSL Connection Type property shows in the inspector again for SSLSocket and its subclasses.
58122 IDE » Licensing License Agreement dialog no longer fails when macOS locale set to UK with 12 hour time format.
46871 IDE » Menu Editor Menu editor no longer renders items fuzzy at HiDPI scale factors on Windows/Linux.
57634 IDE » Navigator Converting control set events to API 2 in the navigator now works.
58043 Plugin SDK Using shared properties and methods on a Plugin Control now compiles correctly instead of raising errors.

Changes (1 cases)

Case Area Description
58075 Framework » All Added an optional parameter to DateTime.Now that lets you specifiy a TimeZone.

New Items (5 cases)

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

Docs and Examples (3 cases)

Case Area Description
58298 Documentation Updated System Requirements page to note macOS Catalina 10.15 and iOS 13 are supported.
58159 Language Reference » Documentation Corrected sample code for assigning a value using ODBCDatabase.ConnectionAttribute method.
58222 Language Reference » Documentation Iterable page now links to Iterator page.