In this article I want to introduce you the new functionalities from the MBS Xojo Plugins in version 25.3.
DynaPDF
A very usefull feature in DynaPDF is the signing of documents. This allows the user to ensure that the document has not been changed in the meantime. A PDF document that is signed can sometimes have several signature fields. In this case, the first signature field without a value is selected for signing by default. With the new method SetActiveSigField from the class DynaPDFMBS you can choose which field should be signed.
New compression methods for zip archives
The zip format is essential for storage. We have been supporting functionalities for it for years. We've brought you two compression methods in this release. With the new ZipSetCompressionZStd and ZipSetCompressionBZip2 methods, you can now use the ZStd and Bzip2 compression algorithms. Bzip2 is characterized by a very good compression rate and is therefore particularly suitable for applications where storage space needs to be saved. However, compression and decompression take a little longer here. If you want a good compression rate, but time is also a factor for you, then ZStd can help you realize your project, as it is incredibly fast.
See ArchiveWriterMBS class.
(more)
One of the great perks with Xojo is, that the Linux version can be downloaded and used for free. While the IDE is free to use on all platforms and you need to pay to build application, that has an exception for Linux.
On Linux you can install Xojo on a Linux machine or VM simply with the Terminal:
sudo apt install ./xojo2025r2_arm64.deb
Adjust the path to the deb package you downloaded from Xojo download page.
We got it installed and opened a test project:
(more)
Transcribing speech into text has never been more accessible, thanks to models like OpenAI’s Whisper. In this post, we’ll walk through how to use the MBS Xojo Plugins in Xojo to transcribe audio files using Whisper.
We’ll go step-by-step from loading required libraries to getting the final transcription.
(more)
Did you know that Windows provides APIs for developers to exclude their windows from being screenshoted?
We only need to set the display affinity:
Window1.WindowDisplayAffinityMBS = &h11
Checkout the details on the
WindowDisplayAffinityMBS property. We can set it to 0 for no restriction, which is the default. Value 1 makes the window only draw itself when shown on monitor. So printing the window may not work. And &h11 = 17 makes it disappear from screen captures.
This was of course invented in Windows 7 for DRM protection. To make it impossible to take a screenshot from playing a DVD or other videos with DRM. There are still tools to capture screen at display driver level or people simply film the display with their camera.
Please try and see if have use for this.
You use Xojo, have a license and you like to continue to use it for years?
Xojo Inc. announced changes to their pricing. If you plan to continue with Xojo, then please go to Xojo.com and extend your license for years to save some money. The deadline for your upgrade with the old pricing is 4th August 2025 and you easily add one or two years to the license, more if you contact sales.
(more)
What changed for DynaPDF in the last 2 years?
Since Omegabundle 2025 comes with DynaPDF Starter, we got asked what changed in the two years. DynaPDF got a ton of upgrades, changes and bug fixes. We filtered the list a bit and summarize it here for you:
(more)
The MBS Xojo MacOSX Plugin 25.3 introduces a powerful new class: DispatchIOMBS. This macOS and iOS-only class provides asynchronous I/O operations using Apple's Dispatch I/O API. Whether you want to stream or randomly access file data, DispatchIOMBS gives you fine control over reads and writes—with event-driven or delegate-based callbacks.
Let’s explore how to use DispatchIOMBS to copy a file asynchronously.
Why use dispatch I/O?
- It runs I/O in the background, avoiding UI freezes.
- Built-in memory management avoids unnecessary copying.
- It monitors system pressure for optimized performance.
- Supports stream (kTypeStream) or random-access (kTypeRandom) modes.
- We got a file copy example for Xojo for you
Our example file copies a large file from one location to another asynchronously using stream mode. It uses event handlers rather than delegates for simplicity.
(more)
We have an integration to use Java classes in Xojo projects. Our clients like to load a jar file with some code and call methods in Java. We can do that and we have new functions for version 25.3 of MBS Xojo Java Plugin:
LoadedClasses
You can now query the list of loaded classes:
function JavaVMMBS.LoadedClasses as JavaClassMBS()
This is great to know what classes the loaded jar files provide when you initialize the JavaVMMBS object.
Let's say you have graphics filters defined in jar files. You would load the jar file, check what classes are available. Then you filter the list of classes to only the ones subclassing the base filter class. Then you list all matching classes in a filter list, so the user can pick one.
Here is an example code to query the list of classes and then call the getName function on each to ask for the name of the class:
// show all class names
Var arg As New MemoryBlock(8)
Var LoadedClassNames() As String
Var LoadedClasses() As JavaClassMBS = vm.LoadedClasses
For Each c As JavaClassMBS In LoadedClasses
Var jc As JavaClassMBS = c.ObjectClass
Var jm As JavaMethodMBS = jc.GetMethod("getName", "()Ljava/lang/String;")
Var jo As Variant = c.CallObjectMethod(jm, arg)
Var js As JavaStringMBS = jo
Var name As String = js.StringValue
LoadedClassNames.Add name
Next
MessageBox String.FromArray(LoadedClassNames, EndOfLine)
(more)
Nickenich, Germany - (July 15th, 2025) -- Monkeybread Software today is pleased to announce MBS Xojo Plugins 25.3 for macOS, Linux and Windows, the latest update to their product that is easily the most powerful plugin collection currently available for Xojo. MBS Xojo Plugins have been updated and now includes over 3000 classes and 83,000 documented features, and the versatile plugins have gained more new functions:
Use Sign in with Apple to get an user identifier without making your own. Show a button to sign in and receive an identifier for the account. Use ASAuthorizationControllerMBS class to manage the whole interaction.
Enjoy text recognition in audio files using the whisper open source library. Check the WhisperMBS module to load the library, pass in audio data and receive recognized text.
Asynchronous I/O allows you to have multiple read and write operations running simultaneously. Check the DispatchIOMBS class to use asynchronous I/O for macOS and iOS.
For SQLite we got extensions to enable: Base64, CSV and uuid functions. For SQLite we add a DumpToStrings function to InternalSQLiteLibraryMBS class.
In preparation for macOS Tahoe we added an isTahoe function for SystemInformationMBS. We added properties and methods for Tahoe to NSSliderMBS, NSViewMBS, NSControlMBS, NSScreenMBS and NSToolbarItemMBS classes.
For Java we have functions to query the list of loaded classes in JavaVMMBS class. You can inspect the available methods and fields to dynamically call them.
To handle pasteboard permissions on macOS, we got new methods for NSPasteboardMBS class to ask for access and check contents of the pasteboard before asking for permission.
If you like creating certificates, you can use GenerateRootCertificate method with PKeyMBS class to create a root certificate. Then you use GenerateCertificateSigningRequest method to generate a certificate signing request. Then use SignCertificateSigning to sign the leaf certificate.
We improved barcode recognition with Vision framework on macOS and iOS, we added a search button to find function on documentation website, added methods to NSPrintInfoMBS class to get/set/remove custom properties and you can pick active signing field for DynaPDF. Use bzip2 and zstd as filter for zip archives and check WindowDisplayAffinityMBS property on a window to disallow screen capture for it.
Finally we updated the CURL library to version 8.14.1, DynaPDF to 4.0.102.292, LibArchive to 3.8.1, mongo-c-driver to 1.30.5, Saxon to 12.8, SQLAPI to 5.3.7, SQLite to 3.50.2, Xcode 16.4 and we updated the Unikey library to a newer version.
See release notes for a complete list of changes.
Get the top developer tools and third party components for the Xojo cross-platform development platform at a huge savings!
Omegabundle for Xojo 2025 is a collection of the most useful tool sets, add-ons, digital books and components for use with Xojo Inc's Xojo development environment. If purchased separately and not including any additional Omegabundle, the total cost would be over $3044.90. Omegabundle for Xojo 2025 costs $399.99.
Xojo is an award-winning, cross-platform development tool for the Desktop (macOS, Windows, Linux), Web, iOS (iPad/iPhone) and Raspberry Pi. With Xojo, you can create native applications by using drag-and-drop to build your user interface and then one straight-forward programming language to enable the functionality. Xojo is powerful and modern, yet easy to use and learn.
This is a time limited offer, which ends 22nd September 2025.
(more)

