20 audit findings resolved, full Braze region support, 58-test foolproof e2e test package, and a shared error classifier across all 54 tools.
What shipped
•20 audit findings resolved: cursor pagination fix, Braze auth-error classification (no more silent empty-workspace reports), all 54 tool handlers wrapped in shared error classifier, process-level uncaughtException and unhandledRejection handlers, concurrent-safe rate limiter
•All Braze cluster regions now supported: US (iad), EU (eus, fra), Australia (au), India (ind) and any future clusters — dashboard URLs derived generically instead of a hand-maintained list
•Dedupe: braze-sync.js now uses the shared Braze client instead of its own private copy. Bug fixes land in one place
•Handler fixes: validate_email_template no longer crashes when called without a spec, generate_mjml_template no longer crashes when the spec has no modules
•Foolproof end-to-end test package: 58 tests across 9 suites, spawns the real MCP stdio server, mocks every external API with canned fixtures, runs in 17 seconds, exits non-zero on any regression, wired into the build as a pre-package gate