Xojo 2025r2 Release Notes

Release Date: 2025-07-08

Highlights

  • Optimized (faster, larger) frameworks are used when compiling with Aggressive Optimization

  • Updated to SQLite 3.49.1 for all platforms except Android which is at 3.49.2

  • Added Random.UUID shared method

  • Enhanced XAML integration for Windows applications

  • Added support to change the Shell.Backend on Windows to use PowerShell in addition to cmd

  • DesktopHTMLViewer now supports printing directly to a PDF file using PrintToPDF

  • Improved WebStyle supports hover, pressed and visited states

  • Added ToPicture method to Web and Mobile MapViewer control to get a map as a picture

  • Select and use multiple photos at once on iOS with MobileImagePicker

  • New Android UserAuthentication class adds facial recognition, fingerprint and passcodes

  • MobileSharingPanel allows sharing of multiple images and files more easily

  • Preemptive threads are now supported on Android

Statistics

  • Bugs fixed: 155

  • Features added: 65

  • Documentation changes: 8

  • Examples changed: 1

IDE

New Features

  • Added a Cancel button to the debug build progress window, making it easier to stop a build without relying on the less obvious Esc or Command-Period shortcuts. (79296)

  • Added Copy All menu item to the contextual menu of the Error Panel in the IDE, so all the displayed messages can be copied at once. (79038)

  • Added native functionality to the IDE's Window menu when it is run on macOS (79130)

  • Enabled Undo for the Build Step Script Editor and the IDE Script Editor. The Comment/Uncomment code keyboard shortcut now works with the IDE Script Editor. (7749)

  • Fixed a visual glitch on the Debugger panel when the Mac is set to DarkMode. (78765)

  • Added the LibraryDescription attribute which, when added to control subclasses, displays the Value text in the Description area of the Library when hovering over the control. (55254)

  • Added Try...Catch...End Try to the 'Wrap In' code assistants menu for the Code Editor. (71169)

  • Added the option to save the App-Specific password with the Project for macOS and iOS projects. (78718)

  • Navigator now uses more modern icon to indicate expanded/collapsed rows. (78667)

  • Android: Enabled Default Color menu item for Android ColorGroup Inspector properties. (79094)

  • Android: Added StageCode to Shared Build Settings. (79048)

  • Android: Added App.AndroidAppName as a value that can be used with IDEScript.PropertyValue. (78714)

  • Android: Allow BMP files to be used as project items and within Image Sets. (78962)

  • Android: If the standard ANDROID_HOME value contains a path to the SDK, Xojo will use it instead of the default location. (77681)

  • macOS: Now the FolderItem constructor removes the apostrophe characters found in paths copied from the Finder on macOS. (79110)

  • macOS: Now a provisioning profile file added as a build copy file step, for macOS projects, its renamed to the expected name at building time, so the user doesn't need to rename these previously. (78885)

  • Windows: Windows IDE: the XAML chooser window will now let you start editing XAML without having to select a control first. (79280)

