2019r2

Xojo 2019 Release 2, with over 230 changes and improvements, was released on October 9th, 2019.

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: Moving to API 2.0 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.

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. https://docs.xojo.com/UserGuide:XojoScript_Language

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: https://docs.xojo.com/UserGuide:Navigator#Advanced_Filtering

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.