Resources

Difference between revisions of "2021r2 Release Notes"

From Xojo Documentation

 
Line 13: Line 13:
  
 
== Release Notes ==
 
== Release Notes ==
 +
<h3 class='typeheader'>Bug Fixes</h3>
 +
<table>
 +
 +
<tr><td>[http://feedback.xojo.com/case/64615 64615]</td><td>Build</td><td>macOS ad-hoc signing is no longer applied if the app has already been signed (which could happen in a post-build script).</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/59157 59157]</td><td>Compiler</td><td>Compiler now reports deprecation warning for Variant.TypeDate with replacement Variant.TypeDateTime.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64334 64334]</td><td>Crashes & Assertions » Crash</td><td>Fixed a potential crash when loading or saving a project.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64874 64874]</td><td>Crashes & Assertions » Crash</td><td>Plugin Control objects no longer get incorrectly unlocked twice when they are being destructed from the IDE layout.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64818 64818]</td><td>Crashes & Assertions » Failed Assertion</td><td>Linux: Assigning a multi-resolution Picture to DragItem.DragPicture no longer fails with a failed assertion.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/54072 54072]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>Prevent a NilObjectException that could sometimes occur when using Undo.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/55422 55422]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>There was an attempt to fix a NilObjectException that can sometimes occur when dragging items in the Layout Editor.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/55545 55545]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>Prevent a NilObjectException that could sometimes occur when selecting items in the Layout Editor.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/55610 55610]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>Fixed a RuntimeException that could occur when trying to view large Currency values in the Debugger.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/55644 55644]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>Prevent an exception that could occur when naming a Delegate with the name of a superclass method.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/55862 55862]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>Fixed a NilObjectException that can sometimes occur when importing a large number of project items at one time.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/56615 56615]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>Prevent a NilObjectException that can occur when Undoing (Edit->Undo) the creation of a method in a module and then Redoing (Edit->Redo) the creation of the module and method.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/56824 56824]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>Prevent a NilObjectException that can occur when clicking on an Analysis Warning result in the Errors pane for an encrypted class.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/57392 57392]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>When saving a text project, skip saving UI state file if it is locked by the file system rather than raising a NilObjectException and preventing the save.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/57925 57925]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>Go To <property> contextual menu on project items now works.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/58061 58061]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>There was an attempt to fix a NilObjectException that could sometimes occur on desktop project load when processing menus.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/58121 58121]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>There was an attempt to fix a NilObjectException that can sometimes occur after using the multi-line editor from the Constant Inspector.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/58618 58618]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>The Implement Interface window no longer causes a NilObjectException on an external item that has an invalid interface on it.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/59470 59470]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>There was an attempt to gracefully deal with NilObject situations when the Debugger is stopping.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/62265 62265]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>Fixed a potential crash when Cutting or Deleting an item in the Navigator that may have already been deleted in another Tab.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63827 63827]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>IDE will no longer crash if it can't find the correct row to show in the Navigator.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63851 63851]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>Better catch NilObjectExceptions so that IDE does not crash sometimes when removing controls that belong to a control set and are nested in another control.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63948 63948]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>Instead of crashing, the IDE now shows an error if the compiler version doesn't match the IDE for some reason.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64085 64085]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>Fixed a regression which caused super returns to crash the IDE.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64157 64157]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>Display an error when a default iPhone or iPad layout is not specified on the App object. In certain situations this could cause have previously caused an IDE exception.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64248 64248]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>Before downloading a Xojo update to a temp file, delete the temp file if it exists to prevent a NilObjectException that can occur.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64300 64300]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>Fixed a potential crash if an IDE window is moved and then quickly closed.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64589 64589]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>Fixed a potential crash.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64734 64734]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>Sharing WebContainers between projects via XML no longer crashes the IDE.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64736 64736]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>The IDE no longer crashes if you quickly click the Replace and/or Replace All buttons on the Search pane.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64909 64909]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>Fixed a potential crash when search results include lines at the end of an IDE script, those lines are deleted and then the project is saved.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64954 64954]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>The IDE no longer crashes if an item is visible and disclosed in more than one tab and then moved to a new location in one of the tabs.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/65145 65145]</td><td>Crashes & Assertions » IDE Unhandled Exception</td><td>Canceling a build should no longer crash the IDE.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64075 64075]</td><td>Database Engine</td><td>PostgreSQLDatabase: updated libpq client library to 13.0 which supports the new SCRAM authentication method with channel binding.
 +
</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/61466 61466]</td><td>Database Plugins » ODBC</td><td>ODBCDatabase: Deprecated methods with replacements that return RowSets
 +
- PrimaryKeys => TablePrimaryKeys
 +
- ForeignKeys => TableForeignKeys
 +
- SpecialColumns => TableSpecialColumns
 +
- TablePrivileges => Privileges(table As String)
 +
- ColumnPrivileges => Privileges(table As String, column As String)
 +
- Procedures => StoredProcedures
 +
