SchemaChange.Changes
--------------------

Queries the changes, that the plugin received.

| Component | Version | macOS | Windows | Linux | Server | iOS SDK |
|---|---|---|---|---|---|---|
| [SchemaChange](component_SchemaChange.md) | [15.5](newinversion155.md) | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No |

MBS( "SchemaChange.Changes" ) ### Parameters

none

### Result

Returns JSON array, empty or error.

### Description

Queries the changes, that the plugin received.  
Calling this function clears the list and reports it back as JSON array.  
  
The plugin adds two fields "counter" and "timestamp" with the change counter and the current timestamp as text.  
  
You may have a scheduled script running on the server to react to changes.  
e.g. by using [JSON.InsertRecord](JSONInsertRecord.md) to add this to a log table or by running Save as XML script step to export the solution.  
  
This function only works in the server scripting process in FileMaker 21.1 or newer.  
  
The catalog value in the JSON may report one of these catalogs: custom function, custom menu set, data source, extended privilege, field, layout, script, privilege set, table, table alias, theme, user account, value list. New in FileMaker 26: persistent store. There may be more in the future.  
  
Result is "" if no changes are recorded.  
  
You need to call [SchemaChange.Enable](SchemaChangeEnable.md) to enable the feature.  
### Examples

Sample script to log changes to records:

 # check for pending changes   
Set Variable \[ $changes ; Value: MBS ("SchemaChange.Changes") \]  
\#   
\# if we have changes, log them to a table   
If \[ Length ( $changes ) &gt; 0 \]  
 Set Variable \[ $r ; Value: MBS ("[JSON.InsertRecords](JSONInsertRecords.md)"; Get(FileName); "SchemaChanges"; $changes ) \]  
 # table must have the following fields: account, catalog, file, id, user, basetableid, counter and time  
End If  
Query changes after creating a new field:

 Set Variable \[$json ; Value: MBS ( "SchemaChange.Changes" ) \]  
<small>  
Example result:   
\[ { "account" : "Admin" , "catalog" : "table alias" , "file" : "Assets.fmp12" , "id" : "&lt;all&gt;" , "user" : "Christian Schmitz" , "counter" : 43 , "time" : "11/10/2025 11:20:07 AM" }, { "account" : "Admin" , "basetableid" : "130" , "catalog" : "field" , "file" : "Assets.fmp12" , "id" : "&lt;all&gt;" , "user" : "Christian Schmitz" , "counter" : 44 , "time" : "11/10/2025 11:20:07 AM" }, { "account" : "Admin" , "catalog" : "layout" , "file" : "Assets.fmp12" , "id" : "3" , "user" : "Christian Schmitz" , "counter" : 45 , "time" : "11/10/2025 11:20:07 AM" }, { "account" : "Admin" , "catalog" : "layout" , "file" : "Assets.fmp12" , "id" : "&lt;meta&gt;" , "user" : "Christian Schmitz" , "counter" : 46 , "time" : "11/10/2025 11:20:07 AM" }, { "account" : "Admin" , "catalog" : "layout" , "file" : "Assets.fmp12" , "id" : "&lt;meta&gt;" , "user" : "Christian Schmitz" , "counter" : 47 , "time" : "11/10/2025 11:20:07 AM" }, { "account" : "Admin" , "catalog" : "layout" , "file" : "Assets.fmp12" , "id" : "3" , "user" : "Christian Schmitz" , "counter" : 48 , "time" : "11/10/2025 11:20:07 AM" }, { "account" : "Admin" , "catalog" : "layout" , "file" : "Assets.fmp12" , "id" : "&lt;meta&gt;" , "user" : "Christian Schmitz" , "counter" : 49 , "time" : "11/10/2025 11:20:07 AM" }, { "account" : "Admin" , "catalog" : "layout" , "file" : "Assets.fmp12" , "id" : "&lt;meta&gt;" , "user" : "Christian Schmitz" , "counter" : 50 , "time" : "11/10/2025 11:20:07 AM" }, { "account" : "Admin" , "basetableid" : "130" , "catalog" : "field" , "file" : "Assets.fmp12" , "id" : "&lt;all&gt;" , "user" : "Christian Schmitz" , "counter" : 51 , "time" : "11/10/2025 11:20:07 AM" } \] </small>### See also

- [JSON.InsertRecord](JSONInsertRecord.md)
- [JSON.InsertRecords](JSONInsertRecords.md)
- [SchemaChange.Counter](SchemaChangeCounter.md)
- [SchemaChange.Enable](SchemaChangeEnable.md)

### Example Databases

- [SchemaChanges/SchemaChanges](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/SchemaChanges/SchemaChanges.shtml#3ScriptAnchor_)

### Blog Entries

- [New in MBS FileMaker Plugin 15.5](https://www.mbsplugins.de/archive/2025-11-25/New_in_MBS_FileMaker_Plugin_15/monkeybreadsoftware_blog_filemaker)
- [Watching for schema changes in your FileMaker Server](https://www.mbsplugins.de/archive/2025-11-19/Watching_for_schema_changes_in/monkeybreadsoftware_blog_filemaker)

This function checks for a license.

Created 10th November 2025 , last changed 13th June 2026

  
[Schedule.StartScriptOnIdle](ScheduleStartScriptOnIdle.md) - [SchemaChange.Clear](SchemaChangeClear.md)

[HTML Version](SchemaChangeChanges.shtml)