
The July/August (24.4) issue of
xDev Magazine is now available. Here's a quick preview of what's inside:
Pre-Emptive Ultrasonic Range Sensor by Eugene Dakin
Connecting an ultrasonic range sensor to a Raspberry Pi isn't too difficult, but calculating the distances accurately is tricky. Eugene shows how to do this via a pre-emptive thread, ensuring reliability and accuracy with nanosecond timestamps.
Command-Line AI by Marc Zeedar
Marc explores the use of Apfel, a command-line tool, to generate AI article summaries. He overcomes the limitations of on-device AI by trimming file sizes and removing HTML tags, eventually integrating everything into a custom Xojo app.
Locked Down: Part 1 by William O'keefe
In this new series, William covers symmetric vs. asymmetric encryption, modes like ECB, CBC, and GCM, and emphasizes the importance of authentication. He aims to help developers build secure encryption modules, ensuring compliance with standards like HIPAA.
Hidden Gems by xDev Staff
Discover hidden gems in the 2026 Xojo OmegaBundle, which provides essential third- party tools and plugins that enhance productivity and project efficiency. Examples include the MBS timer class and the scalable Valentina Report Server. xDev Magazine (ISSN 1540-3122) is the ultimate source for tutorials and advanced techniques for programming with the Xojo development environment.
Plus: Running Linux, working with files, resizing images, and more!
Get the top developer tools and third party components for the Xojo cross-platform development platform at a huge savings.
July 1, 2026. — Accelerate your development lifecycle and unlock professional-grade capabilities with Omegabundle for Xojo 2026, a limited time, multi-vendor bundle. This year’s curated collection includes over $7,600 worth of elite third-party tools, plugins, and resources for the Xojo cross-platform development environment—all for a one-time price of $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.
(more)
We recorded the presentations at the MBS Xojo Conference in April 2026 and here is the video about what is new in the Xojo Web Framework with Ricardo Cruz.
(more)

New in this prerelease of the 26.3 plugins:
- Added VNHumanObservationMBS, VNHumanBodyPoseObservationMBS, VNRecognizedPointsObservationMBS, VNHumanHandPoseObservationMBS, VNDetectHumanBodyPoseRequestMBS, VNDetectHumanHandPoseRequestMBS, VNDetectHumanBodyPose3DRequestMBS and VNStatefulRequestMBS classes.
- Added VNRecognizedPointMBS, VNDetectedPointMBS and VNPointMBS classes.
- Added VNHumanBodyPose3DObservationMBS, VNRecognizedPoint3DMBS, VNPoint3DMBS, VNHumanBodyRecognizedPoint3DMBS, VNRecognizedPoints3DObservationMBS and VNRecognizedPoints3DObservationMBS classes.
- Added StringMBS and StringViewMBS classes.
- Updated CURL library to version 8.21.0.
- Deprecated OptionStreamDepends and OptionStreamDependsE in CURLSMBS class.
- Updated libarchive to version 3.8.8.
- Updated expat to version 2.8.2.
- Added SetValues method to AtomicDictionaryMBS class.
- Added CanShutdown event to WinSparkleMBS class.
New functions in documentation
Download Links: Download Mac dmg or Download Windows/Linux zip
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.

We got a sneak peek on Xcode 27. It brings the SDK for Apple's new operation systems. We can still build our plugins with Xcode 26 and still add new features for the new operation system without using Xcode 27.
We will try the new Xcode version in the next months. But we probably won't move to the new OS before spring 2027. Somewhere in April the new macOS version 27.3 or 27.4 will ship and have most of the smaller bugs fixed.
Same for Xcode. To build the plugins with Xcode, we want to have a .1 or .2 bugfix update for Xcode itself.
Beside a lot of nice new things, Xcode 27 raises the minimum supported deployment target on macOS to macOS 11. The intel target gets deprecated. Xcode 27 comes as an Apple Silicon only application. It can still build Intel code, but by default only builds for Apple Silicon.
There is the expectation, that Xcode 28 may stop building for Intel CPU. Which may mean that we stop supporting Intel Macs at that time. If you still have one in production, consider moving off to newer hardware soon.
See
Xcode 27 release notes.
We recorded the presentations at the MBS Xojo Conference in April 2026 and here is the Using Apple Foundation Models with Marc Zeedar.
(more)