New in this prerelease of the 25.3 plugins:
New functions in documentation
Download: monkeybreadsoftware.de/xojo/download/plugin/Prerelease/. Or ask us to be added to our shared DropBox folder.
You can subscribe to our Xojo mailing list to get notified for new pre-release and release versions.
Today Xojo Inc. released their second 2025 version of Xojo.
Download, Release Notes and Announcement.
New Features and Updates:
- Optimized (faster, larger) frameworks are used when compiling with Aggressive Optimization
- Updated to SQLite 3.49.2 for all platforms
- 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
The debugger got some interesting improvements. You will notice about stopping better in loops when stepping through. And breakpoints on the start of the loop should work better.
Xojo got a Print method for DesktopHTMLViewer class, but you may still prefer functions in MBS Plugins since we have more options than their basic function.
For MBS Xojo Plugins, just make sure you have a recent version and everything should work fine. Enjoy the update!

New in this prerelease of the 25.3 plugins:
- Fixed compilation issue for console projects with ASAuthorizationAppleIDButtonMBS class (broken in pr5).
- Changed NextHeader in ArchiveReaderMBS class to return entry object, even if a warning is issued.
- Added Description property to VNRequestMBS and VNObservationMBS classes.
- Updated Saxon library to version 12.8. Download
- Changed NSControlMBS class to pass editor as variant to avoid dependency between NSControl and NSText plugin parts.
- Added a search button to find function on documentation website.
New functions in documentation
Download: monkeybreadsoftware.de/xojo/download/plugin/Prerelease/. Or ask us to be added to our shared DropBox folder.
You can subscribe to our Xojo mailing list to get notified for new pre-release and release versions.
WWDC 2025 by Marc Zeedar
Last year Apple made big announcements regarding "Apple Intelligence" that were supposed to ship piecemeal throughout year; only they eventually backtracked and delayed the most significant ones. This year's WWDC was a lot more muted, though Marc argues that some of the new features are significant.
AInalyzing Documents by Marc Zeedar
While "AI" isn't intelligent, it can do pattern matching and analysis that is useful. Marc builds on last issue's Image Tagger app to send other kinds of documents to ChatGPT and be able to ask it questions about the file. You can even send it Xojo code and get back suggestions for improvements!
Installing Xojo on Raspberry Pi by Eugene Dakin
Did you know that the Xojo IDE can now run on a Raspberry Pi? It used to be that you had to compile your Pi apps on another machine and transfer them over, but now you can install Xojo itself on a Pi and program natively. Eugene shows you the steps to getting Xojo onto your Raspberry Pi device.
Plus: An interview with Christian Wheel, XAML, Xojo Tennis, unit testing, and more!

New in this prerelease of the 25.3 plugins:
New functions in documentation
Download: monkeybreadsoftware.de/xojo/download/plugin/Prerelease/. Or ask us to be added to our shared DropBox folder.
You can subscribe to our Xojo mailing list to get notified for new pre-release and release versions.