Claris FileMaker Pro is available to download for new installations and for major version upgrades from your Electronic Software Download (ESD) page or from Claris Customer Console. Minor version updates are available in FileMaker Pro (Help > Check for Updates) or from the Updates page. (Starting with FileMaker Pro 2025, major version upgrades are also available via Check for Updates, if you have an eligible license.) For more information, see FileMaker Pro Installation Guide.
FileMaker Pro 2025, Version 22.0.1 – July 2025
New features and enhancements
Artificial intelligence script steps and functions
Using new capabilities like SQL queries and FileMaker finds by natural language, as well as performing agentic operations that can use functionality you define, you now have even more ways to surface real intelligence from your data.
New AI script steps:
-
Perform SQL Query by Natural Language: Sends a natural language prompt and database schema to a model, which sends back an SQL query to get a result from the database to use in its response. By leaving it to the AI model to create complex SQL statements in response to a user's prompt such as "Show me our top 10 highest-value deals this quarter," developers can provide their users answers from their data more easily and without sending the data itself to a model provider. Includes debug options that show developers the schema sent to and the SQL received from the model.
-
Perform Find by Natural Language: Sends a natural language prompt and a list of fields on the current layout to a model, which returns a FileMaker find request, and performs a find. Includes options to return the found set, or the find request, as JSON.
-
Generate Response from Model: Gets a text response from an AI model given a user prompt in natural language. Can perform agentic operations with advanced prompts, conversation memory, and tool calls (to perform SQL queries, retrieve images, and use FileMaker custom functions). Or you can turn off agentic mode and gain precise control over interactions with the model.
-
Configure Prompt Template: Sets up a prompt template to use by name in other AI script steps, given a model provider and predefined prompts you can customize. Can be used in Perform SQL Query by Natural Language, Perform Find by Natural Language, and Generate Response from Model script steps. Start with the predefined prompts, customize them, or write your own to achieve an optimal response from the model.
-
Configure RAG Account: Sets up a retrieval-augmented generation (RAG) account to use by name, given an endpoint and an API key. Use with the Perform RAG Action script step to specify the RAG space that you want to use on the AI Model Server (installed with FileMaker Server).
-
Perform RAG Action: Sends a prompt to, or adds and removes data from, a RAG space on the AI Model Server specified by a named RAG account. Add documents or other data to create a knowledge repository that users can ask questions of, reducing a model's tendency to fabricate responses, and without sending your data to a third-party model provider.
-
Fine-Tune Model: Fine-tunes a base model on the AI Model Server with your own training data set (either from a table occurrence or a JSONL file) to make the model better at your specific tasks. Uses low-rank adaptation (LoRA) to add a small number of trainable parameters to the model, reducing computation time and memory usage over full fine-tuning.
-
Save Records as JSONL: Saves records to a specified JSONL file. Each line in the file is a JSON object representing a record. Can be used to output record data for fine-tuning a model.
-
Configure Regression Model: Trains, saves, loads, and unloads a regression model. Trains a model based on embedding vectors for text data and numeric target data. Use the PredictFromModel function to predict a target value from the embedding vector for a given input.
New AI functions:
-
GetFieldsOnLayout: Returns a list of the fields on a layout as JSON data. Includes only the fields that are accessible to a find. Useful for debugging what field information is sent by the Perform Find by Natural Language script step.
-
NormalizeEmbedding: Normalizes an embedding vector to unit length. If specified, the dimension parameter reduces the number of vector dimensions to use before normalizing. Allows you to work with custom vectors or use specific dimensions of existing vectors for semantic search operations.
-
AddEmbeddings: Adds two embedding vectors and returns the result as a normalized vector. Can be used to combine the semantic meaning of two embeddings.
-
SubtractEmbeddings: Subtracts embedding vector v2 from v1 and returns the result as a normalized vector. Can be used to isolate or modify semantic concepts in embeddings.
-
PredictFromModel: Returns the predicted value from a trained regression model for the specified text embedding vector. Use the Configure Regression Model script step to train and load a model first. Example uses: Forecast inventory needs for holiday sales, predict customer behavior, or analyze trends based on your historical data.
-
GetRAGSpaceInfo: Returns information about the specified RAG space or all RAG spaces, if no space ID is specified. Works with the RAG account created by the Configure RAG Account script step.
AI enhancements:
-
Anthropic is now supported as a model provider that you can specify in the Configure AI Account script step. See Claris FileMaker 2025 Technical Specifications for the supported models.
-
The Insert Embedding in Found Set script step includes these new options (off by default):
-
Continue on error continues getting embedding vectors for the found set even after errors are encountered in some records. With empty target fields, you can more easily find records that encountered errors.
-
Show summary displays a summary dialog at the end of the operation, showing the number of records successfully processed and any errors encountered.
-
-
The Perform Semantic Find script step includes these improvements:
-
You can directly specify an image to query by. Previously, to find images similar to a given image, you had to query by vector data and supply the image's embedding vector. Now, set the Query by option to the new Image value, then for the Image option, specify an expression whose result is the image as container data (usually a container field or a variable). The script step now obtains the image's embedding vector itself using the specified model.
-
Performance is improved, particularly in hosted files when text or image data is in one table and the embedding vectors are in another table or another file.
-
Access FileMaker data via Claris Studio
-
Starting with FileMaker 2025, you can now easily display and update FileMaker data via Claris Studio views, extending your FileMaker Pro custom app to external stakeholders on the web. For example, use Claris Studio views to present project status, a product catalog, or a dashboard of quarterly results from your FileMaker data, or to update your FileMaker data by capturing text and images directly from customers or adding comments to project tickets.
-
To set up Claris Studio to access FileMaker data, host your custom app with FileMaker Server 2025, then in Claris Studio, add tables from the hosted app as FileMaker data sources in Claris Studio. For details, see Work with data sources in Claris Studio Help.
Note With the availability of FileMaker data sources in Claris Studio, the ability to add Claris Studio tables in a FileMaker Pro file has been removed in FileMaker Pro 2025. Claris Studio tables that you added to a file in earlier versions of FileMaker Pro continue to work when you open them with a FileMaker 2025 client or host; only the ability to add Claris Studio tables has been removed.
Improved user experience in macOS
Home window:
-
When you start FileMaker Pro, you're greeted with the new Home window. It opens to the Favorites or Recent tab to give you quick access to your FileMaker Pro custom apps, depending on which tab you last used. The Create and Open buttons are positioned to make these common actions easy to find.
-
For FileMaker Cloud users, the My Apps window is now the FileMaker Cloud window. Rather than always opening when you start FileMaker Pro, the FileMaker Cloud window is only one click away on the Home window.
-
Tips:
-
To delete a favorite, select it, then press the Delete or Backspace key.
-
To add a recent app as a favorite or delete a recent app, right-click the app, then choose Add to Favorites or Remove.
-
Status toolbar:
-
In Browse, Find, and Preview modes, new icons bring familiar functionality a fresh look.
Layout mode:
-
In addition to new icons, the status toolbar gives you more customization options. The layout tools are now separated into individual items you can add, delete, or rearrange as you prefer. The tools that were previously available only after you click-and-hold are now available either together in a drop-down list or as individual tools you can place on the status toolbar.
-
The objects pane (left) and the Inspector (right) have also been given a fresh look with new icons and colors, as well as better spacing and typography.
Table View:
-
System-wide light and dark appearances are now supported, including the system text, background, accent, and highlight colors. To enable, in Table View, right-click a column heading, choose Table View > Properties, then select System appearance.
-
The enhanced user experience includes a new Comfortable formatting option in the Table View Properties dialog that provides improved readability with scaled fonts, better cell padding, system focus ring in a selected cell, and refreshed icons.
-
Additional options in the Table View Properties dialog let you use alternating row colors and add row numbers on the left side.
Script steps
New script steps:
-
Go to List of Records: Goes to a layout and returns the found set specified by a list of record IDs. You can provide the record IDs as a list of values separated by carriage returns, a JSON array of record IDs as strings or numbers, or a JSON array of objects with
recordId
keys and values. Record IDs can be obtained using the new GetRecordIDsFromFoundSet function.
Script step enhancements:
-
The Replace Field Contents script step now has a Perform auto-enter options for fields option, giving you control over whether other fields with auto-enter options are updated as this script step updates records.
-
The Add Account, Delete Account, and Enable Account script steps support OAuth and external server account types in addition to FileMaker file accounts, making it easier to automate the creation and management of accounts that use external identity providers.
-
The length limitation for the Insert Text script step has been increased from 30,000 to 250,000,000 characters.
Functions
New functions:
-
GetTextFromPDF: Returns the text found in a PDF file in the specified container field. Can be used to include PDF text in finds, add PDF text to a RAG space with the Perform RAG Action script step, or otherwise make it available to AI models.
-
GetRecordIDsFromFoundSet: Returns record IDs from the current found set as a list or a JSON array. The record IDs can optionally be returned as values and ranges of values. The output can be used with the new Go to List of Records script step.
-
JSONParse: Parses text as JSON data and keeps the parsed JSON representation in memory for you to reuse with other JSON functions. You can significantly improve performance of JSON calculations that reuse the same JSON data many times by using this function first, for example, to store the result in a variable:
Set Variable [ $json ; Value: JSONParse ( "[3]" ) ]
-
JSONParsedState: Examines the input passed into it to determine whether it has parsed JSON data as part of it (that is, JSON data previously parsed by the JSONParse function). The function returns 0 if JSON is not parsed, -1 if parsed but invalid, or a positive number representing the JSON type if parsed and valid.
Script Workspace
-
The Script Workspace now lets you collapse and expand blocks of control script steps (for example, If, Loop, and Open Transaction) to provide a better overview of complex scripts. Hold the pointer over the area between the line numbers and the script, then click the triangle to collapse or expand the steps. Or you can select a step, choose Edit > Expand/Collapse Steps, then choose to expand or collapse the selected step, the selected step and all of its substeps, or all steps in the script. For keyboard shortcuts, see Script Workspace keyboard shortcuts (Windows) or Script Workspace keyboard shortcuts (macOS).
Database design and management
-
In the Settings dialog on the Layout tab, the new Update layouts when the schema changes option (unselected by default) lets you control whether FileMaker Pro updates layouts to match changes made in the Manage Databases dialog. For example, when selected, deleting a field in Manage Databases deletes all field objects using that field from all layouts. The existing Add newly defined fields to current layout setting is still available to select separately.
-
Table comments can be added in the Manage Database dialog, similar to field comments, making it easier to document table structure and purpose.
-
In the Manage Database dialog, the field list displays in the Type column the data type for the results in calculation fields, making it easier to identify the data type without opening the Specify Calculation dialog for each field.
-
To help you organize your custom functions, you can work with them in folders. In the Manage Custom Functions dialog, you can create, rename, and delete folders as well as arrange custom functions in them, nesting folders as needed. You can also use the Search box to filter the list of custom functions. In the Import Custom Functions dialog, you can select a folder to conveniently import all the custom functions in the folder.
Layouts
-
In Layout mode, you can now add objects to existing groups by selecting both the group and the object to be added without needing to ungroup first, streamlining the process of organizing layout objects. Similarly, you can remove objects from existing groups. Use the Arrange > Add to Group or Remove from Group menu commands or the equivalent in the Position tab in the Inspector.
Upgrade to major releases using Check for Updates
-
FileMaker Pro 2025 is the first major release that you can upgrade to from the latest version of the previous major release (FileMaker Pro 2024) by clicking Help > Check for Updates or when the Software Update dialog opens when you start FileMaker Pro, if you have an eligible license.
-
Windows: Previously, major FileMaker Pro releases were installed alongside any previous versions you had installed. Starting with FileMaker Pro 2025, installing the latest major version of FileMaker Pro replaces the previous version.
Save a Copy as XML
-
When a FileMaker Pro file is saved using Save a Copy as XML, the root FMSaveAsXML element of the XML file now includes a Has_DDR_INFO attribute that's set to True when the Include details for analysis tools option is selected. This attribute allows analysis tools to quickly determine whether the file includes the DDR_INFO element containing additional information without parsing the entire file.
Application
-
References to "Microsoft Azure AD" have been updated to "Microsoft Entra ID" throughout FileMaker Pro, reflecting Microsoft's renaming of their identity and access management services.
-
Theme recovery has been improved to handle cases where a theme becomes corrupted or is missing. If the catalog data is corrupted and the index list is lost, the theme data is now used to rebuild the index list, preserving layout design even when themes are damaged.
Security
-
Use of the OpenSSL library is now optimized with additional compiler flags, improving performance for cryptographic operations and reducing the loading of deprecated components.
Updated libraries and packages
The following third-party libraries have been updated to the indicated versions:
-
Antlr 4.13.1
-
date 3.0.3
-
International Components for Unicode (ICU) 76.1
-
iODBC 3.52.16
-
JSON Web Token C++ library (jwtcpp) 0.7.0
-
libxml2 2.13.5 and libxslt 1.1.42
-
OpenCV 4.11.0
-
PDF-Writer 4.6.6
-
PDFium 6957
-
Skia 126
-
speller v22
-
ZBar 0.23.93
Addressed issues
Layouts
-
After a card window was closed, some objects on the layout lost their background color.
-
Drop-down list and calendar icons did not appear for fields that were not initially visible when loading a layout, only becoming visible when hovering over the field or clicking it.
-
Windows: In Layout mode, a portal would shrink to zero height after changing options in the Portal Setup dialog, making the portal apparently disappear from the layout.
-
Layout calculations didn't follow conditional formatting rules for numbers with negative values, displaying them without the expected formatting.
-
Layout calculations didn't respond to Hide object when conditions. For example, when a layout calculation was set to hide when Self = 1, it remained visible regardless of the condition.
-
In List View, layout objects that spanned parts were drawn outside the parts when scrolling or resizing the window, causing graphic defects.
-
The background image specified for a layout part was not trimmed to the part boundary, causing elements like navigation bars in adjacent layout parts to disappear when they should remain visible.
-
macOS: After typing in a pop-up menu that's inside a card window, pressing Command-W to close the card caused FileMaker Pro to quit unexpectedly.
-
When Slide up based on was selected for a vertical line object, the line moved to the left by 0.5 px in Preview mode compared to its original position.
-
Windows: When switching to List View, if a record was partially displayed at the bottom of the window, scrolling the window sometimes caused field data not to be displayed in a subsequent record until after you clicked in a field in that record.
-
macOS: In Layout mode, after switching between layouts, clicking layout objects failed to select them under some circumstances.
-
Deleting a field in the Manage Database dialog removed the field object and label from the current layout and every second layout thereafter. Now, deleting a field deletes the objects and labels from all layouts.
-
Windows: In web viewers, the Edit menu commands Cut, Copy, Paste, Clear, and Select All didn't work.
Script Workspace
-
The script editing pane lost focus after dragging steps to rearrange them, causing keyboard input to be ignored until the script editing pane was clicked again.
-
In the script editing pane, the Paste script step showed No style when Paste without style was unselected and showed nothing when it was selected, which is the opposite of what should appear in this script step.
Script steps
-
After running the Perform Script script step with a script folder, rather than a script, specified by name, Get(LastError) returned error code 0 ("No error"). Now, it returns error code 104 ("Script is missing").
-
After running the Insert Embedding script step with any of the required options empty, Get(LastError) returned error code 0 ("No error"). Now, it returns error code 10 ("Requested data is missing").
-
When a Close Window script step was performed within a transaction, the transaction was properly reverted, but the Get(TransactionOpenState) function incorrectly returned 1 instead of 0, indicating the transaction was still open.
-
After Perform Script on Server with Callback ran the callback script and the callback script then used Perform Script to run another script, Get(ScriptResult) incorrectly returned the result from the original Perform Script on Server with Callback script step instead of the result from the Perform Script script step.
-
In FileMaker Go, Tab keyboard shortcuts and Go To Object script steps didn't work with buttons, preventing keyboard navigation to buttons and programmatic focus control.
-
When using the Insert from URL script step to insert a .zip file into a container field, the file was inserted but with incorrect metadata. The file size showed as "?", the filename was empty, and the MD5 value couldn't be calculated.
-
Windows: When the system default email client was a MAPI email application (such as Mozilla Thunderbird) but Microsoft Outlook wasn't installed, the Send Mail script step, when set to send via an email client, displayed an error message that a supported email client wasn't found. Now, the error displays only when no MAPI email application is found as the system default.
-
macOS: When using the Send Mail script step to send via Microsoft Outlook as the email client, FileMaker Pro failed to open Outlook if the record set included a record with an empty To, CC, or BCC field.
-
When the Open URL script step was run with an fmp:// URL that included an account and password, the Open "Filename" dialog opened, requiring the user to enter credentials instead of opening the file directly.
-
The ExecuteSQL function with a SQL statement that included an IN operator returned no results, even though the same query without the IN operator returned results correctly.
-
When using the Save a Copy as Add-on Package script step, container data wasn't included in the record XML. The resulting add-on didn't have data in the container when added to other FileMaker Pro files.
Functions and calculations
-
Carriage return (Char(13)) characters in variables were changed to linefeed (Char(10)) characters when the variables were used in a chart object, causing unexpected behavior in code that relied on specific character values.
-
The EvaluationError function returned 0 when used with ExecuteSQLe, even when the SQL statement failed, instead of returning the expected error code.
-
SQL queries returned "?" for 4-byte UTF-8 characters, causing issues with emojis and certain Asian language characters.
-
FileMaker Pro quit unexpectedly when evaluating calculations in a Show Custom Dialog script step under some circumstances.
-
When a layout was refreshed, hidden merge fields based on calculation fields were evaluated even though hidden calculation fields weren't, causing unexpected calculation behavior.
-
The ConvertToFileMakerPath function added the root drive or volume when converting a file path, even if the root drive or volume was already present in the path.
-
The JSON functions returned an error when brackets were used in keys.
-
The JSONDeleteElement function returned an error instead of deleting an element when given an array of null values.
-
The Timestamp function didn't correctly interpret 24-hour format time data in stored calculation fields when the system's region was set to Korea and 24-hour format was enabled.
Application
-
Error handling for dictionary loading has been improved to prevent the "Cannot load main spelling dictionary" error from interrupting your work, especially when spell checking is disabled.
-
Custom menus were not properly removed when pasted into the Manage Custom Menus dialog and then canceled, leaving behind blank custom menus.
-
macOS: After resizing the Edit Custom Function dialog, the first column of characters in the calculation were cropped by the left edge of the calculation area and were no longer viewable in certain situations.
-
Windows: In a field that uses a value list and has the Allow editing of value list option selected, clicking the field in Browse mode, choosing Edit, selecting text in the Edit Value List dialog, right-clicking the text, and choosing Copy didn't copy the selected text to the clipboard.
-
In Preview mode, moving the slider in the status toolbar all the way to the right did not immediately go to the final page as expected. Instead, the preview only moved forward a few pages at a time.
-
References to scripts in custom menu items were lost when copying custom menu items to another file. The result was "Script missing" errors even when scripts with matching names existed in the target file.
-
Japanese table and field names in the ExecuteSQLe function appeared as garbled characters when checking execution results in the Data Viewer.
-
When specifying a field, the field list was sorted in an order that didn't always match the order set in the Manage Database dialog.
-
When updating web viewers with JavaScript charts, FileMaker Pro consumed increasing amounts of memory over time.
-
Windows: When uploading a file to FileMaker Server, creating a new folder in the upload destination and double-clicking to rename it with multibyte characters resulted in garbled text.
-
When opening an FMP12 file using an fmp:// URL that included an account and password, FileMaker Pro on macOS and FileMaker Go failed to authenticate with the included account or password if they contained Unicode characters such as those with diacritical marks.
-
In the relationships graph, pressing Ctrl+A (Windows) or Command-A (macOS) under certain conditions caused FileMaker Pro to quit unexpectedly.
-
Windows: In the Manage Security dialog, the Description column was missing.
-
In the Set Variable script step, when editing formulas in Japanese, text disappeared when inserting or erasing line breaks in specific positions within the formula.
Data handling and validation
-
Performing a find on timestamp fields (using the >= operator) in a large, local file could corrupt the file, causing it to become inaccessible after closing.
-
The Specify Calculation dialog for the Display custom message if validation fails option incorrectly showed the data type of the field being validated instead of always showing "Calculation result must be Text."
-
When importing data from an Excel file, a cell with the text value "nan" was imported as 0.
-
For a field in a related table that was validated by a calculation that used the Self function and had a custom validation message that also used the Self function, the validation message was blank when validation failed.
Save a Copy as XML
When a FileMaker Pro file was saved using Save a Copy as XML:
-
When copying and pasting a button with a script step, the pasted button's script step had a blank UUID in the XML file. Additionally, when duplicating a button by pressing Command and dragging, the duplicated button's script step retained the same UUID as the original instead of generating a new one.
-
Field access rules weren't reflected in the XML for fields that weren't explicitly modified in the Custom Field Privileges dialog, causing incomplete representation of security settings in exported XML.
-
Icon images specified in the File Options dialog weren't referenced correctly in the XML.
-
Function name text was changed, causing differences in text case for functions and operators in calculations even when no actual changes were made.
-
For a style that was not saved to a theme, the expected style information was missing from the LocalCSS element.
-
When layout objects that contain other objects (for example, grouped objects, portals, tab controls) are duplicated by pressing Alt (Windows) or Option (macOS) as you drag them, the UUID values of the inner objects were duplicated rather than assigned new values.
-
Objects inside a group of objects that was inside a portal were represented twice in the XML.
-
The CalcsForCustomFunctions element in the XML for each custom function was missing a DDRREF key.
-
The DDRREF values in the XML changed with each save, causing analysis tools to incorrectly detect changes when comparing files. Now, rather than generate a new value on each save, many elements now use the existing UUID of the catalog member (or its parent node) as the basis of the DDRREF value.
-
Popovers weren't represented as LayoutObject elements in the XML, making it inconsistent with other object types and causing issues for database analysis tools.
-
The access attribute of the top-level Fields element's in the XML had a generic value like "ReadOnly" even when fields had mixed access levels. Now, this attribute has the value "Custom" to indicate custom privileges.
Version 21 – FileMaker Pro 2024

