2019r2 Release Notes

From Xojo Documentation

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

Xojo 2019 Release 2 is now available with over 230 changes and improvements.

Major changes include:

  • API 2.0, which includes new classes and updated method, property and event names on many existing classes. Learn more in this guides: API 2.0 Overview and API 2.0 Guidelines.
    • Var can now be used in place of Dim.
    • All-new DateTime class.
    • All-new GraphicsPath class for drawing Bezier paths.
    • FolderItem updated to use latest OS APIs on macOS.
    • File Type Groups replace File Type Sets.
  • IDE Improvements
    • Preview layout in light or dark mode on supported macOS versions.
    • Debugger can now Ignore All Breakpoints when running.
    • Text file projects save much quicker.
    • Implement Interface dialog improved.
    • Contextual menu provides easier access to project item subclasses.
    • Navigator speed improvements.
    • IDE Scripting improvements.
  • Code Editor Improvements
    • Auto-complete improved.
    • Shift-Return on comments to continue to next line
    • Shift-Return on single-line If..Then..Else to split to multiple lines
  • Database
  • iOS
  • Documentation
    • Examples updated to use API 2.0 features.
    • Language Reference, User Guide and Tutorials updated to use API 2.0 features.

Xojo 2019r2 Release Notes

Bug Fixes (133 cases)

