FileMaker 2025! Explore the new features
FileMaker 2025! Explore the new features
8 July 2025 - Author : - Categories : FileMaker, News, Technique

FileMaker 2025! Explore the new features

Claris has just announced the release of FileMaker 2025 (the commercial name for version 22).
As usual, this article will walk you through what’s new and offer a critical perspective—both to help analyze the direction Claris is taking and to help you better understand the changes.

Key points to consider

Let’s start with a few important notes you should read before upgrading.

  • FileMaker Server 2025 only allows connections from FileMaker Pro 2024 (21) and 2025 (22). So be careful if your deployment still includes older versions.
  • Starting with version 22, major updates will now be supported via in-app updates, making it easier to keep client machines up to date.
  • Very important—and likely to complicate transitions if you’re working with a mix of versions: on Windows, it is no longer possible to install FileMaker Pro 2025 alongside older versions. FileMaker Pro 22 is expected to replace previous installations. (I haven’t tested this myself, so feel free to share your experience to clarify this point.)
  • If you’re using OData, consider waiting before updating your server. While there are significant improvements, some changes may break existing integrations (see the section on FileMaker Server at the end of this article).

This is also the first time the Mac and Windows versions of the user interface diverge. On macOS, the developer interface now more closely resembles Apple’s own apps—like Keynote, Pages, or Numbers (more details on that below). But even the end-user interface is affected, with a new toolbar design. Frankly, I don’t quite understand why the icon set wasn’t updated on Windows too—for the sake of consistency.

AI, AI, AI

Already a major theme in version 21 (and let’s not forget that AI has been part of FileMaker since version 19 in 2020 via CoreML), artificial intelligence takes center stage in FileMaker 2025.

I won’t go into all the implementation details here—there are numerous new functions and script steps. For an in-depth look, I still recommend reading the offficial release notes from Claris. But overall, here’s what stands out:

  • FileMaker 2025 continues in the same direction as version 21, prioritizing end-user interaction with data, rather than an “agentic” approach where AI would assist the developer by generating code or interfaces.
    Personally, I think this is the right strategy—after all, FileMaker’s “code” is already so fast to produce.
    That said, the major improvements in the XML representation of files (notably when saving a copy as XML) and the enhanced Upgrade Tool integrated into FileMaker Server suggest Claris is actively preparing for some form of developer assistant down the road.

The main new AI features include:

  • RAG (Retrieval-Augmented Generation): limits LLM responses to data from a specific corpus (your documents, website, etc.), improving accuracy and reducing hallucinations

  • Semantic search, including text and image search—on the server side

  • Natural language to SQL query generation

  • Model hosting directly within FileMaker Server, with some models even bundled with the FileMaker Pro installer for even easier deployment

That last point is worth discussing. FileMaker Server now includes a new admin console tab where you can enable locally installed AI models. While this is impressively simple to use, resource management is a real concern. Currently, there’s little to no way to control how much memory or GPU capacity is used by the models versus the FileMaker Server itself.
Unless you’re running on powerful local hardware—like a Mac Studio with plenty of RAM and VRAM—you risk slowing down your entire deployment. We can probably expect Claris to allow offloading AI processing to a secondary machine in the near future, much like what’s already possible with WebDirect.

For now, most hosting providers—including our own fmcloud.fm—have chosen to disable this AI tab by default and only enable it in custom configurations.

French Localization Revisited

It’s a minor point, but worth mentioning nonetheless: I had the opportunity to suggest improvements to Claris regarding several unnecessary translations and abbreviations in the French interface.

Many of these changes have now been implemented, leading to a more consistent and clearer UI. Most of them will feel completely natural—you probably won’t even notice.

However, I’d like to draw your attention to two specific functions: ObtenirTexteDynamique and ObtenirTexteDynamiqueEnJson.
These now use TexteDynamique instead of TexteEnDirect, in order to align with Apple’s translation of Live Text.
This change makes sense in context—but if you’re used to the old naming, you might spend a while looking for them.

Found Set Navigation

A major new feature: the ability to store and restore a list of records using their internal Record IDs, as returned by the Get ( RecordID ) function.

The new GetRecordIDsFromFoundSet ( type ) function returns either a text string or a JSON array of record IDs, depending on the type parameter.

Parameter value Result Format
0 list of IDs separated by carriage returns – ¶ or Char (13): 75¶76¶77¶78¶79¶81¶83¶87¶88¶89
1 JSON array of IDs as strings (I don’t really see the point)
2 JSON array of IDs as numbers
3 list of intervals separated by carriage returns: 75-79¶81¶83¶87-89
4 JSON array of intervals