Resolved Issues

  • Fixed a visual glitch in the Debug ListBox viewer when then Contents entry is selected on macOS set to DarkMode. (79332)

  • The Code Editor setting Apply standardize format after ending line now, as its name suggests, only applies formatting when return is pressed on a line (instead of when the cursor is moved around with the arrow keys or mouse). Use Shift-Return on a code line to format it manually. (77139)

  • Fixed an autocomplete issue where it sometimes offered As on a declaration line when As was already present. (79298)

  • Cleaned up autocomplete for Color so that it only shows members that are allowed for the project type. (79227)

  • Fixed Plist Editor saving the changes even when the cell being edited has the focus. (79250)

  • The Cancel button in the build progress dialog now correctly stops builds immediately. (68699)

  • Clarified the error message displayed for ambiguous method signatures. (70301)

  • Binary Enum values without whitespace around the equals sign no longer cause a compile error. (69405)

  • Fixed an exception that could occur when using autocomplete in a Script Editor. (79106)

  • The layout editor no longer appears blank on certain Linux distros like Fedora. (79104)

  • Fixed an issue where whitespace sometimes disappeared in the editor after the first line of a multi-line String property default value. (79093)

  • The debug app no longer crashes when inspecting WString or CString values within a structure. (79081)

  • System.DebugLog messages now correctly appear in the IDE's Messages pane when remotely debugging Web apps from the macOS or Linux IDE. (78957)

  • WebToolbar project items added via Insert->Toolbar now save and load properly in text, binary and XML projects. Dragging a WebToolbar from the Library to the Navigator now works the same as using Insert->Toolbar. (78971)

  • Windows/Linux IDE: In the multiline editor dialog, the TextArea control now receives focus instead of the new Word Wrap checkbox. (78916)

  • The debugger no longer crashes when inspecting the controls on a DesktopWindow before the controls list is properly populated. (78783)

  • Avoid an IOException that could occur when installing local docs. (68389)

  • Now the color assigned to the BackgroundColor on the iOS LaunchScreen item is properly shown in the Layout Editor when the Mac is set to DarkMode. (78673)

  • Android: Font properties are now shown in the Inspector (Advanced tab) for MobileButton, DateTimePicker, Label, TextField and TextArea. (79051)

  • Android: The MobileScreen design-time Orientation property is now called Supported Orientation and saves/loads properly. (79125)

  • Android: MobileButton is drawn in the Layout Editor with slight top/bottom margins to better match what you see at runtime. (78732)

  • Android: Fixed a compile error with a string property that has a multi-line default value. (79067)

  • Desktop: Now the layout editor properly updates the background color set to a DesktopWindow when the colors of a ColorGroup are updated. (78446)

  • iOS: Fixed loading properly an iOS project saved in text formar, where a MobileScreen project item has a subclass as its super. (71070)

  • iOS: Fixed setting a single color to a ColorGroup property in the Inspector Panel on iOS, so it is properly assigned at runtime. (78174)

  • Linux: Linux IDE: Selecting an item from the autocomplete popup, in a method’s Parameters field for example, no longer clears the entire field content. (79183)

  • Linux: Linux IDE: Double-clicking the empty area in the project list no longer causes the IDE to disappear. (79070)

  • macOS: Now the ColorPicker in the Debugger panel shows and sets the expected color when it has an alpha value. (78782)

  • Web: Fixed an IDE crash happening when entering CSS styles directly in the CSS Classes property, which is meant just for CSS class names. (79012)

  • Web: Fixed some WebPage preview issues while rendering the window on macOS 11+ and Linux. (70450)

  • Web: WebListBox sort arrows preview has been updated, to match how they will look like at runtime. (79123)

  • Web: WebListBox.Indicator can be configured from the IDE inspector now. (75185)

  • Web: Fixed an IDE issue causing Web projects to display the generic object icon in the navigator, on instances inside web views. (76188)

  • Web: The WebSession object cannot be duplicated anymore. Projects with multiple Session objects can remove now duplicated Session objects, if needed, to recover projects from previous versions. (79010)

  • Windows: Windows IDE: Pressing Ctrl+W while the documentation window is focused no longer closes the entire IDE. (78906)

  • Windows: Windows IDE: updated splash screen so that the progress text is more readable on Windows OSes that do not support acrylic effects, or when the splash screen is not the front most window. (78888)

  • Windows: Entering a version number (Major, Minor, Bug, NonRelease) greater than 65535 in the build settings no longer results in a malformed manifest that causes the built app to throw an error and quit on Windows. (78757)

Framework

