# Changelog

All notable changes to this project will be documented in this file.

## [0.1.20] - 2026-09-18

### Pfad B Discoverability, 18-Point Navigation Parity, Personas & Metadata Audit (2026-09-18)
- **18-Point Bilingual Navigation Parity:** Restructured quick navigation to an 18-point indexed matrix in `README.md` and `README_de.md` with complete reciprocal and legacy anchor parity (`#1-architecture` / `#system-architecture` / `#1-architektur` / `#systemarchitektur` through `#18-liability--statutory-notice` / `#18-sicherheitsrichtlinie--gesetzlicher-hinweis`).
- **Dedicated Dual-Mermaid Section:** Promoted Component Architecture (`flowchart TD`) and Safe Mutation Lifecycle (`sequenceDiagram`) to independent Section 2 in both English and German documentation.
- **Canonical Persona Identifiers & SEO Keywords:** Tagged user personas with standardized IDs (`[PERSONA-01]` through `[PERSONA-04]`) with backward-compatible aliases, and integrated high-intent search query matrices in both languages.
- **Third-Party Invariants Compliance Matrix:** Extended `THIRD_PARTY_LICENSES.md` with Section 5 formally verifying all 10 governance invariants (`INV-LOCAL-01` through `INV-SLA-10`), `RunAsInvoker` user-space execution, and 100% permissive zero-copyleft supply chain.
- **Marketing Log & Discoverability Audit:** Appended Section 9 to `MARKETING-LOG.txt` documenting GitHub traffic inspection (214 clones, 28 views, 0 issues), max 20 GitHub topics, and roadmap progress.
- **Contract Test Suite Expansion:** Extended `test/metadata.test.ts` to assert 18-point navigation anchors, canonical persona IDs, and third-party invariant compliance (expanded to 189 passing tests).

### CI Timeout Guardrails, Multi-Host Gitignore Defense, Manifest Parity & Contract Test Expansion (2026-09-14)
- **CI Workflow Timeout & Concurrency Guardrails:** Added `timeout-minutes: 15` to primary test job (`.github/workflows/tests.yml`), added `timeout-minutes: 10` and concurrency cancellation (`concurrency: group: ${{ github.workflow }}-${{ github.ref }}, cancel-in-progress: true`) to stale issues/PRs automation (`.github/workflows/stale.yml`), and added `timeout-minutes: 5` to auxiliary workflows (`welcome.yml`, `auto-assign.yml`, `label-sync.yml`) to prevent hung runners and unbounded action minutes consumption.
- **Multi-Host Cloud-Sync & Lock Defense:** Hardened `.gitignore` against multi-host conflict files (`* (kopie)*`, `* (copy)*`, `* (Kopie)*`, `* (Copy)*`, `*conflicted copy*`, `*-WORKSTATION*`, `*-WORKSTATION-LG*`, `*-ASUS-GEI*`, `*-LAPTOP*`, `*-Mac Studio*`), canonical lock primitives (`LOCK`, `LOCK.*`, `LOCK*.txt`, `LOCK.permissions.json`, `uv.lock`, keeping `!package-lock.json` unignored), and build/cache artifacts (`*.orig`, `.coverage.*`, `.tox/`, `.turbo/`, `.nyc_output/`, `.hypothesis/`).
- **Manifest & Version Parity:** Bumped version to `0.1.20` across `package.json`, `package-lock.json`, `server.json` (root and packages array), `glama.json`, and `src/index.ts` (module header docstring and McpServer initialization).
- **Metadata, Badge & LLM Context Synchronization:** Synchronized `llms.txt` verification timestamp and `Last-checked` to `2026-09-14`, updated Shields.io test badges to `186 passed` (100% green) across both `README.md` and `README_de.md`.
- **Contract Test Suite Expansion:** Extended `test/repository-hygiene.test.ts` to assert that multi-host conflict patterns and canonical locks are gitignored while keeping public manifests trackable; extended `test/metadata.test.ts` to assert version `0.1.20`, workflow timeouts and concurrency across all workflows, gitignore defense rules, and `llms.txt` timestamp (now 186 Vitest tests passing).