- ProcedureColumns => StoredProcedureColumns</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63781 63781]</td><td>Database Plugins » SQLite</td><td>Database: Calling SaveRow without initiating an EditRow now raises a DatabaseException.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/61659 61659]</td><td>Framework » All</td><td>TextArea: CharacterPosition, LineNumber, and InsertionPosition now respects the UnicodeMode setting (especially the Characters mode).</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64147 64147]</td><td>Framework » All</td><td>Removed TextArea.Save, Open, SetTextAndStyle methods and TextStyleDate properties as they have been deprecated since 2003 and Save/Open no longer work on newer versions of macOS.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64167 64167]</td><td>Framework » All</td><td>Color.FromValue now returns the correct color if the alpha portion of the hex string is greater than 7F.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64252 64252]</td><td>Framework » All</td><td>Deprecated RuntimeException.Reason property.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64253 64253]</td><td>Framework » All</td><td>Deprecated Xojo.Core.ErrorException.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64256 64256]</td><td>Framework » All</td><td>Deprecated Xojo namespace exceptions.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64456 64456]</td><td>Framework » All</td><td>GenerateJSON no longer leaks objects/memory, this affected JSONItem as well.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64478 64478]</td><td>Framework » All</td><td>FolderItem.CreationDate and ModificationDate are now deprecated, use CreationDateTime and ModificationDateTime instead.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64492 64492]</td><td>Framework » All</td><td>Application.ShortVersion is now marked as deprecated, reflecting what was already in the documentation.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64496 64496]</td><td>Framework » All</td><td>Application/ConsoleApplication: LongVersion is now marked as deprecated.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64497 64497]</td><td>Framework » All</td><td>Application/ConsoleApplication: PackageInfo is now marked as deprecated.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64642 64642]</td><td>Framework » All</td><td>String.Compare no longer leaks Xojo.Core.Locale objects.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63205 63205]</td><td>Framework » Desktop</td><td>Native HTMLViewer.DocumentProgressChanged event now correctly reports the amount of progress instead of always 0.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63819 63819]</td><td>Framework » Desktop</td><td>Canvas.DrawInto no longer triggers multiple Paint events, on the source Canvas, unnecessarily.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63825 63825]</td><td>Framework » Desktop</td><td>DoubleClick event no longer fires again upon a quick third click.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63976 63976]</td><td>Framework » Desktop</td><td>Default values for Double parameters (DrawPicture, DrawObject, DrawText) are now Doubles themselves so that they don't cause a "loss of precision" warning for those that have that warning enabled.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64101 64101]</td><td>Framework » Desktop</td><td>On macOS Big Sur, the Slider widget is no longer cropped at the top.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64539 64539]</td><td>Framework » Desktop</td><td>DesktopColorPicker should no longer raise exceptions when closed.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64591 64591]</td><td>Framework » Desktop</td><td>SegmentedButton: clearing the SelectedSegmentIndex (i.e. setting it to -1) now properly clears any selected segments.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64596 64596]</td><td>Framework » Desktop</td><td>Linux: Controls in TabPanels are no longer incorrectly resized when Normalize Control Sizes is enabled.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64605 64605]</td><td>Framework » Desktop</td><td>Fixed a bug where SearchField Action event was firing twice on Windows.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/65064 65064]</td><td>Framework » Desktop</td><td>Windows: Fixed potential silent crashes when comparing strings with different encodings.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/55540 55540]</td><td>Framework » Linux</td><td>PushButton.Action event no longer fires twice when pressing SPACE to push the button.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/61515 61515]</td><td>Framework » Web</td><td>WebTextField and WebTextArea no longer ignore recent user text changes when they lose focus.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/61536 61536]</td><td>Framework » Web</td><td>Runtime position changes of web controls are no longer reset by the framework once the Opening event fires.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/61967 61967]</td><td>Framework » Web</td><td>WebTextFields can now be changed between types at runtime.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/61976 61976]</td><td>Framework » Web</td><td>Disabling a WebComboBox now actually disables the control.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/62222 62222]</td><td>Framework » Web</td><td>WebListbox header visibility and captions can now be set at runtime.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63312 63312]</td><td>Framework » Web</td><td>WebListbox.DoublePressed fires correctly now.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63552 63552]</td><td>Framework » Web</td><td>LostFocus events in controls contained in WebContainers added at runtime now fire correctly.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63623 63623]</td><td>Framework » Web</td><td>WebPopupMenus placed close to a WebToolbar no longer have their menu obscured by the toolbar.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63656 63656]</td><td>Framework » Web</td><td>Accessing the URL of a session-specific WebFile without a WebSession currently in context will now throw a SessionNotAvailableException.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63817 63817]</td><td>Framework » Web</td><td>The WebPagePanel.PanelChanged event now fires when the panel is changed.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63936 63936]</td><td>Framework » Web</td><td>WebMessageDialog will now respond to presses of the SPACE bar if one of the buttons has focus.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64220 64220]</td><td>Framework » Web</td><td>WebButton.Default can now be turned off at runtime.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64320 64320]</td><td>Framework » Web</td><td>WebApplication.HandleURL will now respond correctly to and properly close the socket if the incoming request was HTTP/1.0.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64387 64387]</td><td>Framework » Web</td><td>The current focused control no longer gets lost when a WebContainer is embedded at runtime.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64401 64401]</td><td>Framework » Web</td><td>No longer encode ampersands in the value and hint properties of WebCombobox.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64409 64409]</td><td>Framework » Web</td><td>WebListbox.ReloadData now sets the SelectedRowIndex to -1 and raises the SelectionChanged event if necessary.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64514 64514]</td><td>Framework » Web</td><td>Both WebTabPanel and WebPagePanel pages in the documentation indicate that embedding them in themselves or each other is not supported.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64521 64521]</td><td>Framework » Web</td><td>WebListbox.CellValueAt no longer causes the list to scroll back to the top.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64531 64531]</td><td>Framework » Web</td><td>WebListbox no longer selects the next row when double-clicking an already selected row.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64545 64545]</td><td>Framework » Web</td><td>The Pressed Events on WebImageView and WebCanvas work again on browsers and devices which support multiple simultaneous input devices.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64552 64552]</td><td>Framework » Web</td><td>Fixed a race condition in the web framework which caused uploaded files to be truncated depending on how busy the server app was.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64648 64648]</td><td>Framework » Web</td><td>Calling App.Quit in a web application works again.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64716 64716]</td><td>Framework » Web</td><td>Fixed an issue which prevented the HandleRequest event from firing on WebSDK controls.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64740 64740]</td><td>Framework » Web</td><td>Using WebResponse.File no longer returns a 404 error regardless of what the code in App.HandleURL does. WebRequest.File has been deprecated.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64742 64742]</td><td>Framework » Web</td><td>WebThread.UserInterfaceUpdate now has the correct session context initialized.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64840 64840]</td><td>Framework » Web</td><td>The web framework will now throw App.UnhandledException for JSON encoding issues and log those errors to the IDE console.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64879 64879]</td><td>Framework » Web</td><td>WebPagePanel now fires its PanelChanged event when the SelectedPanelIndex property is changed.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64964 64964]</td><td>Framework » Web</td><td>Fixed a number of issues with WebListbox.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64985 64985]</td><td>Framework » Web</td><td>Calling the Quit method in the WebApplication.Opening event no longer raises an NilObjectException.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/65134 65134]</td><td>Framework » Web</td><td>WebListbox Rows with no text are now the same height as a row with text.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/17732 17732]</td><td>Framework » Windows</td><td>PopupMenu/ComboBox Change event no longer fires needlessly if the ListIndex doesn’t change, except for a special case for ComboBoxes when the text changes (this now more closely mimics macOS behavior).</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/28386 28386]</td><td>Framework » Windows</td><td>Native HTMLViewer.DocumentProgressChanged event's URL parameter is now correctly reported instead of always being an empty string.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63572 63572]</td><td>Framework » Windows</td><td>Window: Modifying the Left/Top of an MDI client window no longer incorrectly positions the window when in a multiple-monitor setup.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63730 63730]</td><td>Framework » Windows</td><td>Double.ToString no longer throws deprecated Xojo.Core.InvalidArgumentExceptions.
 +