Key points to remember:

  • The function returns an immediate result—it does not interact with the data layer. No data is downloaded between the server and the client.

  • Sort order is preserved, but no contextual information is included (no table, no layout, and no sort criteria—records are in the correct order, but the criteria used to sort them are not retained).

  • There’s no built-in function to convert between a list (or array) of IDs and a compact interval-based format, and vice versa. You need to choose your format at the time of storing the record set:

    • For lightweight storage or simple restoration, the interval format is much more efficient.

    • But if you plan to use the Go to Related Records script step later, you’ll need the full list of Record IDs.

Restoring a found set is done, logically, via the new Go to list of records script step. It accepts any variant of the result from the function mentioned above and lets you specify the target layout and open a new window if needed.

Error handling and behavior have been aligned with the Go to Related Records script step for consistency.

Important note: If the sort order was custom—either because the found set had been sorted originally, or because the order was manually constructed (e.g. "3¶1¶2"), which allows for orders that couldn’t be achieved via standard sorting—then the restored found set will be semi-sorted.
Why? Because FileMaker cannot reconstruct the sort criteria, so it cannot actually perform a sort. This means:

  • Sub-summary based on sort order layout parts will not display, and

  • The GetSummary function will not return expected results.

Why does this matter?

  • Combined with Perform Script on Server (PSoS) and transactions, this makes it much easier to delegate the processing of a found set to the server.

  • You can store and restore multiple found sets, which opens up powerful use cases like maintaining a navigation history.

  • While it doesn’t offer all the features of a snapshot link (e.g., sort metadata, warning if records are deleted), you can pass found sets between users or processes—even in WebDirect, with no need for file system access.

Bonus: Here’s a custom function to enhance this capability by embedding additional metadata alongside the found set…

Replace Field Contents Without Triggering Auto-Enter

To me, this is the most groundbreaking new feature in FileMaker 2025. It’s been at the top of my feature request list for a long time.
You can now—exclusively within a script—choose to bypass auto-enter options when using Replace Field Contents.

Use cases:

  • After migrating data from a legacy system: clean up or correct values without altering modification timestamps

  • Populate a new field across existing records, without interfering with calculated fields, timestamps, or modification tracking

Pro tip:
If you use a developer custom menu set, consider replacing the default Replace Field Contents command with a script that only includes that step. This way, you—as a developer—can decide whether to check or uncheck the Perform auto-enter options box.

Note:
We now have three script steps that can bypass auto-enter behavior:

  1. Import Records

  2. Open Transaction

  3. Replace Field Contents

JSONParse

This new calculation function allows you to store not just the usual text representation of a JSON object or array in a variable, but a true parsed JSON object, enabling much faster processing (and I really mean much faster).

Example use case:

Let’s say you have a JSON array stored in $json and you want to loop through its elements—either via script or using the While function.

Set Variable [ $json ; JSONParse ( $json ) ]

This keeps $json unchanged when used with text or numeric functions (e.g., Length ( $json ) or Left ( $json ; 1 )),
but it now also contains a fully parsed JSON object, which significantly speeds up calls to JSON functions like JSONGetElement.

Additionally, the new JSONParsedState ( $json ) function lets you check whether $json holds a parsed object or array—and tells you the type: 3 (object), 4 (array)

Insert Text: Length Limit Removed

Now that the target of the Insert Text script step can be a variable, this step has become popular again—since it allows you to define a text constant without invoking the calculation engine, meaning no need to escape quotes or carriage returns.

However, the 30,000-character limit used to be a constraint. That’s now resolved: the new limit is 250,000,000 characters (yes, two hundred and fifty million).

Note: If you’re using the MBS plugin on macOS, make sure to update it—very large variables could cause crashes. (In any case, keeping the plugin up to date is always a good idea.)

Folders for Custom Functions

Along the same lines, you can now organize custom functions into folders.
Unfortunately, this new feature comes at the expense of something I consider essential: the ability to sort functions alphabetically or by creation order.

The newly added search field only partially compensates for the lack of sorting.

More critically, creating folders in FileMaker 2025 (version 22) makes the custom function list unreadable in earlier versions. Combined with the fact that FileMaker 2025 can no longer coexist with previous versions on Windows, this poses a serious compatibility concern.

Besides, the custom function management window design is far from perfect.
We’re back to old-school rectangular buttons that are -to my knowledge- only used in the Manage Layout dialog, but not even using the same margin, font size…
(For comparison: manage layouts window on the left, custom functions window on the right.)

Script Workspace: Collapsible Code

You can now collapse and expand sections of code in scripts—particularly for script steps that introduce indentation, such as If, Else, End If, Loop, Open Transaction, and so on.

