Releases: nmdra/ERPBridge
Release list
ERPBridge v0.5.0-alpha.2
Changelog
🚀 Features
- 50fb8fb: feat(mcp): add resilient error handling and execution protection (@nmdra)
- 971ee3c: feat(skill): add major-task knowledge checkpoint (@nmdra)
- 866c360: feat(skill): add persistent bridgectl operational knowledge (@nmdra)
- 0214f89: feat(topology): collapse filter controls by default (@nmdra)
- b042861: feat(topology): focus selected tool execution paths (@nmdra)
🐛 Bug Fixes
Other
- bd97b48: chore(plan): close v0.5.0-alpha.1 release (@nmdra)
- 9803747: chore(plan): track live E2E issue fixes (@nmdra)
- 66744a4: docs(skill): align operational knowledge checkpoint (@nmdra)
Full Changelog: v0.5.0-alpha.1...v0.5.0-alpha.2
Released by GoReleaser.
ERPBridge v0.5.0-alpha.1
Changelog
🚀 Features
- 2c11b8f: feat(api): add server-side ERP probes (@nmdra)
- 48c4c68: feat(cli): embed and install bundled agent skill (@nmdra)
- 112a410: feat(cli): isolate API registries by context (@nmdra)
- 53e7b50: feat(cli): split generated tools into files (@nmdra)
- 323e716: feat(console): refresh context and inventory state (@nmdra)
- 9f1e702: feat(credentials): add hot-mounted credential rotation (@nmdra)
- 5abcf58: feat(dev): add safe local stack bootstrap (@nmdra)
- 20f5626: feat(errors): add safe structured control-plane failures (@nmdra)
- 6889468: feat(mcp): add generated tool annotations (@nmdra)
- c402191: feat(mcp): expose stable transformed output contracts (@nmdra)
- a6f8e25: feat(mcp): expose tool discovery metadata (@nmdra)
- 2c782f1: feat(plugin): add phase-aware binding admission (@nmdra)
- 8fbd4b6: feat(plugin): define raw response invocation contract (@nmdra)
- 3ee8a22: feat(plugin): process raw ERP responses (@nmdra)
- b8f1355: feat(skill): add external plugin operations guidance (@nmdra)
- 7725a8c: feat(web): redesign topology and paginate console tables (@nmdra)
🐛 Bug Fixes
- 00e7258: fix(cache): report unavailable Redis without fallback (@nmdra)
- b1f1332: fix(cli): hide endpoint details from local API failures (@nmdra)
- 83f756c: fix(connector): prevent redirects during raw capture (@nmdra)
- a737787: fix(console): raise compact topology node threshold (@nmdra)
- 556c24d: fix(idp): preserve OpenAPI schemas and parameter locations (@nmdra)
- 44ece9c: fix(logs): establish REST SSE streams cleanly (@nmdra)
- 8c6ebd5: fix(mcp): make rate limits transport aware (@nmdra)
- f4c93fe: fix(plugin): reuse HTTP phase admission constant (@nmdra)
- 7c1d4b8: fix(security): bound onboarding diagnostic output (@nmdra)
🔒 Security
Other
- 848ee03: chore(plan): activate live E2E remediation and draft hot credential rotation (@nmdra)
- 15ec04d: chore(plan): archive active raw response plan (@nmdra)
- 78d60d2: chore(plan): archive onboarding reliability plan (@nmdra)
- 01d1def: chore(plan): close live E2E remediation (@nmdra)
- ca5753d: chore(plan): close tool metadata implementation (@nmdra)
- 0d8f1c4: chore(plan): complete raw response plugin phase (@nmdra)
- 6f114c6: chore(plan): record infrastructure deployment (@nmdra)
- 580de19: chore(plan): stall generic external plugin handoff (@nmdra)
- 1bb1b3d: chore(release): prepare v0.5.0-alpha.1 (@nmdra)
- 27eab1d: docs(cli): sync scrub-credentials generated reference (@nmdra)
- 9c935b1: docs(e2e): synchronize live regression contracts (@nmdra)
- d80c022: docs(skill): harden bridgectl onboarding guidance (@nmdra)
- 4eecc3b: refactor(mcp): separate ERP response capture from normalization (@nmdra)
- 593e681: refactor(tools): make manifest generation explicit (@nmdra)
- 089eda1: style(web): format console sources (@nmdra)
- 1fb6810: test(e2e): correct live harness probes (@nmdra)
- 66f153b: test(mcp): cover metadata transport compatibility (@nmdra)
- 33ee1e9: test(mcp): validate stdio discovery stream (@nmdra)
- 586ccc6: test(onboarding): prove disposable end-to-end setup (@nmdra)
- bfa7ec6: test(plugin): cover raw media adaptation (@nmdra)
- 499a64c: test(plugin): cover sample plugin authentication (@nmdra)
Full Changelog: v0.4.0-alpha.3...v0.5.0-alpha.1
Released by GoReleaser.
ERPBridge v0.4.0-alpha.1
Changelog
🚀 Features
- 15437cf: feat: add plugin control plane (@nmdra)
- d571dd3: feat: authenticate external plugin calls (@nmdra)
- d7244c2: feat: define generic external plugin contract (@nmdra)
- 79039f6: feat: define protected plugin authentication resources (@nmdra)
- 699b795: feat: manage plugins with bridgectl (@nmdra)
- 50fca30: feat: persist plugin resources and bindings (@nmdra)
- e060f5d: feat: process bound external plugin responses (@nmdra)
🐛 Bug Fixes
- 97e61b2: fix(cli): create config directory before saving context (@nmdra)
- 4d66270: fix: keep fixture credentials out of process args (@nmdra)
- 7da2def: fix: redact outbound ERP logs (@nmdra)
- 86bb575: fix: remove plaintext ERP registry credentials (@nmdra)
- ac51c80: fix: require secure credential transport (@nmdra)
Other
- 21617f4: chore(ci): align release linter version (@nmdra)
- 8913787: chore(release): prepare v0.4.0-alpha.1 (@nmdra)
- 7db175d: style(console): format frontend files (@nmdra)
Full Changelog: v0.3.0-alpha.4...v0.4.0-alpha.1
Released by GoReleaser.
ERPBridge v0.4.0-alpha.3
ERPBridge v0.3.0-alpha.3
Changelog
🚀 Features
- 27498e9: feat: configure MockERP SQLite credentials (@nmdra)
- 3cda627: feat: pin MockERP integration fixture release (@nmdra)
🐛 Bug Fixes
Other
- ad43fdc: chore(mcp): add opencode config for remote ERPBridge server (@nmdra)
- 3342d74: chore(plans): close agentic MCP integration plan (@nmdra)
- aca6adf: chore(plans): close completed MockERP plan (@nmdra)
- 23ab317: chore(plans): stall SDK integration testing plan (@nmdra)
- e1ab21e: chore(release): prepare v0.3.0-alpha.3 (@nmdra)
- 44b9009: docs(mcp): document agent integrations (@nmdra)
- 9e46d1b: docs(plans): add SDK integration and external-plugin plans (@nmdra)
- aa0a0df: refactor: consume standalone MockERP image (@nmdra)
- ff31c0d: test(mcp): cover authenticated HTTP compatibility (@nmdra)
Full Changelog: v0.3.0-alpha.2...v0.3.0-alpha.3
Released by GoReleaser.
ERPBridge v0.3.0-alpha.2
ERPBridge v0.3.0-alpha.1
Changelog
🚀 Features
- 0b73f7f: feat(auth): add token storage and caller identity foundation (@nmdra)
- 505d9e2: feat(auth): enforce HTTP bearer route policy (@nmdra)
- 154b854: feat(cli): add authenticated token management (@nmdra)
- 0f74b04: feat(mcp): configure authenticated CORS preflight (@nmdra)
- 798ec12: feat(rbac): add guarded role schema admission (@nmdra)
- 95d209d: feat(rbac): enforce roles across MCP and direct invoke (@nmdra)
- c6b894f: feat: implement non-auth hardening plan (@nmdra)
🐛 Bug Fixes
- 84cc59a: fix(cache): resolve golangci-lint issues (@nmdra)
- 260eb4f: fix(cache): scope guarded entries by verified role (@nmdra)
- d7437aa: fix(cli): resolve golangci-lint issues (@nmdra)
- 6db2b8e: fix(config,connector): resolve golangci-lint issues (@nmdra)
- 84a79bf: fix(idp): resolve golangci-lint issues (@nmdra)
- 42f3d39: fix(logger,types): resolve golangci-lint issues (@nmdra)
- 2137644: fix(mcp): allow browser protocol headers (@nmdra)
- b030798: fix(mcp): resolve golangci-lint issues (@nmdra)
- 18c33fb: fix(metrics,output,banner): resolve golangci-lint issues (@nmdra)
- f195945: fix(server): gracefully shut down HTTP listener (@nmdra)
- 931cd87: fix(server): harden lifecycle log messages (@nmdra)
- 373b5e0: fix(server): prevent tainted startup log fields (@nmdra)
- 68fcf03: fix(server): remove remaining tainted startup logs (@nmdra)
- d2b02bd: fix(server,bridgectl): resolve golangci-lint issues (@nmdra)
🔒 Security
Other
- e573316: Merge branch 'main' of https://github.com/nmdra/ERPBridge (@nmdra)
- 6340dc4: build(deps): bump kin-openapi to v0.145.0 (@nmdra)
- 2f13dfe: build(deps): bump mcp-go to v0.57.0 (@nmdra)
- d81ebec: build(deps): bump python-multipart to 0.0.32 and idna to 3.18 in mock-erp (@nmdra)
- fba5d5f: build(deps): bump redis, prometheus, sqlite, miniredis, masq (@nmdra)
- 1d33b43: build(deps): bump starlette from 1.0.0 to 1.3.1 in /mock-erp (@dependabot[bot])
- 171c0aa: build: configure golangci-lint and update lefthook (@nmdra)
- 52bac32: build: configure golangci-lint and update lefthook (@nmdra)
- 083acc4: chore(release): prepare v0.3.0-alpha.1 (@nmdra)
- 537a3e3: ci(release): limit server artifacts to linux (@nmdra)
- d73c851: ci(release): replace existing release assets (@nmdra)
- e8afa81: docs(agents): mark lint fixes plan as completed (@nmdra)
- 096cb66: docs(auth): document authentication and role authorization (@nmdra)
- 4bf1abb: docs(cli): align references with current auth behavior (@nmdra)
- 9a736cf: docs(cli): regenerate command reference, drop removed invoke/list pages (@nmdra)
- 08e526c: docs(plans): organize plan lifecycle directories (@nmdra)
- b250ab1: docs(skills): add bridgectl operations skill (@nmdra)
- 9a7eb6a: refactor: modernize codebase constructs to idiomatic Go 1.24+ features (@nmdra)
- 5461806: test(auth): close AuthN and RBAC review gaps (@nmdra)
Full Changelog: v0.2.0-alpha.5...v0.3.0-alpha.1
Released by GoReleaser.
ERPBridge v0.2.0-alpha.5
Changelog
🚀 Features
- 2a5dadf: feat(cli): enhance tool delete with hard flag and better errors (@nmdra)
- f99fb41: feat(db): add HardDelete support to SQLite store (@nmdra)
- 5c9f201: feat(server): support hard delete in tool API (@nmdra)
Full Changelog: v0.2.0-alpha.4...v0.2.0-alpha.5
Released by GoReleaser.
ERPBridge v0.2.0-alpha.4
Changelog
🚀 Features
- b36af61: feat(cli): add directory support for 'tool apply' command (@nmdra)
- 4dd5be9: feat(cli): add server URL validation and improved error messages (@nmdra)
- d3a8cd7: feat(cli): implement tool describe command (@nmdra)
- 40a1f00: feat(mcp): implement dynamic tool visibility filtering and custom notifications (@nmdra)
🐛 Bug Fixes
- 2878813: fix(cli): ensure tool generate outputs schema to stdout (@nmdra)
- 55988f4: fix(config): refactor ActiveContext and improve test isolation (@nmdra)
- d514d76: fix(mcp): ensure newly applied tools are active and fix SSE interception logic (@nmdra)
- 5dbce77: fix(mcp): implement dynamic path parameter substitution in tool execution (@nmdra)
Full Changelog: v0.2.0-alpha.3...v0.2.0-alpha.4
Released by GoReleaser.
ERPBridge v0.2.0-alpha.3
Release Notes: ERPBridge v0.2.0-alpha.3
This release consolidates the Observability, Hardening, and Supply Chain Security improvements introduced since the
Declarative milestone (v0.2.0-alpha.1).
🚀 Highlights
🛠️ MCP Observability & Lifecycle
- Server Hooks: A new flexible hook system allows for lifecycle telemetry and custom business logic at every stage of
the MCP session (OnServerStart, OnSessionStart, OnBeforeCallTool, etc.). - Reconciliation Optimization: The declarative controller now utilizes state-hash short-circuiting to significantly
reduce processing overhead and avoid redundant updates. - Deletion Reconciliation: Automatic tool deregistration is now fully supported. When a tool is removed from the
registry, it is instantly deregistered from the active MCP server. - Output Schema Validation: Added runtime validation for tool output schemas to ensure consistency and reliability.
🛡️ Supply Chain & Security
- Binary Signing: All release binaries and Docker images are now signed with Cosign for verifiable integrity.
- SBOM Generation: Releases now include a Syft SBOM (Software Bill of Materials) for comprehensive dependency
tracking. - Hardened Production Images: The server's Dockerfile has been modernized to use a non-root user and is pinned to
specific Alpine versions. - Multi-platform Support: Full support for linux/amd64 and linux/arm64 architectures.
📊 Performance & DX
- Prometheus Metrics: Added instrumentation for server lifecycle, active sessions, and tool execution status.
- High Test Coverage: Achieved >70% unit test coverage across all core packages, including MCP, IDP, and CLI.
- ASCII Startup Banners: Added distinctive ASCII art banners for both the server and CLI to improve terminal visual
feedback. - Project Makefile: Standardized developer workflows with a comprehensive Makefile for building, testing, and tool
generation.
📝 Detailed Changelog
Added
- feat(mcp): Implement Server Hooks for lifecycle telemetry and business logic.
- feat(mcp): Implement deletion reconciliation (automatic tool deregistration).
- feat(mcp): Add tool icons and output schema validation.
- feat(metrics): Add server lifecycle and session Prometheus metrics.
- feat: Add ASCII startup banners for server and CLI.
- feat: Add Makefile for automated setup, build, test, and tool generation.
- test: Achieve high coverage (>70%) across core packages (MCP, IDP, Cache, CLI, Output).
- ci: Modernize GoReleaser config with multi-platform builds, SBOM (Syft), and Signing (Cosign).
- docs: Add comparison guide between API Endpoints and MCP Tools.
Changed
- refactor(mcp): Optimize reconciliation loop with state-hash short-circuiting.
- refactor(mcp): Migrate built-in system tools to type-safe structured handlers.
- chore(ci): Harden production Dockerfile with non-root user.
- ci: Update GitHub Actions to latest major versions (checkout@v6, setup-go@v6, goreleaser@v7).
- chore: Ignore schemas directory in git (transitioning to DB-driven registry).
- docs: Add comprehensive GitHub badges and status indicators to README.
Fixed
- fix(mcp): Ensure graceful shutdown of reconciliation controller via signal-aware context.
- fix(logger): Safely handle nil context in FromContext to prevent panics.
- fix(ci): Resolve Cosign version resolution and bundle signing issues.
Compare changes: v0.2.0-alpha.1...v0.2.0-alpha.3
(v0.2.0-alpha.1...v0.2.0-alpha.3)