
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.

New in this prerelease of version 16.3 of the
MBS FileMaker Plugin:
- Added GuidedAccessState, RevertTransactionOnErrorState and WindowUUID for the get() functions help links.
- Added SerialPort.Setup function.
- Added SystemInfo.isGoldenGate function.
- Enhanced the Command-Option-T shortcut for calculation editor: If you have no selection, we insert current table occurence name. If you selected text, we select the matching table occurence in the popup menu.
- Fixed a bug in Math.FormatNumber function, introduced in pr1.
- Fixed a bug in ProcessActivity.beginActivity function not passing display sleep correctly.
- Improved PDFKit.Combine to copy metadata values from first document to the new document.
- Improved performance of Hash.RandomHexString function.
- Updated jsoncons to version 1.8.1.
- Updated mongo-c-driver to version 2.3.1.
- Updated openssl to version 3.5.7.
- 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
Downloads at monkeybreadsoftware.com/filemaker/files/Prerelease/:
You can subscribe to our FileMaker mailing list to get notified for new pre-release and release versions.

Today we try the new Persistent Data functions in FileMaker 26. A way to have per file global and persistent values. Use cases involve:
- Storing XML, JSON, JavaScript, HTML or any other large data block in the structure.
- Storing template PDF or images for logos
- Storing preferences in the file like window position. Then use Get(AccountName) or user id as instance ID.
- Storing data instead of a global variable.
This is not meant to store secure data like oauth keys. Everyone could potentially read the values and they are included in migration and with Save as XML!
Since every write causes a write to a file, it is a bit slower than a global variable. And this doesn't take part in transactions, so you may not want to write this together with multiple values to make sure they are either all written or none. This looks more like write once (or rarely) and read a lot.
(more)
Recently LibXL 5.2 was released and we include this update in our upcoming MBS FileMaker Plugin for FileMaker.
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 XL.Sheet.CellReadText 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 XL.Sheet.AutoFilter.SetSort function (xlsx)
- fixed the unhandled exception in the XL.Format.GetBorderLeftColor function (xlsx)
New functions:
(more)
If you work with different FileMaker solutions, testing environments, or customer deployments, there may be situations where you need multiple versions of FileMaker Pro installed on the same Windows machine.
Unfortunately, the FileMaker Pro installer is designed to prevent this. When it detects an existing installation, it typically refuses to install another version alongside it.
Fortunately, there is a workaround.
(more)
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)
Claris released version 26 of the FileMaker product family. As you may have noticed, the version number is finally synchronized to the current year.
There are a lot of new features in this release:
- This release brings a lot of new AI integration. You can install a standalone Claris AI Server to handle the workload of AI queries. It is highly recommended to buy a separate machine with lots of RAM and a good GPU to speed up the queries. Mac Studios with M5 Max/Ultra may come handy soon.
Related to this are new comments for fields to help the AI know what a field is about. In FileMaker Pro you can use the Insert Image Caption script step to use an image model on the AI server to get image captions.
- Claris offers a built-in backup feature. Great to keep the hassle low and it allows the Claris Partner to sell it to their clients. The data is uploaded to cloud storage, preferable in a different region. Of course you must still run your own scripts to upload the nightly backups and all the hourly increments to your own backup server.
- Related to the backup is the standby server. A feature we had in FileMaker 14, but now with a different implementation. It is built on top of the incremental backups Changes are regularly transferred in batches to the standby server via SSH. Your clients can opt-in to this, get a second server and have it wait for a switch over in case of a disaster. But please have the standby server in a different location and on a different Internet provider.
- The installer for FileMaker Server can install just the tools. Great if you like to have the tools on your machine. Once you have the FMUpgradeTool, you may notice that it has a new trick: it can create a new database from an XML representation. Related to this are upgrades to the Save as XML script step and enhancements in the options so you can choose what to export.
- The OData interface got upgrades to better handle metadata. Since OData is the preferred way for AI to talk to FileMaker Server, this helps a lot with various integrations. Please note that Claris like to see you move to OData in favor of ODBC and Data API on the long term.
- There is an updated inspector for layouts. The layout is in context related and only shows features available for the currently selected items. This makes relevant options easier to find and cleans up the old interface. But since not everyone likes changes, you may be able to turn it off in the preferences soon. And this is macOS only as the Windows side is still in development.
(more)
Check out the FMTraining.tv website. Richard Carlton and his team do a daily free live stream about FileMaker to watch.
A few days ago Christian Schmitz from Monkeybread Software joined a live episode to talk a bit about the MBS FileMaker Plugin. Watch it on YouTube.
We talk about the new version 16.2 of MBS Plugin. Check out the announcement, the release notes and the new functions.
(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.

New in this prerelease of version 16.3 of the
MBS FileMaker Plugin:
- Added CNContactPicker.CurrentProperties function.
- Added CNContactPicker.GetDisplayedKeys and CNContactPicker.SetDisplayedKeys functions.
- Added Command-Option-T shortcut for the calculation editor to insert the current selected table occurrence in the popup menu into the text.
- Added CURL.GetSizeDelivered function.
- Added flag 4 for WebView.CreateWindow function to make the window a floating palette.
- Added flags to return JSON for SpeechRecognition.Recognize function.
- Added GridFS functions for MongoDB functions: MongoDB.GridFS.Close, MongoDB.GridFS.Drop, MongoDB.GridFS.Find, MongoDB.GridFS.FindOne, MongoDB.GridFS.FindOneByFileName, MongoDB.GridFS.GetChunks, MongoDB.GridFS.GetFiles, MongoDB.GridFS.Open, MongoDB.GridFS.Read, MongoDB.GridFS.Remove, MongoDB.GridFS.RemoveByFileName and MongoDB.GridFS.Write.
- Added JBIG2Lossy as option for DynaPDF.GetImage function.
- Added Keychain.AddGenericPassword, Keychain.DeleteGenericPassword, Keychain.FindGenericPassword, Keychain.ListGenericPasswords and Keychain.UpdateGenericPassword functions.
- Added PageRanges, PrinterName, PagesPerSide, Copies, Collation, ColorMode and Duplex parameters for WebView.SetPrintParameter function on Windows.
- Added Printer.CancelJob and Printer.GetJobsAsJSON functions.
- Added width and height for DynaPDF.GetField to ask for field size.
- Added XL.Sheet.AutoFilter.GetSortEx and XL.Sheet.AutoFilter.SortLevels functions.
- Added XL.Sheet.DataValidation, XL.Sheet.DataValidationSize and XL.Sheet.DataValidations functions.
- Added XL.Table.IsAutoFilter and XL.Table.RemoveFilter functions.
- Fixed a possible crash in GMImage.DrawPath function.
- Fixed an issue on Linux where Barcode.Generate didn't create a picture due to a link issue using the wrong zint library version (broken in 16.2).
- Fixed an issue with JSON.InsertRecord crashing when you have illegal type mismatches in the parameters.
- Fixed DynaPDF.GetField to return the correct BBox.
- Fixed memory leak in MongoDB.NowUTC, MongoDB.Time, MongoDB.ContainerToBinary and MongoDB.TextToBinary functions.
- Fixed memory leaks in Llama.Tokenize and Llama.Detokenize functions.
- Improved fmp: URL handling to work with newer version depending fmp URLs.
- Improved Llama.Chat and Llama.Query to yield time after 1000 tokens.
- Improved memory management for MongoDB functions.
- 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
Downloads at monkeybreadsoftware.com/filemaker/files/Prerelease/:
You can subscribe to our FileMaker 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.

Following the cancellation of the FMK FileMaker Conference 2026, a low-cost alternative has been organized at short notice for the community: “
FM meets Mozart.” The conference will take place from September 14 to 16, 2026, at the famous Mozarteum in Salzburg and is aimed at users and developers from the German-speaking FileMaker community.
The new event is designed as a community conference and will feature presentations and workshops on FileMaker, AI, interfaces, APIs, and cloud solutions. According to the event website, details of the program are currently being finalized. A three-day ticket costs €149.00 plus 20% Austrian VAT; participants are responsible for booking their own hotel accommodations and travel arrangements.
The event organizer, Bernhard Schulz, lives in Salzburg. He served on the board of the “FMK Association” until 2020 and, in addition to his work as a developer, regularly organizes successful business events. Jan Rüdiger had initially planned to organize the FMK event for Salzburg in 2026 with his own team. However, the event had to be canceled due to low registration numbers. To ensure that the community still has a top-notch gathering in Salzburg in September 2026, Bernhard Schulz stepped in at short notice with a streamlined concept, thanks to his extensive network in Salzburg. The “traditional” FMK remains unaffected by this and, as things stand, is scheduled to take place in Hamburg in September 2027.
The “FM meets Mozart” series kicks off on Monday, September 14, 2026, at 7:00 p.m. with the FMM Awards ceremony, hosted by Klemens Kegebein, at the Augustiner Bräu Kloster Mülln in Salzburg. A classic Bräustübl buffet will follow.
Visit the website:
fm-meets-mozart.net
Auf Deutsch beim FileMaker Magazin
Accessible PDF documents are becoming increasingly important for government agencies, educational institutions, and companies that want to ensure their documents can be used by everyone, including people using assistive technologies like screen readers.
With the MBS FileMaker Plugin and the integrated DynaPDF library, you can create PDF/UA compliant documents directly from FileMaker.
What is PDF/UA?
PDF/UA stands for “PDF Universal Accessibility”. It is an ISO standard (ISO 14289) that defines how to create accessible PDF documents.
A normal PDF often contains only visual information. A human reader can see headings, paragraphs, tables, or image captions, but a screen reader cannot automatically understand the structure unless the PDF also contains semantic information.
PDF/UA solves this problem by adding structure information and accessibility metadata to the PDF document.
(more)
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.
Did you know that you can use MBS FileMaker Plugin in the Data API and provide an API to the outside world to produce PDFs?
You can have an external request come in to start a script, have the script create a PDF based on the given script parameters and then store it in a contaner field. Then another call can download that specific PDF from the container field. We use a global field here for the temporary storage. On a server script, global fields act like global variables and each session has their own one. So unless you prefer to store the PDF in a new record, you could simply use a global field to keep it until the session is finished.
Let's start with installation. The MBS FileMaker Plugin and the dynapdf library files go into the /FileMaker Server/Web Publishing/publishing-engine/wip/Plugins/ folder. After you copied the plugin there, you need to restart the wip process for Data API to have it load it. Once loaded you see a new log file in the Logs folder. When the dynapdf library is in the same folder as the plugin, we can load it with "" as path. If you registered the MBS server license before on the scripting engine, the MBS FileMaker Plugin for Data API should pick that up. But it is always good to have an MBS register script to apply the license if IsRegistered functions returns a zero.
(more)
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)
In this article we want to introduce you the new functions from the MBS FileMaker Plugin in version 16.2.
DynaPDF
This release includes new features for DynaPDF.
With DynaPDF.Parser.Content, you can now retrieve the page content as JSON. In the parameters, you can limit the information in the JSON by specifying a filter. For example, the code snippet below retrieves only the DrawPath operators.
(more)