New Features

  • REALMessageBox (or loading MessageBox dynamically) is now supported for both Web and Console projects. (13656)

  • Added ProcessID As Integer property to DesktopApplication and ConsoleApplication. (12793)

  • DatabaseConnection project items now support implicit instances and subclassing. Also, these items are now assignable to inspector Database properties. (78837)

  • Added Random.UUID(useHyphens As Boolean = True) method that generates random v4 UUIDs. (10828)

  • Updated to SQLite 3.49.1 for all platforms except Android which is at 3.49.2. (79119)

  • Added PaintBefore and PaintAfter events to DesktopChart. (77357)

  • Overloaded those Graphics, GraphicsPath and WebGraphics methods receiving x, y, width and height values, so they can also receive a Rect instance instead. (78560)

  • Xojo Frameworks themselves are now built with Aggressive optimization in addition to Default optimization. Apps built with Aggressive optimization will now use these frameworks that can potentially improve the speed of certain apps. (79260)

  • Android: Added MobileMapViewer and MapLocation support. (78529)

  • Android: Added MobileSharingPanel.ShareFile() for Android. Also enhanced ShareURL() so that a file URL can be shared as a file. (79049)

  • Android: Added MobileMapViewer.ToPicture and RequestedPicture event. (79178)

  • Android: Android 15 edge-to-edge apps are now supported. (78631)

  • Android: Added new Picture.SystemImage(name As String, size As Double = 24, templateColor As ColorGroup = Nil, fallbackTemplateImage As Picture = Nil) As Picture overload that more closely matches what we have on iOS. Allows for any image size, uses ColorGroup and has a fallback image. It also returns Nil if the image name is not found. The prior SystemImage() method is deprecated. (72436)

  • Android: Added ComparisonOptions.Binary and Lexicographic. String.Compare() now works with Binary and Lexicographic, although Lexicographic works the same as CaseSensitive. (78611)

  • Android: Added Graphics.Italic and Bold properties. (77087)

  • Android: Added Preemptive threads to Android, plus some other thread improvements such as AddUserInterfaceUpdate() method. (78721)

  • Android: Added UserAuthentication class for Android. (77741)

  • Android: Added MobilePopupMenu.LastAddedRowIndex and LastRowIndex properties for consistency with DesktopPopupMenu and WebPopupMenu. (77232)

  • Android: Added Clipboard.PictureAvailable and Picture support. (77584)

  • Desktop: Adjusted the Listbox Cell tooltip position with an offset so it no longer overlaps the row. (68255)

  • Desktop: DesktopHTMLViewer: Added support for printing directly to a PDF file using the new method PrintToPDF(file As FolderItem) (12130)

  • Desktop: Added Color.SelectedTextColor for Desktop apps. (58737)

  • Every OS: Added Picture.FromScaleFactor(width As Double, height As Double, scaleFactor As Double) As Picture method. (78770)

  • iOS: IsEventImplemented now works on iOS. Additionally, an overloaded version has been added that accepts any object and checks whether the specified event is implemented. This differs from the original version, which only works for detecting events implemented on subclassed instances. (62048)

  • iOS: Added FrontCamera enum value to MobileImagePicker.Sources on iOS, so it is possible to select the front camera as the source for the image capturing device. (55219)

  • iOS: Added the ability to add, retrieve or remove by name instances of iOSLayoutConstraints created by code on iOS, both to MobileScreen and the already supported MobileUIControls. (79179)

  • iOS: Now MobileImagePicker allows selecting multiple images from the album on iOS. (79111)

  • iOS: Added MobileSharingPanel.ShareFile method to iOS. (62758)

  • iOS: Overloaded MobileSharingPanel.SharePanel method on iOS to accept an array of Pictures as its first parameter so it can export more than one picture at once. (79046)

  • iOS: Added MobileMapViewer.ToPicture method on iOS. (77932)

  • iOS: Barcode.Image shared method signature unified on iOS so it matches the one found on Desktop / Web. (79018)

  • iOS: Now the ColorGroup Inspector panel offers an option to reset the color to the by default value on iOS and Desktop projects, as available for Web projects. (78175)

  • iOS: Added the FullScreen property to Barcode on iOS, so the user can decide if presenting the barcode scanner view at full screen size or not. The value of the property can be changed even when the scanner view is already displayed. (75610)

  • iOS: Close button added to the Barcode class view on iOS. Available when the app is run on iOS 13+. (75612)

  • macOS: Added the ability so macOS controls, like DesktopTextField or DesktopTextArea do keep the contextual menu items provided by the OS even when the user adds they own in code through the ConstructContextualMenu Event Handler. (79276)

  • Web: Added WebContainer.Pressed(x As Integer, y As Integer) event. (79294)

  • Web: Added WebToolbar.Resized event. (78943)

  • Web: Web SDK's XojoUploaderEngine supports overriding the uploadURL and uploadMethod now. A tag property has also been added, for convenience. (79117)

  • Web: Deprecated WebRectangle.BackgroundColor and HasBackgroundColor in favor of FillColor and HasFillColor respectively, for framework consistency. (68202)

  • Web: Added WebMapViewer.ToPicture method and WebMapViewer.RequestedPicture event for being able to turn maps into pictures. (79035)

  • Web: Added a the sameSite parameter to WebResponse.SetCookie, to make it consistent with WebCookieManager.Set. (78910)

  • Web: Updated DataTables, the underlying library for WebListBox, from version 1.13.4 to version 2.2.2. (78719)

  • Windows: DesktopXAMLContainer: now supports setting the focus to a specific XAML control within the container. This can be accomplished using Invoke(ControlName.SetFocus) (78880)

  • Windows: DesktopXAMLContainer: exposed additional properties for the NumberBox control, including AcceptsExpression, Description, LargeChange, SmallChange, Maximum, Minimum, and Value. (79216)

  • Windows: Added support to change the Shell.Backend on Windows to allow using powershell instead of cmd for example. (78793)

