For our developers using macOS we got a great new feature for the Script Workspace: Auto Complete. Our plugin can scan the lines in the script to find variable definitions and then present you possible variables names to auto complete in the calculation dialogs. For Let statements we can additionally auto complete local variable names starting with ¢ (cent), _ (underscore) and ~ (tilde) characters.
We updated our tools buttons in calculation dialogs and added two new buttons there: You can now add or remove table occurrence prefixes for field names within calculation dialogs. This may help when you copy calculations between field definition and data viewer. And for value lists we can now show the IDs and we have functions to convert between names and identifiers of value lists.
Our SQL functions got an optimisation to better handle numbers and avoid the inprecision of double data type in most cases. Databases supporting decimal types with exact precision should now handle numbers correctly. For SQL within FileMaker our new FM.ExecuteFileSQLValue can load a single value via SQL from a FileMaker table and return it to you. This preserves the data type and numbers, containers and time/date values are not converted to text.
Our WebHook functions got a new timeout property to prevent connections staying open forever without sending a request. With WebRequest.GetState you can now query the state of a request.
For Files functions we added functions to query file extension hidden and backup exclusion state on macOS. We improved Events functions to query contact identifier for a birthday event.
For DynaPDF we have new methods for complex text rendering. This includes defining alternative font lists (currently Windows only) and doing automatic font substitution.
For AVRecorder on Windows we added AVRecorder.VideoResolutions to query resolutions on Windows and pick one with AVRecorder.SetVideoDevice function.
We added a new Preferences.List function to list preference keys. The Text.TextToHTML function can handle subscript and superscript text. The ProgressDialog.SetPositionWindowCentered function can center progress dialog on top of a window. For our use of LibXML, we now explicitly disable network access. And XML.Query function can now take namespaces in quotes. The WordFile functions can now better handle tab character in text.
Finally we updated the archive library to version 3.5.2, cpuid to 0.51, CURL to 7.81.0, DynaPDF to 18.104.22.168, expat to 2.4.1, LCMS to 2.13rc1, lz4 to 1.9.3, openssl to 1.1.1l, SQLAPI to 5.1.8, SQLite to 3.37.0, ssh2 to 1.10.0, SystemInfo.CPUBrandString to work on Apple Silicon, and LibXL to version 4.0.1.
See release notes for a complete list of changes.