New features and enhancements
Artificial intelligence
-
Performing semantic finds for images using open source models
-
The Insert Embedding and Insert Embedding in Found Set script steps as well as the GetEmbedding function can now send images to a model that supports image embedding. When you use the returned image embedding data with the Perform Semantic Find script step, you can now specify text or embedding data for an image to query a set of records for those with similar images.
-
To get embedding vectors for both text and image data using models that run on your own hardware, you can now use the open source model server provided separately with FileMaker Pro or installed with FileMaker Server.
For more information about the open source model server and performing semantic finds for images, see the Claris Engineering Blog.
-
-
Cohere is now supported as a model provider that you can specify in the Configure AI Account script step. See Claris FileMaker 2024 Technical Specifications for the supported embedding models.
-
To verify the SSL certificate of an open source model provider's server before sending data, you can now enable the Verify SSL Certificates option in the Configure AI Account script step.
-
The new Save result option lets you save the found set returned by the Perform Semantic Find script step as a JSON array.
-
With the new Truncate Messages option, the Set AI Call Logging script step lets you shorten some of the longer log messages.
-
The Get(LastStepTokensUsed) now also returns the number of records that received embedding vectors or were skipped after an Insert Embedding in Found Set script step.
Open Quickly
-
Custom app developers can now control whether users can access any layouts and scripts from the Open Quickly box. The new Allow Open Quickly access to layouts and scripts privilege is deselected by default in all accounts without full access. For more on how this and other privileges and settings affect Open Quickly results, see Controlling Open Quickly access.
-
For accounts with full access privileges, Open Quickly results can now include tables, fields, and table occurrences. Clicking a result opens the Manage Databases dialog with the result selected. And while in the Manage Databases dialog, you can use the Open Quickly box to search for only the items in Manage Databases.
-
The Open Quickly box now by default limits the search for items that are within a file (for example, layouts and scripts) to only those in the current file. To extend the search to all open files, you can deselect the current file option.
-
To help you distinguish between types of items, category headings now separate Open Quickly results for files, layouts, scripts, tables, fields, and table occurrences into their own groups.
See Using the Open Quickly box.
macOS Sequoia support
-
This release adds support for macOS Sequoia 15.
Note FileMaker Pro 2024 is not supported on macOS Monterey 12 and, in this release, will no longer install on Monterey. If you're a Monterey user, you must upgrade to a later version of macOS before you can install this version of FileMaker Pro. For the supported versions of macOS, see Claris FileMaker 2024 Technical Specifications.
Script steps
New script steps:
-
The Set Revert Transaction on Error script step lets you control whether transactions are immediately reverted when an error occurs, which is the default behavior. When your script needs to do its own error handling, set this script step to Off.
Script step enhancements:
-
To streamline creating scripts, many script step options now default to more commonly used values, so you likely won't need to change them every time you use them. For example:
-
The Go to Record/Request/Page and the Go to Portal Row script steps when set to Next or Previous now default the Exit after last option to On rather than Off.
-
The With dialog option in most cases now defaults to Off rather than On.
-
The Create folders option used in Export Records, Export Field Contents, and other script steps now defaults to On rather than Off.
-
-
To let you control whether auto-enter options are performed at all within a transaction (whether by importing or otherwise creating or modifying records), the Open Transaction script step provides the new option Skip auto-enter options. When this option is Off (the default), auto-enter options are performed in fields for all new or modified records when the Commit Transaction script step is reached. When this option is On, auto-enter options are not performed for any fields.
-
To improve the performance of some find requests that use the Constrain Found Set script step and use criteria fields that are indexed, you can use the new Find without indexes option. This option may be particularly helpful for constrained finds that operate on found sets that are already a small subset of the total number of records in the table.
-
When writing data, the Execute FileMaker Data API script step now supports overriding the Prohibit modification of value during data entry option for auto-enter data in a field. In the request, set the new
prohibitMode
key in theoptions
object toscript
(ignore this auto-enter rule) oruser
(follow this auto-enter rule). -
In the Save a Copy as XML script step, you can now select the Include details for analysis tools option. This option adds a DDR_INFO element to the XML file, which provides additional information that's useful to third-party tools you can use to analyze your custom app.
Functions
New functions:
-
The new Get(RevertTransactionOnErrorState) function lets you detect whether the Set Revert Transaction on Error script step is currently on.
-
The new ExecuteSQLe function is identical to the existing ExecuteSQL function, except that, if an SQL error occurs, it returns ? followed by a detailed error message.
-
The new Get(SystemStorageAvailable) function returns the available storage, in bytes, on the system drive where the FileMaker software is installed.
Function enhancements:
-
With support for Live Text in the Arabic language added in iOS 18, iPadOS 18, and macOS Sequoia 15, the GetLiveText and GetLiveTextAsJSON functions now support language codes "ar-SA" and "ars-SA" as well.
Layouts
-
Changing a field name or table occurrence name in the Manage Database dialog now automatically updates fully-qualified field names (table::field) in layout calculations. Also, layout calculations now support the use of function names and keywords in supported languages across all clients and hosts.
-
You can now change the default theme that's used when creating new layouts. See Managing layout themes.
Database schema
-
In the Options for Field dialog, the Display custom message if validation fails option now lets you specify a calculation, enabling you to internationalize the message or otherwise make the message dependent on the context. See Defining field validation.
-
For externally stored container fields that use secure storage, you can now opt to store files in fewer folders so that moving a database with its external container data is faster. In the Options for Field dialog, choose the With fewer folders option for the selected container field with secure storage. Note: This option is not compatible with earlier versions of FileMaker clients and hosts. See Setting up container fields to store data externally.
Security
-
In a file that authorizes specific external files to access it, you can now further require that the external files must be on the same host as the current file by selecting the All files must be on the same host option. See Authorizing access to files.
Application
-
In the following dialogs, changes you make to column widths are now saved and used when you reopen the dialogs:
Conditional Formatting, Manage Custom Functions, Manage Custom Menus, Manage Database, Manage External Data Sources, Manage Layouts, Manage Security, and Manage Value Lists
-
When importing a folder of text files all at once, you can now import files with the .xsl and .xslt filename extensions.
-
When a table occurrence is deleted from a file, the Manage Layouts dialog now shows <unknown> in the Associated Table column for layouts based on the deleted table occurrence. Previously, the table occurrence name was blank.
-
When you click Tools > Save a Copy as XML, you can now select the Include details for analysis tools option. This option adds a DDR_INFO element to the XML file, which provides additional information that's useful to third-party tools you can use to analyze your custom app.
-
To make it easier to change the file cache size at install time for large deployments, you can now set the AI_SET_FILE_CACHE property in the Assisted Install.txt file. See Setting personalization properties in Assisted Install.txt.
-
The name of the Preferences dialog is now Settings.
Save a Copy as XML
When a FileMaker Pro file is saved using Save a Copy as XML:
-
With the Include details for analysis tools option selected:
-
The text of each script step in each script is now included in the DDR_INFO element in the XML file for the benefit of database analysis tools.
-
Details for calculation chunks are now represented in the DDR_INFO element in the XML file. For each calculation, there's now an element along with its calculation chunks so that database analysis tools can track references to fields, functions, and custom functions.
-
Details for the external data source of an additional field used to sort a summary field are now represented in the DDR_INFO element in the XML file. For each such FieldReference element, there's now a FieldReference element under DDR_INFO that includes information about the external data source.
-
-
Accounts that have an empty password are now reflected in the XML file by having no INSECURE_PASSWORD element.
Updated libraries and packages
-
OpenSSL has been upgraded to version 3.3.1.
Tools
-
FileMaker plug-ins installed on FileMaker Server can now receive notifications when schema changes are made in a hosted file. For more information, see the README.txt file in the FileMaker plug-in SDK.
-
The FileMaker upgrade tool now supports changing any of the on/off options found in the File Options dialog. Options that require a text value (such as minimum version) or require more complex selections (such as script triggers) aren't supported. For more information, see FileMaker Upgrade Tool Guide.
Addressed issues
Script steps
-
Windows: If no supported email client application was found, the Send Mail script step returned error code -1 ("Unknown error"). Now, it returns error code 119 ("No supported email client found").
-
When the default email client application was not set to Outlook (Windows) or Mail.app (macOS), the Send Mail script step, when set to send via an email client, displayed an inaccurate error message. Now, the error message says that no supported client was found.
-
When the Insert from URL script step was performed with the
--location
cURL option, an error was returned that the hostname for the SSL certificate didn't match that of the specified URL when the host redirected to a URL with a different hostname.
Functions and calculations
-
When a positive number was subtracted from a date or timestamp value, and the expected result was a negative number, the returned value was a negative number as expected. However, when a negative number was added to a date or timestamp value, and the expected result was a negative number, the returned value was "?". Now, instead of "?", the expected negative value is returned.
-
The Base64EncodeRFC function returned the value of the
RFCNumber
parameter when the value of thedata
parameter was an empty string. Now, it returns an empty string. -
When evaluated by certain JSON functions, JSON key names that included a Unicode null character (\u0000) caused FileMaker clients and hosts to become unresponsive or quit unexpectedly.
Application
-
macOS: When you created a new file and specified a filename in the Save As field to save the file on your Mac, the keyboard shortcuts to copy, cut, paste, select all, undo, and redo didn't work.
-
macOS: In Layout mode, when you pressed the Shift key to limit the direction of an object's movement while dragging it horizontally, in some situations the object moved only vertically, not horizontally as expected.
-
Windows: When entering Japanese text in a dialog's text boxes for certain script steps in the Script Workspace, selecting conversion candidates in the input method editor (IME) using the Tab key didn't insert the selection into the text box and deleted existing text in the text box.
-
Windows: In Layout mode, after you chose Insert > Other Symbol, the longest symbol names in the dialog were truncated.
-
When FileMaker Pro connected to a file on a host whose SSL certificate couldn't be verified (the file's security lock icon was orange), interactive container fields in the hosted file didn't display their contents as expected.
-
Mac with Apple silicon: With an object selected in Layout mode and the Inspector open, when you dragged a shade of gray from the top row of the color palette to the theme color area, then clicked the dark variation (black) of this custom color to apply it to the selected object, the object color changed to purple rather than the selected color.
-
In the Edit Find Request dialog, when the selected field was a time, date, or timestamp field, full-width characters entered for Criteria were changed to half-width characters after clicking Add or Change. For example, a variable named "$aーb:c/d" was changed to "$a-b:c/d" (a different variable name), which caused the find request to fail.
-
In certain situations, after you clicked the next or previous record button in the status toolbar then dragged the slider to another record, FileMaker Pro quit unexpectedly.
-
For portals with a top border and portal rows with a bottom border, each time you dragged a handle to resize only the width of the portal in Layout mode, the height of the portal rows increased by a small amount.
-
For a text or number field with its control style set to Pop-up Menu and using a value list, in Table View, after you created enough records to fill the height of the window then clicked the gray area below the last record, FileMaker Pro quit unexpectedly.
Layouts
-
macOS: In a web viewer where the webpage contains a file input field with the "multiple" attribute set, clicking the Choose Files button in the web viewer and selecting files didn't allow you to select multiple files.
Security
-
Using an account with a privilege set that allowed only creating and viewing records, in limited circumstances a user was also able to edit the records they created in a previous session if the file was hosted but not if the file was opened locally. If the hosted file was opened by different accounts with the same privilege set and from the same client computer as that of the account that created these records, then those accounts were also able to edit these records.
Save a Copy as XML
When a FileMaker Pro file was saved using Save a Copy as XML:
-
The state of the Don't display in host's file list options for FileMaker clients and FileMaker WebDirect were missing in the XML file. Now, they're reflected in the HideClientSharing and HideWebDirectSharing elements.
-
The predefined privilege sets were missing access details in the PrivilegeSet element in the XML file.
-
The XML grammar used in privilege set access for record, layout, value list, and script privileges was inconsistent, and default privilege sets were missing access details in the XML file.
-
Export Records script steps were missing the DataSourceReference element for fields in external data sources that were specified in the export field order.
Tools
-
In the FileMaker plug-in API, FMX_SetToCurrentEnv returned the 100 error when no files were open to indicate there was no file to set it to, but the environment didn't work for non-file related operations. Now, it still returns 100 in this case, but it does allow non-file operations to work much like they do in the FileMaker Pro Data Viewer when no files are open.
Known issues
For layout calculations:
-
Created in a previous version of FileMaker Pro:
-
The result displayed in Browse mode is "?" if the layout calculation includes a field reference without a table reference.
-
In Layout mode, right-clicking the text frame containing the layout calculation then choosing Edit Layout Calculation doesn't open the Specify Calculation dialog as expected.
-
-
With a malformed calculation format:
-
In Layout mode, right-clicking the text frame containing the layout calculation then choosing Edit Layout Calculation doesn't open the Specify Calculation dialog as expected.
-
Workaround: In Layout mode, double-click the layout calculation's text frame first, so that the insertion point is inside the text frame. Then right-click inside the text frame and choose Edit Layout Calculation. After you close the Specify Calculation dialog, save the layout. After that, the layout calculation displays as expected in Browse mode, and you no longer need to double-click the text frame first in Layout mode.