## [0.1.19] - 2026-09-12

### Discoverability, 16-Point Navigation, Comparative Matrix & Transparency (2026-09-12)
- **16-Point Quick Navigation & Anchor Parity:** Upgraded documentation navigation to a fully indexed 16-point table in both English (`README.md`) and German (`README_de.md`) with 100% mutual anchor parity (`#target-personas--discoverability` / `#zielgruppen--auffindbarkeit`, `#comparative-matrix--alternatives` / `#vergleichsmatrix--alternativen`, `#third-party-licenses--transparency` / `#drittanbieter-lizenzen--transparenz`).
- **Target Personas & Discoverability:** Added dedicated persona mappings covering 4 primary user archetypes (Autonomous AI Agents & Swarms, DevOps & Multi-Environment Engineers, SecOps & Enterprise Compliance Teams, Open-Source Ecosystem Integrators) with core requirements, solved pain points, and dual-language high-intent discovery terms.
- **10-Dimension Comparative Matrix:** Added comprehensive comparative evaluation contrasting `n8n-manager-mcp` against 4 alternatives (Direct n8n REST API via Curl/Axios, Standard Agent Shell/CLI scripts, Manual n8n Web Canvas UI, and Generic Cloud SaaS Wrappers) across 10 critical operational dimensions (Interface, Safety Guardrails, Mutation Snapshots, Rollback Facility, Forensic Audit Log, Node Introspection, Multi-Server Isolation, Zero-Egress Privacy, Workflow Migration, and Permissive Licensing).
- **Third-Party Transparency & Auditing:** Added dedicated Third-Party Licenses & Transparency section in both READMEs summarizing direct runtime dependencies, 100% permissive license composition (MIT, BSD-2-Clause, Apache-2.0), zero external telemetry commitment, and zero AGPL/copyleft dependencies.
- **Marketing Log & Keyword Matrix Expansion:** Updated [`MARKETING-LOG.txt`](MARKETING-LOG.txt) with dual-language keyword matrix, 5-way comparative matrix, roadmap milestone completions, and updated timestamp.
- **Version Bump & Manifest Parity:** Bumped version to `0.1.19` across `package.json`, `server.json` (root and packages array), `glama.json`, and `src/index.ts`.
- **Machine-Readable LLM Context:** Updated [`llms.txt`](llms.txt) with version `0.1.19`, Last-checked date `2026-09-12`, 16-point navigation overview, and architecture links.
- **Contract Test Suite Expansion:** Extended `test/metadata.test.ts` to assert version `0.1.19`, 16-point navigation anchors, comparative matrix dimensions, and target persona definitions.

## [0.1.18] - 2026-09-10