New in this prerelease of the 26.3 plugins:
New functions in documentation
Download Links: Download Mac dmg or Download Windows/Linux zip
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.
With the upcoming MBS Xojo Plugins 26.3 release, we introduce a new helper class:
AutoMutexMBS. This class makes working with mutexes safer and more convenient by
automatically releasing locks when an object goes out of scope.
(more)
We recorded the presentations at the MBS Xojo Conference in April 2026 and here is the Development of a tourist information system to promote local agritourism based on Xojo and Raspberry Pi installations by Paulina Drzazga, Maria Markowiak and Natalia Fiebig.
(more)

New in this prerelease of the 26.3 plugins:
- Added isGoldenGate function to SystemInformationMBS module.
- Added kTypeID constant to Argon2MBS class.
- Added NSRefreshControllerMBS class.
- Added preferredImageVisibility property to NSMenuItemMBS class.
- Added touchCapabilities property to NSScreenMBS class.
- Deprecated DVDPlaybackMBS class. Apple drops the framework for macOS 27 SDK.
- Updated jsoncons to version 1.8.1.
- Updated mongo-c-driver to version 2.3.1.
- Updated openssl to version 3.5.7.
- Updated the Argon2 code.
- Warning: The minimum macOS version is currently 10.15, but will change to 11.0 or 12.0 end of 2026.
New functions in documentation
Download Links: Download Mac dmg or Download Windows/Linux zip
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.
Modern applications increasingly rely on multi-threading: background tasks, network processing, rendering pipelines, and data caching often run in parallel. In such environments, shared mutable data structures become a critical source of bugs if not properly synchronized.
With AtomicDictionaryMBS introduced in MBS Xojo Plugins 26.3, we provide a dedicated thread-safe dictionary designed specifically for safe concurrent access in Xojo applications.
Why not just use a Xojo Dictionary?
The standard Dictionary in Xojo is not thread-safe. This means:
- Concurrent reads and writes can lead to crashes
- Race conditions can overwrite data unexpectedly
- Iteration while another thread modifies data can cause exceptions
- Complex locking must be implemented manually using Mutexes
In practice, this often leads to subtle bugs that are difficult to reproduce, especially in production environments where thread timing differs from debugging scenarios.
Developers typically solve this by wrapping a Dictionary in a Mutex, but this approach is error-prone:
- Locks may be forgotten for certain access paths
- Deadlocks can occur if multiple locks are used
- Fine-grained atomic operations are hard to implement correctly
(more)
We recorded the presentations at the MBS Xojo Conference in April 2026 and here is the Protecting Sensitive Data in Xojo: Practical Encryption Techniques Using MBS Plugins by Bill OKeefe.
Encryption is essential for protecting sensitive user and business data—but implementing it correctly is often confusing. In this practical session, building secure, efficient encryption workflows directly in Xojo using the MBS plugins will be shown.
Using the DICOM medical image format as a complex but relatable data model, we’ll explore how to handle mixed-type binary structures, manage endian differences, and work with Xojo’s MemoryBlock class to prepare data for encryption. From there, you’ll see real examples of AES-256 file encryption and decryption, key generation, chained encryption blocks, and performance optimization with the MBS Crypto classes.
Along the way we’ll cover common pitfalls (such as re-using IVs or ignoring data structure), when to use symmetric vs. asymmetric encryption, and how to keep your code aligned with regulatory standards such as FIPS 140 or HIPAA—even if you’re not working in medicine.
Attendees will receive a download code for working code fragments covering file, text, and database encryption techniques ready for adaptation in their own projects.
by Bill OKeefe
Watch on YouTube. All videos go into the playlist for the conference.
For our clients with plugin licenses for Monkeybread Software, we have a database with licenses and their email contacts.
Each license has multiple emails:
- a primary email for renewal reminders and newsletters about new versions.
- more emails as CC of licenses.
e.g. the administrator or developer to install the license.
- older alternative emails that are marked as old.
- sometimes an extra email just for invoices.
If you contact us with one of the emails and we search the database, we find your record.
When you buy a license for a client, we can put your email as developer in our database, so all communication goes through you. We would still like to know the name of the client and use it for the license keys.
Since you may disappear and clients still may need to renew, we appreciate having the client's email in the database as an alternative one. Then we can ask them directly if they like to renew. Since we do this for 20 years, we have seen multiple developers retire already.
When you order a license for a client in the web shop, you put in the billing address. That may be either the client itself if they pay themselves or your company if you buy it for the client and bill them later. When you use your address, consider adding somewhere a few letters for indicating which customer an order applies to. Or better email us the details for the client separately. If you order an update for one of your clients, we may apply it automatically to the one where we sent the last renewal reminder.
If you already have a couple of clients with MBS Plugin licenses, you can contact us if we should change the primary email for their licenses.