Addressed issues
-
When performed in a hosted file, the Perform Semantic Find script step returned a found set that wasn't consistently sorted by cosine similarity as expected.
-
After specifying an ODBC data source in an Import Records script step, the Specify Import Order dialog didn't display source fields for you to map to target fields.
-
Windows: When signing in to FileMaker Pro with an account authenticated via certain external identity providers to access files hosted by FileMaker Cloud, an error message was displayed instead of the page for two-step verification.
-
Windows: FileMaker Pro was unable to import records via the Sage Accounts 50 v29 ODBC driver.
-
Windows: After selecting a button or button bar in Layout mode, opening the Button Setup or Button Bar Setup dialog, clicking a control that opened the Specify Calculation dialog, then, in some cases, changing focus outside the application, FileMaker Pro stopped responding or quit unexpectedly.
Important FileMaker Pro 2024 is not supported on macOS Monterey 12 and, in an upcoming release, will no longer install on Monterey. To keep using the latest version of FileMaker Pro, Monterey users will soon need to upgrade to a later version of macOS first. For the supported versions of macOS, see Claris FileMaker 2024 Technical Specifications.

New features and enhancements
Artificial intelligence script steps and functions
The new AI script steps and functions help you more easily use data from your FileMaker Pro apps with large language models (LLMs). Along with script steps to get embedding vectors from your data and various utility functions, the Perform Semantic Find script step helps make performing a find much smarter than just finding keywords.
New AI script steps:
-
Configure AI Account: Sets up an AI account to use by name, given a model provider (or endpoint) and an API key.
-
Insert Embedding: Enters the vector representation of the specified input text into a field or a variable.
-
Insert Embedding in Found Set: Inserts a value in a field in every record in the found set with the vector representation of the contents of a specified field.
-
Perform Semantic Find: Performs a semantic find in the specified field and constrains the specified record set for the given search text and model to use or for the given embedding vectors.
-
Set AI Call Logging: Controls whether details of AI calls are saved to a log file.
New AI functions:
-
CosineSimilarity: Returns the similarity between two embedding vectors as a number between -1 (opposite) and 1 (similar).
-
GetEmbedding: Returns a vector representation as container data for input text using an embedding model.
-
GetEmbeddingAsFile: Converts an embedding vector from text format to binary container data.
-
GetEmbeddingAsText: Converts an embedding vector from binary container data to text format.
-
GetTableDDL: Returns table information in Data Definition Language (DDL) format for a list of table occurrences specified as a JSON array.
-
GetTokenCount: Returns the token count for the specified text. Use for guidance only; actual counts used by models may vary.
-
Get(LastStepTokensUsed): Returns the tokens used in the last AI script step.
Along with these new script steps and functions, the existing machine learning script step and function are now located in the new "Artificial Intelligence" category in the Script Workspace and Specify Calculation dialogs.
Open Quickly
-
To make it easier to open your creations in FileMaker Pro, the Open Quickly box can now:
-
Open recent and favorite FileMaker Pro files.
-
Search across all open files for layouts and scripts.
-
Be accessed in any mode as well as when the script editor menu is active.
-
Open the selected layout in a new window if you press and hold the Alt key (Windows) or Option key (macOS).
-
For the selected script, run the script (default) or, if privileges allow, open the script for editing.
-
-
To open the Open Quickly box more easily, its keyboard shortcut has been swapped with that of the Fields tab in Layout mode:
-
Open Quickly box: Ctrl+K (Windows), Command-K (macOS)
-
Fields tab: Ctrl+Alt+K (Windows), Command-Option-K (macOS)
-
See Using the Open Quickly box.
Script step enhancements
-
The Perform Script on Server with Callback script step now includes:
-
The State option to specify whether the callback script should pause, resume, exit, or halt a currently running script. This provides the same options as for scripts started via other methods.
-
The By name option to specify a callback script name via a calculation to more easily customize the flow of scripts.
-
-
The Execute FileMaker Data API script step now supports:
-
Write operations to modify record data. In the request, set the
action
key tocreate
,update
,delete
, orduplicate
values. -
Returning appropriate error information via the Get(LastError), Get(LastErrorDetail), Get(LastErrorLocation) functions as other script steps do.
-
Overriding the Allow user to override during data entry validation option. In the request, set the new
options.entrymode
key touser
(follow validation rules) orscript
(override validation rules).
-
-
The Configure Local Notification script step now supports:
-
Running in FileMaker Pro (previously supported only in FileMaker Go).
-
Displaying a notification when FileMaker Go is in the foreground (supported in FileMaker Go only). Use the new Show when app in foreground option.
-
-
The Set Error Logging script step is now supported in scripts run by FileMaker WebDirect and FileMaker Data API to help you quickly identify and troubleshoot issues. See Set Error Logging.
-
The Revert Transaction script step is now supported in sub-scripts to help you streamline your scripts that use transactions. For more information on this improved support for nested transactions, see Open Transaction.
-
Insert from URL now supports the
--aws-sigv4
cURL option. This option is not supported when the file is hosted by FileMaker Server on Ubuntu 20. See Supported cURL options. -
The Save a Copy as Add-on Package script step is no longer in preview and has been added to FileMaker Pro Help. See Save a Copy as Add-on Package.
Functions
New functions:
-
The new JSONMakeArray function converts a list of values to a JSON array given the line separator and the JSON data type to use. See JSONMakeArray.
-
In macOS, iOS, and iPadOS, the new GetLiveTextAsJSON function returns the text found in an image provided in a container field, similar to how the GetLiveText function does. However, this function returns JSON data for each separate line of text and its location within the image. See GetLiveTextAsJSON.
Function enhancements:
-
Syntax improvements for JSON functions:
-
To easily append elements to an array with the JSONSetElement function, you can now use
"[+]"
in thekeyOrIndexOrPath
parameter to represent the next element after the end of the current array. For example, this adds two elements to the end of an existing array in $$jsonArray:CopyJSONSetElement ( $$jsonArray ;
[ "[+]" ; "Claris" ; JSONString ] ;
[ "[+]" ; "FileMaker" ; JSONString ]
) -
To easily reference the last element in the current JSON array, you can now use
"[:]"
in thekeyOrIndexOrPath
parameter in any of the JSON functions. For example:-
JSONGetElement ( "[1, 2, 3, 5]"; "[:]" )
returns 5. -
This creates an array with one element using the "[+]" syntax, then adds another key-value pair to that element by referencing it with the
"[:]"
syntax:CopyJSONSetElement ( "[]";
[ "[+].a", 5, JSONNumber ] ;
[ "[:].b", 6, JSONNumber ]
)Which returns:
[ { "a":5, "b":6 } ]
See Working with the JSON functions, JSONSetElement, and JSONGetElement.
-
-
-
With support for Live Text in Thai and Vietnamese languages added in iOS 17, iPadOS 17, and macOS Sonoma, the GetLiveText and GetLiveTextAsJSON functions now support these languages as well. See GetLiveText.
Layouts
-
Web viewers now support Web Real-Time Communication (WebRTC) in FileMaker Pro (not supported in FileMaker Go). For web viewers to use WebRTC, when FileMaker Pro starts for the first time, the user is requested to grant access to the camera and microphone.
Application
-
macOS: The Window menu now shows icons for minimized FileMaker Pro windows.
-
Windows: Performance has been improved when using the search box in areas such as the Manage Layouts dialog, the Fields tab in Layout mode, and the Script Workspace.
-
Windows: All references to the Microsoft Edge WebView2 runtime have been updated to the same version for a more consistent experience.
-
Repetitions in variables are now supported in file paths. For example, $path[2] can be set to a file path and used in script steps like Export Field Contents where paths are expected:
CopySet Variable [ $path[2]; Value: Get ( DesktopPath ) & "test.pdf" ]
Export Field Contents [ Table::Container ; "$path[2]" ; Automatically open ; Create folders: Yes ] -
The import.log file now includes error information when issues occur during copying or importing of value lists and themes.
-
In the Manage Database dialog, the relationships graph now supports Dark Mode.
-
The ability to make indirect database schema changes has been removed from scripting while a script is running with Full Access privileges.
-
All Claris FileMaker 2024 products have a new icon. Look for it in the apps, installers, .fmp12 file icons, and more.
Installer (Windows)
-
Windows: The Microsoft Edge WebView2 Runtime installer included with the FileMaker Pro installer has been updated to version 118.0.2088.76. If a later version is already installed, this version of the WebView2 installer isn't run.
-
Windows: The FileMaker Pro installer now installs an updated Bonjour on top of an existing Bonjour installation.
Save a Copy as XML
When a FileMaker Pro file is saved using Save a Copy as XML:
-
The image data for every instance of a custom icon was saved separately in the XML file. Now, the image is stored once and referenced by each instance, which can reduce file size and complexity.
-
Layout objects, script steps, and custom menu items now include hashes, making it easier to detect when they change.
Updated libraries and packages
-
The Xerces XML parser library has been replaced with libxml2, and the Xalan XSLT processor library has been replaced with libxslt. See XML format.
-
As part of the replacement with libxml2 and libxslt, extensions from EXSLT are also supported. See exslt.github.io.
-
-
OpenSSL has been upgraded to version 3.0.11.
-
OmniOrb has been updated to version 4.3.2.
Addressed issues
Script steps
-
Windows: When the Insert from URL script step was used with a valid URL that started with file:// and included any Unicode characters, the script step returned a "connection failed" error.
-
When using the Insert From URL script step with the
--proxy
cURL option and an HTTPS proxy server, an error was returned that the SSL certificate name of the proxy didn't match with the final destination. -
When using the Execute FileMaker Data API script step with the
action
key set tocreate
orupdate
, specifying a value for thedateformats
key returned an error. -
FileMaker Pro quit unexpectedly when running an Execute FileMaker Data API script step that referenced a field ending with a colon.
-
The Send Event script step in an add-on caused error 100 to be returned after exporting then re-importing the add-on.
-
The Configure Local Notification script step failed to run when system notifications were disabled and failed to send the "NotificationNotAllowed" value in the script parameter.
-
After running a script that performed the Loop script step with the Flush option set to Defer, related fields didn't always display or refresh data as expected.
Functions and calculations
-
Get(ModifiedFields) did not necessarily return the list of non-empty fields when a record was deleted.
-
Comparing numbers with high precision sometimes incorrectly caused equivalent numbers to be evaluated as different.
-
In some cases, referencing a repeating field at an index containing 9 or more zeroes caused the operation to silently fail.
Performance
-
Text shortening functions, such as Left and GetValue, were slower than in previous versions. Memory reduction changes to functions are now tuned to improve performance.
-
JavaScript ran slow in web viewer objects when custom functions ran with recursion.
Layouts
-
macOS: When opening Dropbox in a web viewer, an error was displayed directing you to "Update your browser to use Dropbox."
-
Windows: Web viewers in FileMaker Pro always used English as the user interface display language. Now, web viewers use the Windows display language chosen in the Windows Settings app.
-
macOS: FileMaker Pro stopped responding when thousands of repeating fields were visible.
-
macOS: Conditional formatting in slide controls was not necessarily evaluated.
-
Windows: Layouts using the old enlightened_print theme were slow to print.
-
Hover state styling was often not correctly applied on fields configured with placeholder text.
-
When you clicked in a layout calculation that was in a containing object like a panel control or portal, clicking outside the layout calculation caused it to move down and to the right.
-
Layout calculations did not update when updating field data by field name instead of by fully qualified name.
-
In a field set to display as a concealed edit box, placeholder text that used the text formatting functions in a calculation was not formatted correctly in the normal and hover states.
-
Creating a new text object, then click-dragging the object caused the object width to change to 0.
-
A portal with a single row increased in size by 1 pixel when the Portal Settings dialog opened.
-
In Kiosk mode, in some cases the display of a layout was vertically offset such that the active area of a button was somewhat higher than the visible area of the button. Also, in List View, the first record was initially scrolled up somewhat, obscuring the first record.
Security
-
If signed in to a FileMaker Pro file using an account with no record access privileges to some tables, the Data Viewer became active when a script with Grant Full Access Privileges enabled was run. If previously set up to watch values dependent on data in restricted tables, the Data Viewer's Watch tab revealed restricted data for as long as the script was running.
Application
-
In files hosted by certain versions of FileMaker Server or FileMaker Cloud, FileMaker Pro prevented users from making changes in the File Options dialog.
-
macOS: In the Hosts dialog, after you edited a favorite host and pressed the Escape key, FileMaker Pro quit unexpectedly.
-
macOS Sonoma: When Stage Manager was turned on, in some cases, FileMaker Pro windows returned to their original positions after you moved them.
-
After you selected any of the following options in the File Options dialog, a Database Design Report listed them as "Off":
-
Allow stored credentials for authentication
-
Require iOS or iPadOS passcode
-
Show sign-in fields even when OAuth or AD FS is enabled
-
Hide all toolbars
-
-
The OnWindowTransaction script trigger did not appear on the Database Design Report.
-
macOS: When more than six OAuth providers are set up to sign in to a hosted FileMaker Pro file, buttons for only six providers are displayed in the sign-in dialog.
-
macOS: When a computer was set to use a proxy server with a username and password to access the internet, if HTTPS Tunneling was turned on, then FileMaker Pro couldn't connect to a FileMaker Server host on the internet.
-
macOS: After using Help > Check for Updates, the version dialog incorrectly displayed the caption "Update Error!" and the button "Cancel Update" when there was no update available.
-
macOS: Quitting FileMaker Pro with multiple windows, both panes in Layout mode, the Manage Layouts dialog, and an Inspector window all open caused FileMaker Pro to report an error.
-
macOS: Previously, after editing a function in the Custom Functions dialog, using Undo undid all changes. Now, each time you use Undo, it undoes only the most recent change, as in other calculation dialogs.
-
macOS: In the Slide Control Setup dialog, the panel count was cut off when the number of panels was large.
-
macOS: FileMaker Pro quit unexpectedly when using the Command-U keyboard shortcut while in the relationships graph if the Manage Database dialog was opened by a script. Also, keyboard commands and accelerators for the relationships graph will now function rather than being ignored.
-
macOS: FileMaker Pro quit unexpectedly when a plug-in passed invalid UTF-8 data through the FM_Text_Assign() API.
-
macOS Sonoma: FileMaker Pro quit unexpectedly when using the cut command (Command+X) on a picture in Layout mode.
-
macOS Sonoma: Changing modes or reopening files caused custom toolbars to reset to defaults.
-
macOS Sonoma: After you added or removed items in the status toolbar, hid the status toolbar in the current window, then opened another file or created a file, the status toolbar was reset to the default items.
-
Windows: The Send Mail script step dialog for OAuth 2.0 hid the upper border of the Service Account Email option when the window was the default size.
-
When editing an Import Record script step import order and a file type was selected but no file was provided, FileMaker Pro displayed an error and didn't allow you to modify the import order.
-
Windows: Pasting a multi-line calculation in the Inspector caused only the first line to be pasted and the rest to be truncated.
-
Windows: FileMaker Pro quit unexpectedly when resizing columns in the Manage Layouts dialog.
-
When signed in with an account that had "no access" privileges to layouts, FileMaker Pro quit unexpectedly when you entered Layout mode and dragged an add-on to a layout.
-
When editing a field, changes were reported even if the field was not modified due to validation errors.
-
The conditional formatting icon did not appear for objects until the layout was saved.
-
The OnWindowTransaction script trigger was incorrectly triggered when leaving Find mode.
-
The OnRecordCommit and OnRecordRevert script triggers were incorrectly triggered for record data committed between the Open Transaction and corresponding Commit Transaction or Revert Transaction script step.
-
The Insert from Index dialog was blank when one external data source was referenced by multiple files.
-
In the Script Workspace, the gear icon at the end of certain script steps was sometimes partially hidden.
-
macOS: Rapidly renaming scripts or folders in Script Workspace sometimes caused FileMaker Pro to quit unexpectedly.
-
If a user was editing an account in a hosted file, a script step (for example, Reset Account Password) that tried to edit the same account at the same time failed but Get(LastError) didn't return an error. Now, Get(LastError) returns the new error code 310 to indicate that an item can't be modified because another user is modifying it.
-
If a file already had a FileMaker or ODBC external data source added, you couldn't add a table from your Claris Studio data source in the relationships graph.
-
FileMaker Pro quit unexpectedly after you opened the Modify Table View dialog, opened the relationships graph from there and clicked a related table, then added a related field in the Modify Table View dialog.
-
FileMaker Pro could not import an XML file by importing a folder of text files. Files with csv, tab, tsv, mer, htm, html, xml, svg, json, log, txt extensions are now recognized as text file types.
-
An image in HEIF/HEIC format was inserted into a container field as a file rather than as an image.
-
After you entered an upgrade license certificate, you could specify a license key but not a license certificate file from an earlier qualifying version. Now, you can specify whichever one you received with an earlier qualifying version.
-
The Calendar add-on failed to display an event in the ending month if the event spanned multiple months.
-
After cloning a file that used the Simple Chart add-on, the add-on's settings dialog was blank under certain circumstances. Namely, if the add-on was added to the original file on a system where the decimal separator was a period but the cloned file was opened on a system where the decimal separator was a comma.
-
After an add-on with a layout that specified a custom menu set was added to a FileMaker Pro file containing a custom menu set with the same name, the add-on's custom menu set name was changed as expected in the Manage Custom Menus dialog to use a different name. However, in the Manage Layouts dialog, the Menu Set column for the add-on's layout displayed the file's rather than the add-on's menu set name.
Save a Copy as XML
When a FileMaker Pro file was saved using Save a Copy as XML:
-
An XML CDATA terminating sequence of "]]>" without the beginning sequence caused FileMaker Pro to quit unexpectedly.
-
The Field element included an unnecessary DefaultStyle attribute in the XML file.
-
A field that was set to validate values as members of a value list, but that had no value list specified, was missing the ValueListReference element in the XML file.
-
A custom menu item that performs a script was incorrectly saved in the XML file in some cases.
-
A button with Action set to Do Nothing produced an unnecessary action element for the button in the XML file.
-
A button in a button bar that was inside another object (for example, a popover or panel control) appeared multiple times in the XML file. Now, the button appears only once, which can reduce file size and complexity.
-
A layout that was associated with a custom menu set didn't include a reference to the custom menu set.
-
A merge field for a field in a related table in an external data source produced a TableOccurrenceReference element with invalid or empty attributes in the XML file.
-
Tooltip elements were missing the child Calculation element.
-
A ScriptTrigger element referenced the incorrect script trigger script.
-
The FieldReference element for a merge field on a layout had no values for the name and UUID attributes.
-
Privilege sets with Available menu commands set to Editing only were incorrectly represented as being set to All.
-
Custom privileges when set for any new table used a different XML structure than those set for existing tables. Now, the XML structure for any new table is the same as that of existing tables.
-
Field elements for fields that required validation with a value list had no ValueListReference element in them when the value list was from a missing file. Now, Field elements include a ValueListReference element in this case. The corresponding value list in the ValueListCatalog element now contains only an id, name, UUID, and source type. The details about the value list are now stored in the new OptionsForValueLists element.
Removed features
-
macOS: Because macOS Sonoma has removed support for Encapsulated Postscript (.eps) images, FileMaker Pro no longer supports EPS images starting with that version of macOS. EPS images are still supported in Windows.
Known issues
-
When you edit a layout calculation in the Specify Calculation dialog and click OK, function names in mixed or upper case aren't reformatted in title case as expected.
Version 20 – FileMaker Pro 2023

