# Troi Encryptor Plug-in release notes Below you can find the version history, with an overview of what has been changed in the current and previous versions of Troi Encryptor Plug-in. ### Troi Encryptor Plug-in 8.0.1 for FileMaker 16 to FileMaker 2023 (March 3, 2026) Fixed a compatibility problem with FileMaker Pro 22.0.4. Improved the security of the Encr_AES_EncryptUsingKey function. A key length issue was addressed with improved validation. Fixed a possible read underrun while initializing the AES key (from the password) in the Encr_EncryptAES function. Fixed a few small bugs. ### Troi Encryptor Plug-in 8.0 for FileMaker 16 to FileMaker 2023 (April 25, 2023) Improved compatibility Tested and made compatible with Claris FileMaker Pro 2023 (FileMaker Pro 20.1.1) Tested and made compatible with Claris FileMaker Pro 19 up to Claris FileMaker Pro 19.6.3. Tested and made compatible with Claris Pro 40.2.1. Tested and made compatible with macOS 12 (Monterey) and macOS 13 (Ventura). Tested and made compatible with Windows 11, including Windows 11 version 22H2 (September 20, 2022). New functionality and improvements Improved the code in several places and made it more secure. Strengthened the Encr_AES_DecryptUsingKey function and made it more robust. Added switch "-GetStartupRegistrationLog" to the Encr_Version function. This will return a text log of the plug-in's registration process at startup time of FileMaker Pro. When you have problems registering the plug-in, you can see if the payment certificate was found and if a valid registration code was found. Added an example script to Version.fmp12, which gets the text log of the startup registration of the plug-in. Improved the EasyInstallTroiPlugins.fmp12 example file (v1.8.6): added a script which adds the Startup Registration Log to the log field. This will get a text log of the startup registration process of the plug-in. Bug fixes and changes IMPORTANT (macOS only) The minimum supported macOS version is now macOS 10.15 (Catalina). The minimum supported Windows version is now Windows 10. (Windows) Fixed a small memory leak when running the plug-in's Encr_GeneratePassword function. (macOS) Fixed a problem on macOS 12 (Monterey) and FileMaker Pro 19.4, where the plug-in would not show the plug-in icon in the flash dialog. (macOS) Updated the source code and project to a new version. Improved checking for needed Troi File Plug-in in example file OpenSSL.fmp12 ### Troi Encryptor Plug-in 7.0 (for FileMaker 16 to 19) (August 19, 2021) New functionality Tested and made compatible with Claris FileMaker Pro 19.3. (macOS) The plug-in now runs natively on Apple Silicon: made the plug-in a Universal binary by adding code for the arm64 architecture of macOS. Tested and made compatible with macOS 11 (Big Sur) up to 11.5. Tested and made compatible with Windows 10 version 20H2 (October 2020 Update) and version 21H1 (May 2021 Update). Added new switches "-EncryptAES" and "-DecryptAES" to the Encr_Code function. These alternative switch names will encrypt and decrypt the data using the AES algorithm. Updated the example files to better handle newer plug-in versions. Other changes and improvements (macOS) Improved compatibility when running FileMaker Pro 19 in dark mode, the flash dialog is now more visible. (macOS) Improved loading the plug-in with runtime apps created with FileMaker Pro 18. (macOS) If the plug-in can't load a bundle at start-up, the plug-in will now write a detailed error to the system.log. See the Console.app in this case (search for FileMaker in the system.log). Updated the plug-in to use the latest libraries or modern frameworks where possible. (macOS) Modernized the plug-in. It now uses more a modern plug-in loading framework. IMPORTANT (macOS only) The minimum supported FileMaker version is now FileMaker Pro 16. Also the minimum supported macOS version is now macOS 10.13 (High Sierra). ### Troi Encryptor Plug-in 6.0 (for FileMaker 15 to 19) (June 10, 2020) Tested and made compatible with Claris FileMaker Pro 19 and FileMaker Pro 18. Tested and improved compatibility with Windows 10 up to version 1909 (the November 2019 Update). Tested and improved compatibility with macOS Catalina up to version 10.15.4. Added new Encr_GetPasswordStrength function, which can check the strength of a password. Also updated the example file GeneratePassword.fmp12 to demonstrate all possibilities. Improved the Encr_MakeDigest function, added a switch "-sha256" which can calculate the more secure SHA-256 hash. Updated the code base, the plug-in now uses more modern C++ libraries. (Windows) The plug-in is now code signed using the more secure SHA-256. (Windows) Fixed a memory issue where in some cases a buffer was not properly initialized. Modernized the code and made the plug-in more robust. ### Troi Encryptor Plug-in versions for FileMaker Pro 14 to 17 Version 5.0 (for FileMaker 14 to 17) (February 12, 2019) New features Tested and made compatible with FileMaker Pro 17. Added new Encr_GeneratePassword function, which can generate a strong, random password with a specified length. Also created the example file GeneratePassword.fmp12 to demonstrate all possibilities. Added PHP 7 encryption compatibility. You can now AES-256 encrypt text with the plug-in and and decrypt it with the OpenSSL functions of PHP 7. You can also decrypt text with the plug-in which was encrypted with the OpenSSL functions of PHP 7. Created new extensive example file OpenSSL.fmp12 which demonstrates how to encrypt and decrypt data for or from PHP 7. Added two php scripts for decryption and encryption in PHP 7. See the folder "Integration with PHP + websites". The script "php7-decrypt-from-encryptor-AES256.php" decrypts text which was encrypted with Troi Encryptor 5 for PHP 7. The script "php7-encrypt-for-encryptor-AES256.php" encrypts text which can be decrypted with Troi Encryptor 5. Added new switch "-HashIterationCount=n" to the Encr_EncryptAES and Encr_DecryptAES functions so you can specify the hash iteration count used to generate the key and initialization vector. Improved command line interface compatibility of the Encr_DecryptAES function: you can now decrypt text created by the openssl command in a command line interface (for example the macOS terminal). Use the switches "-OpenSSLCompatible -KeySize=256" for this. Note that the decryption assumes the text was UTF-8 encoded. If you don't want to decode as UTF-8 you can also add the switch "-DontInterpretAsUTF8". The plug-in now indicates if an external script step is compatible with a product. The step is shown in grey if it is incompatible for that product (for example for iOS) in the script editing pane (center) and the script steps pane (right). (macOS) Prepared the plug-in for notarization: the plug-in can now be added to a runtime, to create a hardened FileMaker runtime app which can be notarized by Apple. Notarization gives users more confidence, as the runtime has been checked by Apple for malicious components. (Windows) Added code signing to the plug-in for Windows. (On macOS code signing was already added in version 4.0). Other changes and improvements IMPORTANT (macOS only) The minimum supported FileMaker version is now FileMaker Pro 14. Also the minimum supported Mac OS version is now OS X 10.9 (Mavericks). You can keep using v4.x (currently v4.0.1) for older versions of FileMaker Pro or Mac OS X. (macOS) The plug-in no longer has the 32-bit code included. Renamed the function Encr_EncryptRijndaelAES to Encr_EncryptAES. Renamed the function Encr_DecryptRijndaelAES to Encr_DecryptAES. Improved the 64-bit compatibility of the plug-in. Fixed a bug in the Encr_EncryptAES function with the (previously hidden) switch -OpenSSLCompatible, where in some cases the error code $$-50 would be returned. Updated the EasyInstallTroiPlugins.fmp12 file, it can now run a test registration script for a plug-in after you have installed it on FileMaker Server. Updated the user guide: clarified the format of TROI_AES the plug-in generates and added a section about exchanging data with OpenSSL. Updated the example files for FileMaker Pro Advanced 17. Version 4.0.1 (for FileMaker 12 to 16) (February 1, 2019) (macOS) Fixed a compilation problem with code signing and extended attributes in macOS 10.12 (Sierra) and later. Improved and updated the registration of the plug-in. Version 4.0 (for FileMaker 12 to 16) (August 15, 2017) Tested and made compatible with FileMaker Pro 16. Fixed several bugs, rewrote and modernized the code in several places and made further improvements. Updated the User Guide and the Reference.fmp12 file. Made various minor changes to the example files to better work with FileMaker Pro 16. Updated the code by adding improved namespace handling to make the plug-in more robust. Extra features when running FileMaker Pro 16 The Encryptor Plug-in adds multiple script steps when running FileMaker Pro 16. You can select these script steps in the script steps pane in Script Workspace, or you can begin typing the script step name, then choose the script step from the list that appears. The script steps expand the possible actions you can perform with FileMaker Pro. The following 3 script steps are added: Save Password to Keychain Get Password from Keychain Delete Password from Keychain NOTE Only steps that perform an action have been added as a script step. Functions that just manipulate data and have no side effect (like for example Encr_EncryptRijndaelAES) are only available as an external function. Added new scripts to the EncryptAES.fmp12 example file, which demonstrate how to use the new external script steps of FileMaker Pro 16. The examples check if FileMaker Pro 16 is running and will select these new scripts. Added support for online help for the functions and script steps of the plug-in. You can now easily get online help from the Troi website, by clicking the Help button (the small question mark button) next to the function description in the functions pane or the script step description in the script steps pane. ### Troi Encryptor Plug-in versions for FileMaker Pro 12 to 15 Version 3.5 (for FileMaker 12, 13, 14 and 15) (July 5, 2016) Tested and made compatible with FileMaker Pro 15. Added three new keychain functions, to help you store passwords: Encr_SavePasswordToKeychain, which saves a password into the keychain (for an account or your ID). Encr_GetPasswordFromKeychain, which retrieves a password from the keychain (for an account or your ID). Encr_DeletePasswordFromKeychain, which deletes a password from the keychain. Added description and type-ahead information for all functions of the plug-in. This extra function description will be shown in FileMaker Pro 15 in the Specify Calculation dialog box when you type a function name and also as a text popup in the functions pane on the right. The type-ahead information is used by the auto complete functionality of FileMaker Pro 15. In the calculation pane of the Specify Calculation dialog box you can type a letter or two of the function name and instantly see a list of matching function names. For example when you type "aes", the auto complete functionality will suggest the Encr_AES_EncryptUsingKey function. You can also type a function name in the functions pane on the right: for example if you type "Encry" you will see all the functions with Encrypt in the name, like Actr_EncryptRijndaelAES. Improved the multi-threading behavior of the plug-in when running in FileMaker Pro 15. Improved the example file EasyInstallTroiPlugins.fmp12, to provide more help when an installation error occurs. Fixed several bugs, rewrote and modernized the code in several places and made further improvements. Updated the User Guide and the Overview.fmp12 file. ### Troi Encryptor Plug-in versions for FileMaker Pro 12 to 14 Version 3.0.1 (for FileMaker 12, 13 and 14) (March 22nd, 2016) Tested and made compatible with Windows 10 and OS X 10.11 (El Capitan). Fixed a bug in the Encr_MakeDigest function which was introduced in version 3.0: when creating a MD5 digest an incorrect digest would be returned for texts bigger than 32000 characters. Added a switch "-DigestCompatibleWithv30" to the Encr_MakeDigest function, to be able to generate the same (incorrect) digests of v3.0. Note that the result only differs for digests of text bigger than 32000 characters and created with the 3.0 version of the plug-in. Improved several example files. Updated the user guide. Version 3.0 (new download) (for FileMaker 12, 13 and 14) (June 11th, 2015) Added missing "FileMaker Server Documents" folder. The plug-in is still at version 3.0. Version 3.0 (for FileMaker 12, 13 and 14) (June 5th, 2015) Tested and made compatible with FileMaker Pro 12, 13 and 14. Added support for 64-bit architecture with FileMaker Pro 14: on OS X the 32-bit and 64-bit version is a single universal plug-in and on Windows there are 2 plug-ins: Troi_Encryptor.fmx (for 32-bit) and Troi_Encryptor.fmx64 (for 64-bit). Added the example file EasyInstallTroiPlugins.fmp12, with support for the 64-bit version of FileMaker Pro 14. Tested with OS X 10.9 Mavericks, OS X 10.10 Yosemite and Windows 8.x. Added AES-256 bit encryption: The function Encr_EncryptRijndaelAES() will now use AES-256 bit encryption by default. Added a switch to the Encr_EncryptRijndaelAES function: "-KeySize=128", which will generate AES-128 bit encryption. Improved the Encr_DecryptRijndael function: for Troi AES encrypted text, it will automatically detect if it is AES-128 or AES-256 and decrypt the text. You don't need to change the scripts or add any switches for this to work. Added 3 new functions to the plug-in, to be able to easily exchange AES-Encrypted data with other systems (like for example PHP-mcrypt): Encr_AES_CreateKeyAndIV: creates an encryption key and initialization vector, which can be used for the AES encryption or decryption. Encr_AES_EncryptUsingKey: encrypts the data using the AES-128 or AES-256 algorithm using the encryption key and initialization vector. Encr_AES_DecryptUsingKey: decrypts the data using the AES-128 or AES-256 algorithm with the encryption key and initialization vector. Added PHP mcrypt script which demonstrates how to decrypt data generated with the EncryptAES.fmp12 example file in PHP. Troi Encryptor Plug-in is now compatible to run under FileMaker Server! The plug-in creates log files when running under FileMaker Server to make troubleshooting easier and to provide feedback regarding errors and registration status. Note that you need a special Server/WebEngine license to use this plug-in on FileMaker Server. See our web site for details. Added new Encr_VersionAutoUpdate function. The Encr_VersionAutoUpdate function is part of a standard for FileMaker plug-ins of third party vendors of plug-ins. The version number is returned in the format aabbccdd where every letter represents a digit of the level, so versions can be easily compared. Fixed a bug in the Encr_DecodeBase64 function, where ASCII character 240 (Apple logo) and ASCII character 189 (Omega) would not be added to the result. Updated information regarding MD5 hash and collisions/uniqueness. Now recommends the use of SHA-1 when more security is needed. Added new switch -GetRegistrationState to the Encr_Version function: this switch allows you to check if the plug-in is currently registered. Added new switch "-GetPluginInstallPath" to the Encr_Version function: this switch will return the path where the plug-in is installed, for example "/Mac HD/Users/User Name/Library/Application Support/FileMaker/FileMaker Pro/14.0/Extensions/Troi_Encryptor.fmplugin". Added new switch to Encr_Version: -UnregisterPlugin. This will remove the registration data. The plug-in will be in the unregistered state after this. Several bug fixes and further improvements. Made various changes to several example files. ### Troi Encryptor Plug-in versions for FileMaker Pro 9, 8.5 and 7 Version 2.5.2 (for FileMaker Pro 7, 8.x and 9) (September 25th, 2007) Fixed a bug in the Encr_DecodeBase64 function, where the last Base64 character would not always be decoded correctly. Added new switch "-DecodeSafeAsciiDecryptDESDecompress" to the Encr_Code() function. This will perform three actions in succession: first decode from SafeAscii, then decrypt the intermediate result (using decryptDES) and finally decompress it. Fixed a small inconsistency with Encr_Version( "-GetVersionString" ). It now properly returns with a space between the plug-in name and the version number. Updated the User Guide for version 2.5.2. Version 2.5.1 (for FileMaker Pro 7, 8 and 8.5) (September 5th, 2006) Fixed a bug in decrypting newDes data created with Troi Coding Plug-in running under FileMaker Pro 6. The text &# (which is also used to insert Unicode characters) is now interpreted properly in this case. (Mac OS X) Converted to Universal plug-in which runs natively on PowerPC and Intel Macs. Fixed a small typo in the user guide. Also renamed the user guide to be more clear for which plug-in the guide is intended. Version 2.5b0 beta (for FileMaker Pro 7, 8 and 8.5) (August 7th, 2006) Made compatible with FileMaker Pro 8.5. (Mac OS X) Converted to Universal plug-in which runs natively on PowerPC and Intel Macs. Updated the User Guide for version 2.5. We also improved the links in the table of contents, so the links now also work with the Preview application of Mac OS X. Version 2.0.4 (for FileMaker 7 and 8) (August 4th, 2006) Final preparation for universal binary and registration handling for next release. Changed incorrect name Coding Plug-in to Encryptor Plug-in in unregistered flash dialog box. Version 2.0.3 (for FileMaker 7 and 8) (June 30th, 2006) Improved the ImportSafe.fp7 example. Changed the display of the function names of the plug-in: the list of functions are now visible in every FileMaker calculation dialog. So for example the function names should now also be visible in Custom Functions. Cleaned up code in several places and prepared for Universal plug-in. Also prepared registration handling for next release. Version 2.0.2 (for FileMaker 7) (June 26th, 2005) Fixed a problem in Encr_DecodeSafeAscii: The omega character "Ω" was being replaced with the Ohm character by the FileMaker application. NOTE this means changed result on Windows: Encr_DecodeSafeAscii now correctly returns the omega character. Fixed a problem with compress function: if the result of the compression contained an ASCII character 240 "" (the Apple-logo character) the result would not be accepted by the FileMaker application. Added extra checks to correct for wrong characters in Encr_DecryptNewDes, Encr_Decompress and Encr_Code. Fixed a typo in the user guide. Version 2.0.1 (for FileMaker 7) (March 21st, 2005) Improved parameter text in function names, to improve easy selection. Added space after the last parameter of this function: "Encr_EncryptRijndaelAES( switches ; password ; text)". (Windows) Changed incorrect option string to correct one. (Mac OS X) Changed incorrect bundle identifier string to correct one. Version 2.0b1 beta (for FileMaker 7) (February 15th, 2005) Converted to new Function API of FileMaker Pro 7. Renamed the plug-in to Troi Encryptor Plug-in. Version 1.6.2 (for FileMaker 6) (15th-February-2005) New version of Troi Coding that also accepts registration of Troi Encryptor Plug-in. Updated package and release notes. Version 1.6 (for FileMaker 6) (22-June-2001) Tested with FileMaker 5.5 and ported to Mac OS X. The Mac version of the plug-in is now a so called 'Super Fat' plug-in that will run on Mac OS 8, 9 and Mac OS X. Version 1.5.2 (09-March-2000) Fixed a bug in function FromSafeASCII. In some cases this bug could crash FileMaker 5 if incorrect input was given. Version 1.5 (20-Dec-1999) Added Compression/Decompression Added Encode/DecodeSafeASCII Added powerful Code functions Added user guide and lots of samples. Version 1.1.4 (27-Feb-1999) Fixed non-loading of functions in External function overview (Win) Version 1.1.3 (10-Feb-1999) Added a built-in 'register function' for developers of runtimes. Version 1.1.1 (17-July-1998) Removed the startup flash screen. Now a flash screen is shown the first time the plug-in functionality is used. This flash screen is removed after payment of the license fee. Windows NT: startup splash screen now always shows centered on screen. Windows 98: register program now prints correctly Version 1.1 (23-April-1998) Added checksum Added Text signatures Added Binary To Num and Num To Binary function Split into 3 separate plugins: Troi Dialog Plug-in, Troi Coding Plug-in and Troi File Plug-in Version 1..0 (29-January-1998) First release Fixed a bug on 68k machines which disposed of a pointer improperly.