Compare Versions
Track changes with the built-in XML Analysis API
Last updated
Was this helpful?
Track changes with the built-in XML Analysis API
Last updated
Was this helpful?
The Compare Versions feature provides FileMaker developers with a powerful way to track changes in their FileMaker solution files. By comparing the Active Branch File with the latest saved version on the same branch, this tool highlights changes in a clear, summarized format. Detailed code diffs for Scripts and Custom Functions are currently supported, with broader change tracking in development.
This video shows how the Devin App can track changes made to a development file:
This table shows what is currently tracked and displayed.
Code
Detailed
Line-by-line code diffs of Scripts
and Custom Functions
Database
Summary
Names of Tables
, Table Occurrences
and Relationships
Layouts
Summary
Name of Layouts
Security
Summary
Names of Privileges Sets
and Extended Privileges
Other
Summary
Names of Value Lists
, Custom Menus
, Custom Menu Sets
and Themes
The Compare Versions feature is exclusive to Development Server installations and requires significant memory resources for optimal performance:
Solo Developers: 8GB of memory.
Teams with Concurrent Development: At least 16GB of memory.
Built-in safeguards prevent memory overload, but enabling auto-tracking for teams with heavy activity may demand higher server capacity.
In Devin 1.3.0, comparisons are limited to the Active Branch File versus the latest saved version on the same branch. This is currently a UI limitation and will be expanded in a future release to support comparing any version across any branch.
While powerful, this feature has a few current limitations and best practices to ensure it works correctly. If the App Sidebar shows an Analysis Error
, it may be due to one of the following reasons.
This feature is actively being improved, and upcoming releases will eliminate the need to consider backup type when analyzing XML changes. Using a non-recommended backup type only affects XML analysis results — all other functionality remains unaffected.
Comparisons might fail if either the Active Branch File
or the Reference File
it's compared to has empty XML catalogues, such as if the file has no Scripts
, Custom Functions
, Custom Menu Sets
etc. Therefore, this feature works best with existing fmp12 files since new files by default has empty XML catalogues.
Discovering error logs such as An error occurred: 'custom_menu_sets_xml'
or Error running operation: 'custom_menu_sets_xml'
in the {opt/Program Files}/Devin/Logs/service.log
file indicates that no Custom Menu Sets exist in the file. To resolve temporarilly, create an empty Custom Menu Set, or equivalent, for other XML catalogues.
This feature is compute-intensive, both in its core analysis logic and through concurrent use of several FileMaker CLI tools. Performance is typically 5–10 times faster on Linux servers compared to Windows Server.
The accuracy of XML change detection in Devin Server is affected by both the system locale settings, field storage options and the type of FileMaker backup used. If the system locale differs between FileMaker Pro and FileMaker Server, or if fields use a default storage language that doesn’t match the server’s configuration, false table changes may be detected. Depending on the server platform, either Clone or Full Backup versions may be more reliable. Using the non-recommended backup type may result in incorrect change detections, particularly in tables and scripts involving language or decimal formatting.
Windows Server
Clone
Full Backup
Linux
Full Backup
Clone