### Discoverability, Dual Mermaid Architecture, Invariants & Licensing (2026-09-10)
- **Third-Party Licenses Inventory:** Added comprehensive [`THIRD_PARTY_LICENSES.md`](THIRD_PARTY_LICENSES.md) documenting runtime dependencies (`@modelcontextprotocol/sdk` v1.29.0 MIT, `zod` v3.23.8 MIT, `update-notifier` v7.3.1 BSD-2-Clause), development tooling (`typescript` Apache-2.0, `vitest` MIT, `@types/node` MIT), overrides/transitifs (`hono`, `nanoid`, `fast-uri`, `express-rate-limit`, `ip-address`, `qs`), and permissive open-source compatibility statements.
- **Marketing & Personas Log:** Added [`MARKETING-LOG.txt`](MARKETING-LOG.txt) covering core positioning, 4 target user personas (Autonomous Agent Engineers, DevOps/Enterprise Architects, SecOps/Compliance Teams, Open-Source MCP Integrators), 10 runtime invariants (`INV-LOCAL-01` to `INV-SLA-10`), sibling matrix (16 tools), and 3-phase discoverability roadmap.
- **Dual-Mermaid Architecture Diagrams:** Enhanced `README.md` and `README_de.md` with dual diagrams: Component Architecture (`flowchart TD`) and Safe Workflow Mutation Lifecycle (`sequenceDiagram`) with step-by-step pre-mutation snapshot and audit trail visualization.
- **Formal Invariant Identifiers:** Standardized Core Capabilities table with canonical invariant IDs (`INV-LOCAL-01` through `INV-SLA-10`) across German and English documentation.
- **Quick Navigation & Section Parity:** Upgraded navigation to 14-point mirrored jump links in both `README.md` and `README_de.md`, adding direct anchors for Third-Party Licenses, Marketing Log, and Changelog.
- **Package Manifest Files Whitelist:** Updated `package.json` `files` array to distribute `THIRD_PARTY_LICENSES.md` and `MARKETING-LOG.txt` alongside server distributions.
- **Version Bump & Manifest Parity:** Bumped version to `0.1.18` across `package.json`, `server.json` (root and packages), `glama.json`, and `src/index.ts`.
- **Contract Test Suite Expansion:** Extended `test/metadata.test.ts` to validate presence and schema of `THIRD_PARTY_LICENSES.md`, `MARKETING-LOG.txt`, invariant IDs (`INV-LOCAL-01`..`INV-SLA-10`), dual Mermaid diagrams, and package distribution manifests.

## [0.1.17] - 2026-09-09

### Repository Hygiene & Security Policy Parity (2026-09-09)
- **Security Policy:** Upgraded `SECURITY.md` with official umbrella security contact (`security@open-bricks.org`) alongside `security@ellmos.ai`, `support@lukasgeiger.com`, and `lukas@open-bricks.org`, maintaining 48h response SLA and 5-business-day triage commitment.
- **Repository Hygiene & .gitignore:** Hardened `.gitignore` against multi-host conflict copies (`*-conflict-*`, `*.sync-temp-*`), multi-agent locks (`LOCK.*`, `*.lock` with explicit `!package-lock.json` exemption), linter/test caches (`.pytest_cache/`, `.ruff_cache/`, `htmlcov/`, `.wheel-smoke/`, `wheelhouse/`), and temporary editor files (`*.tmp`, `*.bak`, `*.swp`, `*~`).
- **Contract Test Suite:** Extended `test/metadata.test.ts` with contract tests verifying umbrella security contact `security@open-bricks.org`, hardened `.gitignore` rules, and synchronized metadata parity across all manifests (180 Vitest tests passing).
- **Metadata & LLM Context:** Synchronized `llms.txt` Last-checked timestamp to `2026-09-09`, updated test verification status, and updated Shields.io test badge to `180 passed` across `README.md` and `README_de.md`.

### Fixed (2026-08-27)
- Write the local `servers.json` configuration atomically. An interrupted
  configuration update can no longer leave a truncated file that causes the
  MCP server to discard all configured n8n connections on its next start.
- Add a regression test for replacing an existing configuration and cleaning
  up the temporary write file.

## [0.1.16] - 2026-08-25