</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64069 64069]</td><td>Framework » Windows</td><td>HTMLViewer: no longer crashes if the HTMLViewer isn't setup yet. For example, trying to GoBack while the HTMLViewer object is still being constructed no longer crashes now.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64935 64935]</td><td>Framework » Windows</td><td>WebKit based HTMLViewer.DocumentProgressChanged event now gets invoked when the progress changes.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/62542 62542]</td><td>Framework » iOS » Mobile</td><td>GetTypeInfo can now properly cast to Introspection.TypeInfo.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/62595 62595]</td><td>Framework » iOS » Mobile</td><td>MobileScreen: Destructor is no longer triggered when the object goes out of scope right after Show/ShowModal/PushTo is called.  The object now lives on until the MobileScreen is actually closed (just like Desktop Windows do).</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/62683 62683]</td><td>Framework » iOS » Mobile</td><td>Updated iOSMobileTable.CreateCustomCell definition to take an Introspection.TypeInfo instead of the deprecated Xojo.Introspection.TypeInfo</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63603 63603]</td><td>Framework » iOS » Mobile</td><td>iOSApplication.HandleURL is now called even if the app wasn’t already running.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64004 64004]</td><td>Framework » iOS » Mobile</td><td>XmlDocument.SaveXML and XmlReader.Parse no longer crashes.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64254 64254]</td><td>Framework » iOS » Mobile</td><td>The default MobileDatePicker on iOS 13.4+ works like earlier versions again.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64508 64508]</td><td>Framework » iOS » Mobile</td><td>MobileScreen.Closing no longer fires when the view is just going to the background.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64519 64519]</td><td>Framework » iOS » Mobile</td><td>Creating a MobileToolbarButton with a Type of Done and a custom caption or icon works again.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64547 64547]</td><td>Framework » iOS » Mobile</td><td>MobileTableCellData.Handle no longer returns Nil for standard table cells created by iOSMobileTable.CreateCell.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64568 64568]</td><td>Framework » iOS » Mobile</td><td>Picture.CopyOSHandle now preserves the scale of the picture when the new UIImage is created.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64577 64577]</td><td>Framework » iOS » Mobile</td><td>Display Sharing Panel tray icon (instead of generic icon) when MobileSharingPanel is dragged onto a screen layout.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64618 64618]</td><td>Framework » iOS » Mobile</td><td>A modal MobileScreen is now properly closed/destructed when swiped to close.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64629 64629]</td><td>Framework » iOS » Mobile</td><td>Fixed various objects leaking when MobileScreen is closed.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64715 64715]</td><td>Framework » iOS » Mobile</td><td>iOSMobileTable no longer leaks objects/memory.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64718 64718]</td><td>Framework » iOS » Mobile</td><td>No longer leaks a MobileToolbarButton object when a toolbar button is pressed.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64802 64802]</td><td>Framework » iOS » Mobile</td><td>Avoid a potential NilObjectException in the MobileNotifications callbacks when using notifications created outside of the Xojo Framework. This will mean that the framework will simply not attempt to handle the notifications in this case.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/44840 44840]</td><td>Framework » macOS</td><td>Set Slider on Mac to vertical mode when it is created with height > width.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/62020 62020]</td><td>Framework » macOS</td><td>TextArea.SelectAll now selects all the text, even with emojis present.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64706 64706]</td><td>Framework » macOS</td><td>FolderItem.Open can open document files again that have their executable bit set.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64758 64758]</td><td>Framework » macOS</td><td>DesktopColorPicker no longer throws NilObjectExceptions on macOS when another control capable of receiving color changes gets focus.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64948 64948]</td><td>Framework » macOS</td><td>Fixed a bug in Picture.ToData on macOS when the instance source file is a PDF, so it returns now a MemoryBlock instead of throwing a UnsupportedOperation exception.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/33815 33815]</td><td>IDE » Auto Complete</td><td>Autocomplete now correctly updates local variables when cutting and pasting code.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/40977 40977]</td><td>IDE » Auto Complete</td><td>Autocomplete no longer shows methods when the item is a class but not an instance.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/57126 57126]</td><td>IDE » Auto Complete</td><td>The AutoComplete popup no longer prevents the IDE from quitting on macOS.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/58887 58887]</td><td>IDE » Auto Complete</td><td>The keyword ‘As’ now autocompletes on array variable declaration lines.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/50552 50552]</td><td>IDE » AutoLayout</td><td>A Super Return in the code editor for a For loop now autocompletes the loop variable as well.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64323 64323]</td><td>IDE » Build Automation</td><td>Build errors specific to Universal builds now get sent to the IDECommunicator if one is connected.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/56073 56073]</td><td>IDE » Code Editor</td><td>Code folding "box" now uses a roundrect and block indicator line also now has a more subtle highlight when the mouse is in the code block to minimize distractions and make things look cleaner. Code folding highlight now turns off when cursor moves to gutter to match other behavior. Code folding click box area is more accurate.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/62757 62757]</td><td>IDE » Code Editor</td><td>AutoComplete menu no longer appears when there are no items in the list.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63523 63523]</td><td>IDE » Code Editor</td><td>When you have selected text in the Code Editor and press an arrow key (by itself) you now get the same behavior seen in every other text editor: left arrow goes to start of selection, right arrow goes to end of selection, up arrow goes to line before the start of the selection, down arrow goes to line after the end of the selection.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63822 63822]</td><td>IDE » Code Editor</td><td>Invisible character cleaner now handles ASCII character 127 DEL.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63879 63879]</td><td>IDE » Code Editor</td><td>Code Editor syntax area column position now takes indentation into account.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64087 64087]</td><td>IDE » Code Editor</td><td>Fixed an issue which caused code editors with lines long enough to require a horizontal scrollbar to do their first paint incorrectly.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64088 64088]</td><td>IDE » Code Editor</td><td>Doing a super return with the selection inside the text of a line now moves the selection to the beginning of the line before inserting the completion code so the resulting code still compiles.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64279 64279]</td><td>IDE » Code Editor</td><td>Fixed an issue which caused the code editor to refresh incorrectly whenever a new code item was loaded.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64326 64326]</td><td>IDE » Code Editor</td><td>The keyword Selector is now capitalized when Standardize Format is enabled.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/58988 58988]</td><td>IDE » Constant Editor</td><td>Undo/Redo for Constants in project items now works.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/36242 36242]</td><td>IDE » Debugger</td><td>There was an attempt to fix a Debugger exception that can occur when the variable list is reloaded when stepping through code in more complex projects.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63800 63800]</td><td>IDE » Error & Warning Panel</td><td>When selecting an error concerning missing control events, the project now navigates to the event instead of the containing view.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63657 63657]</td><td>IDE » FileIO</td><td>Line endings of version control individual project files are now retained between opening and saving.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64687 64687]</td><td>IDE » FileIO</td><td>Color Groups now save properly to XML file format.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64688 64688]</td><td>IDE » FileIO</td><td>Worker project items are now saved in XML Project files.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64762 64762]</td><td>IDE » FileTypes Editor</td><td>Changes to File Type Groups now undo properly.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/56248 56248]</td><td>IDE » Find & Replace</td><td>Fixed an exception that could occur when using search pane right-click menu on search results that refer to deleted code lines.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/56288 56288]</td><td>IDE » Find & Replace</td><td>When replacing search results in an Attribute, prevent a NilObjectException that could occur.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/60189 60189]</td><td>IDE » Find & Replace</td><td>Replacing the text within the declaration of a property no longer resets its scope to Public the first time.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63201 63201]</td><td>IDE » Find & Replace</td><td>Closing a document or hiding the search panel will now stop any running searches.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63913 63913]</td><td>IDE » Find & Replace</td><td>Searching for a single character in a large project no longer hangs the IDE.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63968 63968]</td><td>IDE » Find & Replace</td><td>Changing the Search Results list sort from ascending to descending and then doing a replace on multiple source code results no longer causes the replaced text to mess up the code.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64008 64008]</td><td>IDE » Graphics</td><td>Navigator MenuBar icon is now correct on HiDPI screens.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/57384 57384]</td><td>IDE » Inspector</td><td>The text in the Method return type field now stays large after the field has lost focus.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63861 63861]</td><td>IDE » Inspector</td><td>The Compatibility Flags editor no longer presents incorrect information about the way the flags are set for a particular class.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64162 64162]</td><td>IDE » Inspector</td><td>The labels on the iOSCapabilities editor are no longer unnecessarily shortened.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64766 64766]</td><td>IDE » Inspector</td><td>Fixed an issue which caused the Make External method to be available for folders when it shouldn’t be.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64579 64579]</td><td>IDE » Language Reference</td><td>Fixed a place where a browser could be told to open an non http language reference page.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/60149 60149]</td><td>IDE » Layout Editor</td><td>Control guides on WebTabPanels and WebPagePanels no longer bleed through to all pages.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64124 64124]</td><td>IDE » Layout Editor</td><td>Position locks of controls on the non-visible pages of a WebPagePanel or WebTabPanel no longer appear in the layout editor.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64424 64424]</td><td>IDE » Layout Editor</td><td>The IDE no longer crashes when loading the icon for web controls whose super no longer exists in the project.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64120 64120]</td><td>IDE » Menu Shortcut Editor</td><td>Custom menu key maps are now stored in a central location so IDEs going forward will be able to access them.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/29598 29598]</td><td>IDE » Miscellaneous</td><td>Do not attempt to send breakpoints to the debug app if it was terminated *just* as the debugger itself is starting up, which ought to prevent a Debugger NilObjectException.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/54464 54464]</td><td>IDE » Miscellaneous</td><td>Build window icon is now updated properly each time you build a new project.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/59515 59515]</td><td>IDE » Miscellaneous</td><td>Fixed a NilObjectException that could occur when turning Ignore Breakpoints ON/OFF when you have multiple IDE workspace windows open.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63259 63259]</td><td>IDE » Miscellaneous</td><td>Overriding system class defaults works again.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64118 64118]</td><td>IDE » Miscellaneous</td><td>When an unhandled exception is caught by the IDE and it displays the “Send a Report” dialog, the IDE now always terminates itself instead of sometimes trying to do a normal Quit which could result in an unsaved changes prompt that could allow a possibly corrupt project to be saved.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64297 64297]</td><td>IDE » Miscellaneous</td><td>Fixed View->Next Bottom Pane/Previous Bottom Pane shortcuts for Windows.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64763 64763]</td><td>IDE » Miscellaneous</td><td>XML project format now preserves the Linux Normalize Control Sizes build property.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/55178 55178]</td><td>IDE » Navigator</td><td>Undoing the creation of a class containing methods and then recreating it through Redo will no longer crashes when recreating the methods.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/62917 62917]</td><td>IDE » Navigator</td><td>Prevent a NilObjectException that could occur when deleting a Folder within a Folder that is open in a tab.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63857 63857]</td><td>IDE » Navigator</td><td>Clear Navigator Filter when it has focus and ESC is pressed.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64012 64012]</td><td>IDE » Navigator</td><td>The IDE no longer fails to find a location if the autocomplete menu was used in the Go To Location dialog and an item was found that was a subset of other items in the list.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64161 64161]</td><td>IDE » Navigator</td><td>Prevent an IDE exception that can sometimes occur when moving project items in a Navigator that is open in a tab.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64341 64341]</td><td>IDE » Navigator</td><td>Fixed a regression which made it impossible to create code-only subclasses of MobileContainer for use as the super of other MobileContainers.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64599 64599]</td><td>IDE » Navigator</td><td>MenuBar icons render correctly in the navigator again.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64269 64269]</td><td>IDE » Preferences</td><td>Removed shortcut on Project->Breakpoints->Clear All on Windows.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63853 63853]</td><td>IDE » Refactoring Tools</td><td>Compatibility Flags are now copied when a subclass is created directly from a class in the Navigator.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64522 64522]</td><td>IDE » Rendering</td><td>IDE now resolves the Linux application name if it is set to a constant when generating the appicon resources.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64226 64226]</td><td>IDE » Script Editor</td><td>IDE Build Script Step Editor no longer reverts saved changes if you save very quickly after making a change.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63884 63884]</td><td>IDE » Scripting</td><td>The IDE Scripting command RunScript now also looks in  {UserHome}/Documents/Xojo/IDE/Scripts for scripts to run.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64770 64770]</td><td>IDE » Scripting</td><td>The IDE Scripting CurrentBuildLocation constant now points to the correct location when building as macOS Universal.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64889 64889]</td><td>IDE » Scripting</td><td>Running the “DirtyAllProjectItems” IDE Script command and then clicking the Cancel button on the progress dialog no longer leaves the IDE in a bad state.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64702 64702]</td><td>Plugin SDK</td><td>String.Middle and String.MiddleBytes declarations are now accessible to Plugins.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64839 64839]</td><td>Plugin SDK</td><td>Plugins can now dynamically access Color module methods using REALLoadFrameworkMethod with function prototypes such as “Color.FillColor() As Color”</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/56393 56393]</td><td>Remote Debugger Stub</td><td>Linux ARM console remote debugger stub’s name now has the correct case.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64738 64738]</td><td>Remote Debugger Stub</td><td>64-bit Remote Debugger Stub now works correctly on Windows ARM (with x64 emulation support).</td></tr>
 +
<tr><td colspan=3>179 Bug Fixes</td></tr>
 +
 +
</table>
 +
<h3 class='typeheader'>Changes</h3>
 +
<table>
 +
 +
