News from the MBS Xojo Plugins Version 25.3

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)

Use Xojo for Linux for free

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)

How to Use Whisper in Xojo to Transcribe Audio Files

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)

Exclude your Xojo window from screenshots on Windows

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.

Xojo pricing changes

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)

Changes in DynaPDF Starter for OmegaBundle

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)

Asynchronous File I/O in Xojo with DispatchIOMBS

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)

Query Java classes in Xojo

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)

MonkeyBread Software Releases the MBS Xojo Plugins in version 25.3

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.


Omegabundle for Xojo 2025 Developer Tools Bundle Now Available

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)

MBS Xojo Plugins, version 25.3pr7

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.


Xojo 2025r2

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!


MBS Xojo Plugins, version 25.3pr6

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.


xDev Magazine 23.4

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!

MBS Xojo Plugins, version 25.3pr5

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.


The biggest plugin in space...

Archives

Sep 2025
Aug 2025
Jul 2025
Jun 2025
May 2025
Apr 2025
Mar 2025
Feb 2025
Jan 2025
Dec 2024
Nov 2024
Oct 2024
Sep 2024
Aug 2024
Jul 2024
Jun 2024
May 2024
Apr 2024
Mar 2024
Feb 2024
Jan 2024
Dec 2023
Nov 2023
Oct 2023
Sep 2023
Aug 2023
Jul 2023
Jun 2023
May 2023
Apr 2023
Mar 2023
Feb 2023
Jan 2023
Dec 2022
Nov 2022
Oct 2022
Sep 2022
Aug 2022
Jul 2022
Jun 2022
May 2022
Apr 2022
Mar 2022
Feb 2022
Jan 2022
Dec 2021
Nov 2021
Oct 2021
Sep 2021
Aug 2021
Jul 2021
Jun 2021
May 2021
Apr 2021
Mar 2021
Feb 2021
Jan 2021
Dec 2020
Nov 2020
Oct 2020
Sep 2020
Aug 2020
Jul 2020
Jun 2020
May 2020
Apr 2020
Mar 2020
Feb 2020
Jan 2020
Dec 2019
Nov 2019
Oct 2019
Sep 2019
Aug 2019
Jul 2019
Jun 2019
May 2019
Apr 2019
Mar 2019
Feb 2019
Jan 2019
Dec 2018
Nov 2018
Oct 2018
Sep 2018
Aug 2018
Jul 2018
Jun 2018
May 2018
Apr 2018
Mar 2018
Feb 2018
Jan 2018
Dec 2017
Nov 2017
Oct 2017
Sep 2017
Aug 2017
Jul 2017
Jun 2017
May 2017
Apr 2017
Mar 2017
Feb 2017
Jan 2017
Dec 2016
Nov 2016
Oct 2016
Sep 2016
Aug 2016
Jul 2016
Jun 2016
May 2016
Apr 2016
Mar 2016
Feb 2016
Jan 2016
Dec 2015
Nov 2015
Oct 2015
Sep 2015
Aug 2015
Jul 2015
Jun 2015
May 2015
Apr 2015
Mar 2015
Feb 2015
Jan 2015
Dec 2014
Nov 2014
Oct 2014
Sep 2014
Aug 2014
Jul 2014
Jun 2014
May 2014
Apr 2014
Mar 2014
Feb 2014
Jan 2014
Dec 2013
Nov 2013
Oct 2013
Sep 2013
Aug 2013
Jul 2013
Jun 2013
May 2013
Apr 2013
Mar 2013
Feb 2013
Jan 2013
Dec 2012
Nov 2012
Oct 2012
Sep 2012
Aug 2012
Jul 2012
Jun 2012
May 2012
Apr 2012
Mar 2012
Feb 2012
Jan 2012
Dec 2011
Nov 2011
Oct 2011
Sep 2011
Aug 2011
Jul 2011
Jun 2011
May 2011
Apr 2011
Mar 2011
Feb 2011
Jan 2011
Dec 2010
Nov 2010
Oct 2010
Sep 2010
Aug 2010
Jul 2010
Jun 2010
May 2010
Apr 2010
Mar 2010
Feb 2010
Jan 2010
Dec 2009
Nov 2009
Oct 2009
Sep 2009
Aug 2009
Jul 2009
Apr 2009
Mar 2009
Feb 2009
Dec 2008
Nov 2008
Oct 2008
Aug 2008
May 2008
Apr 2008
Mar 2008
Feb 2008