Addressed issues
-
This update provides important security fixes and is recommended for all users.
-
macOS Sonoma: Changing modes or reopening files caused custom toolbars to reset to defaults.
-
If a file already had a FileMaker or ODBC external data source added, you couldn't add a table from your Claris Studio data source in the relationships graph.

New features and enhancements
-
The Loop script step now includes the Flush option which determines when relationships are updated. Flush includes the following three values:
-
Always: When setting a field within a loop, the relationship is flushed along with the join data.
-
Minimum: When setting a field within a loop, minimal data is flushed.
-
Defer: When setting a field within a loop, data and relationship data are flushed only after exiting the loop.
-
-
Layout calculations now let you to specify the data type for the result in the Specify Calculation dialog.
-
The new FMDeveloperTool command-line tool is now available. See FileMaker Server Release Notes.
-
Secure connection tunneling can now be enabled over port 443 instead of port 5003 for FileMaker Pro and FileMaker Server for Linux. HTTPS tunneling can be enabled in the following locations:
-
FileMaker Pro preferences: Choose Edit > Preferences (Windows) or FileMaker Pro > Settings (macOS), then on the General tab, select HTTPS Tunneling.
-
Assisted Install.txt file: AI_USE_HTTP_PROTOCOL_NETWORK=1
Notes:
-
HTTPS tunneling may only be enabled for FileMaker Server for Linux installed on Ubuntu 22.
-
-
The Get(NetworkProtocol) function now returns "HTTPS" when HTTPS tunneling is enabled on the FileMaker client or FileMaker Server where the calculation is performed.
-
OmniOrb has been updated to version 4.3.0.
-
To improve performance, the database engine now caches relationships to evaluate dependencies.
-
FileMaker Pro also includes optimized memory allocation for relationship changes.
Addressed issues
Layouts
-
In layout calculations, references to fields in the current table occurrence now require only the field name, not the fully qualified name (table::field).
-
If part of a layout calculation failed to evaluate, the calculation formula was displayed in Browse mode.
-
macOS Sonoma: In Layout mode, the shortcut menu didn't display the color palette when you tried to change the color of an object or layout part.
-
macOS Sonoma: Resizing an object in Layout mode caused the handle to flash and the border to display as thicker than normal.
Script Workspace
-
macOS: Rapidly renaming scripts or folders in the Script Workspace sometimes caused FileMaker Pro to quit unexpectedly.
-
macOS Sonoma: Opening and editing a script in the Script Workspace, then closing and reopening the Script Workspace caused the toolbar to no longer appear in the Script Workspace.
General
-
When using an OAuth 2.0 provider to send email, the email wasn't sent, and an error was returned saying the access token couldn't be generated. This happened when FileMaker Pro tried to send email or when FileMaker Server tried to send email notifications.
-
Databases on FileMaker Server stopped responding or closed unexpectedly when errors appeared in temporary database files.
-
In the Specify Field dialog, the methods to open the Manage Database dialog were missing or didn't work.
-
macOS: Creating a self-join in the relationships graph caused FileMaker Pro to quit unexpectedly.
-
macOS Sonoma: When Stage Manager was turned on, in some cases, FileMaker Pro windows returned to their original positions after you moved them.
-
macOS Sonoma: The status toolbar failed to appear in the document window of a newly opened file if the document window was closed while the status toolbar was hidden in another file.
Note: The toolbar settings for the New Window script step are ignored in macOS Sonoma.
-
macOS Sonoma: FileMaker Pro quit unexpectedly when using the cut command (Command+X) on a picture in Layout mode.
Known issues
-
If a field reference in a layout calculation uses only the field name, the layout calculation doesn't update when the field data changes. To work around this issue, use the fully qualified field name (table::field).
-
macOS Sonoma: When you customize the status toolbar then switch modes, the customization is lost.

