2019r2 Release Notes
From Xojo Documentation
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
- SQLite updated to 3.28.0.
- Database.BeginTransaction method.
- Simplified prepared statements with Database.ExecuteSQL and Database.SelectSQL methods.
- iOS
- Support for Xcode 11 and iOS 13 Simulator.
- iOSSQLiteDatabase.SQLExecute and SQLSelect now accept an array for binding values.
- 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
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. |
133 Bug Fixes |
Changes
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. |
49 Changes |
New Items
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. |
34 New Items |
Docs and Examples
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. |
24 Docs and Examples |