### Discoverability, README-Design & CI Concurrency Hardening (2026-08-25)
- **CI Matrix & Concurrency:** Hardened GitHub Actions CI workflow (`.github/workflows/tests.yml`) with automated `concurrency` cancellation (`cancel-in-progress: true`) on branch pushes.
- **Bilingual Security Policy:** Upgraded `SECURITY.md` with structured Supported Versions matrix (`0.1.x`), 48h Response SLA, and official security contacts (`security@ellmos.ai`, `support@lukasgeiger.com`, `lukas@open-bricks.org`) with 100% DE/EN parity.
- **Quick Navigation & Discoverability:** Added structured quick-navigation jump-links (13 anchors) and bilingual Core Capabilities & Safety Invariants matrix in `README.md` and `README_de.md`.
- **Sibling Tools & Ecosystem Matrix:** Expanded partner repositories table to 16 sibling tools across `ellmos-ai`, `dev-bricks`, `file-bricks`, `doc-bricks`, and `open-bricks`.
- **Badges & Metadata Synchronization:** Updated Shields.io badges (Node >=20, Safety Backups/Audit/Read-Only, Security 48h SLA/Local-First, MIT, LLM-Ready, Ecosystem ellmos-ai, Umbrella open-bricks), bumped version to `0.1.16` across `package.json`, `server.json`, `glama.json`, and `src/index.ts`.
- **Repository Hygiene & Gitignore:** Added sync conflict patterns (`*.sync-conflict-*`, `*.conflict`, `*-CONFLIT-*`) and test coverage artifacts to `.gitignore`.
- **Contract Test Suite:** Extended `test/metadata.test.ts` with contract tests for CI concurrency, quick navigation, capabilities table, ecosystem matrix, security policy SLA / supported versions.
- **LLM Context:** Synchronized `llms.txt` Last-checked timestamp to `2026-08-25` and referenced `SECURITY.md`.

## [0.1.15] - 2026-08-16

### Discoverability & Parity (2026-08-16)
- Synchronized README badges across German and English versions (169 tests passed, 19 tools, Node >= 20, LLM-Ready, MIT, ellmos-ai ecosystem, open-bricks umbrella).
- Added sibling tools integration matrix (`ProFiler`, `DokuZen`, `safe-start-for-codex`, `automation-master`, `DevCenter`, `CodeBox`).
- Synchronized `glama.json` tool count to 19.
- Updated `llms.txt` timestamp to 2026-08-16 and test count to 169 Vitest tests.
- Added automated metadata, manifest, and tool parity test suite in `test/metadata.test.ts` (169/169 passed).

### Added (2026-08-13)
- First step of the planned conversion from a standalone tool server towards an
  adapter over the `n8n-workflow-manager` module: a new read-only tool
  `n8n_manager_history` surfaces that module's version history, recorded
  decisions, sync history, and remote bindings to any MCP client.
- New module `src/manager-client.ts` holds the seam (URL resolution, probing,
  reads, formatting) with an injectable `fetch`, so the shipped code is the code
  under test rather than a copy of its logic.
- `n8n_safety_status` now reports the *measured* seam state -- configured,
  reachable, manager version -- instead of only echoing the environment, and
  warns when the manager URL is not loopback (its API is unauthenticated).
- Packaging: include `glama.json`, `smithery.yaml`, and `llms.txt` in npm package files.

### Fixed (2026-08-13)
- Validate workflow, execution, and backup list limits as finite positive
  integers in the documented range 1..1000, and validate workflow connection
  output/input indices in the range 0..1000 before API, filesystem, or array
  access. The existing defaults remain unchanged.

### Documentation (2026-08-13)
- Correct the EN/DE platform-verification statement: the current workflow runs
  on Ubuntu Linux with Node.js 20, 22, and 24; macOS is not claimed without a
  macOS runner.

### Documentation (2026-08-10)
- Replace static README test-count badges and prose with stable suite wording,
  so routine coverage growth cannot leave public documentation stale.
- Refresh `llms.txt` with the current local verification result.

### Security (2026-08-10)
- Make `N8N_MANAGER_READ_ONLY=1` a monotonic enforcement control so persisted
  safety settings cannot re-enable workflow mutations.

### Fixed (2026-08-08)
- Constrain generated backup directories and files to the configured backup
  root, including reserved-name mapping, regular-JSON listing, and
  symlink/reparse-aware restore checks.
- Preserve an existing server's default flag when `n8n_add_server` updates it
  without `is_default`; explicit `true` promotes and explicit `false` removes
  the flag, with deterministic first-server fallback when none remains.
