Xojo 2025r3.1 Release Notes
Release Date: 2026-01-20
Highlights
Support for macOS Tahoe 26 and iOS 26
IDE now supports Libraries for Desktop, Web, Console and iOS projects
IDE now has an AI assistant, called Jade
Added DesktopGrid control
Multiple WebListBox improvements
Web now uses Bootstrap v5.3.7 and Bootstrap Icons v1.13.1
Added Passkeys/WebAuth support for web apps
Windows DesktopXAMLContainer improvements
Expanded WinUI-backed controls
Several Crypto enhancements
Improved color settings for layouts and controls on iOS and Android
Android Support for PDFDocument
Statistics
Bugs fixed: 38
Features added: 6
IDE
New Features
Our Database plugins now include version information. (80426)
Resolved Issues
Fixed an issue with processing Library items in a module. (80562)
Prevent an UnsupportedOperationException that could occur when sending another message to Jade before it has finished processing the current response. (80550)
Fixed ProgressBar not updating in the Layout Editor under macOS when the Value proerty is changed in the Inspector Panel. (80555)
Fixed incorrect class property access from a Library that could occur in some situations. (80495)
Windows: Fixed an exception that would occur on Windows when loading a Library that contained an Image Set within a folder. (80586)
Framework
New Features
Added IsDebugBuild which can be called generally, or from a library to get the debug status of the app it is a part of. Since it is a function, it must be used with a regular If statement. (80482)
Thread.StartMethod now has updated Delegates that returns a value that is passed to the Completed method. (80062)
Desktop: Added REALUsesWinUI Plugins SDK function to determine if the App is built using WinUI. (80509)
Desktop: Now DesktopGrid Auto hides its scroll bars when necessary. (80503)
macOS: Instead of truncating the Tab labels under macOS Tahoe when the text exceeds the available tab width (default behavior under Tahoe), now these behave as they did on previous macOS releases. (80427)
Resolved Issues
Break statements are now properly synchronized to help in situations where multiple preemptive threads may attempt to break concurrently. (80631)
MoviePlayer.Rate is now correctly initialized to 1.0 instead of 0, which previously prevented movies from playing. (80625)
Now DesktopGrid honors the Visible property value. (80513)
Desktop: Fixed setting cells selection via DesktopGrid.CellSelectedAt when the row / column values are equal to the maximum of available rows/columns. (80642)
Desktop: Bugs fixed when DesktopGrid.Enabled property is set to False at runtime. (80538)
Desktop: Now DesktopGrid honors the changes made to the Top and Left properties via code. (80516)
iOS: ColorGroups created from named colors gets the expected values now on iOS. (80504)
macOS: The X,Y coordinates reported in DesktopUIControl.MouseWheel are now correctly offset to be relative to the control on macOS. (80588)
macOS: Plugin controls now clip to its bounds instead of overflowing on macOS Tahoe. (80618)
macOS: DesktopMoviePlayer.Rate property is no longer incorrectly initialized to 0. On macOS when a movie is first loaded it is now correctly positioned at the beginning. On Windows the PlaybackStarted and PlaybackStopped events are no longer triggered by simply loading a Movie. (80485)
macOS: Fixed drawing issue of DesktopSlider under macOS Tahoe. (80502)
macOS: Fixed a DesktopSlider regression on macOS, where the MouseDown event was missing. (80476)
macOS: Setting DesktopProgressBar.MaximumValue for a hidden DesktopProgressBar no longer causes the control to become visible. (80597)
Web: Fixed a WebListBox issue causing the top side of the scrollbar to not be reachable, when HasHeader was set to False. (80711)
Web: Fixed a WebListBox regression causing SelectionChanged to not be fired sometimes, after calling RemoveAllRows. (80599)
Web: Fixed a WebUserAuthentication issue causing some error events to not be fired at runtime. (80671)
Web: Fixed a WebPagePanel / WebTabPanel regression causing a PanelChanged event to be fired before the Opening event. (80467)
Web: Fixed a WebUserAuthentication issue when deploying the app to Linux servers. (80637)
Web: Fixed a regression causing repositioning and/or resizing controls to be wrongly applied sometimes. (80558)
Web: Fixed a WebView issue causing instances to be unaware of some of their implemented events, when created at runtime. (80514)
Web: Fixed a WebListBox issue causing to show a white box on the top right corner, on dark mode, when the scrollbars are always shown. (80491)
Web: Fixed a WebDialog issue causing the control to ignore Escape or Enter keyboard presses, unless it gains the focus. (80433)
Windows: WinUI: BevelButton.CaptionAlignment is now correctly configured to position the caption on the left, center, or right. (80616)
Windows: WinUI: updated various controls' DrawInto to honor the native control size option. (80565)
Windows: DesktopContainer.PanelIndex now returns the correct 0-based index on Windows/Linux instead of being offset by 1. (71195)
Windows: WinUI DesktopTextField/TextArea now respects the HasBorder and AllowFocusRing properties. (80519)
Windows: WinUI DesktopTextField.KeyDown now reports key values that correctly match the Win32 DesktopTextField control. (80526)
Windows: Disabling/Enabling a WinUI control no longer causes the current focus to shift. (80535)
Windows: Standard mouse cursors can now be set for WinUI controls, and the mouse cursor is now updated properly. Custom mouse cursors are not supported for WinUI controls. (80423)
Windows: WinUI DesktopTextArea.KeyDown event is now triggered for Enter/Return key presses. (80428)
Windows: WinUI SearchField.TextChanged event now fires properly. (80457)
Windows: WinUI DesktopPopupMenu.SelectionChanged event now behaves more consistently, improving support for showing other UI during the event. (80462)
Windows: DesktopMoviePlayer.Stop now triggers the PlaybackStopped event on Windows, this matches the behavior on macOS/Linux. (80432)