New features and enhancements
-
The Trigger Claris Connect Flow script step now includes a dialog that allows you to select a flow from a Claris Connect team. The Select Claris Connect Flow dialog allows you to select a team and flow the signed-in Claris ID user, who must be in a Claris Connect team. The name of the flow you select for the Flow option is saved at the time you select it and will not be updated if you change the flow's name in Claris Connect. See Trigger Claris Connect Flow.
-
The new layout calculation allows you to place a calculated value on a layout without creating a calculation field or setting a variable in a script.
To insert a layout calculation onto a layout:
-
In Layout mode, click in the layout where you want to insert the layout calculation, then choose Insert menu > Layout Calculation.
Don't insert layout calculations over a field or any other object that you want to view.
-
In the Specify Calculation dialog, enter the a formula for your calculation, then click OK.
A layout calculation, including the specified calculation, (<<ƒ:[calculation]>>) appears on the layout.
To modify a layout calculation:
-
In Layout mode, right-click the layout calculation, then choose Edit Layout Calculation.
-
In the Specify Calculation dialog modify the calculation, then click OK.
-
Addressed issues
-
The OnRecordCommit and OnRecordRevert script triggers were incorrectly triggered for record data committed between the Open Transaction and corresponding Commit Transaction or Revert Transaction script step.
Known issues
-
macOS: After a successful update, FileMaker Pro must be relaunched manually.