Resolved Issues

  • Accessing the Session object after executing SQL on a MySQL database no longer throws an IllegalLockingException. (79317)

  • PostgreSQLDatabase.Connect no longer executes invalid SQL to check the connection status, as it clutters the error logs. (78523)

  • SQLiteDatabase connection items no longer return True from IsConnected when they are not connected to a database file. (79222)

  • Fixed an issue that caused errors in the conversion from Double to String when drawing TextShape objects in PDFGraphics. (79115)

  • Plugins SDK: REALIsXojoThread and REALIsXojoMainThread now return correct results when called from preemptive threads. (79039)

  • MySQLCommunityServer: no longer deadlocks or crashes in threaded applications, such as Web apps. (79034)

  • MySQLCommunityServer: calling AddRow to retrieve the last inserted ID no longer causes errors in subsequent SQL commands. (78959)

  • PDFGraphics.FillOval renders the expected size when compared with PDFGraphics.DrawOval using the same parameters for Width and Height. (78803)

  • Modifying a RowSet without calling RowSet.EditRow first will now raise a DatabaseException instead of failing silently. (78777)

  • Now PDFdocument.Graphics.DrawText draws the text when negative values are provided both for X and Y. (78649)

  • Sleeping a preemptive thread from a separate thread now works. (78728)

  • Android: Fixed a locking problem that could occur with MobileContainers. (79307)

  • Android: Control height is now more accurate for controls that are locked to the top and bottom. Also fixed a scaling issue with Canvas pointer/touch positions. (79312)

  • Android: SQLiteDatabase.TableColumns now returns a result set that matches the other platforms. (79297)

  • Android: Fixed a compile error that would occur when storing an enum value in a variable and then assigning that variable to an enum property. (78614)

  • Android: An empty (but not Nil) JSONItem no longer raises a NilObjectException when calling Lookup on it. (79275)

  • Android: Fixed a bug when using AddressOf with shared methods. (79220)

  • Android: Fixed a compile error that could occur in some situations when calling Dictionary.Remove(). (79253)

  • Android: Graphics.TextWidth now calculates text with EOL characters, returning the width of the widest line. (77535)

  • Android: Graphics.DrawText now recognizes EndOfLines in the String when it is called without specifying the wrapWidth parameter. (77532)

  • Android: Comparing System.Version to a string no longer causes a compile error. (77945)

  • Android: Extended Trim, TrimLeft and TrimRight methods to support the trim characters parameter. (70130)

  • Android: Fixed a runtime error that could sometimes occur when casting an array into a Variant. (78624)

  • Android: Fixed a compile error that could occur when using a ColorGroup with the ShadowBrush constructor. (78690)

  • Android: Casting a Variant to a TCPSocket no longer causes an Android compile error. (78747)

  • Android: Changed PictureValue() method's jpegQuality parameter to be quality to be consistent with other platforms. (78969)

  • Android: Fixed a compile error that could occur when using Str() with size-specific Integer types. (78954)

  • Android: Fixed a GraphicsPath drawing problem that could occur when the drawing point was moved between AddArc() calls. (78864)

  • Android: AntiAliased property now defaults to True to match documentation and behavior on other platforms. (78931)

  • Android: Disabling a MobileLabel now causes it to be shown with dimmed, gray text. (78875)

  • Android: ColorGroup.ToColor() now appears in introspection. (78895)

  • Android: Crypto.RSAGenerateKeyPair() no longer causes a compile error. (78749)

  • Android: Crypto.RSASign now properly raises a CryptoException when the keys are invalid. (78768)

  • Android: Dynamically added buttons now match the heights of buttons added via the Layout Editor. (77249)

  • Android: Switched to PlatformNotSupportedException or UnsupportedOperationException in place of AndroidException where appropriate. AndroidException is now solely used for unexpected internal framework exceptions. (78235)

  • Desktop: Container.Resized event now fires again when the container has locked bounds and the Window is resized. (79157)

  • Desktop: A DesktopToolButton in a DesktopToolBar now visually retains its pressed state when configured in the IDE. (69367)

  • Desktop: DesktopHTMLViewer: The FocusReceived, FocusLost, KeyDown, and KeyUp events now trigger correctly. The DragEnter, DragOver, and DragExit events have been removed, as they were never triggered/supported. (78949)

  • Every OS: Fixed a bug when the string value passed to DateTime.FromString ends in an space. (79207)

  • Every OS: String.Compare now normalizes strings on Linux and Windows before performing a case-sensitive comparison, matching existing behavior on macOS. (64037)

  • iOS: Fixed reseting a ColorGroup value to its Nil default value on iOS when Default is selected in the Inspector Panel. (79340)

  • iOS: Now the ValueChanged event is also raised on iOS when MobileSwitch.Value property is set by code. (78735)

  • Linux: Dynamic localization strings are now correctly returned for languages with multiple regional variants, such as Simplified and Traditional Chinese. (79326)

  • Linux: Graphics.DrawText (with a wrap width specified) now properly renders colored emojis on Linux. (79379)

  • Linux: DesktopTextArea.SelectionChanged event no longer triggers during construction on Linux, now matching the behavior with macOS and Windows. (78833)

  • Linux: Disabling window resizing now works under Wayland. (78686)

  • macOS: Fixed adding duplicated macOS provided menu items to the Window menu. (79476)

  • macOS: Fixed a drawing bug for DesktopSearchField under macOS 26 (Tahoe) (79323)

  • macOS: Fixed a drawing issue on macOS, involving ArcShape, when its width or height = 0 and the Graphic context had a brush set. (79208)

  • macOS: Re-raising an EndException in App.Opening no longer fails with an assertion. (78707)

  • macOS: SQLiteDatabase: R*Tree module is now supported for macOS/iOS (78657)

  • Web: Fixed a WebContainer issue causing the control to not be cleaned up, when being used as a Popover and closing it by pressing outside. (79359)

  • Web: Fixed a WebListBox issue that was causing the control to ask the backend for the same data multiple times, also causing flickering in certain situations. (79014)

  • Web: Fixed a WebListBoxStyleRenderer issue causing its CellOnly property to have no effect. (76867)

  • Web: Fixed a WebListBox issue causing the SelectedRowIndex to return -1 after calling ReloadData, when using a WebDataSource. (79015)

  • Web: Fixed a WebTabPanel issue causing the CSSClasses property to be applied to the wrong HTML element. (79003)

  • Web: Fixed an issue when trying to display multiple WebMessageDialog at the same time. They will be queued now. (78986)

  • Web: Fixed a WebCombobox issue allowing the user to display the dropdown menu, with unselectable items, after removing the rows. (79000)

  • Web: Fixed a WebTextField and WebTextArea causing TextChanged event to not be fired when pasting contents using the Edit > Paste command from the browser's menu bar or contextual menu. (79036)

  • Web: Fixed a WebListBox issue causing checkbox values to not be cleared, after removing a row with RemoveAllRows or RemoveRowAt. (79007)

  • Web: Fixed a WebListBox.CellCheckBoxValueAt issue when trying to set a checkbox to False, when it was False already. (79031)

  • Web: Fixed a WebListBox issue preventing SelectedRowColor to be used after the Opening event. (78990)

  • Web: Fixed some code styling issues in the Web target classes. Signatures are the same, just the casing changes. (78899)

  • Web: WebBreadcrumb, WebSegmentedButton and WebListBox will escape HTML now by default, like the rest of the controls. (78828)

  • Web: Fixed an issue preventing to store a cookie in the Browser from a WebTimer, when WebTimer.Location was set to Server. (78773)

  • Web: Fixed an issue causing server located WebTimer to continue raising its Run event, after closing its parent view. (78785)

  • Web: WebRadioGroup will set its SelectedIndex to -1 now, when using RemoveAllRows or if RemoveRowAt will remove the selected index. (78619)

  • Windows: TimeZone: Console and Web apps running on Windows Server 2019 now correctly obtain the default time zone, which also affected DateTime values and time zone information. (79407)

  • Windows: Controls parented on a DesktopXAMLContainer no longer disappear, however, any controls placed on a DesktopXAMLContainer will not clip to its parent. Also, when a DesktopXAMLContainer is parented inside another DesktopXAMLContainer, setting its Transparent property will now cause it to inherit the background brush from its parent. (78661)

  • Windows: DesktopTextArea: assigning text with a very long single line no longer causes a noticeable rendering delay when using the default text alignment. (79269)

  • Windows: StdIn.ReadAll no longer blocks on Windows and Linux ARM32. (78745)

  • Windows: URLConnection now maintains its own persistent cookies. Unlike macOS, where cookies are shared globally across all sessions, on Windows and Linux they persist only for the lifetime of the individual URLConnection. (79044)

  • Windows: The barcode scanning window now respects the correct aspect ratio supported by the camera. Additionally, video mirroring support has been added. (78561)

  • Windows: URLConnection errors now raise NetworkExceptions on Windows, matching macOS and Linux behavior. (78960)

  • Windows: DesktopHTMLViewer Error event is now properly triggered when loading invalid URLs, and may also be raised in other cases where the error occurs in a non-main frame. (78951)

  • Windows: An embedded WebView2 control in a DesktopXAMLContainer now displays contextual menus and status messages in the correct location. (78890)

  • Windows: Graphics.TextDirection now correctly reports the text direction for right-to-left strings. (46672)

  • Windows: Picture.ApplyMask now works correctly for Pictures without an alpha channel. (72012)

  • Windows: DesktopHTMLViewer.Print no longer crashes when printing certain pages. However, printing these pages may take longer to complete. (78162)