Note: Regarding indentation—disabled script steps no longer affect indentation, making scripts easier to read when some steps are turned off.

More Powerful SQL

Numerous improvements have been made to the SQL engine used via ODBC or through plug-ins, as well as the ExecuteSQL function. Thanks to an updated underlying library, you can now use features such as intervals, IN clauses, and even ALTER statements.

This means, for example, you can now rename a field using a plug-in capable of executing SQL (like MBS or BaseElements) along with an ALTER query.

The addition of FETCH NEXT also makes it easier to implement pagination systems.

Another enhancement is the introduction of a new system table: FileMaker_ValueLists.
This allows you to query non-relational value lists, along with their individual values via dynamically generated tables like:
FileMaker_ValueList_{ValueListName}.

Extract Text from a PDF

A new calculation function allows you to extract text from a PDF stored in a container field.

Note: this isn’t magic or OCR—it simply extracts the text layer already present in the PDF. And that’s already a very welcome addition.

Improvements to the Manage Database Dialog

The updated interface brings a few new features:

  • Just like with fields, you can now add comments at the table level. Nice!
    …Except Claris forgot to give us a corresponding calculation function to access them.
  • The return type of calculation fields is now displayed in the field list—finally!
    Unfortunately, the icon to the left of fields in the calculation editor still doesn’t reflect the data type. But hey, it’s a start.

Layouts

When modifying the database structure, changes are automatically reflected in layouts.
Previously, you could configure the app to prevent new fields from being added to the current layout. Now, you can go a step further and disable all automatic layout updates—no new fields, no label changes, and no auto-generated layouts for new tables.

But the real treat—the small feature you’re going to love—is this:
You can now add objects to a group without ungrouping it (and thus without losing hide conditions or other settings). This can be done via the menus, or more intuitively through the Object panel.

Naturally, the reverse is also possible—you can now remove objects from a group just as easily.

Windows-Specific Improvements

Two major improvements on Windows, in my opinion:

  • The Send Mail script step (using the default email client) should now work properly with all email clients—including Thunderbird—not just Outlook. And for Outlook users, compatibility issues with recent versions should finally be resolved.

  • If the user is connected to the local network via Entra ID, the Web Viewer will inherit that authentication. This is a significant improvement for scenarios where an internal web app requires authentication.

macOS-Specific Improvements

There’s a lot to cover in this section. As mentioned earlier, Claris is aligning more closely with its parent company, Apple—and it was about time that this alignment translated into the user experience.
For a cross-platform product like FileMaker, it was problematic that Mac users would feel lost in an interface that didn’t reflect macOS conventions.

Here are the most notable changes:

  • The system accent color defined in macOS settings is now applied to FileMaker dialogs.

  • The design of the left and right panes (fields/objects/add-ons on the left, inspector on the right) has been completely reworked. Personally, I find myself scrolling more in the inspector—but the visual refresh is still welcome.

  • The Table view now offers new options for a much cleaner visual result.

  • The Launch Center has been redesigned. Be aware: removing a favorite or recent file isn’t very intuitive—you have to select it and press Delete on the keyboard.

  • And perhaps most importantly, the toolbar has been overhauled: new icons, full customization of individual toolbar elements, and the removal of colored icons for layout mode toolbar.

FileMaker Server

As mentioned earlier, most of the big changes on the server side revolve around AI: semantic search on the server, RAG (Retrieval-Augmented Generation), and local model execution.

Significant improvements have also been made to OData, especially around aggregation functions (including AS). This means you can now fully control the response shape—for example, by concatenating first and last names and returning it as fullName.
For now, though, these aggregation functions only apply to the $select portion of the query—not to $filter (the SQL-equivalent of WHERE). That remains, in my view, the main reason to continue using ODBC. Hopefully a future update will address this.
On a positive note, issues with special characters introduced in version 21 have now been resolved.
⚠️ Important: a significant change has been made to how ROWID is returned, which may require you to update your parsing logic. I must admit, this design choice caught me by surprise.

Installing and updating an SSL certificate via Let’s Encrypt is now extremely easy (something our service, fmcloud.fm, has been doing for a long time).

You can now define the WebDirect home page from both the Admin Console and the Admin API.

In WebDirect, users are now shown a warning before leaving the app when they click the browser’s Back button.
Finally—no more needing to rely on Romain Dunand and Ceydrick Valentini’s clever workaround.

From FileMaker Pro, you can also disable the context menu on container fields for WebDirect users.

That’s it for this initial tour!
I hope this helped you get a quicker handle on what FileMaker 2025 brings.
Feel free to share your thoughts or questions in the comments below.

Prev / Next Post

Add comment

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.