Case Area Description
56044 Build Process (GoCD) Copyright string for point releases has been corrected.
39118 Compiler Updated the ambiguous method error message.
55001 Compiler Deprecated events in class instances now appear as deprecated in Analyze Project.
56071 Compiler Fixed an issue where some high core-count machines on Windows may have trouble building large 64-bit projects.
56913 Compiler Analyze Project now warns about all deprecated items. Many framework functions were missed before.
55767 Crashes & Assertions » Failed Assertion IDE no longer crashes when inspecting the contents of a listbox before it has been completely set up.
55202 Crashes & Assertions » IDE Unhandled Exception IDE will no longer crash if the editor is destroyed before the edit is committed.
55205 Crashes & Assertions » IDE Unhandled Exception Fixed a situation that could crash the IDE if the user typed a location into the Go To Location dialog that shows in the IDE but has been removed from the matching external item.
55225 Crashes & Assertions » IDE Unhandled Exception IDE will no longer crash if the number of screens changes while it is open (like if a power outage occurs).
55318 Crashes & Assertions » IDE Unhandled Exception IDE no longer crashes if you remove an underscore from within the last line in the code editor.
55476 Crashes & Assertions » IDE Unhandled Exception Project items can no longer be added to the project when the Constant text editor is open.
55572 Crashes & Assertions » IDE Unhandled Exception The IDE no longer crashes when moving code from the last line of a code editor with the Apply Standard Format preference turned on.
55577 Crashes & Assertions » IDE Unhandled Exception Typing a line-continuation character on the last line of a code editor no longer crashes the IDE.
55724 Crashes & Assertions » IDE Unhandled Exception Removing files in folders from a CopyFilesStep when the files and/or folders no longer exist on disk no longer crashes the IDE.
55832 Crashes & Assertions » IDE Unhandled Exception Fixed a potential crash if the a layout editor were closed while it was being refreshed.
55919 Crashes & Assertions » IDE Unhandled Exception Fixed an obscure edge case which caused the IDE to crash when drawing the contents of a Using statement.
56075 Crashes & Assertions » IDE Unhandled Exception IDE no longer crashes when you close a web project while using the inline editor.
56127 Crashes & Assertions » IDE Unhandled Exception IDE will no longer crash when dragging over a row whose selection rectangle <= 0 pixels wide.
56179 Crashes & Assertions » IDE Unhandled Exception Fixed a possible crash when closing the code editor with an unmatched parenthesis set.
56283 Crashes & Assertions » IDE Unhandled Exception Setting the URL of a WebImageView to an unsupported URL no longer crashes the IDE.
56299 Crashes & Assertions » IDE Unhandled Exception Fixed a potential crash if items were removed from a project while a search was going on.
56426 Crashes & Assertions » IDE Unhandled Exception IDE no longer asserts when quickly moving between the Super field and the Interfaces button.
57386 Crashes & Assertions » IDE Unhandled Exception Copying results from the error panel no longer raises a TypeMismatchException if the user has selected one of the headers.
32121 Database Plugins The MSSQLServerDatabase plugin now uses the same session for the same open RecordSet.
55778 Database Plugins » Microsoft SQL MSSQLServerDatabase now correctly sets the error status when a PreparedStatement fails to execute correctly. Also fixes a Date binding issue with PreparedStatements.
25734 Debugger Do not send breakpoints that were set within encrypted items since this would cause the debugger to pause even though it doesn't show the code, leading to confusion.
51832 Debugger Breakpoints set within a Module Class Method during a debugging session now properly break in the debugger.
8646 Framework » All Exceptions that are triggered in Modal dialogs can now be caught instead of being ignored or only caught when the modal dialog is closed.
52590 Framework » All Plotting an Object2D shape that may have no actual polygon/points to draw no longer raises a failed assertion.
52898 Framework » All Memoryblock methods in 64-bit applications can now access addresses above 4GB.
54766 Framework » All TextField now formats numerical output that matches what CDbl would accept, this is done to maintain backwards compatibility.
55189 Framework » All On Windows/Linux, a Picture obtained from an ImageSet (via IndexedImage or BestRepresentation) now correctly reports its horizontal/vertical resolution.
55617 Framework » All Updating transparent controls (like a Label's Text property) in its parent's Paint event (not a recommended thing to do anyway, but) no longer causes an infinite paint loop.
55646 Framework » All Fixed a potential reference leak in TCPSocket and prevented a possible infinite loop state depending on how quickly connections are handled by a listening socket.
55691 Framework » All TrueWindow now returns Nil for ContainerControls which have not yet been embedded on a window.
56936 Framework » All On macOS, FolderItems created from a URL that contains a query string now properly include the query string as part of the filename as they do on Windows and Linux.
53656 Framework » Linux Tooltip background color is no longer black (when it really shouldn't be).
55765 Framework » Linux Fixed memory leaks related to closing controls, and updating the font (name, size, etc.) of a control.
55985 Framework » Linux Switching Tabs when a Listbox is present no longer intermittently crashes.
56091 Framework » Linux When resolving FolderItem symbolic links, the path no longer includes a trailing / if the link doesn't point to a directory.
56400 Framework » Linux Linux IDE Goto Location dialog no longer crashes when backspacing.
45691 Framework » Web WebLabels which have a style applied to them which includes Underline, Strikethrough and/or Overline values will now appear in the browser.
54973 Framework » Web Sessions are no longer created after returning True in HandleURL.
55039 Framework » Web Data returned through HandleURL or HandleSpecialURL on Windows is no longer truncated on Windows.
55362 Framework » Web WebAppSecurityOptions are no longer available to and no longer autocomplete in non-web projects.
55604 Framework » Web WebGraphics.DrawString no longer causes a Javascript error if the string includes a RETURN character.
57613 Framework » Web Linux: Retrieving a URLConnection.ResponseHeader that does not exist no longer crashes.
55418 Framework » Windows URLConnection/Xojo.NET.HTTPSocket now picks up proxy settings on Windows 7 and Windows 8.
55615 Framework » Windows Now preventing additional invalidations that may occur inside a Paint event so that we don't end up in a recursive Paint loop.
55849 Framework » Windows URLConnection/Xojo.Net.HTTPSocket no longer hangs the app when downloading a large file/content in memory.
56107 Framework » Windows HTMLViewer: The WebKit based HTMLViewer no longer steals event messages from us, this fixes various issues related to mouse clicks or keyboard presses being "lost”.
56452 Framework » Windows BevelButton, SegmentedControl, UpDownArrow all now update immediately after a theme change event takes place.
56474 Framework » Windows Listbox Cell HelpTag no longer flickers during mouse over.
57312 Framework » Windows StringWidth and StringHeight now take CharacterSpacing into account.
57005 Framework » iOS iOS apps can now be run with Xcode 11 and iOS 13 Simulators.
54266 Framework » macOS Picture.ApplyMask now throws an UnsupportOperationException when applying the mask to an ImmutableBitmap.
54424 Framework » macOS Dragging more than one item no longer causes a crash on macOS.
55121 Framework » macOS Creating a drag item containing more than one data type no longer crashes on macOS.
55886 Framework » macOS Tooltips now have a dark variation in macOS 10.14 and above.
56349 Framework » macOS App.AppearanceChanged now fires sooner.
57224 Framework » macOS TextAreas on macOS now have tab stops all the way across the control to avoid wrapping problems with lines of text which contain more than 12 tabs.
57553 Framework » macOS FolderItem: SaveInfo now correctly resolves aliases to files that may have been moved or renamed.
55535 IDE Text projects that contain very long methods (100s to 1000s of lines of code) now save faster.
53416 IDE » Auto Complete Fixed the Type of several constants in the Serial class so items in a group that are primarily Integers are *all* integers instead of a mix of integers and doubles.
56408 IDE » Auto Complete #ElseIf is now included in autocomplete.
57167 IDE » Auto Complete Autocomplete no longer suggests type names when specifying variable names after typing "Dim" or "Var".
57502 IDE » Auto Complete Code editor no longer tries to autocomplete commented lines.
57306 IDE » Build Automation CopyFileSteps on Linux work with Folders again.
55207 IDE » Code Editor Code Reformat scripts no longer cause a delay when you leave the first line of code in a code editor.
55399 IDE » Code Editor Code Folding widgets with a depth > 1 have the correct click point again.
55861 IDE » Code Editor Code Editor and Navigator contextual menus no longer appear when the IDE isn't in the foreground on macOS.
55781 IDE » Constant Editor Constant editor no longer changes the selected item when committing a change with the RETURN or ENTER key.
56491 IDE » Constant Editor Constant editor text and popup indicators are now drawn in the correct color, regardless of whether the list has focus or a row is selected.
56187 IDE » Error & Warning Panel Error panel no longer clips text when user preference is to use Large Text.
57022 IDE » FileIO Projects created in 2019r2 will no longer open in previous versions of the IDE.
1000 IDE » FileTypes Editor FileTypes.All no longer adds an extra semicolon at the end of the string.
55899 IDE » FileTypes Editor The File Type editor row backgrounds now draw correctly when changing from light to dark mode.
56008 IDE » Find & Replace Set focus to main IDE window when using Find shortcut from Inspector/Library when it is a palette.
55905 IDE » Icon Editor Removed menu bar from Icon Editor dialog on Windows and Linux.
54915 IDE » Image Editor ICNS files containing a 'name' section no longer crash the IDE when they are dropped on the icon editor.
55433 IDE » Image Editor Fixed some drawing issues in the Image Asset editor which caused the transparency grid to overflow the drawing bounds as well as the text color when a row was selected.
53739 IDE » Inspector Added focus indicators to the Color chooser and the multi-line editor buttons.
54200 IDE » Inspector Text in the Method parameters field on Linux is now the correct size.
55385 IDE » Inspector Converting controls to a control set no longer leaves the current editor.
56077 IDE » Inspector Build caches are now automatically cleared when changing optimization levels.
54180 IDE » Layout Editor On macOS, the Layout Editor again shows Default buttons with the correct background color.
54435 IDE » Layout Editor Segmented Controls are now drawn manually on macOS 10.13 in the layout editor itself. This does not affect apps at runtime.
56301 IDE » Layout Editor Layout Editor preference for the color of the pasteboard now correctly switches between light and dark mode.
56318 IDE » Layout Editor Layout Editor alignment guides now use system colors on macOS so they don't disappear in dark mode.
56485 IDE » Layout Editor Locking control position no longer prevents edge locks from working in the layout editor and disables alignment and distribution command buttons.
53713 IDE » Library The library's width is now set up properly from the start.
55782 IDE » Licensing Disabled spell checking on the License Agreement dialog.
48780 IDE » Menu Editor Menu backgrounds in the menu editor are now the correct width when the names include an ampersand.
56018 IDE » Menu Editor Selected items in the menu bar editor are now the correct color on macOS Mojave.
47943 IDE » Miscellaneous Tabs on Linux now have bigger captions.
55717 IDE » Miscellaneous Renaming class event definitions now immediately updates visible instances of the class in the Navigator.
55936 IDE » Miscellaneous On the Tab Bar, the Add Tab button no longer slides to the right if the first tab is dragged.
56124 IDE » Miscellaneous The Windows preference for whether or not to quit when the last window is closed can no longer affect other platforms.
56151 IDE » Miscellaneous IDE now supports enumerating iOS devices from Xcode 11.
56194 IDE » Miscellaneous New Project window's OK button is now set to be Default on macOS.
56200 IDE » Miscellaneous Projects can no longer be opened while the License Agreement dialog is being shown.
56208 IDE » Miscellaneous Implement Interface dialog no longer shows the "Global." prefix for Interfaces that are nested inside of Modules.
56743 IDE » Miscellaneous Fixed an issue with Collect Project where some pictures would get removed when there were multiple Image Sets that referred to the same picture files on disk.
53798 IDE » Navigator Back and Forward buttons now correctly reflect the history state when changing tabs on Windows and Linux.
53800 IDE » Navigator Open in New Tab works properly again.
55340 IDE » Navigator More than one item can be dragged in the Navigator on macOS again.
55342 IDE » Navigator The Xojo logo shown when the No Editor and Multiple Selection panels are visible are now consistent between them as well as in light and dark mode.
55764 IDE » Navigator Improved performance of updating Inspector properties (such as Attributes) when many methods are selected.
55978 IDE » Navigator Navigator now works better on macOS systems where the High Contrast preference is set.
56274 IDE » Navigator Navigator no longer forgets selected items in the Build Settings when switching between tabs.
56290 IDE » Navigator Build Settings and Contents groups no longer have contextual menus.
56311 IDE » Navigator Navigator text color on macOS no longer changes when right-clicking the selected row.
55297 IDE » Profiler Toggling code profiling is now faster on macOS.
55679 IDE » Refactoring Tools The Extract Superclass contextual menu now appears on classes with more than just methods and properties on them.
56295 IDE » Refactoring Tools Implement Interface dialog now differentiates between interfaces with the same name inside and outside of a module.
56344 IDE » Refactoring Tools Implement Interface dialog now adds methods every time an interface is added instead of just the first time.
55146 IDE » Scripting The Windows DLL warning dialog no longer appears when the XOJO_AUTOMATION environment variable has been set. See case 55417 for more information on setting environment variables in an IDE script.
55364 IDE » Scripting IDE Scripts which exist in both the IDE and project Scripts folders no longer appear in the menu twice.
55388 IDE » Scripting DebugLog works again in Code Reformatting scripts.
56037 IDE » Scripting OpenFile IDE Scripting command now gives a better error for an invalid path.
55728 IDE » Structure Editor Structure, Enum and Attribute lists now refresh properly when moving to an adjacent control.
55354 IDE » UI Disabled Spell Checking on the Messages pane.
55900 IDE » UI Filter, Search, Replace and UTI Title field backgrounds now switch correctly between Dark and Light modes.
56065 IDE » UI The icon on the expand/collapse button in the FileTypes editor is now correct for the state it is in.
56096 IDE » UI In the Navigator, Event Handler and Using Clause icons now toggle properly between light and dark mode.
55410 IDE » UI » Tabs Updated rules which determine how the IDE picks a tab when switching locations.
55902 IDE » UI » Tabs Debug tabs can no longer be unlocked.
55935 IDE » UI » Tabs Tabs that are showing non-project items (like folders) no longer get renamed to "(no selection)" when another tab is closed.
56017 IDE » UI » Tabs When closing tabs, if there are only two tabs, one locked and the second unlocked, closing the second tab no longer unlocks the first if the user has Always Use Tabs turned on.
56389 IDE » UI » Tabs Deleting project items which exist in multiple tabs no longer leaves the IDE in a bad state.
55825 IDE » Updater Update dialog on Windows draws labels correctly again.
56469 Plugin SDK REALLockPictureDescription no longer crashes when passed an uninitialized Picture object.
55199 Remote Debugger Stub Console debugger stub no longer requires every preference key to be defined.

Changes (49 cases)

Case Area Description
56414 Build CFBundleTypeOSTypes has been removed from the macOS generated plist.
56185 Build Process (GoCD) IDE on macOS is now signed as a hardened runtime.
44775 Framework » All Available, but unused and undocumented interfaces DatabaseConnectionInterface, DatabaseFieldInterface, RecordSetInterface are now marked as deprecated.
55693 Framework » All Variant.WindowPtrValue and Variant.TypeWindowPtr now show up as deprecated when analyzing project.
56253 Framework » All The Task example has been integrated into the Thread class.
56661 Framework » All Added Application.HideTooltip and ShowTooltip and deprecated ToolTip.Hide and Show.
57006 Framework » All PreparedSQLStatement: Added SelectSQL which mimics the functionality of SQLSelect except SelectSQL will throw exceptions on error.
57074 Framework » All Added Variant.TypeDateTime and Variant.DateTimeValue.
57076 Framework » All Variant.TypeInteger now raises a deprecation warning, instead use its replacement TypeInt32.
57210 Framework » All Added a global MessageBox function that maps to an appropriate simple message box for the platform. The common global name will allow sample code (in docs and elsewhere) that often displays a quick message to be compatible with all platforms.
57313 Framework » All Graphics.DrawPath/FillPath now have an optional autoClose parameter which specifies whether or not to close the path.
57339 Framework » All Window.Bounds now returns Rect (Xojo.Rect) instead of Realbasic.Rect. With the Operator_Convert methods on Realbasic.Rect and Xojo.Rect, code will continue to work as before.
55799 Framework » Web The Grammarly browser plugin has been disabled on the Web Javascript Error dialog.
46214 Framework » Windows Graphics.Handle now supports returning a Direct2DRenderTarget.
56242 Framework » macOS IDE Now writes values for LSHandlerRank into the macOS plist. By default, Exported types are set to "Owner" and Imported types are set to "Default".
56332 IDE » Auto Complete To ease project transition, Items marked as deprecated in 2019r2 now show up in autocomplete for projects created in earlier versions of the IDE. New projects will only show the new methods.
55598 IDE » Build Automation IDE Updates are now disabled when the XOJO_AUTOMATION environment variable is set to True.
55208 IDE » Code Editor Code Reformat scripts are now reloaded if they are changed while the IDE is open.
55999 IDE » Code Editor The code editor contextual menu items are now grouped by what is affected by the actions.
56317 IDE » Code Editor Code editor breakpoints are now more visible.
54275 IDE » Constant Editor In the Constant Editor, renamed "OS X" to "macOS" and removed "OS X (Carbon)" and "OS X (Cocoa)" from the menu.
55703 IDE » FileIO Plain text projects no longer rebuild the entire resources file on each save. The resources file is now only rebuilt on save when any resources (AppIcon, File Type Set or Cursor) are added or changed.
55704 IDE » FileIO The resources file used with plain text projects is now truncated after an item is written to it so that it will shrink in size if resources (AppIcon, File Type Set icons, Cursors) are removed from the project.
55993 IDE » FileIO To improve speed when saving text projects, code items containing breakpoints and bookmarks are now tracked so that we can more quickly find the specific breakpoints and bookmarks to store in the ui state file.
57241 IDE » FileIO Going forward, the dialog indicating that saving a project will cause data loss will be shown when the project is first loaded so the user can make an informed choice before making any changes to the project.
56462 IDE » FileTypes Editor File Types and the Associated File Types editor have been combined into File Types. Viewer and Editor ranks are now available. Added a checkbox to specify that a filetype represents a macOS package.
57155 IDE » FileTypes Editor File Type Roles have been renamed to None, View, Edit and Execute.
55904 IDE » Find & Replace Search results are now added to the current tab's history when clicked on.
55573 IDE » Icon Editor New web projects no longer include a 512x512 default web app icon.
56967 IDE » Inspector Inspector property labels are now automatically split on camel casing.
55760 IDE » Language Reference Clicking on a User Guide topic in a See Also section of a page in the local Language Reference Viewer will now open the topic on the doc wiki with the user’s default web browser (instead of doing nothing).
55404 IDE » Layout Editor Layout editor contextual menu no longer shows disabled items which are not "in context" for the item you clicked.
56150 IDE » Layout Editor On the PagePanel editor, changed the "Go to Page" menu text to "Show Panel".
56153 IDE » Layout Editor Layout Editor selection handles now match the user's Accent color on macOS 10.14+.
56278 IDE » Layout Editor HTMLViewer and OLEContainer controls now render with a dark background in the Layout Editor when macOS is in dark mode.
56769 IDE » Library SegmentedControl is visible in the Library again for pre-2019r2 desktop projects.
56292 IDE » Miscellaneous Running a 32-bit app from within the IDE on macOS 10.15 is now disabled.
46303 IDE » Navigator Navigator contextual insert menu again shows all items which are in-scope for the current object making it easier to work with objects which span more than the height of the navigator.
55264 IDE » Navigator The Navigator's contextual menu now shows less disabled "out of context" items for the current selection.
55780 IDE » Navigator Navigator refresh code has been optimized.
55910 IDE » Navigator On Windows, Navigator scrollbar thumb now looks more Windows-like.
55984 IDE » Navigator Clicking in the Navigator no longer toggles selection focus between the Navigator and the current editor for non-code items.
24951 IDE » Profiler Nested rows in the profiler can now be expanded/collapsed using the keyboard Left & Right arrow keys.
55211 IDE » Refactoring Tools Extract String Constant Assistant no longer strips the case of inner word characters, so a string like "PackMyBox" will now suggest a name of kPackMyBox instead of kPackmybox.
55675 IDE » Refactoring Tools The Extract Superclass dialog no longer shows groups for items not contained in the class being worked on.
55994 IDE » Refactoring Tools Classes listed in the Edit Subclass menu are now sorted alphabetically.
56705 IDE » Refactoring Tools Added a new code assistant for wrapping the selected code in an #If XojoVersion block.
56707 IDE » Refactoring Tools The Add Event dialog has been updated to allow adding deprecated events to projects that were created in versions of the IDE prior to 2019r2.
56444 IDE » UI » Menus Code editor now has a contextual menu item for going to the class that a property or variable is assigned as.

New Items (34 cases)

Case Area Description
55774 Database Plugins » SQLite The SQLiteDatabase plugin has been updated to version SQLite 3.28.0.
2073 Debugger Added Ignore Breakpoint capability to Debugger. When enabled, all breakpoints are ignored (including those you set manually during the runtime). Available in Project->Breakpoint->Ignore All and shortcut can be assigned in Menu Shortcut Editor.
19658 Framework » All Added an immutable DateTime class, see Language Reference for more information.
37033 Framework » All GenerateJSON now has an option to generate human readable text.
54204 Framework » All Realbasic.Rect, Realbasic.Size and Realbasic.Point have been deprecated with new versions located on the Xojo module.
54361 Framework » All Added URLConnection.ResponseHeaders iterable function. Use this in a For Each loop to iterate through all the response headers whose values come back as Pairs.
54948 Framework » All Realbasic.Point, Rect and Size are now deprecated and replaced with global versions backed by Doubles. They can be accessed either as global classes (Point, Rect or Size) or by using the Xojo namespace (Xojo.Point, Xojo.Rect or Xojo.Size).
54999 Framework » All Added Database.BeginTransaction.
40319 Framework » iOS iOSSQLiteDatabase.SQLSelect and SQLExecute can now take a standard array as a parameter for the binding values.
55647 IDE Interface Chooser window now identifies interfaces that have been deprecated.
56579 IDE » Auto Complete Autocomplete now highlights deprecated items so they're easier to see.
54815 IDE » Build Automation Users can now override the IDECommunicator listening socket by setting the environment variable XOJO_IPCPATH to a filename. This name may only contain characters a-z, 0-9 and _.
57171 IDE » Build Automation Added IDE scripting methods SelectionStart, SelectionLength and SelectionText to match API 2.0 Spec.
54925 IDE » Code Editor Pressing SHIFT-RETURN on an existing If-Then or If-Then-Else line will now break the statement into multiple lines.
56306 IDE » Code Editor Code editor now supports super-returns within comments to continue a comment on the next line.
57182 IDE » Code Editor Custom reformatting scripts now have two mechanisms available to them for retrieving the IDE version.

1. A constant is rendered named XojoVersion which matches what you'd get in Xojo code. 2. A new faux ConstantValue property named Xojo.IDEVersion which returns the same value as the constant, but is also backward compatible in that older IDEs will return an empty string.

42698 IDE » FileTypes Editor Adding a File Type Group to a project now adds a new type by default.
55190 IDE » Inspector In the Inspector Behavior dialog it is now possible to Rename headers in addition to Adding and Deleting them.
55352 IDE » Inspector Added a DefaultEvent attribute so classes can override which event is selected by default in the Add Event dialog.
55253 IDE » Layout Editor Added button to the layout editor on macOS 10.14 for toggling the layout between light and dark mode.
56219 IDE » Layout Editor Added a switch to the layout editor for light/dark mode.
56646 IDE » Miscellaneous You can right-click on a deprecated event in the Navigator and choose to convert it to the newer API 2.0 event.
52654 IDE » Refactoring Tools The Implement Interface dialog now has a selection for Scope which allows you to set the scope of the interface methods when they are created.
53966 IDE » Refactoring Tools The Implement Interface dialog now allows you to specify the scope of the methods which will be created.
55315 IDE » Refactoring Tools Delegate and Event signatures can now be copied directly to the current object by right-clicking on a class in the code editor.
55939 IDE » Refactoring Tools Implement Interface dialog now shows which superclass implements inherited interfaces.
55941 IDE » Refactoring Tools Edit Superclass now has a submenu showing all of the supers of the selected class.
55145 IDE » Scripting Windows Manifest entries can now be set and retrieved in an IDE Script.
55417 IDE » Scripting Environment variables can now be set from within an IDE script. Usage: EnvironmentVariable("NAME") = "True"
57283 IDE » Scripting Added two methods for reading and writing text files from within and IDE Script:

ReadText(nativePath as String) as String SaveText(nativePath as String, aString as String) as Boolean

45424 IDE » UI IDE Version info now appears in the bottom right corner of the main window.
55228 IDE » UI » Menus CMD/CTRL-O now works from the New Project wizard.
55870 IDE » UI » Menus Added a menu item and corresponding hotkey for locking & unlocking the current tab. CMD/CTRL-SHIFT-H by default.
49125 Plugin SDK Dynamic access to enumerated properties now works using REALGetPropvalue/REALSetPropValue.

Docs and Examples (24 cases)

Case Area Description
52800 Documentation Doc page for Function now uses Nil term instead of Null.
55730 Documentation Added syntax for creating an Enum to the XojoScript Language page.
55771 Documentation Self now displays in the docs as a Language Keyword rather than a method.
55880 Documentation Updated sample code on UserGuide:Localization page on how to get text values for specific localizations, including the default.
56034 Documentation Updated docs pages for New to use Control Sets terminology and note that you can only create new controls in this manner from desktop projects. Also updated User Guide Web Control Sets and Container Control topics.
56205 Documentation Fixed sample code on WebAnimator.Resize page.
56215 Documentation Placard page now notes it does not change appearance in dark mode on Mac.
56116 Documentation » Miscellaneous Relocated Icon images for Examples/Desktop/ListBox/SourceListExample.
57181 Documentation » Miscellaneous * TOKEN_TK_VAR As Integer has been added to the list.
38242 Documentation » User's Guide UserGuide:Module page has been updated to correctly show both “Public and “Protected” scope options for module items.
55955 Documentation » User's Guide Added some more details and examples for the Navigator Advanced Filtering section of the User Guide:
57337 Documentation » User's Guide Fixed broken link to Xojo.IO.SpecialFolder.GetResources on Copy Files to iOS Device User Guide page.
55927 Examples Fixed typo in constant for GoogleMaps example project.
56275 Examples Relocated scripts for Examples/Advanced/XojoScript/Imaging so that they are properly loaded.
57534 Examples Examples updated for API 2.0.
36484 Language Reference » Documentation ConvertEncoding page now indicates that the string must already have an encoding in order to convert it to another encoding.
55713 Language Reference » Documentation TextEncoding.Code page now indicates this property is read-only.
55868 Language Reference » Documentation Removed WebTextField pages that were duplicates of the inherited items on WebTextControl: TextChanged, Text, HasFocusRing.
55965 Language Reference » Documentation Removed inaccurate comment on Split page sample code.
55969 Language Reference » Documentation Updated array docs pages to note: All arrays are indexed starting at position 0. Arrays can have a maximum index value of 2,147,483,646.
56024 Language Reference » Documentation Updated the Goto doc page to not suggest the label could be a string variable. Regardless, don’t use Goto.
56532 Language Reference » Documentation Because the macOS implementation of FolderItem no longer uses FSRefs, the MacFSRef property is deprecated.
56630 Language Reference » Documentation An edited version of the proposed example has been added to Shell.TimeOut in the documentation.
56723 Language Reference » Documentation Updated Window.MouseUp page to better describe actual behavior.