@@ -5,6 +5,35 @@ All notable changes to GravityMCP will be documented in this file.
55The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.0.0/ ) ,
66and this project adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
77
8+ ## [ 1.4.1] - 2026-03-20
9+
10+ ### Fixed
11+ - Race condition in concurrent fetch-then-merge updates: added per-resource mutex to serialize mutations on the same form/entry/feed
12+ - ` FieldManager ` double-fetch eliminated: new ` replaceForm() ` does direct PUT without re-fetching (3 HTTP calls → 2 per field op)
13+ - ` console.log ` calls in 7 files replaced with ` logger.info ` /` logger.warn ` to prevent JSON-RPC stdout corruption
14+ - ` mcp.json ` phantom ` gf_submit_form ` tool removed, 4 field operation tools added, version synced
15+ - ` _variant ` /` _meta ` internal metadata stripped from field objects before sending to API
16+ - Field operation errors now propagate to ` wrapHandler ` with ` isError: true ` instead of being silently swallowed
17+ - Name field sub-input IDs corrected (` .2 ` =prefix, ` .3 ` =first, matching Gravity Forms)
18+ - Feature filter ` conditional ` now maps to correct registry key ` supportsConditionalLogic `
19+ - ` gf_delete_feed ` description now mentions ` ALLOW_DELETE ` requirement
20+
21+ ### Added
22+ - ` ResourceMutex ` utility (` utils/mutex.js ` ) with ` acquire ` /` release ` and ` withLock() ` for safe concurrent operations
23+ - ` replaceForm(formId, formData) ` client method for direct PUT without re-fetch
24+ - MCP tool annotations on all 26 tools (` readOnlyHint ` , ` destructiveHint ` , ` openWorldHint ` )
25+ - Server-level ` instructions ` string documenting compact mode (sent once at session start)
26+ - 31 new tests: 22 bug regression tests + 9 mutex concurrency tests
27+
28+ ### Changed
29+ - Tool descriptions stripped of repeated compact boilerplate (~ 130 tokens saved per ` tools/list ` call)
30+ - ` compact ` property description shortened to "Return raw uncompacted data"
31+
32+ ### Removed
33+ - Redundant ` gf_list_form_feeds ` tool (` gf_list_feeds ` with ` form_id ` does the same thing plus addon filtering)
34+ - Deprecated ` crypto ` and unused ` form-data ` npm dependencies
35+ - False ` batch_operations: true ` claim from ` mcp.json `
36+
837## [ 1.4.0] - 2026-03-20
938
1039### Added
@@ -102,6 +131,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
102131- Field filters (1 tool)
103132- Results/Analytics (1 tool)
104133
134+ [ 1.4.1 ] : https://github.com/GravityKit/GravityMCP/releases/tag/v1.4.1
105135[ 1.4.0 ] : https://github.com/GravityKit/GravityMCP/releases/tag/v1.4.0
106136[ 1.3.0 ] : https://github.com/GravityKit/GravityMCP/releases/tag/v1.3.0
107137[ 1.1.0 ] : https://github.com/GravityKit/GravityMCP/releases/tag/v1.1.0
0 commit comments