Addressed issues
-
The Close Window script step in a script triggered by the OnWindowTransaction script trigger failed to close the document window.
-
The following French script trigger name and description translations have changed:
-
OnWindowTransaction (English)
-
SurOperationFenetre is updated to SurTransactionFenetre (French)
-
The following French control script step name and description translations have changed:
-
Revert Transaction (English)
-
"Annuler l'opération" is updated to "Annuler la transaction" (French)
-
-
Open Transaction (English)
-
"Ouvrir une opération" is updated to "Ouvrir une transaction" (French)
-
-
Commit Transaction (English)
-
"Valider l'opération" is updated to "Valider la transaction" (French)
-
-
-
The following French design function name and description translations have changed:
-
BaseTableIDs (English)
-
IDsTableBase is updated to IDsTablesBase (French)
-
-
BaseTableNames (English)
-
NomsTableBase is updated to NomsTablesBase (French)
-
-
TableIDs (English)
-
IDTable is updated to IDsTables (French)
-
-
LayoutIDs (English)
-
IDModele is updated to IDsModeles (French)
-
-
ScriptIDs (English)
-
IDScript is updated to IDsScripts (French)
-
-
FieldIDs (English)
-
IDRubrique is updated to IDsRubriques (French)
-
-
ValueListIDs (English)
-
IDListeValeurs is updated to IDsListesValeurs (French)
-
-
-
The Get ( ModifiedFields ) function failed to return all field modifications when a field repetition other than the first repetition was modified.
-
Creating, modifying, and deleting find requests incorrectly triggered the OnWindowTransaction script trigger.

