# 2019r2.1

Released on November 20th, 2019.

This release has important improvements to `Xojo 2019r2</resources/release_notes/2019r2>`.

Notable changes:

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

## New items (5 cases)

| Case                                         | Area            | Description                                                                                                                                                         |
|----------------------------------------------|-----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [56816](http://feedback.xojo.com/case/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](http://feedback.xojo.com/case/57947) | Framework » All | Added new methods to FolderItem that will raise exceptions: \* CreateAsFolder =\> CreateFolder \* CopyFileTo =\> CopyTo \* MoveFileTo =\> MoveTo \* Launch =\> Open |
| [58078](http://feedback.xojo.com/case/58078) | Framework » All | Removed duplicate API 2 event names.                                                                                                                                |
| [58260](http://feedback.xojo.com/case/58260) | Framework » All | DatabaseRow.Column now returns a DatabaseColumn which can be used to obtain and set the column values.                                                              |
| [57953](http://feedback.xojo.com/case/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](http://feedback.xojo.com/case/58298) | Documentation                      | Updated System Requirements page to note macOS Catalina 10.15 and iOS 13 are supported.    |
| [58159](http://feedback.xojo.com/case/58159) | Language Reference » Documentation | Corrected sample code for assigning a value using ODBCDatabase.ConnectionAttribute method. |
| [58222](http://feedback.xojo.com/case/58222) | Language Reference » Documentation | Iterable page now links to Iterator page.                                                  |
