Release notes for version 16.1 - 17th March 2026
New functions in 16.1 and Announcement in blog.
16.1 - 17th March 2026
- Added Llama functions to load local large language models to query them.
- Added grouping to script search.
- Added a tool button for search window with a copy results command.
- Added Command-W for the search all scripts window on macOS to close the dialog via shortcut.
- Added CurrentOutput and LEDArray as device for Phidget.Create function.
- Added Dialog.GetTitleIcon and Dialog.SetTitleIcon functions.
- Added EnvironmentVariables.JSON function.
- Added Files.ApplicationPathWithBundleIdentifier function.
- Added Files.OpenFiles function.
- Added FM.SQL.InsertOrUpdateRecords and Matrix.InsertOrUpdateRecords functions.
- Added FM.SQL.InsertOrUpdateRecordsToSQL and Matrix.InsertOrUpdateRecordsToSQL functions.
- Added GMImage.Profiles function.
- Added group parameter to ScriptWorkspace.OpenScript function.
- Added groups for SystemInfo.ADSystemInfo function.
- Added HeaderTitle, FooterUri, ShouldPrintHeaderAndFooter and ShouldPrintSelectionOnly as options for WebView.SetPrintParameter for Windows.
- Added JSON.ToToon function for passing data to LLMs.
- Added OCR.RenderPDF function.
- Added OutputType and Duplex as options for WebView.SetPrintParameter for iOS.
- Added Phidget.ClearLEDs, Phidget.SetAnimation, Phidget.SetLED, Phidget.SetLEDs, Phidget.StopAnimation and Phidget.SynchronizeAnimations functions.
- Added ScriptWorkspace.SelectGroup function.
- Added SyntaxColoring.GetFormatAddSpaceBeforeSemicolon and SyntaxColoring.SetFormatAddSpaceBeforeSemicolon function to set whether to add space before semicolon for our calculation formatting.
- Added Translation.DetectLanguage function.
- Added XL.Book.Clear and XL.Book.ErrorCode functions.
- Added XL.Book.ConditionalFormat and XL.Book.ConditionalFormatSize functions.
- Added XL.LoadBookInfo function.
- Added XL.Sheet.ConditionalFormatSize and XL.Sheet.ConditionalFormatting functions.
- Added XL.Sheet.RemoveConditionalFormatting function.
- Changed DynaPDF.ImportPDFPage to only require a Lite instead of a Pro license.
- Changed DynaPDF.InitColorManagement and DynaPDF.InitColorManagementEx, so you can call without profiles to deactivate color management.
- Changed Files.List, Files.ListAsJSON and Files.ListRecursive to accept a list for ExtensionFilter parameter.
- Changed how we load python on linux to improve handling of custom installations.
- Changed install name for our plugin on macOS and iOS to be correct with @rpath.
- Changed iOS deployment target to iOS 15.0 as minimum, since that is Xcode's minimum. That is iPhone 6S and newer.
- Changed JSON.Import to take "-" for the root table name and then only use the prefix.
- Changed PageSetupDialog and PrintDialog functions to return an error if called on server.
- Changed script search results to number the search results and allow you to click them to mark where you are in the list.
- Changed script search results to show commented lines better.
- Changed tag to tagValue for PhidgetsRFID values to report the tag for a RFID card.
- Changed the script search button on Windows to be the right side of the window and move with resizing.
- Changed Vision.RecognizeText and Vision.RecognizeTextJSON to auto detect the language.
- Changed XL.Book.AddConditionalFormat function to take area as parameters.
- Changed XL.Sheet.AddConditionalFormatting so you pass the first range with the function call.
- Changed XML.Import and JSON.Import to report an error if you pass invalid characters for the table name prefix or root name.
- Clipboard is now preserved when opening the script search.
- Deprecated FM.GetSQLBatchMode and FM.SetSQLBatchMode.
- Enabled Dialog.ClearFields, Dialog.AddField, Dialog.GetFieldText and Dialog.SetFieldText functions for Windows since we got an alternative dialog with edit fields, which does most of our dialog functions.
- Enabled native CA for CURL on Windows.
- Fixed a bug where the search window could trigger a license dialog even if you have a license.
- Fixed a crash with Translation functions for macOS 15.x.
- Fixed a problem with FM.TableStatistics function not counting JPEGs in container correctly.
- Fixed a problem with the search box for relationship graph disappearing on Windows.
- Fixed a text encoding problem with copy & paste of XML from Script Workspace on Windows.
- Fixed an issue with If/Loop highlighting causing a crash on MacOS Tahoe.
- Fixed an issue with JSON.InsertRecord where we passed date as timestamp and FileMaker complained about incompatible types.
- Fixed Archive functions to recognize zstd library within the plugin, so Archive.ZStdVersion reports the version.
- Fixed script search to select scripts on macOS if folder and script names are the same.
- Implemented Files.GetPathFromNodeID for iOS and Linux. Linux uses recursive search.
- Implemented Files.USBSerialNumber for Windows.
- Improved ClearRegistration to clear more keys on the Registry on Windows.
- Improved Files.RenameFile on Windows to try an alternative way if the rename failed.
- Improved Files.USBSerialNumber function on Windows to report hard disk and SSD serial numbers, too.
- Improved formatting rules for calculations to better handle ${} in the formulas.
- Improved functions taking path to report an error about an empty text passed as path instead continuing normally.
- Improved Hash.CRC16 function to better handle some special variants.
- Improved Hash.Digest and Hash.DigestFile functions to work with shake128 and shake256.
- Improved Matrix.InsertRecordsToSQL and FM.SQL.InsertRecordsToSQL functions to pass NULL if a number or date field is empty. Otherwise SQL would complain about passing invalid date or number.
- Improved NSDate passing to return date with milliseconds if available, e.g. for Files.CreationDate.
- Improved Printer.Print function to wait a bit if the combobox is not yet loaded on Windows.
- Improved script search to allow scripts to collapse.
- Improved script search to better handle cases with thousands of scripts on Windows.
- Improved search field in relationship graph to resize better on macOS.
- Improved search in our search inside custom functions dialog, so we can search the content of the custom functions.
- Improved search window to show an error message if the WebView can't be created (on Windows).
- Improved SSH tunnel for macOS/iOS to mark the thread with background priority.
- Improved Text.ReadTextFile and other functions to read files on Windows instead of complaining about file in use.
- Improved the field picker link to allow it to link to current table.
- Improved variable check to ignore Set Variable lines with $index = $index + 1.
- Please note that DynaPDF 5 sets UseTransparency to false by default instead of true in version 4 and the UseImageColorSpace flag is now enabled by default, instead of disabled.
- Rebuild libarchive to dynamically load lzma library on macOS/iOS.
- Removed unneeded empty path check for XL.Initialize function.
- Rewrote FM.InsertOrUpdateRecordQuery to use newer code base.
- Rewrote FM.InsertRecordQuery and FM.InsertRecordQueryIgnoreDuplicates to use newer code base.
- Rewrote FM.SQL.InsertRecords and Matrix.InsertRecords functions to use same code internal.
- Rewrote FM.SQL.InsertRecordsToSQL and Matrix.InsertRecordsToSQL functions to use same code internal.
- Rewrote SQL.InsertRecords to use newer code base.
- Updated CURL library to version 8.19.0.
- Updated DynaPDF to version 5.0.0.7.
- Updated expat to version 2.7.4.
- Updated libarchive to version 3.8.6.
- Updated LibXL to version 5.1.
- Updated openssl to version 3.5.5.
- Updated Phidgets library headers to current version (28th January 2026).
- Updated SQLite to version 3.51.2.
- Updated taglib to version 2.2.1
- Updated Xcode to version 26.2.
- Updated zlib to version 1.3.2.
Known problems
- none
More details in the Release notes and Announcement in blog.