New in this prerelease of the 26.3 plugins:
- Added AlternateHandle and DeviceNAttributesHandle properties to DynaPDFColorSpaceMBS to get the internal handles.
- Added AtomicDictionaryIteratorMBS and AtomicDictionaryEntryMBS classes.
- Added AtomicDictionaryMBS class.
- Added AutoLock and TryAutoLock methods to MutexMBS class.
- Added AutoMutexMBS class.
- Added ConvColor to DynaPDFMBS class taking DynaPDFColorSpaceMBS object.
- Added DataValidation and SheetDataValidationSize to XLSheetMBS class.
- Added GetInfoSizeDelivered to CURLSMBS class.
- Added GetSortEx and SortLevels to XLAutoFilterMBS class.
- Added HeaderCMM property to LCMS2ProfileMBS class.
- Added JBIG2Lossy property to DynaPDFImageMBS class.
- Added LockCount property to MutexMBS class.
- Added more class constants to LCMS2MBS module.
- Added more constructors to AtomicFlagMBS class.
- Added more constructors to AtomicIntegerMBS class.
- Added more methods to AtomicQueueMBS class.
- Added NetworkChanged method to CURLSMultiMBS class.
- Added NLLanguageRecognizerMBS class.
- Added NSScrollViewMBS method to DesktopScrollableArea control in Xojo 2026r2.
- Added RemoveFilter and IsAutoFilter to XLTableMBS class.
- Added ResolveThreadsMax and QuickExit properties to CURLSMultiMBS class.
- Added TransformPipeline and TransformGamutCheckPipeline property to LCMS2TransformMBS class.
- Added XLDataValidationValuesMBS class.
- Changed Alternate and DeviceNAttributes properties in DynaPDFColorSpaceMBS class to create the object on first use.
- Changed GetInfoSpeedUpload, GetInfoSpeedDownload, GetInfoSizeUpload, GetInfoSizeDownload, GetInfoContentLengthUpload and GetInfoContentLengthDownload in CURLSMBS class to be Integer instead of Double.
- Changed GetUsesTransparency in DynaPDFMBS class to return Integer instead of Boolean.
- Deprecated ResourcesDirectory in SaxonProcessorMBS class.
- Fixed an issue in FindTableName function not finding the table name in a SQL command.
- Fixed Height in DynaPDFRectMBS class. The sign was incorrect. Broken in 26.1.
- Improved LlamaMBS class to yield time after 1000 tokens.
- Improved memory management for MongoDB functions.
- Improved ReadAll and ReadAllMemory functions in MongoGridFSFileMBS to raise OutOfMemoryException in case of low memory situation.
- Improved thread locking for SQL classes to better avoid two commands running on the same connection at the same time.
- Removed LoadDLLfromMemory for SoftDeclareMBS class.
- Updated CURL library to version 8.20.0.
- Updated DynaPDF to version 5.0.2.11.
- Updated expat to version 2.8.1.
- Updated jsoncons to version 1.7.0.
- Updated lcms to version 2.19.1.
- Updated LibXL to version 5.2.0.
- Updated mongo-c-driver to version 2.3.0.
- Updated Xcode to version 26.5.
New functions in documentation
Download Links: Download Mac dmg or Download Windows/Linux zip
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.
We got notice that Saxonica released the version 13.0 of their Saxon Library:
The first release of Saxon 13 has just been published. This is a new release
for Java, C#, C/C++, PHP, and Python. The highlights in this release are:
- A redesigned Schema API that allows multiple schemas to coexist. You can now validate
an input document with one schema and the result with another, even for the same namespace.
- More than 175 features from the draft 4.0 specifications are now available
in Saxon-PE and Saxon-EE, including:
- JNodes, path navigation over trees of JSON maps and arrays,
- Lookahead and lookbehind in regular expressions,
- Functions for CSV parsing,
- Functions for parsing with Invisible XML, and
- More flexible XML-to-JSON conversions with
fn:element-to-map.
- On the topic of 4.0,
- Mike recently published
a list of 101 new things you can do with Saxon using 4.0 features!
- (For more information about 4.0, see QT4CG.)
- Support for SaxonC extension functions written in C++, Python, and PHP.
- SaxonCS-HE, our first release of the free Saxon HE product built for .NET with C#.
For more details, please consult
the documentation.
If you encounter any issues with Saxon 13.0, please
report them
on our issue tracker.
Our MBS Plugins include Saxon 12.9 currently. We will soon review the new version and integrate it into MBS Plugins.
If any issues prevent that, we may report them and wait for the 13.1 version.
Our Saxon integration for FileMaker and Xojo is a powerful add-on to use XLST 3.0, XPath 3.1 and XQuery 3.1 in your solutions.
We recorded the presentations at the MBS Xojo Conference in April 2026 and here is the MBS Plugin presentation with David Cox:
Auto Reports — run Reports in your Sleep
Xojo is very useful for creating databases and reporting your data to the screen, a PDF, an email or a printer. Users often need to run these reports daily, weekly or monthly. But this can be a problem when staff are sick, on holidays, just too busy, we forget or when the number of reports gets too large.
Auto Reports are normal Xojo reports where your Xojo application runs the reports themselves automatically based on a time or database trigger, then send the results to email or SMS with no human intervention.
If you charge for your reports, you can have them delivered even when you are away from your computer, support more clients than you could manually manage and even have your invoices sent automatically.
Watch on YouTube. All videos go into the playlist for the conference.
In this article I want to introduce you the new functionalities from the
MBS Xojo Plugins in version 26.2.
DynaPDF
In this release, DynaPDF is all about the DynaPDF Content Parser.
As PDF documents contain pages with content streams, you may be interested to inspect the content with our DynaPDFParserMBS class. You open a PDF document, you import pages into memory and then parse the page. Once you parse them page, you can access the content objects. How this works and what posibilityies you have you learn in the new Article DynaPDF Content Parser.
In DynaPDF, you can also embed tables. In this release, the SetColOrRowSpan methode from the DynaPDFTableMBS class allows you to specify the row height or column width of a cell in your table. In the parameters you first define the cell using its row and column numbers. Next, you specify the height or width of the cell. In the last parameter, you specify whether to use col span (true) or row span (false).
DynaPDF has also recently updated its licensing system. In detail the DynaPDF Starter license now includes encryption, form fields, and digital signatures. Previously, these features were part of the Lite license. If you are interested in these and other updates, we recommend reading the article DynaPDF Starter License Extended and taking a look at the product feature matrix: DynaPDF Starter vs. Lite vs. Pro vs. Enterprise
(more)
Recently LibXL 5.2 was released and we include this update in our upcoming MBS Plugins for FileMaker and Xojo.
Version 5.2.0 (2026-05-15)
- fixed the vulnerability CVE-2026-22184, updated zlib to the version 1.3.2
- added possibility to read data validations from xlsx files
- added possibility to remove filters from tables (xlsx)
- added the support for xlsx files in the Book::loadWithoutEmptyCells()
- fixed a bug with reading strings with incorrect character encoding in the Sheet::readStr() on Linux/MacOSX (xls)
- fixed an issue with loading some xls files with message "read error: record id can't be 0"
- fixed an issue with corrupting output files in the AutoFilter::setSort() method (xlsx)
- fixed the unhandled exception in the Format::borderLeftColor() method (xlsx)
New methods:
(more)
We recorded the presentations at the MBS Xojo Conference in April 2026 and here is the MBS Plugin presentation with Christian Schmitz talking about what is new in MBS Xojo Plugins:
Watch on YouTube. All videos go into the playlist for the conference.
Recently I had to explain a client why he can’t expect us working on a Friday. Last Thursday was Feast of the Ascension, a federal holiday in Germany. Nowadays usually recognized as Fathers Day. A day to spend time with family. Most businesses, all schools and a lot of administrative buildings close.
What do I do on that holiday? For the past years we got the bicycles out and I made a bicycle trip with our the children to an ice cream shop. Lots of fun and even smaller children on a small bike can do that.
Having a free Thursday allows employees to use one vacation day to get a four day weekend. Or use 4 days for a 9 day vacation. For our area the schools close for the Friday. And we call such a day between an holiday and the weekend Brückentag in Germany.
Nobody expects here anyone to work on such a long weekend. And we just used it for a short staycation.
See you back Monday at work!