New features and enhancements
Functions
-
macOS: The GetLiveText function is now supported in a script run on the server.
-
macOS Ventura: The GetLiveText function now additionally supports Japanese ("ja-JP"), Korean ("ko-KR"), and Ukrainian ("uk-UA") locales.
-
The new GetBaseTableName function returns the base table name of a provided field.
-
The new Get(CacheFilePath) function returns the path of the cache file for the currently active database.
-
The new Get(CacheFileName) function returns the name of the cache file for the currently active database.
-
The new BaseTableNames and BaseTableIDs functions return information about the base tables instead of all table occurrences.
-
The ReadQRCode function is now available to use in FileMaker Pro on Windows.
-
The Get(ModifiedFields) function now returns fields containing data when a new record is created.
Scripts
-
The Execute FileMaker Data API script step now supports the dateformats parameter.
-
The new Perform Script on Server with Callback script step performs a specified script on a server. When complete, the client locally performs another specified script.
-
The cURL option in the Insert from URL script step now supports secure file transfer protocol (SFTP) and includes the pubkey option for SFTP public key authentication.
-
The new Trigger Claris Connect Flow script step initiates a Claris Connect workflow automation.
General
-
You can now double-click a fmcert license certificate file to initiate the license certificate import process. Upgrade licenses must be imported using Help > Replace FileMaker License.
-
Windows: Thumbnails can now be immediately created for PDF files in container fields.
-
The new OnWindowTransaction script trigger creates a JSON object whenever a window's transaction completes successfully. The JSON object includes the file name, base table name, record ID, operation, and contents of that base table's field named onWindowTransaction (or a specified field) for every operation within the completed transaction.
-
SQL queries to FileMaker databases can now access a FileMaker_BaseTables system table. The new schema contains the following fields:
-
BaseTableName - the table name
-
BaseTableId - the table ID
-
Source - the source (<internal>, MYSQL, etc.)
-
ModCount - the number of times the table has been modified
-
-
Sending mail using FileMaker Pro can now use OAuth 2.0 with Microsoft 365 Business or Google Workspace subscriptions.
-
Dark Mode is now partially supported for the relationship graph.
Addressed issues
Layouts
-
macOS: Web Viewers did not register mouse clicks while in Find Mode.
-
macOS: Closing parent windows to card windows sometimes caused FileMaker Pro to quit unexpectedly.
-
macOS Ventura: A previously minimized layout window was unable to display a card window if Stage Manager was enabled in macOS.
-
The divider lines inside a button bar would resize incorrectly if the button bar was anchored and resized when the layout was resized.
-
Portals with the Use active row state option disabled would render incorrectly if the portal was anchored and the layout was resized.
-
JavaScript could not be performed in web viewers while in Find mode.
-
Windows: PDFs in non-interactive containers and PDFs rendered from layouts were blurry.
Functions
-
The application quit unexpectedly when using the GetContainerAttribute function on a table with many records.
-
The Get(ModifiedFields) function incorrectly returned an empty result for fields modified with replace field contents, import, relookup, or drag and drop operations.
-
Text shortening functions, such as Left and GetValue, used more memory than needed.
-
Functions sometimes incorrectly used the operating system locale instead of the file locale.
Scripts
-
Windows: Insert from URL failed to encode provided URLs and returned an error.
-
When the Verify SSL Certificates option was off for the Insert from URL script step, certificate errors incorrectly caused errors to be returned instead of the expected result.
-
Some text colors in Script Workspace did not change between Dark Mode and Light Mode.
-
Scripts could no longer be executed when there was an open transaction, the main script was paused, and an error occurred.
General
-
macOS Ventura: The FileMaker Pro options in the Print dialog were not used and the Pages option was used instead.
-
You were able to enter an inactive FileMaker Account to Sign in with Apple when the Hide My Email option was selected.
-
XML generated from Save a copy as XML did not include information about the Show sign-in fields when OAuth or AD FS is enabled option.
-
Windows: Saving Records as PDF caused FileMaker Pro to stop responding when the layout included web content in a web viewer. Web content not retrieved before timeout will appear as blank in the rendered PDF.
-
Windows: FileMaker Pro stopped responding or quit unexpectedly on computers with older hardware.
-
Transactions with invalid dates were successfully committed to records instead of returning errors. Now transactions committed with invalid dates return error 500.
APIs, technologies, or features to be deprecated
As FileMaker Pro evolves, the list of supported technologies, APIs, and features will change. As part of this evolution, certain operating systems versions, hardware, and features may be deprecated in favor of newer ones. Although deprecation does not mean the immediate deletion of an item, you should migrate your solution away from deprecated technologies, because these technologies may be removed in a future version of the product.
For the latest information about deprecated APIs, technologies, and features, search the Knowledge Base.
For more information, see FileMaker Pro Help, other documentation, and support resources.