# MBS FileMaker Plugin 15.1 development

**URL:** <https://the.fmsoup.org/t/mbs-filemaker-plugin-15-1-development/4632>\
**Category:** MBS Plugins\
**Tags:** plugin, mbs, mbs-plugin-development\
**Created:** [February 1, 2025, 10:12am UTC](https://the.fmsoup.org/t/mbs-filemaker-plugin-15-1-development/4632 "2025-02-01T10:12:49Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![MonkeybreadSoftware](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/monkeybreadsoftware/32/361_2.png) [@MonkeybreadSoftware](https://the.fmsoup.org/u/MonkeybreadSoftware)\
**Post date:** [February 1, 2025, 10:12am UTC](https://the.fmsoup.org/t/mbs-filemaker-plugin-15-1-development/4632/1 "2025-02-01T10:12:49Z")

</div>

Hello,

in this thread I want to post to you what's new in development of MBS Plugin, version 15.1.

Download is available as usual here:

[monkeybreadsoftware.com/filemaker/files/Prerelease/](https://www.monkeybreadsoftware.com/filemaker/files/Prerelease/)

If you like our plugin, bookmark, like or forward this thread.

If not, well you can ignore it.

[New functions in documentation](https://www.mbsplugins.eu/newinversion151.shtml).

Thanks for supporting our plugin.

For questions please do not answer here, but start a new discussion.

You can click on the [mbs-plugin-development](https://the.fmsoup.org/tag/mbs-plugin-development)tag and subscribe to get an email for new topics with this tag, so you get notified.

Greetings  
Christian

---

<div class="post-metadata">

**Author:** ![MonkeybreadSoftware](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/monkeybreadsoftware/32/361_2.png) [@MonkeybreadSoftware](https://the.fmsoup.org/u/MonkeybreadSoftware)\
**Post date:** [February 1, 2025, 10:14am UTC](https://the.fmsoup.org/t/mbs-filemaker-plugin-15-1-development/4632/2 "2025-02-01T10:14:25Z")

</div>

15.1pr1:

- Added flag 2048 for [JSON.Import](https://www.mbsplugins.eu/JSONImport.shtml) and [XML.Import](https://www.mbsplugins.eu/XMLImport.shtml) functions to check field types and convert number, time, date and timestamp if needed.
- Added link detection for calculations.
- Added mitigation against buffer overflow in Windows for snprintf function.
- Added [Plugin.LimitToFile](https://www.mbsplugins.eu/PluginLimitToFile.shtml) function.
- Added [Python.AddSysPath](https://www.mbsplugins.eu/PythonAddSysPath.shtml) function.
- Added [Saxon.SetLicense](https://www.mbsplugins.eu/SaxonSetLicense.shtml) and [Saxon.ClearLicense](https://www.mbsplugins.eu/SaxonClearLicense.shtml) function.
- Added [WebView.ClearPrintParameters](https://www.mbsplugins.eu/WebViewClearPrintParameters.shtml) function.
- Added [WebView.List](https://www.mbsplugins.eu/WebViewList.shtml) function.
- Enabled EXSLT extensions for [XML.ApplyStylesheet](https://www.mbsplugins.eu/XMLApplyStylesheet.shtml).
- Fixed a problem with [WebView.PrintToFile](https://www.mbsplugins.eu/WebViewPrintToFile.shtml) not passing paper height correctly.
- Fixed [CNContact.Value](https://www.mbsplugins.eu/CNContactValue.shtml) function to return empty value for birthday if there is none, instead of an error.
- Fixed [WebView.SetPrintParameter](https://www.mbsplugins.eu/WebViewSetPrintParameter.shtml) to use points in 72 dpi instead of inches for paper size and margins.
- Improved [CURL.GetResultAsGIF](https://www.mbsplugins.eu/CURLGetResultAsGIF.shtml), [CURL.GetResultAsJPEG](https://www.mbsplugins.eu/CURLGetResultAsJPEG.shtml), [CURL.GetResultAsPDF](https://www.mbsplugins.eu/CURLGetResultAsPDF.shtml) and [CURL.GetResultAsPNG](https://www.mbsplugins.eu/CURLGetResultAsPNG.shtml) to return empty if the data is not the expected type.
- Removed dependency to CXXABI\_1.3.13 for Linux, introduced in 15.0.
- Updated DynaPDF library to version 4.0.97.274.
- Updated for next FileMaker version.
- Updated lcms library to version 2.17rc0.
- Updated SQLite to version 3.48.0.
- Fixed an issue with [SerialPort](https://www.mbsplugins.eu/component_SerialPort.shtml) function where script trigger would not be reset if you read zero bytes.
- Changed [SerialPort.Resume](https://www.mbsplugins.eu/SerialPortResume.shtml) and [SerialPort.Clear](https://www.mbsplugins.eu/SerialPortClear.shtml) to allow script trigger.
- Added flags MediaBox and CropBox to [DynaPDF.Parser.ExtractText](https://www.mbsplugins.eu/DynaPDFParserExtractText.shtml), [DynaPDF.ExtractText](https://www.mbsplugins.eu/DynaPDFExtractText.shtml) and [DynaPDF.ExtractDocumentText](https://www.mbsplugins.eu/DynaPDFExtractDocumentText.shtml).
- Improved [SerialPort.SetBaudRate](https://www.mbsplugins.eu/SerialPortSetBaudRate.shtml) to not try to change if the baud rate if the old and new rate are the same.
- Improved XML.Canonical, [XML.Compact](https://www.mbsplugins.eu/XMLCompact.shtml), [XML.Format](https://www.mbsplugins.eu/XMLFormat.shtml) and [XML.Colorize](https://www.mbsplugins.eu/XMLColorize.shtml) functions to return empty text for empty output.
- Implemented keep alive for MQTT feature in [CURL](https://www.mbsplugins.eu/component_CURL.shtml) functions. Use [CURL.SetOptionTCPKeepAlive](https://www.mbsplugins.eu/CURLSetOptionTCPKeepAlive.shtml) function to enable.

---

<div class="post-metadata">

**Author:** ![MonkeybreadSoftware](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/monkeybreadsoftware/32/361_2.png) [@MonkeybreadSoftware](https://the.fmsoup.org/u/MonkeybreadSoftware)\
**Post date:** [February 6, 2025, 8:03am UTC](https://the.fmsoup.org/t/mbs-filemaker-plugin-15-1-development/4632/3 "2025-02-06T08:03:45Z")

</div>

15.1pr2:

- Added [ECKey.BuiltInCurvesJSON](https://www.mbsplugins.eu/ECKeyBuiltInCurvesJSON.shtml) function.
- Added [ECKey.CurveNameToID](https://www.mbsplugins.eu/ECKeyCurveNameToID.shtml) function.
- Added [ECKey.ES256Sign](https://www.mbsplugins.eu/ECKeyES256Sign.shtml) and [ECKey.ES256Verify](https://www.mbsplugins.eu/ECKeyES256Verify.shtml).
- Tuned auto complete in custom functions to be less aggressive.
- Added [DynaPDF.CustomerID](https://www.mbsplugins.eu/DynaPDFCustomerID.shtml) function.
- Added AvailabilityExpression parameter to [SyntaxColoring.AddContextMenuCommand](https://www.mbsplugins.eu/SyntaxColoringAddContextMenuCommand.shtml) function.
- Improved [List.RegExMatch](https://www.mbsplugins.eu/ListRegExMatch.shtml) and [QuickList.RegExMatch](https://www.mbsplugins.eu/QuickListRegExMatch.shtml) to take options in text form in addition to integers.
- Improved [Text.ReadTextFile](https://www.mbsplugins.eu/TextReadTextFile.shtml) to read things from /proc/ folder on Linux.
- Updated CURL library to version 8.12.0.
- Added workaround for a bug in Plugin SDK for returning text in UTF-16 back to FileMaker.
- Warning: CURL 8.12 has a bug with STARTTLS for SMTP causing a server timeout. We implemented a workaround until an official fix is available.
- Added [SyntaxColoring.SortMenuEntries.GetEnabled](https://www.mbsplugins.eu/SyntaxColoringSortMenuEntriesGetEnabled.shtml) and [SyntaxColoring.SortMenuEntries.SetEnabled](https://www.mbsplugins.eu/SyntaxColoringSortMenuEntriesSetEnabled.shtml) functions.
- Improved [SyntaxColoring.AddContextMenuCommand](https://www.mbsplugins.eu/SyntaxColoringAddContextMenuCommand.shtml) to add entries to the menu, if you have a spelling suggestion.

---

<div class="post-metadata">

**Author:** ![MonkeybreadSoftware](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/monkeybreadsoftware/32/361_2.png) [@MonkeybreadSoftware](https://the.fmsoup.org/u/MonkeybreadSoftware)\
**Post date:** [February 12, 2025, 8:26am UTC](https://the.fmsoup.org/t/mbs-filemaker-plugin-15-1-development/4632/4 "2025-02-12T08:26:55Z")

</div>

15.1pr3:

- Updated DynaPDF to version 4.0.97.276.
- Applied fix for CURL 8.12 to avoid server timeout after STARTTLS for SMTP.
- Updated SQLite to version 3.49.0.
- Added an OutputJSON option to the JSON for [Barcode.GenerateJSON](https://www.mbsplugins.eu/BarcodeGenerateJSON.shtml) function to output drawing commands as JSON.
- Improved [SyntaxColoring.AddContextMenuCommand](https://www.mbsplugins.eu/SyntaxColoringAddContextMenuCommand.shtml) to better detect layout vs. browse mode.
- Added [SyntaxColoring.TurnErrorsBlue.SetEnabled](https://www.mbsplugins.eu/SyntaxColoringTurnErrorsBlueSetEnabled.shtml) and [SyntaxColoring.TurnErrorsBlue.GetEnabled](https://www.mbsplugins.eu/SyntaxColoringTurnErrorsBlueGetEnabled.shtml) functions to help colorblind people to read errors in debugger.
- Updated lcms library to version 2.17.
- Added [Files.ShowPropertyDialog](https://www.mbsplugins.eu/FilesShowPropertyDialog.shtml) function for Windows to show a property dialog of a file.
- Fixed memory issue for [SyntaxColoring.AddContextMenuCommand](https://www.mbsplugins.eu/SyntaxColoringAddContextMenuCommand.shtml) causing crashes.
- Added [Files.ShareFile](https://www.mbsplugins.eu/FilesShareFile.shtml) function.
- Fixed search field in script workspace to scroll horizontally as you type.
- Added [Text.SplitByLength](https://www.mbsplugins.eu/TextSplitByLength.shtml) function.

---

<div class="post-metadata">

**Author:** ![weetbicks](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/weetbicks/32/206_2.png) [@weetbicks](https://the.fmsoup.org/u/weetbicks)\
**Post date:** [February 14, 2025, 12:26am UTC](https://the.fmsoup.org/t/mbs-filemaker-plugin-15-1-development/4632/5 "2025-02-14T00:26:38Z")

</div>

Found a bug with the script variable checks. It seems it only works for about 500 lines.

For example if you declare a variable on line 10, then after line 510 , any lines that reference the variable think it has not been declared, and so throw an error.

---

<div class="post-metadata">

**Author:** ![harvest](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/harvest/32/231_2.png) [@harvest](https://the.fmsoup.org/u/harvest)\
**Post date:** [February 14, 2025, 6:09am UTC](https://the.fmsoup.org/t/mbs-filemaker-plugin-15-1-development/4632/6 "2025-02-14T06:09:08Z")

</div>

Hi,  
[https://www.mbsplugins.eu/SyntaxColoringCheckVariableDeclarationSetLimits.shtml](https://www.mbsplugins.eu/SyntaxColoringCheckVariableDeclarationSetLimits.shtml)  
it is as easy as setting a new limit ( default are 500 lines) - be aware that raising the limit above a certain value may slow down your system a bit while programming or debugging but that also depends on your set-up

---

<div class="post-metadata">

**Author:** ![MonkeybreadSoftware](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/monkeybreadsoftware/32/361_2.png) [@MonkeybreadSoftware](https://the.fmsoup.org/u/MonkeybreadSoftware)\
**Post date:** [February 17, 2025, 11:54am UTC](https://the.fmsoup.org/t/mbs-filemaker-plugin-15-1-development/4632/7 "2025-02-17T11:54:39Z")

</div>

15.1pr4:

- Added Saxon example to visualize electronic invoices in UBL, ZUGFeRD, Factur-X or X-Rechnung format.
- Added Saxon example to validate the ZUGFeRD, Factur-X or X-Rechnung invoice.
- Updated CURL library to version 8.12.1.
- Implemented keep alive for MQTT feature in [CURL](https://www.mbsplugins.eu/component_CURL.shtml) functions. Use [CURL.SetOptionUpkeepIntervalMS](https://www.mbsplugins.eu/CURLSetOptionUpkeepIntervalMS.shtml) function to enable.
- Added check for menu sorting to not do it when a dialog shows.

---

<div class="post-metadata">

**Author:** ![MonkeybreadSoftware](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/monkeybreadsoftware/32/361_2.png) [@MonkeybreadSoftware](https://the.fmsoup.org/u/MonkeybreadSoftware)\
**Post date:** [February 24, 2025, 9:34am UTC](https://the.fmsoup.org/t/mbs-filemaker-plugin-15-1-development/4632/8 "2025-02-24T09:34:03Z")

</div>

15.1pr5:

- Fixed a problem with a mutex deadlock [OCR](https://www.mbsplugins.eu/component_OCR.shtml) functions cleaning up on server scripts.
- Fixed a problem with [XML.GetPathValue](https://www.mbsplugins.eu/XMLGetPathValue.shtml) function crashing with name spaces, broken in 15.0.
- Fixed a problem with our Audit Cache not finding a table because the query was case sensitive.
- Removed old tesseract 3 from the Linux plugin as it conflicted with tesseract 5 and we could not have both together.
- Updated SQLite to version 3.49.1.
- Added timeout parameter to [ImageCapture.RequestScan](https://www.mbsplugins.eu/ImageCaptureRequestScan.shtml) function.
- Added [SendMail.GetUse8BitMime](https://www.mbsplugins.eu/SendMailGetUse8BitMime.shtml) and [SendMail.SetUse8BitMime](https://www.mbsplugins.eu/SendMailSetUse8BitMime.shtml) functions.
- Added [SendMail.GetUseSSL](https://www.mbsplugins.eu/SendMailGetUseSSL.shtml) and [SendMail.SetUseSSL](https://www.mbsplugins.eu/SendMailSetUseSSL.shtml) functions.
- Improved auto complete for custom functions to show parameters when you type on end of line.
- Added preferences option to toggle whether auto complete for custom functions shows parameters.
- Added [SyntaxColoring.AutoCompleteCustomFunctionsParameters.GetEnabled](https://www.mbsplugins.eu/SyntaxColoringAutoCompleteCustomFunctionsParametersGetEnabled.shtml) and [SyntaxColoring.AutoCompleteCustomFunctionsParameters.SetEnabled](https://www.mbsplugins.eu/SyntaxColoringAutoCompleteCustomFunctionsParametersSetEnabled.shtml)functions.

---

<div class="post-metadata">

**Author:** ![MonkeybreadSoftware](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/monkeybreadsoftware/32/361_2.png) [@MonkeybreadSoftware](https://the.fmsoup.org/u/MonkeybreadSoftware)\
**Post date:** [March 3, 2025, 7:57am UTC](https://the.fmsoup.org/t/mbs-filemaker-plugin-15-1-development/4632/9 "2025-03-03T07:57:39Z")

</div>

15.1pr6:

- Updated OpenSSL to version 3.3.3.
- Updated DynaPDF to version 4.0.98.278.
- Added RoundHighlightAP flag to [DynaPDF.SetGStateFlags](https://www.mbsplugins.eu/DynaPDFSetGStateFlags.shtml) function.
- Changed [XL](https://www.mbsplugins.eu/component_XL.shtml) functions to accept letters for column parameters.
- Updated jsoncons library to version 1.2.0.
- Updated png library to version 1.6.47.
- Improved [Menu.PopUp](https://www.mbsplugins.eu/MenuPopUp.shtml) to report an error if the item for the positioning is not in the menu.

---

<div class="post-metadata">

**Author:** ![MonkeybreadSoftware](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/monkeybreadsoftware/32/361_2.png) [@MonkeybreadSoftware](https://the.fmsoup.org/u/MonkeybreadSoftware)\
**Post date:** [March 6, 2025, 11:46am UTC](https://the.fmsoup.org/t/mbs-filemaker-plugin-15-1-development/4632/10 "2025-03-06T11:46:41Z")

</div>

15.1pr7:

- Fixed Phidgets functions to not leak some JSON objects when using script triggers.
- Improved [CNContactStore.SetChangeScript](https://www.mbsplugins.eu/CNContactStoreSetChangeScript.shtml) to deliver when no script is running and not too often.
- Added [CNContactStore.ChangeHistory](https://www.mbsplugins.eu/CNContactStoreChangeHistory.shtml) function to better track changes in contacts database.
- Added [CNContactStore.GetTransactionAuthor](https://www.mbsplugins.eu/CNContactStoreGetTransactionAuthor.shtml) and [CNContactStore.SetTransactionAuthor](https://www.mbsplugins.eu/CNContactStoreSetTransactionAuthor.shtml) functions.
- Updated jsoncons library to version 1.3.0.

---

<div class="post-metadata">

**Author:** ![MonkeybreadSoftware](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/monkeybreadsoftware/32/361_2.png) [@MonkeybreadSoftware](https://the.fmsoup.org/u/MonkeybreadSoftware)\
**Post date:** [March 11, 2025, 1:25pm UTC](https://the.fmsoup.org/t/mbs-filemaker-plugin-15-1-development/4632/11 "2025-03-11T13:25:13Z")

</div>

and released:

## [MBS Plugin 15.1 for Claris FileMaker](https://www.mbsplugins.de/archive/2025-03-11/MBS_Plugin_151_for_Claris_File/monkeybreadsoftware_blog_filemaker)

---

<div class="post-metadata">

**Author:** ![weetbicks](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/weetbicks/32/206_2.png) [@weetbicks](https://the.fmsoup.org/u/weetbicks)\
**Post date:** [March 27, 2025, 8:51pm UTC](https://the.fmsoup.org/t/mbs-filemaker-plugin-15-1-development/4632/12 "2025-03-27T20:51:39Z")

</div>

In lieu of not seeing a 15.2 thread yet...

I'm wondering if it's possible for scripts to give an indication of matching "Enter Find Mode" and "Perform Find" (or constrain/extend) script steps ?

While I realise this is not relevant for some developers who simply put their find criteria inside the "Perform Find" step, for myself and others it would be beneficial.

All finds I do in scripts are explicit, I enter find mode, do stuff, then it is followed by a "Perform find, "Constrain found set" or "extend found set" step somewhere else in the script. Never do we enter find mode and have the find happen in another script...

What would be useful is highlighting much like if statements and loop statements, where putting your mouse on either steps, highlights the corresponding.

Or better still error/warning if there aren't matching . We have had situations in older solutions where developers have forgot the "Enter find mode" step, and so inadvertently overwrote record data with find request data !

This is not a high priority request, but if it were a straightforward option to add much like If/Loop highlighting, or variable checking, that would be cool.

---

<div class="post-metadata">

**Author:** ![MonkeybreadSoftware](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/monkeybreadsoftware/32/361_2.png) [@MonkeybreadSoftware](https://the.fmsoup.org/u/MonkeybreadSoftware)\
**Post date:** [March 28, 2025, 8:42am UTC](https://the.fmsoup.org/t/mbs-filemaker-plugin-15-1-development/4632/13 "2025-03-28T08:42:29Z")

</div>

Well, I am not sure that we can do good checks.  
I could of course extend the If/loop Highlighting to do the same for the "Enter Find Mode" and "Perform Find" pair.

But I assume there may be clients where they have one of these commands alone.

---

<div class="post-metadata">

**Author:** ![weetbicks](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/weetbicks/32/206_2.png) [@weetbicks](https://the.fmsoup.org/u/weetbicks)\
**Post date:** [March 30, 2025, 4:27am UTC](https://the.fmsoup.org/t/mbs-filemaker-plugin-15-1-development/4632/14 "2025-03-30T04:27:50Z")

</div>

Completely understand that , it could be a toggle preference to use or not use this feature. I just know for the likes of our company we always use both in pair.