- Raise the transitive `nanoid` override to `^3.3.17`; the refreshed lockfile
  resolves `3.3.18` and `npm audit` reports zero vulnerabilities.

### Verification (2026-08-08)
- Fresh `npm ci`, `npm run build`, and `npm test` pass with 109/109 tests;
  `npm pack --dry-run --json` contains the built server and backup-path module,
  and `npm run smoke` discovers all 18 tools.
- The latest landed `main` CI run (commit `21e268b`) is green on Node.js 20,
  22, and 24; this local change remains unpushed pending normal review.
### Security (2026-08-11)
- Close the remaining open Dependabot advisories in the lockfile: add the
  `express-rate-limit` override (`^8.6.2`) and raise `hono` to `^4.13.0`.
  The `nanoid` and `fast-uri` overrides had already landed on 2026-08-08.
  `npm audit` reports 0 vulnerabilities.

### Changed (2026-08-07)
- Reconcile the diverged `main` and `master` branches (open since 0.1.14) back
  into a single line of development, section by section rather than by taking
  either side wholesale.
- Adopt the dependency `overrides` from `master` (`@hono/node-server`,
  `postcss`) and raise `vitest` from `^3.0.8` to the current line in both
  `devDependencies` and `overrides`.
- Raise the declared Node.js floor from 18 to 20 in `package.json` (`engines`),
  both READMEs and `llms.txt`. The `@hono/node-server` 2.x override requires
  Node 20 and the CI matrix has only ever tested 20/22/24, so the advertised
  `>=18` was wrong.

### Removed (2026-08-07)
- Drop `smithery.yaml`, its `package.json` `files` entry and its assertion in
  the repository-hygiene test. The listing it advertised does not exist:
  `smithery.ai/server/@ellmos-ai/n8n-manager-mcp` returns HTTP 404. Same
  finding and same removal as in `ellmos-clatcher-mcp` and
  `ellmos-codecommander-mcp`.

### Maintenance
- Technical hygiene & maintenance check [G 2026-07-29]: 103/103 tests verified.
  The `llms.txt` timestamp from that run has since been superseded by the
  2026-08-04 audit below.

### Security (2026-08-05)
- Close both open Dependabot advisories via lockfile update: `fast-uri`
  (high, GHSA-7p8r-x3mc-p8w7) and `hono` (moderate, GHSA-8j4g-w8fx-2239).
  `npm audit` reports 0 vulnerabilities; build and 103/103 Vitest tests
  stay green.

### Changed
- Enhanced Discoverability, README design, SEO & LLM Indexing (Pfad B Audit).
- Added interactive Mermaid architecture diagram visualizing MCP Stdio integration, safety layer, and multi-server n8n REST API orchestration.
- Added Node.js, Vitest (103 passed), Ecosystem (`ellmos-ai`), and Umbrella (`open-bricks`) Shields.io status badges.
- Added GFM `llms.txt` Callout note in both English (`README.md`) and German (`README_de.md`) documentation.
- Updated `llms.txt` verification timestamp to 2026-08-04.

## [0.1.14] - 2026-07-25

### Security & Maintenance
- Remediate `postcss <=8.5.17` high-severity vulnerability (`GHSA-r28c-9q8g-f849`), `fast-uri`, `body-parser`, and `hono` security findings via dependency updates.
- Synchronize version string 0.1.14 across `package.json`, `package-lock.json`, `server.json`, `glama.json`, and `src/index.ts`.
- Verify full test suite (70 tests passing).

## [0.1.13] - 2026-07-24

### Fixed
- Correct FileCommander (46) and CodeCommander (22) tool counts in the ecosystem family table; counts now verified against the live MCP `tools/list` surface.
- Align the McpServer runtime version in `src/index.ts` with package.json.

## [0.1.12] - 2026-07-24

### Changed
- Unified the ellmos-ai ecosystem section in README.md and README_de.md: full 9-server MCP family table with refreshed tool counts, AI infrastructure, and desktop software links.
- Refreshed `glama.json` for the Glama MCP directory listing.
- Synced `server.json` version metadata.

