As Apple announced their move to Apple Silicon processors, we are already working on an update to our plugin to support it. For now we already defined function SystemInfo.isBigSur to return whether the newer macOS version 11.0 is running. The SystemInfo.isARM function returns 1 if you run on an ARM based CPU and this currently returns 1 on iOS, but will in future return 1 if FileMaker runs on newer Mac hardware with Apple Silicon. And the function SystemInfo.isTranslated will tell your solution whether it runs Intel code on Apple Silicon in emulation.
To share files, images, links, text or URLs on macOS, you can now show a standard menu from macOS to pick a service to share. In a script you can pick the service and provide additional parameters. This includes passing subject and recipients for email and chat messages. Beside a few standard targets like Airdrop, Apple Mail, Photos and iMessage, you can install various third-party software to use their sharing services.
With WebView.Create and WebView.CreateWithControl you can create a custom web viewer. For MacOS you can choose between WebKit 1.x and 2.x. For iOS you always get WebKit 2.x and for Windows the Internet Explorer engine. As our web viewer is independent of FileMaker's layout engine, you can place it on top of other controls and it stays visible without reloading when switching between different records.
With our new CLibrary functions you can load shared libraries written in C/C++ and list their functions. You pick a function and use the CFunction functions to prepare a call and then run the function. Parameters are automatically converted to the right datatypes and the result converted to a value for FileMaker. This function allows to directly call various functions of the OS directly as well as device SDKs with their interface libraries.
Our Audit functions got a rewrite using SQL parameters internally. This allows us to support Emojis in the logged text. The plugin can now monitor repeated fields for changes. If needed you can disable that with Audit.SetIgnoreRepetitions function.
The CURL functions can now pass SSL certificates via fields instead of referencing files. We rewrote CURL.UseSystemCertificates function to work better on newer macOS versions.
On macOS press Command-Shift-F to directly jump to FileMaker's search field to find scripts in Script Workspace. Use Command-F for our script search field. When you copy a script text, we add the script name as comment on top. In the data viewer, set focus to the list and press Command-Option-g to hide global variables, press Command-Option-F to hide fields or press Command-F for the find bar.
We added Base64URL as an option to various hash and encryption functions. With the improved RSA.Sign you can do JWT RS256 signatures.
We added named color and alpha support on macOS for ColorPanel functions, upgraded Font.Activate for newer macOS versions, Java.DefineClass and Java.FindClass functions for Java, a new JSON.ToXML function to convert JSON to XML and we have improvements for LDAP functions using JSON to pass binary data.
A few smaller things should not go unmentioned like Files.StandardizePath to standardize file paths, GMImage.Ping and GMImage.PingContainer to read metadata from images without reading all the pixel data, a new Matrix.Multiply function and X509 validate date functions.
Finally we update CURL library to version 7.71.1, DynaPDF to 188.8.131.52, LCMS to 2.11, LibXL to 3.9.1, SQLAPI to 5.1, SQLite to 3.32.0 and Xcode to version 11.5.
See release notes for a complete list of changes.