2019r2.1
Released on November 20th, 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.".
Bug fixes (51 cases)
Case |
Area |
Description |
---|---|---|
Compiler |
RemoveAllRows no longer crashes in certain circumstances, for example when referenced as a Window property using Self.Array.RemoveAllRows. |
|
Compiler |
Analyze project now reports Ubound(array) syntax as deprecated. |
|
Crashes & Assertions » IDE Unhandled Exception |
IDE Database Editor no longer throws exceptions when dropping table columns. |
|
Crashes & Assertions » IDE Unhandled Exception |
IDE no longer crashes when building the SuperClass contextual menu for a 3rd partly plugin control. |
|
Database Plugins |
RowSet.RowCount now raises an UnsupportedOperationException if getting the row count is not supported by the database (instead of returning -1). |
|
Database Plugins » MySQL |
MySQLCommunityServer: LastInsertedID is now LastInsertedRowID as documented. |
|
Database Plugins » ODBC |
ODBCDatabase no longer leaks objects when binding parameters to prepared statements. |
|
Database Plugins » SQLite |
RowSet.ColumnAt and RowSet.Column no longer leaks a RowSet object. |
|
Framework » All |
Optimized Dictionary in the case where a custom key comparison delegate is used. |
|
Framework » All |
Deprecated FolderItem.TrueItem now correctly shows ChildAt as the replacement. |
|
Framework » All |
Color picker on 10.15 should no longer subtly change the color when the user doesn't change anything. |
|
Framework » All |
Deprecated Picture.Save method now points to overloaded Save replacement. |
|
Framework » All |
Deprecated Thread state constants now show corresponding ThreadStates enum value replacement. |
|
Framework » All |
Shell controls no longer lose their mode when saving/reloading a project. |
|
Framework » All |
Added missing SerialDevice.LastIndex shared property. |
|
Framework » All |
SerialConnection.Connect no longer fails to connect. |
|
Framework » All |
Picture.HasAlphaChannel is no longer marked as deprecated, also removed IsAlphaChannel. |
|
Framework » All |
Optimized FolderItem iteration (when using FolderItem.Children). |
|
Framework » All |
ExecuteSQL and SelectSQL no longer creates unnecessary prepared statements if no parameters are passed in. This allows multi-statements to be run. |
|
Framework » All |
MSSQLServerDatabase and ODBCDatabase: Creating prepared statements no longer leaks, this also affected ExecuteSQL and SelectSQL. |
|
Framework » All |
Added ExecuteSQL to PreparedSQLStatement. |
|
Framework » All |
RowSet column values that are date/timestamps are now returned as DateTime instead of the deprecated Date class. |
|
Framework » All |
SSLSocket: Error event no longer missing RuntimeException parameter. |
|
Framework » All |
Fixed SegmentedButton.RemoveSegmentAt function definition to include an index parameter. |
|
Framework » All |
A Variant DateTime to Auto conversion now works instead of raising a failed assertion. |
|
Framework » All |
Label Text Alignment constants are now marked as deprecated. |
|
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. |
|
Framework » All |
No longer leaking Database objects when they go out of scope or are set to Nil. |
|
Framework » All |
The value for SSLSocket.SSLConnectionTypes.SSLv23 has been corrected. |
|
Framework » Windows |
Webkit based HTMLViewer now renders correctly on a DoubleBuffered ContainerControl. |
|
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). |
|
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. |
|
Framework » Windows |
Consecutive AddArc drawing now draws at the correct offset and connects with its previous end point. |
|
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). |
|
Framework » Windows |
Native HTMLViewer.LoadPage now works again instead of displaying an error/cancelation page. |
|
Framework » macOS |
Window.ShowModal now correctly repositions the window according to the bounds set. |
|
Framework » macOS |
Fix drag handling freeze on older (< 10.12) versions of macOS. |
|
Framework » macOS |
SpotlightItem.File no longer raises an UnsupportedFormatException. |
|
Framework » macOS |
Passing parameters to FolderItem.Launch now works again. |
|
Framework » macOS |
Getting the FolderItem.Parent for Volume roots now returns Nil which matches the behavior of 2019r1.1. |
|
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. |
|
IDE » FileIO |
CopyFilesSteps on Windows now work when the application name includes one or more unicode characters. |
|
IDE » FileIO |
BevelButton, PopupArrows, and a few other internal plugin controls, now correctly saves and loads the new property changes made in the Inspector. |
|
IDE » FileIO |
TextField.HasBorder now saves its value properly. |
|
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. |
|
IDE » Inspector |
Controls added to a pre-2019r2 project using 2019r2 now transfer their property values correctly to the deprecated properties. |
|
IDE » Inspector |
SSL Connection Type property shows in the inspector again for SSLSocket and its subclasses. |
|
IDE » Licensing |
License Agreement dialog no longer fails when macOS locale set to UK with 12 hour time format. |
|
IDE » Menu Editor |
Menu editor no longer renders items fuzzy at HiDPI scale factors on Windows/Linux. |
|
IDE » Navigator |
Converting control set events to API 2 in the navigator now works. |
|
Plugin SDK |
Using shared properties and methods on a Plugin Control now compiles correctly instead of raising errors. |
Changes (1 cases)
Case |
Area |
Description |
---|---|---|
Framework » All |
Added an optional parameter to DateTime.Now that lets you specifiy a TimeZone. |
New items (5 cases)
Case |
Area |
Description |
---|---|---|
Framework » All |
Added Window.Controls As Iterable. Use this in a For Each loop to iterate through all the controls on the Window. |
|
Framework » All |
Added new methods to FolderItem that will raise exceptions: * CreateAsFolder => CreateFolder * CopyFileTo => CopyTo * MoveFileTo => MoveTo * Launch => Open |
|
Framework » All |
Removed duplicate API 2 event names. |
|
Framework » All |
DatabaseRow.Column now returns a DatabaseColumn which can be used to obtain and set the column values. |
|
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 |
---|---|---|
Documentation |
Updated System Requirements page to note macOS Catalina 10.15 and iOS 13 are supported. |
|
Language Reference » Documentation |
Corrected sample code for assigning a value using ODBCDatabase.ConnectionAttribute method. |
|
Language Reference » Documentation |
Iterable page now links to Iterator page. |