<tr><td>[http://feedback.xojo.com/case/64328 64328]</td><td>Build</td><td>When nothing is specified for the Project Items to Include property, nothing is copied to the Worker Helper. Previously all applicable classes and modules were copied. If you still want to include everything, "**IncludeAllClassesAndModules**" can be entered (by itself) in Project Items to Include and everything will get copied over.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/62943 62943]</td><td>Build Pipeline (IDE)</td><td>For macOS Universal Builds, pre-build steps now only run once before the build process and post-build steps now only run once after the build process. A new constant has been added named CurrentBuildTargetIsUniversal which will only be set to True for a macOS Universal build.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/59572 59572]</td><td>Framework » All</td><td>Now Trim can take a ParamArray parameter. All the characters/words received in the ParamArray parameter will be trimmed from both sides of the source string.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63211 63211]</td><td>Framework » All</td><td>Added EndOfLine.Native as a Shared Property to make it easier to use with String extension methods like Length.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64024 64024]</td><td>Framework » All</td><td>Added Rotate, Translate and Scale to the Graphic context of PDFDocument.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64876 64876]</td><td>Framework » All</td><td>Adding the following methods so the user can add several kind of annotations / actions to the PDFDocument:
 +
 +
AddAnnotation(value As String, x As Integer, y As Integer)
 +
 +
Adds the received value as a regular annotation in the specified coordinates of the current PDF page.
 +
 +
AddLinkArea(URL As String, x As Integer, y As Integer, width As Integer, height As Integer)
 +
Adds an external link (URL) to the specified area of the current page. The link will be open by the user’s default browser when clicked.
 +
 +
AddGoToPage(page As Integer, x As Integer, y As Integer, width As Integer, height As Integer, Optional x1 As Integer, Optional y1 As Integer)
 +
Adds an active region to the current PDF document page that, once clicked by the user, allows to go to the specified PDF document page. The optional x1 and y1 parameters set the target region to display (this is dependant on the PDF viewer app).
 +
 +
AddLinkToPDFArea(File as FolderItem, x As Integer, y As Integer, width As Integer, height As Integer)
 +
This method allows the user to add a region in the current PDF document that, when clicked by the user, will open the external PDF file pointed by the File parameter.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64903 64903]</td><td>Framework » All</td><td>Added the ability to set the document and PDF viewer app behaviour in PDFDocument.
 +
Added the ability to set transition styles to individual PDFDocument pages, so it is possible to create presentations in PDF format.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64963 64963]</td><td>Framework » All</td><td>Now TrimRight and TrimLeft can take a ParamArray parameter. All the characters/words received in the ParamArray parameter will be trimmed from the start (TrimLeft) or end (TrimRight) of the source string.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/60150 60150]</td><td>Framework » Web</td><td>Added support for Captions on WebTextArea.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/62836 62836]</td><td>Framework » Web</td><td>WebChart now uses the user’s localization settings to format numbers.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64398 64398]</td><td>Framework » Web</td><td>Added a field to set the progress message for slow loading lists.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/65007 65007]</td><td>Framework » Web</td><td>WebListBox now raises an UnsupportedOperationException when trying to change the ColumnCount after the Opening event.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/62231 62231]</td><td>Framework » iOS » Mobile</td><td>The iOS Shortcut Item editor icon now accepts a comma delimited list of SFSymbols, UIApplicationShortcutIconTypes and/or images from your project. </td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64316 64316]</td><td>Framework » iOS » Mobile</td><td>PointerEvent now has a Handle method.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64476 64476]</td><td>Framework » iOS » Mobile</td><td>NotificationCenter now has methods and matching events for getting a list of notifications that have been and/or will be delivered to your app.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64518 64518]</td><td>Framework » iOS » Mobile</td><td>Added MobileToolbarItem.FromHandle for creating toolbar items using declares.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64110 64110]</td><td>Framework » macOS</td><td>On macOS, desktop apps now listen for the NSWorkspaceAccessibilityDisplayOptionsDidChange Notification and fire the AppearanceChanged event accordingly.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/14861 14861]</td><td>IDE » Code Editor</td><td>Clicking on the line number in the Code Editor gutter now selects the entire line.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/46721 46721]</td><td>IDE » Code Editor</td><td>It is now possible to copy method signature at the top of the code editor by right-clicking on it and choosing "Copy signature".</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/56051 56051]</td><td>IDE » Code Editor</td><td>When using the automatic line continuation capability in the Code Editor (Option-Return on macOS and CTRL-Return on Windows/Linux), the IDE now checks to see if you are in the middle of a string and will automatically close the string and add " + _" before the line end and an opening quote at the beginning of the new line. You can also add the SHIFT key to this combination and it will add a call to EndOfLine.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63815 63815]</td><td>IDE » Code Editor</td><td>The code editor can now clean invisible characters from the entire current code item if there is no selection.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63869 63869]</td><td>IDE » Code Editor</td><td>When line numbers are being shown in the Code Editor, highlight the current cursor position in the gutter.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63880 63880]</td><td>IDE » Code Editor</td><td>Line/Column in syntax area now always shows text cursor (caret) position.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63932 63932]</td><td>IDE » Code Editor</td><td>The Code Editor now only updates the Syntax Help and code block indicators when the mouse has stopped moving for 150ms. In addition, when drag-selecting text the Syntax Help is no longer updated as that is not really useful.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64057 64057]</td><td>IDE » Code Editor</td><td>Doing a super-return for a for-next loop will now add the loop element after the word Next.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/61744 61744]</td><td>IDE » FileIO</td><td>Updated how the IDE tracks which items in a project have actually been changed to optimize text project saving.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63834 63834]</td><td>IDE » FileIO</td><td>Properties of controls on layouts in XML files are now written in alphabetical order to avoid unnecessary changes in version control systems.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64780 64780]</td><td>IDE » FileIO</td><td>Recent Items menu now shows project type icons and an updated appearance when there are duplicates in different folders.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64733 64733]</td><td>IDE » Find & Replace</td><td>The search pane now allows the use of the spacebar to open the history & options menus and to fire the Replace and Replace All buttons.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64164 64164]</td><td>IDE » Inspector</td><td>Fixed entitlement implementation for Data Protection and Wallet(previously Passbook). The In-App Purchase option has been removed at this time because it was not working under the hood.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64664 64664]</td><td>IDE » Inspector</td><td>In the Inspector Behavior editor, double-clicking a user-defined header now lets you edit the name. Clearing the name when editing will now delete the header.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64665 64665]</td><td>IDE » Inspector</td><td>Items in the Inspector Behavior editor enumeration list can now be reordered.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/62270 62270]</td><td>IDE » Library</td><td>3rd party plugin controls no longer appear in the library in the Built-In controls section.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/61827 61827]</td><td>IDE » Miscellaneous</td><td>Fixed a few items that were not previously undoable.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/62051 62051]</td><td>IDE » Miscellaneous</td><td>Search fields throughout the IDE have been updated to the native search field introduced in 2020r2.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63846 63846]</td><td>IDE » Miscellaneous</td><td>The Goto Location window can now be used to jump to a specific code line number. Specify a code item, a "#" and a line number, such as MyWindow.MyMethod#50, to go to line 50 in MyWindow.MyMethod. If a Code Editor is open, then you can specify just a line number in the Goto Location window to jump to that line of code.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64498 64498]</td><td>IDE » Rendering</td><td>When building for macOS or iOS, user defined minimum system versions in an imported plist's key-values can now be used to increase the minimum supported system. </td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/63088 63088]</td><td>IDE » Xojo Cloud</td><td>Xojo Cloud servers can now act as an iOS Remote Notification server for connecting to the Apple Remote Notification service.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/9581 9581]</td><td>Remote Debugger Stub</td><td>Desktop Remote Debugger Stub on Windows can now be minimized to the System Tray.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64040 64040]</td><td>Remote Debugger Stub</td><td>The error message when the IDE can't find a Remote Debugger Stub is now less cryptic and easier to understand.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64502 64502]</td><td>XojoScript</td><td>The IDE Scripting command SaveText no longer crashes the IDE if an invalid path is provided.</td></tr>
 +
<tr><td colspan=3>41 Changes</td></tr>
 +
 +
</table>
 +
<h3 class='typeheader'>New Items</h3>
 +
<table>
 +
 +
<tr><td>[http://feedback.xojo.com/case/63684 63684]</td><td>Framework » All</td><td>Added a Binary option to Enumerations that are included in Modules.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64213 64213]</td><td>Framework » iOS » Mobile</td><td>Creation of PDF documents on iOS.
 +
 +
Fonts handling is restricted to the PDF Standard14 subset.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/62053 62053]</td><td>IDE » Inspector</td><td>ColorGroups are now available in Desktop and Web projects.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/52190 52190]</td><td>IDE » Preferences</td><td>Added an IDE Coding Preference to display line numbers in the Code Editor gutter. Removed the toggle button that used to do this from the various code editors as they now all will display line numbers based on the preference setting.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64149 64149]</td><td>IDE » Profiler</td><td>Added a SaveProfile method which immediately saves profile information to help users whose apps are terminating abnormally.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64869 64869]</td><td>IDE » Scripting</td><td>Code item descriptions can now be accessed in IDE Scripts using the ItemDescription getter/setter methods.</td></tr>
 +