Compiler

New Features

  • Android: Added ability to add metadata to the app manifest from the Android Build settings Inspector. (77257)

  • Android: Libraries from jitpack.io, a popular 3rd party repo, can now be used. (77707)

  • Android: Added additional build configuration properties for setting the MinSdkVersion, TargetSdkVersion and adding global entries to the manifest file. (78698)

Resolved Issues

  • Breakpoints set on a While statement will now correctly break into the debugger. The debugger will also no longer stop at Wend or Next statements as we've determined stopping there isn't useful (in additional to not being able to add a breakpoint on those lines anyway) and only adds unnecessary steps during debugging. (79219)

  • Clarified the error message shown when an instance property is mistakenly used as a method. (79192)

  • Breakpoints set at the start of a Do loop statement will now correctly break into the debugger. (14313)

  • Improved the error message for duplicate event definitions to indicate the conflicting superclass. (79160)

  • Clarified the error message for method signatures that conflict with event definitions. (79173)

  • Single line conditional #if statements no longer confuses the compiler in certain scenarios. (7828)

  • Optimized comparing Nil constant values. (75712)

  • Casting a string expression to a String no longer raises a type mismatch error. (67745)

  • Compiler now provides a clearer error message when an array of objects is expected but what is passed does not match. (67167)

  • The compiler no longer issues warnings for unused local variables that are initialized with a value on the same line. (58900)

  • Compiler now correctly reports errors in Delegate functions that use unsupported parameters, such as optional parameters or those marked with the Assigns keyword. (64376)

  • Structures with invalid fields no longer causes the compiler to crash or trigger an assertion. We now raise a compile error and highlight the problematic structure field. (78844)

  • Android: Fixed a compile error that would occur when a project contained a MobileContainer and it was built with Build for Play Store off to create a distributable apk. (79377)

  • Android: Fixed an exception and compile error that would occur when using Return in the Setter of a Computed Property. (79311)

  • Android: Fixed a compile error that would occur when subclassing URLConnection and overriding the RequestHeader or ResponseHeaders methods. (79259)

  • Android: Using the \ character in a string property no longer causes a compile error. (79252)

  • Android: Fixed a compile error when using Enumerations on MobileContainers. (79224)

  • Android: Fixed a compile error that would occur when using a class constructor with an optional Variant parameter in a Var statement. (79197)

  • Android: Improved compiler error message that is shown for a Declare type mismatch. (78260)

  • Android: Fixed some compile errors regarding use of ^ operator in an expression and array methods on a ParamArray parameter. Generic Android compile errors now try to show the class where the error was reported. (78121)

  • Android: Fixed a compile error that could occur when returning a value that does not match the return type, but does have an appropriate Operator_Convert. (78609)

  • Android: Fixed a compile error that would occur with an overloaded method that has the same signature as a method with an Assigns parameter. (78502)

  • Android: Fixed a compile error that could sometimes occur when calling a method with multiple overloads. (78573)

  • Android: Fixed a problem where the necessary permissions to use MobileLocation were not always specified when Running the project. (78566)

  • Android: General incremental transpiler improvements, which fixed a compile error when running an unsaved project twice in a row without making changes to it. (79096)

  • Android: Fixed a compile error that could occur with a user constant in a #If statement that also has the Then keyword. (78851)

  • Android: Fixed a compile error when processing an inline If with some color values that are assigned to a ColorGroup. (79068)

  • Android: Fixed some possible code signing errors on Windows. (78952)

  • Android: Optimized some of the compiler output produced by Declare statements. (77415)

  • Android: Fixed a compile error when creating an array of Ptr using the Array() method. (78646)

  • Android: Fixed a compile error that could occur with a subclass in certain situations when using Super to call an overloaded method with optional parameters. (78612)

  • Android: Fixed a compile error that could occur when a method with a return value also had a ByRef parameter. (78684)

  • Android: More robust handling of user-specified manifest permissions. Now can use full syntax in addition to just the permission constant. Display a compile error if any entry cannot be parsed. (78820)

  • Android: Fixed a compile error that could occur when comparing property values that use Operator_Convert. (78801)

  • Android: External classes no longer cause an Android compile error. (78746)

  • Android: When calling the default class constructor on a class that also has a copy constructor, instead of incorrectly calling the copy constructor, the default constructor is properly called. (78784)

  • Android: Fixed a compiler error that could occur when assigning a value to an array of Object. (78800)

  • iOS: Fixed enum property rendering by prioritizing class-specific enum types before falling back to global lookup. (73352)

  • Windows: Passing structures as parameters by value no longer corrupts data when building for Windows x86_64. (70682)

Documentation

New Features

  • Open source project overview has been divided into the sections Web 1.0 and Web 2.0. (72440)

  • Added a new Operators section, which provides information on all operators in a bundled form. (72694)

Resolved Issues

  • DateTime.ToString typo fixed (76343)

  • Corrected sample code (78898)

  • Corrected the constant declaration description (79066)

  • Added missing DesktopRadioButton.ValueChanged-Event to the docs. (79155)

  • Fixed wrong Sample Code for UDPSocket.Write() (79194)

  • Web: Added missing WebListBoxRowData.Value Signature to the docs. (76468)

Examples

New Features

  • Web: New web version of the Chart example project. (79101)