## [0.1.12] - 2026-07-21

### Security
- Refresh the `hono` override to `^4.12.31`, resolving the current Hono advisory while retaining the latest compatible MCP SDK line and the package's Node.js 18 support.
- Record that the current MCP SDK release still carries an advisory through its optional HTTP transport dependency; its only published remediation requires either a vulnerable older SDK or a Node.js 20-only incompatible transitive override. This stdio-only server does not invoke that transport.

## [0.1.11] - 2026-07-03

### Security
- Harden repository hygiene for local n8n server configs, tokens, recovery codes, private keys, local backups, audit logs, and SQLite files.
- Validate `n8n_add_server` input before saving local server configuration: reject malformed URLs, non-HTTP schemes, embedded credentials, query strings, fragments, empty names, and whitespace-bearing API keys.
- URL-encode `workflow_id`/`target_workflow_id`/`status` before embedding them in n8n REST API request paths and query strings (`n8n_get_workflow`, `n8n_update_workflow`, `n8n_delete_workflow`, `n8n_activate_workflow`, `n8n_export_workflow`, `n8n_restore_workflow`, `n8n_list_executions`). These are free-form strings from the MCP caller; unescaped, characters like `&`, `?`, or `/` could inject extra query parameters or alter the request path against the configured n8n server.

### Added
- Regression tests covering the new URL-encoding behavior for workflow IDs and execution filters.

## [0.1.10] - 2026-06-17

### Added
- Replace Spanish, Simplified Chinese, Japanese, and Russian i18n fallbacks with real n8n Manager translations.
- Add direct i18n tests for supported language order, language switching, non-English strings, and placeholder interpolation.
- Add GitHub Actions test workflow for Node.js 20, 22, and 24 with build, Vitest, and npm package checks.
- Add a manual stdio MCP smoke runner that verifies all 18 registered tools and a safe `n8n_describe_nodes` call against the built server.
- Add a TTY-guarded `update-notifier` check for interactive CLI starts while keeping MCP stdio output unchanged.

### Changed
- Include `server.json` in npm package metadata and add npm homepage/bug-report links.
- Include `CHANGELOG.md` in the npm package file list.
- Normalize `package.json` repository metadata to npm's `git+https` form.
- Update GitHub community workflows to current `actions/stale` and `actions/first-interaction` versions.
- Clarify Glama and official MCP Registry namespace status in README and `llms.txt`.
- Align liability text with the actual MIT license.
- Clarify MCP directory namespace status and add the public Enterprise DNA directory entry.
- Refresh discovery metadata with the PulseMCP listing, broader n8n workflow MCP search phrases, current ellmos MCP family entries, and npm keywords.

### Fixed
- Align `package.json`, lockfile, MCP runtime version, source header, generated dist bundle, and `server.json` metadata after the update-notifier release.
- Refresh npm dependency locks so the production audit finding for `hono` is resolved.

## [0.1.8] - 2026-05-23

### Added
- Safety controls for n8n mutations: read-only mode, backup-before-update/delete/activate, local backup listing, restore from backup, and JSONL audit logging.
- `n8n_safety_status`, `n8n_set_safety_mode`, `n8n_list_backups`, and `n8n_restore_workflow`.

### Fixed
- Refresh npm lockfile and overrides to resolve Dependabot alerts for `hono`, `fast-uri`, `ip-address`, `vite`, `esbuild`, and `qs`.
- Update stale security reporting links to the `ellmos-ai` repository.

## [0.1.7] - 2026-05-17

### Added
- Comprehensive test suite with 75 tests covering all 13 tools (vitest)
- Cross-platform compatibility verified on Windows, macOS, and Linux
- Development/Testing section in README.md and README_de.md

## [0.1.6] - 2026-02-20

### Fixed
- Initial public release on npm