<tr><td colspan=3>6 New Items</td></tr>
 +
 +
</table>
 +
<h3 class='typeheader'>Docs and Examples</h3>
 +
<table>
 +
 +
<tr><td>[http://feedback.xojo.com/case/64557 64557]</td><td>Documentation » Miscellaneous</td><td>The iOS Addendum content has been updated and is now included in the Intro to Programming Guide PDF.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64428 64428]</td><td>Documentation » User's Guide</td><td>Updated UserGuide:Lingua topic to use the Localized Strings phrasing instead of Dynamic Constants.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64286 64286]</td><td>Examples</td><td>CanvasDragRect example no longer uses deprecated Realbasic.Rect class.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64383 64383]</td><td>Examples</td><td>Fixed an issue with the TitleTimer in the TabbedWebBrowser example project.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64626 64626]</td><td>Examples</td><td>Updated JSONTree example to use KeyAt() method instead of deprecated NameAt() method.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64914 64914]</td><td>Examples</td><td>Fixed the issue. Also removed use of some API 1.0 methods.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64123 64123]</td><td>Language Reference » Documentation</td><td>On the PopupMenu doc page, the SelectRowWithValue tooltip now correctly shows the parameter type as String.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64165 64165]</td><td>Language Reference » Documentation</td><td>Docs for Slider.AllowLiveScrolling have been updated to indicate the Linux (GTK3) does not provide a way to turn off live scrolling.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64235 64235]</td><td>Language Reference » Documentation</td><td>JSONItem language reference page no longer excludes iOS.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64241 64241]</td><td>Language Reference » Documentation</td><td>TextArea.StyledTextPrinter now indicates it is only supported on Mac.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64244 64244]</td><td>Language Reference » Documentation</td><td>JSONItem.Value is once again documented on the JSONIitem page.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64305 64305]</td><td>Language Reference » Documentation</td><td>Removed platform-specific header from Graphics page.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64307 64307]</td><td>Language Reference » Documentation</td><td>Graphics.Scale page now indicates it is available for all project types.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64389 64389]</td><td>Language Reference » Documentation</td><td>On Size page, fixed link to Constructor(Width as Double,Height as Double).</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64515 64515]</td><td>Language Reference » Documentation</td><td>TextOutputStream.Encoding property no longer shows as read-only in the docs.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64574 64574]</td><td>Language Reference » Documentation</td><td>Fixed code formatting problem on PictureBrush.Mode page.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64684 64684]</td><td>Language Reference » Documentation</td><td>String.ReplaceLineEndings parameter name has been changed to reflect that the replacement does not need to be a line ending character.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/64886 64886]</td><td>Language Reference » Documentation</td><td>Canvas.ScaleFactor has been documented.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/65010 65010]</td><td>Language Reference » Documentation</td><td>Added a note to the documentation to say that JSONItem.EscapeSlashes has no effect in 2021r1 or later.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/65014 65014]</td><td>Language Reference » Documentation</td><td>Updated doc example on BinaryStream for API 2.</td></tr>
 +
<tr><td>[http://feedback.xojo.com/case/65107 65107]</td><td>Language Reference » Documentation</td><td>A typo in a ListBox code sample has been fixed.</td></tr>
 +
<tr><td colspan=3>21 Docs and Examples</td></tr>
 +
</table>
  
 
[[Category:Release Notes]]
 
[[Category:Release Notes]]

Latest revision as of 13:01, 14 July 2021

Xojo 2021 Release 2 is now available with over 240 changes and improvements.

Notable changes include:

  • iOS PDFDocument support.
  • Xojo Cloud Remote Notification server for iOS notifications.
  • Binary Enumeration Editor
  • ColorGroups in desktop and web projects.
  • Faster text project saving with fewer files marked as having changes.
  • PDFDocument additions: Rotate, Translate, Scale.
  • Code Editor improvements, including IDE line number settings, better row highlighting and improved drawing and performance.
  • Linux IDE layout improvements.
  • Lots of bug fixes.

Release Notes

Bug Fixes

64615BuildmacOS ad-hoc signing is no longer applied if the app has already been signed (which could happen in a post-build script).
59157CompilerCompiler now reports deprecation warning for Variant.TypeDate with replacement Variant.TypeDateTime.
64334Crashes & Assertions » CrashFixed a potential crash when loading or saving a project.
64874Crashes & Assertions » CrashPlugin Control objects no longer get incorrectly unlocked twice when they are being destructed from the IDE layout.
64818Crashes & Assertions » Failed AssertionLinux: Assigning a multi-resolution Picture to DragItem.DragPicture no longer fails with a failed assertion.
54072Crashes & Assertions » IDE Unhandled ExceptionPrevent a NilObjectException that could sometimes occur when using Undo.
55422Crashes & Assertions » IDE Unhandled ExceptionThere was an attempt to fix a NilObjectException that can sometimes occur when dragging items in the Layout Editor.
55545Crashes & Assertions » IDE Unhandled ExceptionPrevent a NilObjectException that could sometimes occur when selecting items in the Layout Editor.
55610Crashes & Assertions » IDE Unhandled ExceptionFixed a RuntimeException that could occur when trying to view large Currency values in the Debugger.
55644Crashes & Assertions » IDE Unhandled ExceptionPrevent an exception that could occur when naming a Delegate with the name of a superclass method.
55862Crashes & Assertions » IDE Unhandled ExceptionFixed a NilObjectException that can sometimes occur when importing a large number of project items at one time.
56615Crashes & Assertions » IDE Unhandled ExceptionPrevent a NilObjectException that can occur when Undoing (Edit->Undo) the creation of a method in a module and then Redoing (Edit->Redo) the creation of the module and method.
56824Crashes & Assertions » IDE Unhandled ExceptionPrevent a NilObjectException that can occur when clicking on an Analysis Warning result in the Errors pane for an encrypted class.
57392Crashes & Assertions » IDE Unhandled ExceptionWhen saving a text project, skip saving UI state file if it is locked by the file system rather than raising a NilObjectException and preventing the save.
57925Crashes & Assertions » IDE Unhandled ExceptionGo To <property> contextual menu on project items now works.
58061Crashes & Assertions » IDE Unhandled ExceptionThere was an attempt to fix a NilObjectException that could sometimes occur on desktop project load when processing menus.
58121Crashes & Assertions » IDE Unhandled ExceptionThere was an attempt to fix a NilObjectException that can sometimes occur after using the multi-line editor from the Constant Inspector.
58618Crashes & Assertions » IDE Unhandled ExceptionThe Implement Interface window no longer causes a NilObjectException on an external item that has an invalid interface on it.
59470Crashes & Assertions » IDE Unhandled ExceptionThere was an attempt to gracefully deal with NilObject situations when the Debugger is stopping.
62265Crashes & Assertions » IDE Unhandled ExceptionFixed a potential crash when Cutting or Deleting an item in the Navigator that may have already been deleted in another Tab.
63827Crashes & Assertions » IDE Unhandled ExceptionIDE will no longer crash if it can't find the correct row to show in the Navigator.
63851Crashes & Assertions » IDE Unhandled ExceptionBetter catch NilObjectExceptions so that IDE does not crash sometimes when removing controls that belong to a control set and are nested in another control.
63948Crashes & Assertions » IDE Unhandled ExceptionInstead of crashing, the IDE now shows an error if the compiler version doesn't match the IDE for some reason.
64085Crashes & Assertions » IDE Unhandled ExceptionFixed a regression which caused super returns to crash the IDE.
64157Crashes & Assertions » IDE Unhandled ExceptionDisplay an error when a default iPhone or iPad layout is not specified on the App object. In certain situations this could cause have previously caused an IDE exception.
64248Crashes & Assertions » IDE Unhandled ExceptionBefore downloading a Xojo update to a temp file, delete the temp file if it exists to prevent a NilObjectException that can occur.
64300Crashes & Assertions » IDE Unhandled ExceptionFixed a potential crash if an IDE window is moved and then quickly closed.
64589Crashes & Assertions » IDE Unhandled ExceptionFixed a potential crash.
64734Crashes & Assertions » IDE Unhandled ExceptionSharing WebContainers between projects via XML no longer crashes the IDE.
64736Crashes & Assertions » IDE Unhandled ExceptionThe IDE no longer crashes if you quickly click the Replace and/or Replace All buttons on the Search pane.
64909Crashes & Assertions » IDE Unhandled ExceptionFixed a potential crash when search results include lines at the end of an IDE script, those lines are deleted and then the project is saved.
64954Crashes & Assertions » IDE Unhandled ExceptionThe IDE no longer crashes if an item is visible and disclosed in more than one tab and then moved to a new location in one of the tabs.
65145Crashes & Assertions » IDE Unhandled ExceptionCanceling a build should no longer crash the IDE.
64075Database EnginePostgreSQLDatabase: updated libpq client library to 13.0 which supports the new SCRAM authentication method with channel binding.
61466Database Plugins » ODBCODBCDatabase: Deprecated methods with replacements that return RowSets

- PrimaryKeys => TablePrimaryKeys - ForeignKeys => TableForeignKeys - SpecialColumns => TableSpecialColumns - TablePrivileges => Privileges(table As String) - ColumnPrivileges => Privileges(table As String, column As String) - Procedures => StoredProcedures

- ProcedureColumns => StoredProcedureColumns
63781Database Plugins » SQLiteDatabase: Calling SaveRow without initiating an EditRow now raises a DatabaseException.
61659Framework » AllTextArea: CharacterPosition, LineNumber, and InsertionPosition now respects the UnicodeMode setting (especially the Characters mode).
64147Framework » AllRemoved TextArea.Save, Open, SetTextAndStyle methods and TextStyleDate properties as they have been deprecated since 2003 and Save/Open no longer work on newer versions of macOS.
64167Framework » AllColor.FromValue now returns the correct color if the alpha portion of the hex string is greater than 7F.
64252Framework » AllDeprecated RuntimeException.Reason property.
64253Framework » AllDeprecated Xojo.Core.ErrorException.
64256Framework » AllDeprecated Xojo namespace exceptions.
64456Framework » AllGenerateJSON no longer leaks objects/memory, this affected JSONItem as well.
64478Framework » AllFolderItem.CreationDate and ModificationDate are now deprecated, use CreationDateTime and ModificationDateTime instead.
64492Framework » AllApplication.ShortVersion is now marked as deprecated, reflecting what was already in the documentation.
64496Framework » AllApplication/ConsoleApplication: LongVersion is now marked as deprecated.
64497Framework » AllApplication/ConsoleApplication: PackageInfo is now marked as deprecated.
64642Framework » AllString.Compare no longer leaks Xojo.Core.Locale objects.
63205Framework » DesktopNative HTMLViewer.DocumentProgressChanged event now correctly reports the amount of progress instead of always 0.
63819Framework » DesktopCanvas.DrawInto no longer triggers multiple Paint events, on the source Canvas, unnecessarily.
63825Framework » DesktopDoubleClick event no longer fires again upon a quick third click.
63976Framework » DesktopDefault values for Double parameters (DrawPicture, DrawObject, DrawText) are now Doubles themselves so that they don't cause a "loss of precision" warning for those that have that warning enabled.
64101Framework » DesktopOn macOS Big Sur, the Slider widget is no longer cropped at the top.
64539Framework » DesktopDesktopColorPicker should no longer raise exceptions when closed.
64591Framework » DesktopSegmentedButton: clearing the SelectedSegmentIndex (i.e. setting it to -1) now properly clears any selected segments.
64596Framework » DesktopLinux: Controls in TabPanels are no longer incorrectly resized when Normalize Control Sizes is enabled.
64605Framework » DesktopFixed a bug where SearchField Action event was firing twice on Windows.
65064Framework » DesktopWindows: Fixed potential silent crashes when comparing strings with different encodings.
55540Framework » LinuxPushButton.Action event no longer fires twice when pressing SPACE to push the button.
61515Framework » WebWebTextField and WebTextArea no longer ignore recent user text changes when they lose focus.
61536Framework » WebRuntime position changes of web controls are no longer reset by the framework once the Opening event fires.
61967Framework » WebWebTextFields can now be changed between types at runtime.
61976Framework » WebDisabling a WebComboBox now actually disables the control.
62222Framework » WebWebListbox header visibility and captions can now be set at runtime.
63312Framework » WebWebListbox.DoublePressed fires correctly now.
63552Framework » WebLostFocus events in controls contained in WebContainers added at runtime now fire correctly.
63623Framework » WebWebPopupMenus placed close to a WebToolbar no longer have their menu obscured by the toolbar.
63656Framework » WebAccessing the URL of a session-specific WebFile without a WebSession currently in context will now throw a SessionNotAvailableException.
63817Framework » WebThe WebPagePanel.PanelChanged event now fires when the panel is changed.
63936Framework » WebWebMessageDialog will now respond to presses of the SPACE bar if one of the buttons has focus.
64220Framework » WebWebButton.Default can now be turned off at runtime.
64320Framework » WebWebApplication.HandleURL will now respond correctly to and properly close the socket if the incoming request was HTTP/1.0.
64387Framework » WebThe current focused control no longer gets lost when a WebContainer is embedded at runtime.
64401Framework » WebNo longer encode ampersands in the value and hint properties of WebCombobox.
64409Framework » WebWebListbox.ReloadData now sets the SelectedRowIndex to -1 and raises the SelectionChanged event if necessary.
64514Framework » WebBoth WebTabPanel and WebPagePanel pages in the documentation indicate that embedding them in themselves or each other is not supported.
64521Framework » WebWebListbox.CellValueAt no longer causes the list to scroll back to the top.
64531Framework » WebWebListbox no longer selects the next row when double-clicking an already selected row.
64545Framework » WebThe Pressed Events on WebImageView and WebCanvas work again on browsers and devices which support multiple simultaneous input devices.
64552Framework » WebFixed a race condition in the web framework which caused uploaded files to be truncated depending on how busy the server app was.
64648Framework » WebCalling App.Quit in a web application works again.
64716Framework » WebFixed an issue which prevented the HandleRequest event from firing on WebSDK controls.
64740Framework » WebUsing WebResponse.File no longer returns a 404 error regardless of what the code in App.HandleURL does. WebRequest.File has been deprecated.
64742Framework » WebWebThread.UserInterfaceUpdate now has the correct session context initialized.
64840Framework » WebThe web framework will now throw App.UnhandledException for JSON encoding issues and log those errors to the IDE console.
64879Framework » WebWebPagePanel now fires its PanelChanged event when the SelectedPanelIndex property is changed.
64964Framework » WebFixed a number of issues with WebListbox.
64985Framework » WebCalling the Quit method in the WebApplication.Opening event no longer raises an NilObjectException.
65134Framework » WebWebListbox Rows with no text are now the same height as a row with text.
17732Framework » WindowsPopupMenu/ComboBox Change event no longer fires needlessly if the ListIndex doesn’t change, except for a special case for ComboBoxes when the text changes (this now more closely mimics macOS behavior).
28386Framework » WindowsNative HTMLViewer.DocumentProgressChanged event's URL parameter is now correctly reported instead of always being an empty string.
63572Framework » WindowsWindow: Modifying the Left/Top of an MDI client window no longer incorrectly positions the window when in a multiple-monitor setup.
63730Framework » WindowsDouble.ToString no longer throws deprecated Xojo.Core.InvalidArgumentExceptions.
64069Framework » WindowsHTMLViewer: no longer crashes if the HTMLViewer isn't setup yet. For example, trying to GoBack while the HTMLViewer object is still being constructed no longer crashes now.
64935Framework » WindowsWebKit based HTMLViewer.DocumentProgressChanged event now gets invoked when the progress changes.
62542Framework » iOS » MobileGetTypeInfo can now properly cast to Introspection.TypeInfo.
62595Framework » iOS » MobileMobileScreen: Destructor is no longer triggered when the object goes out of scope right after Show/ShowModal/PushTo is called. The object now lives on until the MobileScreen is actually closed (just like Desktop Windows do).
62683Framework » iOS » MobileUpdated iOSMobileTable.CreateCustomCell definition to take an Introspection.TypeInfo instead of the deprecated Xojo.Introspection.TypeInfo
63603Framework » iOS » MobileiOSApplication.HandleURL is now called even if the app wasn’t already running.
64004Framework » iOS » MobileXmlDocument.SaveXML and XmlReader.Parse no longer crashes.
64254Framework » iOS » MobileThe default MobileDatePicker on iOS 13.4+ works like earlier versions again.
64508Framework » iOS » MobileMobileScreen.Closing no longer fires when the view is just going to the background.
64519Framework » iOS » MobileCreating a MobileToolbarButton with a Type of Done and a custom caption or icon works again.
64547Framework » iOS » MobileMobileTableCellData.Handle no longer returns Nil for standard table cells created by iOSMobileTable.CreateCell.
64568Framework » iOS » MobilePicture.CopyOSHandle now preserves the scale of the picture when the new UIImage is created.
64577Framework » iOS » MobileDisplay Sharing Panel tray icon (instead of generic icon) when MobileSharingPanel is dragged onto a screen layout.
64618Framework » iOS » MobileA modal MobileScreen is now properly closed/destructed when swiped to close.
64629Framework » iOS » MobileFixed various objects leaking when MobileScreen is closed.
64715Framework » iOS » MobileiOSMobileTable no longer leaks objects/memory.
64718Framework » iOS » MobileNo longer leaks a MobileToolbarButton object when a toolbar button is pressed.
64802Framework » iOS » MobileAvoid a potential NilObjectException in the MobileNotifications callbacks when using notifications created outside of the Xojo Framework. This will mean that the framework will simply not attempt to handle the notifications in this case.
44840Framework » macOSSet Slider on Mac to vertical mode when it is created with height > width.
62020Framework » macOSTextArea.SelectAll now selects all the text, even with emojis present.
64706Framework » macOSFolderItem.Open can open document files again that have their executable bit set.
64758Framework » macOSDesktopColorPicker no longer throws NilObjectExceptions on macOS when another control capable of receiving color changes gets focus.
64948Framework » macOSFixed a bug in Picture.ToData on macOS when the instance source file is a PDF, so it returns now a MemoryBlock instead of throwing a UnsupportedOperation exception.
33815IDE » Auto CompleteAutocomplete now correctly updates local variables when cutting and pasting code.
40977IDE » Auto CompleteAutocomplete no longer shows methods when the item is a class but not an instance.
57126IDE » Auto CompleteThe AutoComplete popup no longer prevents the IDE from quitting on macOS.
58887IDE » Auto CompleteThe keyword ‘As’ now autocompletes on array variable declaration lines.
50552IDE » AutoLayoutA Super Return in the code editor for a For loop now autocompletes the loop variable as well.
64323IDE » Build AutomationBuild errors specific to Universal builds now get sent to the IDECommunicator if one is connected.
56073IDE » Code EditorCode folding "box" now uses a roundrect and block indicator line also now has a more subtle highlight when the mouse is in the code block to minimize distractions and make things look cleaner. Code folding highlight now turns off when cursor moves to gutter to match other behavior. Code folding click box area is more accurate.
62757IDE » Code EditorAutoComplete menu no longer appears when there are no items in the list.
63523IDE » Code EditorWhen you have selected text in the Code Editor and press an arrow key (by itself) you now get the same behavior seen in every other text editor: left arrow goes to start of selection, right arrow goes to end of selection, up arrow goes to line before the start of the selection, down arrow goes to line after the end of the selection.
63822IDE » Code EditorInvisible character cleaner now handles ASCII character 127 DEL.
63879IDE » Code EditorCode Editor syntax area column position now takes indentation into account.
64087IDE » Code EditorFixed an issue which caused code editors with lines long enough to require a horizontal scrollbar to do their first paint incorrectly.
64088IDE » Code EditorDoing a super return with the selection inside the text of a line now moves the selection to the beginning of the line before inserting the completion code so the resulting code still compiles.
64279IDE » Code EditorFixed an issue which caused the code editor to refresh incorrectly whenever a new code item was loaded.
64326IDE » Code EditorThe keyword Selector is now capitalized when Standardize Format is enabled.
58988IDE » Constant EditorUndo/Redo for Constants in project items now works.
36242IDE » DebuggerThere was an attempt to fix a Debugger exception that can occur when the variable list is reloaded when stepping through code in more complex projects.
63800IDE » Error & Warning PanelWhen selecting an error concerning missing control events, the project now navigates to the event instead of the containing view.
63657IDE » FileIOLine endings of version control individual project files are now retained between opening and saving.
64687IDE » FileIOColor Groups now save properly to XML file format.
64688IDE » FileIOWorker project items are now saved in XML Project files.
64762IDE » FileTypes EditorChanges to File Type Groups now undo properly.
56248IDE » Find & ReplaceFixed an exception that could occur when using search pane right-click menu on search results that refer to deleted code lines.
56288IDE » Find & ReplaceWhen replacing search results in an Attribute, prevent a NilObjectException that could occur.
60189IDE » Find & ReplaceReplacing the text within the declaration of a property no longer resets its scope to Public the first time.
63201IDE » Find & ReplaceClosing a document or hiding the search panel will now stop any running searches.
63913IDE » Find & ReplaceSearching for a single character in a large project no longer hangs the IDE.
63968IDE » Find & ReplaceChanging the Search Results list sort from ascending to descending and then doing a replace on multiple source code results no longer causes the replaced text to mess up the code.
64008IDE » GraphicsNavigator MenuBar icon is now correct on HiDPI screens.
57384IDE » InspectorThe text in the Method return type field now stays large after the field has lost focus.
63861IDE » InspectorThe Compatibility Flags editor no longer presents incorrect information about the way the flags are set for a particular class.
64162IDE » InspectorThe labels on the iOSCapabilities editor are no longer unnecessarily shortened.
64766IDE » InspectorFixed an issue which caused the Make External method to be available for folders when it shouldn’t be.
64579IDE » Language ReferenceFixed a place where a browser could be told to open an non http language reference page.
60149IDE » Layout EditorControl guides on WebTabPanels and WebPagePanels no longer bleed through to all pages.
64124IDE » Layout EditorPosition locks of controls on the non-visible pages of a WebPagePanel or WebTabPanel no longer appear in the layout editor.
64424IDE » Layout EditorThe IDE no longer crashes when loading the icon for web controls whose super no longer exists in the project.
64120IDE » Menu Shortcut EditorCustom menu key maps are now stored in a central location so IDEs going forward will be able to access them.
29598IDE » MiscellaneousDo not attempt to send breakpoints to the debug app if it was terminated *just* as the debugger itself is starting up, which ought to prevent a Debugger NilObjectException.
54464IDE » MiscellaneousBuild window icon is now updated properly each time you build a new project.
59515IDE » MiscellaneousFixed a NilObjectException that could occur when turning Ignore Breakpoints ON/OFF when you have multiple IDE workspace windows open.
63259IDE » MiscellaneousOverriding system class defaults works again.
64118IDE » MiscellaneousWhen an unhandled exception is caught by the IDE and it displays the “Send a Report” dialog, the IDE now always terminates itself instead of sometimes trying to do a normal Quit which could result in an unsaved changes prompt that could allow a possibly corrupt project to be saved.
64297IDE » MiscellaneousFixed View->Next Bottom Pane/Previous Bottom Pane shortcuts for Windows.
64763IDE » MiscellaneousXML project format now preserves the Linux Normalize Control Sizes build property.
55178IDE » NavigatorUndoing the creation of a class containing methods and then recreating it through Redo will no longer crashes when recreating the methods.
62917IDE » NavigatorPrevent a NilObjectException that could occur when deleting a Folder within a Folder that is open in a tab.
63857IDE » NavigatorClear Navigator Filter when it has focus and ESC is pressed.
64012IDE » NavigatorThe IDE no longer fails to find a location if the autocomplete menu was used in the Go To Location dialog and an item was found that was a subset of other items in the list.
64161IDE » NavigatorPrevent an IDE exception that can sometimes occur when moving project items in a Navigator that is open in a tab.
64341IDE » NavigatorFixed a regression which made it impossible to create code-only subclasses of MobileContainer for use as the super of other MobileContainers.
64599IDE » NavigatorMenuBar icons render correctly in the navigator again.
64269IDE » PreferencesRemoved shortcut on Project->Breakpoints->Clear All on Windows.
63853IDE » Refactoring ToolsCompatibility Flags are now copied when a subclass is created directly from a class in the Navigator.
64522IDE » RenderingIDE now resolves the Linux application name if it is set to a constant when generating the appicon resources.
64226IDE » Script EditorIDE Build Script Step Editor no longer reverts saved changes if you save very quickly after making a change.
63884IDE » ScriptingThe IDE Scripting command RunScript now also looks in {UserHome}/Documents/Xojo/IDE/Scripts for scripts to run.
64770IDE » ScriptingThe IDE Scripting CurrentBuildLocation constant now points to the correct location when building as macOS Universal.
64889IDE » ScriptingRunning the “DirtyAllProjectItems” IDE Script command and then clicking the Cancel button on the progress dialog no longer leaves the IDE in a bad state.
64702Plugin SDKString.Middle and String.MiddleBytes declarations are now accessible to Plugins.
64839Plugin SDKPlugins can now dynamically access Color module methods using REALLoadFrameworkMethod with function prototypes such as “Color.FillColor() As Color”
56393Remote Debugger StubLinux ARM console remote debugger stub’s name now has the correct case.
64738Remote Debugger Stub64-bit Remote Debugger Stub now works correctly on Windows ARM (with x64 emulation support).
179 Bug Fixes

Changes

64328BuildWhen nothing is specified for the Project Items to Include property, nothing is copied to the Worker Helper. Previously all applicable classes and modules were copied. If you still want to include everything, "**IncludeAllClassesAndModules**" can be entered (by itself) in Project Items to Include and everything will get copied over.
62943Build Pipeline (IDE)For macOS Universal Builds, pre-build steps now only run once before the build process and post-build steps now only run once after the build process. A new constant has been added named CurrentBuildTargetIsUniversal which will only be set to True for a macOS Universal build.
59572Framework » AllNow Trim can take a ParamArray parameter. All the characters/words received in the ParamArray parameter will be trimmed from both sides of the source string.
63211Framework » AllAdded EndOfLine.Native as a Shared Property to make it easier to use with String extension methods like Length.
64024Framework » AllAdded Rotate, Translate and Scale to the Graphic context of PDFDocument.
64876Framework » AllAdding the following methods so the user can add several kind of annotations / actions to the PDFDocument:

AddAnnotation(value As String, x As Integer, y As Integer)

Adds the received value as a regular annotation in the specified coordinates of the current PDF page.

AddLinkArea(URL As String, x As Integer, y As Integer, width As Integer, height As Integer) Adds an external link (URL) to the specified area of the current page. The link will be open by the user’s default browser when clicked.

AddGoToPage(page As Integer, x As Integer, y As Integer, width As Integer, height As Integer, Optional x1 As Integer, Optional y1 As Integer) Adds an active region to the current PDF document page that, once clicked by the user, allows to go to the specified PDF document page. The optional x1 and y1 parameters set the target region to display (this is dependant on the PDF viewer app).

AddLinkToPDFArea(File as FolderItem, x As Integer, y As Integer, width As Integer, height As Integer)

This method allows the user to add a region in the current PDF document that, when clicked by the user, will open the external PDF file pointed by the File parameter.
64903Framework » AllAdded the ability to set the document and PDF viewer app behaviour in PDFDocument. Added the ability to set transition styles to individual PDFDocument pages, so it is possible to create presentations in PDF format.
64963Framework » AllNow TrimRight and TrimLeft can take a ParamArray parameter. All the characters/words received in the ParamArray parameter will be trimmed from the start (TrimLeft) or end (TrimRight) of the source string.
60150Framework » WebAdded support for Captions on WebTextArea.
62836Framework » WebWebChart now uses the user’s localization settings to format numbers.
64398Framework » WebAdded a field to set the progress message for slow loading lists.
65007Framework » WebWebListBox now raises an UnsupportedOperationException when trying to change the ColumnCount after the Opening event.
62231Framework » iOS » MobileThe iOS Shortcut Item editor icon now accepts a comma delimited list of SFSymbols, UIApplicationShortcutIconTypes and/or images from your project.
64316Framework » iOS » MobilePointerEvent now has a Handle method.
64476Framework » iOS » MobileNotificationCenter now has methods and matching events for getting a list of notifications that have been and/or will be delivered to your app.
64518Framework » iOS » MobileAdded MobileToolbarItem.FromHandle for creating toolbar items using declares.
64110Framework » macOSOn macOS, desktop apps now listen for the NSWorkspaceAccessibilityDisplayOptionsDidChange Notification and fire the AppearanceChanged event accordingly.
14861IDE » Code EditorClicking on the line number in the Code Editor gutter now selects the entire line.
46721IDE » Code EditorIt is now possible to copy method signature at the top of the code editor by right-clicking on it and choosing "Copy signature".
56051IDE » Code EditorWhen using the automatic line continuation capability in the Code Editor (Option-Return on macOS and CTRL-Return on Windows/Linux), the IDE now checks to see if you are in the middle of a string and will automatically close the string and add " + _" before the line end and an opening quote at the beginning of the new line. You can also add the SHIFT key to this combination and it will add a call to EndOfLine.
63815IDE » Code EditorThe code editor can now clean invisible characters from the entire current code item if there is no selection.
63869IDE » Code EditorWhen line numbers are being shown in the Code Editor, highlight the current cursor position in the gutter.
63880IDE » Code EditorLine/Column in syntax area now always shows text cursor (caret) position.
63932IDE » Code EditorThe Code Editor now only updates the Syntax Help and code block indicators when the mouse has stopped moving for 150ms. In addition, when drag-selecting text the Syntax Help is no longer updated as that is not really useful.
64057IDE » Code EditorDoing a super-return for a for-next loop will now add the loop element after the word Next.
61744IDE » FileIOUpdated how the IDE tracks which items in a project have actually been changed to optimize text project saving.
63834IDE » FileIOProperties of controls on layouts in XML files are now written in alphabetical order to avoid unnecessary changes in version control systems.
64780IDE » FileIORecent Items menu now shows project type icons and an updated appearance when there are duplicates in different folders.
64733IDE » Find & ReplaceThe search pane now allows the use of the spacebar to open the history & options menus and to fire the Replace and Replace All buttons.
64164IDE » InspectorFixed entitlement implementation for Data Protection and Wallet(previously Passbook). The In-App Purchase option has been removed at this time because it was not working under the hood.
64664IDE » InspectorIn the Inspector Behavior editor, double-clicking a user-defined header now lets you edit the name. Clearing the name when editing will now delete the header.
64665IDE » InspectorItems in the Inspector Behavior editor enumeration list can now be reordered.
62270IDE » Library3rd party plugin controls no longer appear in the library in the Built-In controls section.
61827IDE » MiscellaneousFixed a few items that were not previously undoable.
62051IDE » MiscellaneousSearch fields throughout the IDE have been updated to the native search field introduced in 2020r2.
63846IDE » MiscellaneousThe Goto Location window can now be used to jump to a specific code line number. Specify a code item, a "#" and a line number, such as MyWindow.MyMethod#50, to go to line 50 in MyWindow.MyMethod. If a Code Editor is open, then you can specify just a line number in the Goto Location window to jump to that line of code.
64498IDE » RenderingWhen building for macOS or iOS, user defined minimum system versions in an imported plist's key-values can now be used to increase the minimum supported system.
63088IDE » Xojo CloudXojo Cloud servers can now act as an iOS Remote Notification server for connecting to the Apple Remote Notification service.
9581Remote Debugger StubDesktop Remote Debugger Stub on Windows can now be minimized to the System Tray.
64040Remote Debugger StubThe error message when the IDE can't find a Remote Debugger Stub is now less cryptic and easier to understand.
64502XojoScriptThe IDE Scripting command SaveText no longer crashes the IDE if an invalid path is provided.
41 Changes

New Items

63684Framework » AllAdded a Binary option to Enumerations that are included in Modules.
64213Framework » iOS » MobileCreation of PDF documents on iOS. Fonts handling is restricted to the PDF Standard14 subset.
62053IDE » InspectorColorGroups are now available in Desktop and Web projects.
52190IDE » PreferencesAdded an IDE Coding Preference to display line numbers in the Code Editor gutter. Removed the toggle button that used to do this from the various code editors as they now all will display line numbers based on the preference setting.
64149IDE » ProfilerAdded a SaveProfile method which immediately saves profile information to help users whose apps are terminating abnormally.
64869IDE » ScriptingCode item descriptions can now be accessed in IDE Scripts using the ItemDescription getter/setter methods.
6 New Items

Docs and Examples

64557Documentation » MiscellaneousThe iOS Addendum content has been updated and is now included in the Intro to Programming Guide PDF.
64428Documentation » User's GuideUpdated UserGuide:Lingua topic to use the Localized Strings phrasing instead of Dynamic Constants.
64286ExamplesCanvasDragRect example no longer uses deprecated Realbasic.Rect class.
64383ExamplesFixed an issue with the TitleTimer in the TabbedWebBrowser example project.
64626ExamplesUpdated JSONTree example to use KeyAt() method instead of deprecated NameAt() method.
64914ExamplesFixed the issue. Also removed use of some API 1.0 methods.
64123Language Reference » DocumentationOn the PopupMenu doc page, the SelectRowWithValue tooltip now correctly shows the parameter type as String.
64165Language Reference » DocumentationDocs for Slider.AllowLiveScrolling have been updated to indicate the Linux (GTK3) does not provide a way to turn off live scrolling.
64235Language Reference » DocumentationJSONItem language reference page no longer excludes iOS.
64241Language Reference » DocumentationTextArea.StyledTextPrinter now indicates it is only supported on Mac.
64244Language Reference » DocumentationJSONItem.Value is once again documented on the JSONIitem page.
64305Language Reference » DocumentationRemoved platform-specific header from Graphics page.
64307Language Reference » DocumentationGraphics.Scale page now indicates it is available for all project types.
64389Language Reference » DocumentationOn Size page, fixed link to Constructor(Width as Double,Height as Double).
64515Language Reference » DocumentationTextOutputStream.Encoding property no longer shows as read-only in the docs.
64574Language Reference » DocumentationFixed code formatting problem on PictureBrush.Mode page.
64684Language Reference » DocumentationString.ReplaceLineEndings parameter name has been changed to reflect that the replacement does not need to be a line ending character.
64886Language Reference » DocumentationCanvas.ScaleFactor has been documented.
65010Language Reference » DocumentationAdded a note to the documentation to say that JSONItem.EscapeSlashes has no effect in 2021r1 or later.
65014Language Reference » DocumentationUpdated doc example on BinaryStream for API 2.
65107Language Reference » DocumentationA typo in a ListBox code sample has been fixed.
21 Docs and Examples