# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.4.12] - 2026-07-02

### Fixed

- Fixed the TouchDesigner WebServer component failing to initialize with `ModuleNotFoundError: No module named 'mcp.controllers'` (and the same failure for `utils.error_handling`) when TouchDesigner's Python already contains same-named `mcp` / `utils` packages (e.g. the Anthropic MCP SDK, PyPI name `mcp`). Corrected `import_modules` so the project `modules/` paths take priority in `sys.path` and any cached `mcp*` entries are evicted from `sys.modules`, added the missing `__init__.py` files so `modules/mcp/` and `modules/utils/` are regular packages instead of shadowable namespace packages, and re-synced the `import_modules` DAT embedded in `mcp_webserver_base.tox` so the released `.tox` runs the fixed logic ([#173](https://github.com/8beeeaaat/touchdesigner-mcp/issues/173), [#181](https://github.com/8beeeaaat/touchdesigner-mcp/pull/181)).

### Changed

- Released version `1.4.12` across package metadata (`package.json`), MCP bundle manifest (`mcpb/manifest.json`), and server registry metadata (`server.json`), including the updated MCPB download URL and checksum so npm and MCPB installations resolve the same release. The MCP API version (`src/api/index.yml`, `td/modules/utils/version.py`, `pyproject.toml`) stays at `1.4.3` since this release contains no server/API contract changes. No dependency updates are included.

## [1.4.11] - 2026-06-27

### Changed

- Released version `1.4.11` across package metadata (`package.json`), MCP bundle manifest (`mcpb/manifest.json`), and server registry metadata (`server.json`), including the updated MCPB checksum so npm and MCPB installations resolve the same release. The MCP API version (`src/api/index.yml`, `td/modules/utils/version.py`, `pyproject.toml`) stays at `1.4.3` since this release contains no server/API contract changes.

### Security

- Resolved all 18 `npm audit` advisories (15 moderate, 3 high) down to 0. Upgrading `@redocly/cli` to `2.35.1` cleared the `markdown-it` and `undici` transitive advisories, and `npm audit fix` lifted `form-data`, `linkify-it`, and `markdown-it` in the lockfile only (no direct dependency changes). No `overrides` were needed.

### Technical

- **Dependency Updates**: Updated runtime and development dependencies. No server/API contract changes; code generation output (`src/gen`, `td/modules`) is unchanged after the `orval` and `@redocly/cli` upgrades.
  - `axios` 1.17.0 → 1.18.1
  - `semver` 7.8.4 → 7.8.5
  - `@biomejs/biome` 2.5.0 → 2.5.1
  - `@redocly/cli` 2.32.2 → 2.35.1
  - `@types/node` 25.9.3 → 26.0.1
  - `@vitest/coverage-v8` 4.1.8 → 4.1.9
  - `orval` 8.17.0 → 8.19.0
  - `prettier` 3.8.4 → 3.8.5
  - `vitest` 4.1.8 → 4.1.9

## [1.4.10] - 2026-06-18

### Fixed

- Enabled TypeScript declaration emit (`declaration: true` in `tsconfig.json`) so the published package actually ships the `.d.ts` files it already advertises through `types: dist/index.d.ts` and the typed `exports` map. Previously `build:dist` emitted only JavaScript, so TypeScript consumers installing `touchdesigner-mcp-server` got `Could not find a declaration file` errors despite the package metadata promising declarations ([#176](https://github.com/8beeeaaat/touchdesigner-mcp/pull/176)).

### Changed

- Released version `1.4.10` across package metadata (`package.json`), MCP bundle manifest (`mcpb/manifest.json`), and server registry metadata (`server.json`), including the updated MCPB checksum so npm and MCPB installations resolve the same release. The MCP API version (`src/api/index.yml`, `td/modules/utils/version.py`, `pyproject.toml`) stays at `1.4.3` since this release contains no server/API contract changes.

## [1.4.9] - 2026-06-13

### Changed

- Released version `1.4.9` across package metadata (`package.json`), MCP bundle manifest (`mcpb/manifest.json`), and server registry metadata (`server.json`), including the updated MCPB download URL and checksum so npm and MCPB installations resolve the same release. The MCP API version (`src/api/index.yml`, `td/modules/utils/version.py`) stays at `1.4.3` since this release contains no server/API contract changes.
- Replaced the `@openapitools/openapi-generator-cli` (Java-based python-flask generator) with `@redocly/cli` for OpenAPI bundling. The python-flask generator was only used for its bundled `openapi.yaml` side effect; the rest of its output (Flask skeleton, models, CI artifacts) was dead code. The schema is now bundled directly via `redocly bundle` (`gen:webserver` renamed to `gen:openapi`), and `td/genHandlers.js` switched from the phantom `fs-extra` dependency to `node:fs/promises`.
- Generated type names now follow the source schema (`CreateNode200Data`, `CreateNodeBody`) instead of generator-normalized names (`CreateNode200ResponseData`, `CreateNodeRequest`); consuming code updated accordingly. Python `operationId`s are snake_case in the source schema, so the TouchDesigner side is unchanged.
- Centralized MCP tool definitions in a new `src/features/tools/toolDefinitions.ts` as the single source of truth (name, description, input schema, handler). `handlers/tdTools.ts` now registers them in a loop, and the `describe_td_tools` manifest derives its parameter metadata from each tool's Zod schema via introspection, keeping registration and documentation consistent.

### Removed

- Removed dead code surfaced by the codegen migration: the Flask skeleton and models under `td/modules/td_server/`, the unused `msw` dependency together with `public/mockServiceWorker.js` and its config field, the unreferenced `@mozilla/readability`, `@types/ws`, `@types/yargs`, and `@types/jsdom` devDependencies, and the stale `overrides` entry for `concurrently` (it targeted a transitive dependency of the now-removed `@openapitools/openapi-generator-cli`).
- Dropped the Java runtime from the Docker image, since the `@redocly/cli` bundling step no longer requires it.
- Removed the obsolete planning documents `plans/agent-interface-direction.md` and `plans/code-execution-design.md`.

### Technical

- Replaced `@openapitools/openapi-generator-cli` with `@redocly/cli` in the code generation toolchain (`gen:openapi`).
- No dependency version bumps in this release: all direct dependencies were already at their latest published versions and `npm audit` reported 0 vulnerabilities.

## [1.4.8] - 2026-06-11

### Changed

- Released version `1.4.8` across package metadata (`package.json`), MCP bundle manifest (`mcpb/manifest.json`), and server registry metadata (`server.json`), including the updated MCPB download URL and checksum so npm and MCPB installations resolve the same release. The MCP API version (`src/api/index.yml`, `td/modules/utils/version.py`) stays at `1.4.3` since this release contains no server/API changes.
- Pinned all dependencies and devDependencies to exact versions (removed caret ranges) so local and CI installs always resolve identical dependency trees.

### Fixed

- Updated `public/mockServiceWorker.js` `PACKAGE_VERSION` to `2.14.6` to match the upgraded `msw` dependency, keeping the generated worker script in sync with the installed package.

### Removed

- Removed unused `archiver` devDependency — MCP Bundle packaging has been handled by `npx @anthropic-ai/mcpb pack` since the packaging flow was reworked, leaving `archiver` unreferenced.

### Security

- Added an `overrides` entry forcing `shell-quote` to the patched `1.8.4` release under `concurrently`, fixing a critical advisory (GHSA-w7jw-789q-3m8p) without downgrading `@openapitools/openapi-generator-cli`. The override can be removed once `@openapitools/openapi-generator-cli` ships with `concurrently@10` or newer.
- Resolved all remaining `npm audit` findings (including a high-severity `fast-uri` path traversal advisory) by refreshing transitive dependencies via `npm audit fix`.

### Technical

- **Dependency Updates**: Updated runtime and development dependencies for compatibility with the latest TypeScript, testing, and code generation toolchain
  - Updated `axios` from `1.15.0` to `1.17.0`
  - Updated `semver` from `^7.7.4` to `7.8.4`
  - Updated `yaml` from `^2.8.3` to `2.9.0`
  - Updated `zod` from `4.3.6` to `4.4.3`
  - Updated `@biomejs/biome` from `2.4.11` to `2.4.16`
  - Updated `@openapitools/openapi-generator-cli` from `^2.31.1` to `2.35.0`
  - Updated `@types/jsdom` from `^28.0.1` to `28.0.3`
  - Updated `@types/node` from `^25.6.0` to `25.9.3`
  - Updated `@vitest/coverage-v8` from `^4.1.4` to `4.1.8`
  - Updated `msw` from `^2.13.2` to `2.14.6`
  - Updated `orval` from `^8.7.0` to `8.16.0`
  - Updated `prettier` from `^3.8.2` to `3.8.4`
  - Updated `typescript` from `^6.0.2` to `6.0.3`
  - Updated `vitest` from `^4.1.4` to `4.1.8`

## [1.4.7] - 2026-04-12

### Changed

- Released version `1.4.7` across package metadata (`package.json`), MCP bundle manifest (`mcpb/manifest.json`), and server registry metadata (`server.json`), including the updated MCPB download URL and checksum so npm and MCPB installations resolve the same release.
- Upgraded `axios` from the temporary `1.13.6` hold to the safe upstream release `1.15.0`, keeping installs on a patched version without relying on the earlier emergency pin.
- Switched Node.js version management from `.nvmrc` to `.node-version` for broader compatibility with version managers (`fnm`, `volta`, `mise`, etc.).
- CI workflows (`development.yml`, `release.yml`) now read the pinned Node.js version from `.node-version` instead of using a floating `24.x` matrix, preventing lock file drift between local and CI environments.

### Fixed

- Updated `public/mockServiceWorker.js` `PACKAGE_VERSION` to `2.13.2` to match the upgraded `msw` dependency, preventing local test and development mismatches between the generated worker script and the installed package.
- Removed deprecated `baseUrl` and `paths` settings from `tsconfig.json`, preventing `TS5101` failures and keeping `npm run build:dist` compatible with TypeScript `6.0`.
- Used optional chaining (`data?.name`) in `classListFormatter.ts` for safer class details data validation.
- Regenerated `package-lock.json` for npm `11.11.0` compatibility, fixing missing top-level entries for `@emnapi/core` and `@emnapi/runtime` that caused `npm ci` failures in CI.

### Removed

- Removed the temporary `overrides.axios` entry introduced during the March 2026 npm supply-chain mitigation now that the project has moved to a safe upstream axios release.
- Removed unnecessary `@types/axios` from dependencies — axios `1.x` ships its own TypeScript type definitions.

### Technical

- **Dependency Updates**: Updated runtime and development dependencies for compatibility with the latest TypeScript, testing, and code generation toolchain
  - Updated `@modelcontextprotocol/sdk` from `^1.27.1` to `^1.29.0`
  - Updated `axios` from `1.13.6` to `1.15.0`
  - Updated `yaml` from `^2.8.2` to `^2.8.3`
  - Updated `@biomejs/biome` from `2.4.6` to `2.4.11`
  - Updated `@openapitools/openapi-generator-cli` from `^2.30.2` to `^2.31.1`
  - Updated `@types/jsdom` from `^28.0.0` to `^28.0.1`
  - Updated `@types/node` from `^25.3.5` to `^25.6.0`
  - Updated `@vitest/coverage-v8` from `^4.0.18` to `^4.1.4`
  - Updated `msw` from `^2.12.10` to `^2.13.2`
  - Updated `orval` from `^8.5.2` to `^8.7.0`
  - Updated `prettier` from `^3.8.1` to `^3.8.2`
  - Updated `typescript` from `^5.9.3` to `^6.0.2`
  - Updated `vitest` from `^4.0.18` to `^4.1.4`

## [1.4.6] - 2026-04-01

### Security

- Pinned `axios` to exact version `1.13.6` (removed caret range `^1.13.6`) in both `dependencies` and `overrides` to mitigate the [axios supply chain attack](https://socket.dev/npm/package/axios/overview/1.14.1). The malicious `axios@1.14.1` was published to npm in late March 2026 and has since been removed. Users who ran `npx touchdesigner-mcp-server` during the compromise window (late March 2026) should check for the presence of `plain-crypto-js` in their `node_modules` and reinstall if found.

<https://github.com/8beeeaaat/touchdesigner-mcp/issues/167> @annsts thx!

#### For users who may have been affected

If you ran npx touchdesigner-mcp-server during late March 2026, please refer to the remediation guidance in the references below. Key steps include checking for the presence of plain-crypto-js in your node_modules, removing and reinstalling if found, and rotating any secrets or credentials that may have been exposed.

##### References

[Axios Supply Chain Attack Pushes Cross-Platform RAT via Compromised npm Account — The Hacker News](https://thehackernews.com/2026/03/axios-supply-chain-attack-pushes-cross.html)

[axios Compromised on npm — StepSecurity](https://www.stepsecurity.io/blog/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan)

[North Korea-Nexus Threat Actor Compromises Axios NPM Package — Google Cloud Blog](https://cloud.google.com/blog/topics/threat-intelligence/north-korea-threat-actor-targets-axios-npm-package?hl=en)

## [1.4.5] - 2026-03-06

### Added

- Added a custom OpenAPI generator template (`src/templates/python-flask/setup.mustache`) and wired `gen:webserver` to use it, so generated Python server packages include consistent setup metadata and installation configuration.

### Changed

- Released version `1.4.5` across package metadata (`package.json`), MCP bundle manifest (`mcpb/manifest.json`), and server registry metadata (`server.json`) to keep published artifacts and registry resolution in sync.
- Updated code generation settings in `orval.config.ts` to use `namingConvention: "camelCase"` for stable generated schema naming and easier maintenance of typed tool handlers.

### Fixed

- Updated `tdTools` schema imports/usages to match generated Zod schema naming (`CreateNodeBody`, `GetNodesQueryParams`, etc.), preventing handler/schema mismatches after code generation updates.
- Corrected the Biome schema path in `biome.json` to the local package schema (`node_modules/@biomejs/biome/configuration_schema.json`), improving local linting/editor schema resolution.
- Corrected the MCPB `fileSha256` value in `server.json` for the `v1.4.5` bundle, preventing checksum mismatches during package verification.

### Technical

- **Dependency Updates**: Updated runtime and development dependencies to latest patch/minor releases for compatibility and tooling stability
  - Updated `@modelcontextprotocol/sdk` from `^1.25.3` to `^1.27.1`
  - Updated `axios` from `^1.13.2` to `^1.13.6`
  - Updated `semver` from `^7.7.3` to `^7.7.4`
  - Updated `@biomejs/biome` from `2.3.12` to `2.4.6`
  - Updated `@openapitools/openapi-generator-cli` from `^2.28.0` to `^2.30.2`
  - Updated `@types/jsdom` from `^27.0.0` to `^28.0.0`
  - Updated `@types/node` from `^25.0.10` to `^25.3.5`
  - Updated `msw` from `^2.12.7` to `^2.12.10` and synchronized `public/mockServiceWorker.js` `PACKAGE_VERSION` accordingly
  - Updated `orval` from `^7.17.2` to `^8.5.2`

## [1.4.4] - 2026-01-24

### Changed

- Updated MCP bundle metadata to 1.4.4 and refreshed server registry entries, including the download URL and checksum for the MCPB package.
- Enhanced `syncMcpServerVersions` to compute and validate the MCPB SHA-256 before updating registry metadata, preventing mismatched release artifacts.

### Technical

- **Dependency Updates**: Updated runtime and development dependencies to latest patch releases
  - Updated @modelcontextprotocol/sdk from ^1.25.1 to ^1.25.3
  - Updated zod from 4.3.2 to 4.3.6
  - Updated @biomejs/biome from 2.3.10 to 2.3.12
  - Updated @openapitools/openapi-generator-cli from ^2.27.0 to ^2.28.0
  - Updated @types/node from ^25.0.3 to ^25.0.10
  - Updated @vitest/coverage-v8 from ^4.0.16 to ^4.0.18
  - Updated prettier from ^3.7.4 to ^3.8.1
  - Updated vitest from ^4.0.16 to ^4.0.18

## [1.4.3] - 2025-12-31

### Added

- Added version and download badges to README files for better visibility of current release status and npm package downloads. ([#149](https://github.com/8beeeaaat/touchdesigner-mcp/pull/149))
- Added AGENTS.md file documenting repository guidelines and development commands for AI agents working with the codebase. ([#146](https://github.com/8beeeaaat/touchdesigner-mcp/pull/146))

### Changed

- Enhanced installation documentation with development shortcuts for starting HTTP server mode more easily. ([#145](https://github.com/8beeeaaat/touchdesigner-mcp/pull/145), [#146](https://github.com/8beeeaaat/touchdesigner-mcp/pull/146))
- Updated HTTP mode instructions in installation guides with npm commands and removed outdated commands for better clarity. ([#147](https://github.com/8beeeaaat/touchdesigner-mcp/pull/147))
- Improved transport configuration documentation with clearer setup steps for both English and Japanese guides. ([#145](https://github.com/8beeeaaat/touchdesigner-mcp/pull/145))

### Fixed

- Fixed Python script execution for multi-line scripts by enhancing `exec_python_script` to properly handle newlines and complex script structures. ([#151](https://github.com/8beeeaaat/touchdesigner-mcp/pull/151))
  - Resolved [issue #150](https://github.com/8beeeaaat/touchdesigner-mcp/issues/150) where multi-line Python scripts would fail to execute correctly
    - Thanks to @saramaebee for reporting and detailing the issue 👍
  - Added comprehensive integration tests to verify multi-line script execution

### Technical

- **Dependency Updates**: Updated multiple runtime and development dependencies to latest versions for improved security and performance
  - Updated @modelcontextprotocol/sdk from ^1.24.3 to ^1.25.1 for latest MCP protocol features
  - Updated zod from 4.1.13 to 4.3.2 for enhanced schema validation
  - Updated @biomejs/biome from 2.3.8 to 2.3.10 for improved code formatting and linting
  - Updated @openapitools/openapi-generator-cli from ^2.25.2 to ^2.27.0
  - Updated @types/node from ^24.10.1 to ^25.0.3 for latest Node.js type definitions
  - Updated @vitest/coverage-v8 from ^4.0.15 to ^4.0.16
  - Updated msw from ^2.12.4 to ^2.12.7 for enhanced testing capabilities
  - Updated orval from ^7.17.0 to ^7.17.2
  - Updated vitest from ^4.0.15 to ^4.0.16
- Code cleanup: Removed unused sessionId assignment in TransportFactory
- Updated mockServiceWorker.js package version to match msw dependency (2.12.7)

## [1.4.2] - 2025-12-07

### Added

- Implemented a mechanism to insert update guidance as an additional message to tool responses when compatibility warnings occur, enabling direct notification within the chat. (#141)

### Changed

- Extended compatibility check caching (60 seconds on failure, 5 minutes on success) and enforced re-verification upon `get_td_info` execution to reduce load while returning the latest determination. (#141)
- Added update procedures from older versions to the README, installation guide, and release notes, and detailed the compatibility verification flow in the architecture documentation. (#141)
- Improved guidance for missing version information, revising the message to explicitly indicate outdated `.tox` files or insufficient updates on MCP servers. (#141)
- Relaxed the compatibility policy so PATCH version differences are allowed without logging, and ensured TouchDesigner client tests do not surface notices for patch-only mismatches. (#144)

### Fixed

- Modified tool handlers to use a unified format `createToolResult` for returning additional content for compatibility warnings, improving response consistency. (#141)

### Technical

- Added unit and integration tests to verify compatibility message generation, cache TTL, and content with warning attachments, preventing regressions in the version warning flow. (#141)

## [1.4.1] - 2025-12-07

### Changed

- Adjusted the API server version to be updated and matched, as it was prompting for an update of mcp_webserver_base.tox even when using the latest NPM packages.

### Technical

- Aligned the versions of the Python module and OpenAPI schema (MCP_API_VERSION/info.version) to 1.4.1, and updated the compatibility check and client generation to report the new version.

## [1.4.0] - 2025-12-07

### Added

- **Streamable HTTP transport**: Added the [streamable-http](https://modelcontextprotocol.io/specification/2025-11-25/basic/transports#streamable-http) mode with SSE real-time responses and session reuse via the `mcp-session-id` header. Host/port/endpoint can be configured via CLI or environment variables. `TransportRegistry` and `SessionManager` manage multi-session lifecycles. ([#131](https://github.com/8beeeaaat/touchdesigner-mcp/pull/131), [#133](https://github.com/8beeeaaat/touchdesigner-mcp/pull/133))
- **Comprehensive documentation expansion**: Added new English and Japanese docs (architecture overview, installation guides, developer guide) to clarify the full setup-to-operations workflow. ([#134](https://github.com/8beeeaaat/touchdesigner-mcp/pull/134))

### Changed

- Restructured README and installation guides; separated and simplified configuration examples for each AI client and HTTP mode steps. ([#134](https://github.com/8beeeaaat/touchdesigner-mcp/pull/134))

### Fixed

- Revised docker-compose `MCP_HTTP_HOST`/port exposure: loopback-only by default for HTTP mode while binding to `0.0.0.0` inside the container. ([#135](https://github.com/8beeeaaat/touchdesigner-mcp/pull/135))
- Ensured default TTL and cleanup interval are applied in `SessionManager` so sessions expire correctly even when configuration is omitted. ([#137](https://github.com/8beeeaaat/touchdesigner-mcp/pull/137))

### Technical

- Added HTTP transport config validation, Express management layer, factory, and session management logic; unit/integration tests cover SSE streaming and session lifecycle. ([#131](https://github.com/8beeeaaat/touchdesigner-mcp/pull/131), [#133](https://github.com/8beeeaaat/touchdesigner-mcp/pull/133))
- Updated MCP bundle/server configuration and dependencies for HTTP mode; aligned release workflow with the latest transport setup. ([#131](https://github.com/8beeeaaat/touchdesigner-mcp/pull/131))

## [1.3.1] - 2025-12-06

### Added

- **Semantic Version Compatibility Checks**: Introduced robust semantic versioning validation between MCP server and TouchDesigner API server ([#125](https://github.com/8beeeaaat/touchdesigner-mcp/pull/125))
  - Added `mcpCompatibility.minApiVersion` field to package.json to declare minimum compatible API version
  - Integrated `semver` package for precise version comparison logic
  - Implemented three-tier compatibility system (Compatible, Warning, Error) based on semver rules
  - Version checks now run on every tool call, ensuring continuous compatibility validation
  - Compatible: Same MAJOR version with API ≥ minimum compatible version
  - Warning: Different MINOR/PATCH versions (shows warning, continues execution)
  - Error: Different MAJOR versions or API below minimum (execution stops immediately)

  | MCP Server | API Server | Minimum compatible API version | Behavior | Status | Notes |
  |------------|------------|----------------|----------|--------|-------|
  | 1.3.x | 1.3.0 | 1.3.0 | ✅ Works normally | Compatible | Recommended baseline configuration |
  | 1.3.x | 1.4.0 | 1.3.0 | ⚠️ Warning shown, continues | Warning | Older MCP MINOR with newer API may lack new features |
  | 1.4.0 | 1.3.x | 1.3.0 | ⚠️ Warning shown, continues | Warning | Newer MCP MINOR may have additional features |
  | 1.3.2 | 1.3.1 | 1.3.2 | ❌ Execution stops | Error | API below minimum compatible version |
  | 2.0.0 | 1.x.x | N/A | ❌ Execution stops | Error | Different MAJOR = breaking changes |

  **Compatibility Rules**:

  - ✅ **Compatible**: Same MAJOR version AND API version ≥ minimum compatible version (currently 1.3.0)
  - ⚠️ **Warning**: Same MAJOR version with different MINOR or PATCH versions (e.g., MCP 1.4.0 with API 1.3.x, or vice versa) - shows warning but continues execution
  - ❌ **Error**: Different MAJOR versions (e.g., 2.x vs 1.x) OR API server below minimum compatible version

### Changed

- **Version Synchronization Scripts**: Refactored version management workflow for better maintainability ([#125](https://github.com/8beeeaaat/touchdesigner-mcp/pull/125))
  - Split `scripts/syncVersions.ts` into two targeted scripts:
    - `scripts/syncApiServerVersions.ts` - Manages Python API and OpenAPI spec versions
    - `scripts/syncMcpServerVersions.ts` - Manages MCP manifest and server config versions
  - Updated npm scripts to use new version commands: `version:api` and `version:mcp`
- **Enhanced Python Logging**: Added logging in OpenAPIRouter
  - Logs OpenAPI schema version at INFO level on initialization
  - Logs total route count at INFO level
  - Logs individual routes at DEBUG level for detailed debugging when enabled

### Fixed

- **Documentation Improvements**: Enhanced troubleshooting guidance and version compatibility documentation
  - Updated README files (English and Japanese) with comprehensive semantic versioning rules ([#125](https://github.com/8beeeaaat/touchdesigner-mcp/pull/125))
  - Added detailed compatibility table explaining version combinations and behaviors
  - Clarified that version checks occur on every tool call, not just during connection ([#120](https://github.com/8beeeaaat/touchdesigner-mcp/pull/120))
  - Improved formatting in installation instructions for better readability ([#121](https://github.com/8beeeaaat/touchdesigner-mcp/pull/121))
  - Added step-by-step remediation procedures for compatibility errors
  - Enhanced release workflow with clearer upgrade instructions

### Technical

- **Dependency Updates**: Updated dependencies to latest stable versions ([#124](https://github.com/8beeeaaat/touchdesigner-mcp/pull/124))
  - Updated `@modelcontextprotocol/sdk` from ^1.23.0 to ^1.24.3
  - Updated `@vitest/coverage-v8` from ^4.0.14 to ^4.0.15
  - Updated `msw` from ^2.12.3 to ^2.12.4
  - Updated `prettier` from ^3.7.3 to ^3.7.4
  - Updated `vitest` from ^4.0.14 to ^4.0.15
- **Comprehensive Test Coverage**: Added extensive tests for compatibility module ([#125](https://github.com/8beeeaaat/touchdesigner-mcp/pull/125))
  - 378 lines of new compatibility test coverage
  - Enhanced TouchDesigner client tests with 778 lines of comprehensive mock tests
  - Improved test organization and reliability

## [1.3.0] - 2025-12-01

> **Notice (EN):** Starting with this release, every tool call fails if the TouchDesigner API server and MCP server versions do not match. Follow the upgrade guide in [README.md](README.md#Troubleshooting) for the fix.

> **Notice:** このバージョン以降、TouchDesigner API サーバーと MCP サーバーのバージョンが一致しない場合はすべてのツール呼び出しがエラーになります。解決手順は [README.ja.md](README.ja.md#トラブルシューティング) のヘルプを参照してください。

### Added

- Introduced the `getNodeErrors` tool to inspect specific nodes and their descendants for current errors, complete with new OpenAPI schemas, presenters, metadata, and integration tests so agents can troubleshoot TouchDesigner graphs without leaving chat. ([#119](https://github.com/8beeeaaat/touchdesigner-mcp/pull/119))
- Added the `getModuleHelp` tool that proxies Python `help()` output for TouchDesigner modules/classes and formats the response for MCP clients, enabling in-context documentation lookups inside AI agents. ([#117](https://github.com/8beeeaaat/touchdesigner-mcp/pull/117))

### Changed

- TouchDesigner client requests now run through an explicit MCP-vs-TD version compatibility check that logs mismatches, surfaces step-by-step upgrade guidance, and uses the new `scripts/syncVersions.ts` release helper to keep manifests, server.json, API specs, and Python constants aligned. ([#116](https://github.com/8beeeaaat/touchdesigner-mcp/pull/116))
- Simplified the `ILogger`/`McpLogger` interface so logs carry structured context by default, reducing noisy branching in handlers and tightening the unit/integration tests that assert logging behavior. ([#115](https://github.com/8beeeaaat/touchdesigner-mcp/pull/115))

### Fixed

- Hardened module-help retrieval by validating module/class names, removing `eval` usage, and tightening exception handling so user-supplied identifiers cannot execute arbitrary code and failures yield actionable errors. ([#117](https://github.com/8beeeaaat/touchdesigner-mcp/pull/117))
- Clarified node-error prompts and API descriptions by removing the unused `includeChildren` parameter, ensuring the tool consistently reports issues for the requested nodes plus their descendants. ([#119](https://github.com/8beeeaaat/touchdesigner-mcp/pull/119))

### Removed

- Dropped hundreds of unused OpenAPI response-model imports and handlers from the Python API controller, shrinking the generated surface area and speeding up future regen cycles. ([f79eba0](https://github.com/8beeeaaat/touchdesigner-mcp/commit/f79eba05d782c6d5cc7ed2e10b78eab8bd01b48b))

### Technical

- Adopted Prettier (with `.prettierrc`, `.prettierignore`, and `pyproject.toml`), added npm scripts for Python/YAML formatting, and taught the development workflow to install Python tooling so formatting and linting stay consistent across languages. ([#114](https://github.com/8beeeaaat/touchdesigner-mcp/pull/114))
- Updated runtime and dev dependencies (MCP SDK, axios, zod, TypeScript, Vitest, MSW, etc.) and refreshed unit tests/mocks to cover the new versions for improved stability. ([#112](https://github.com/8beeeaaat/touchdesigner-mcp/pull/112))

## [1.2.0] - 2025-11-18

### Changed

- **DXT to MCPB Migration**: Migrated from Desktop Extensions (DXT) to [MCP Bundles](https://github.com/modelcontextprotocol/mcpb) (MCPB)
  - Updated manifest from `dxt_version: "0.1"` to `manifest_version: "0.3"`
  - Renamed `.dxt` extension to `.mcpb`
  - Updated build scripts and workflows to use `@anthropic-ai/mcpb` CLI
  - Enhanced manifest.json with new MCPB features (repository structure)
  - Updated all documentation to reflect MCPB terminology
  - Changed build script from `build:dxt` to `build:mcpb`
  - Updated GitHub Actions workflows for MCPB package creation
  - Updated README.md and README.ja.md with new installation instructions

### Migration Notes

For users upgrading from previous versions:

- Uninstall the old `.dxt` extension from Claude Desktop
- Download and install the new `.mcpb` bundle from the latest release
- No changes required to TouchDesigner components
- All existing functionality remains unchanged

## [1.1.2] - 2025-11-16

### Fixed

- **Token-Optimized Response Formatters**: Re-introduced token-optimized response formatters after fixing critical issues ([#104 revert](https://github.com/8beeeaaat/touchdesigner-mcp/pull/104))
  - Reverted the temporary removal in v1.1.1
  - All formatter features from v1.1.0 are now fully restored and functional
  - Includes classListFormatter, nodeDetailsFormatter, nodeListFormatter, scriptResultFormatter, operationFormatter, and responseFormatter
  - Markdown templates and tool metadata system fully re-enabled

### Changed

- **Dependency Updates**: Updated and reorganized package dependencies for better compatibility
  - Updated mustache package to latest version with proper TypeScript type definitions
  - Moved `yaml` package from devDependencies to dependencies for production use
  - Ensures proper runtime availability of YAML parsing functionality

## [1.1.1] - 2025-11-16

### Changed

- **Temporary Rollback**: Temporarily reverted token-optimized response formatters to v1.0.0 baseline due to critical issues
  - Removed all formatter implementations, markdown templates, and tool metadata
  - Restored original JSON-based response format for stability
  - Note: This was a temporary measure - all features were restored in v1.1.2

## [1.1.0] - 2025-11-15

### Added

- **Token-Optimized Response Formatters**: Implemented specialized formatters to reduce token consumption in AI agent interactions
  - `classListFormatter`: Formats TouchDesigner Python class listings with configurable detail levels (minimal, summary, detailed)
  - `nodeDetailsFormatter`: Provides structured node information with parameter details
  - `nodeListFormatter`: Optimized formatting for node listings with token-efficient output
  - `scriptResultFormatter`: Enhanced script execution result formatting with better readability
  - `operationFormatter`: Standardized formatting for TouchDesigner operations
  - `responseFormatter`: Central response formatting system with markdown rendering support
- **Markdown Templates**: Added reusable Mustache templates for consistent response formatting
  - `classDetailsSummary.md`, `classListSummary.md`, `nodeDetailsSummary.md`, `nodeListSummary.md`, `scriptSummary.md`
  - Templates provide consistent structure across all tool responses
- **Tool Metadata System**: Comprehensive metadata descriptions for all TouchDesigner MCP tools
  - Detailed tool descriptions, parameter explanations, and usage examples
  - Helps AI agents understand tool capabilities and usage patterns
- **Development Scripts**: Added utility scripts for measuring formatter impact and previewing formats
  - `scripts/formatPreview.ts`: Preview formatted output before deployment
  - `scripts/measureFormatterImpact.ts`: Analyze token reduction impact (up to 70% reduction achieved)
  - `scripts/showDetailedNodes.ts`: Debug tool for inspecting node details
- **Comprehensive Testing**: Added extensive test coverage for formatter implementations
  - Unit tests for `nodeListFormatter`, `responseFormatter`, `scriptResultFormatter`
  - Integration tests for MCP tool responses to verify token optimization

### Changed

- **Tool Response Format**: All TouchDesigner tools now return optimized text responses instead of raw JSON
  - Replaced direct JSON serialization with intelligent formatters
  - Responses adapt based on `detailLevel` parameter (minimal, summary, detailed)
  - Improved readability and reduced token consumption for AI agents
- **README Documentation**: Updated with detailed information about response formatting system
  - Added "Response Formatting" section explaining detail levels and token optimization
  - Included examples of formatter usage and configuration
  - Updated both English and Japanese README files
- **Python Logging**: Enhanced logging in TouchDesigner modules with better error context
  - Improved traceback formatting for debugging
  - Added conditional traceback output based on log level

### Technical

- **Response Optimization**: Achieved up to 70% token reduction through intelligent formatting
  - Minimal mode: Returns only essential information for quick operations
  - Summary mode: Provides balanced information for most use cases
  - Detailed mode: Includes comprehensive data when needed
- **Type Safety**: Added TypeScript type definitions for formatter options and configurations
- **Code Organization**: Structured formatter code in dedicated `src/features/tools/presenter/` directory
- **Build Process**: Updated build configuration to copy markdown templates to distribution directory
- **Version Bumping**: Updated version across all components (package.json, API schema, server, DXT manifest)

### Performance

- **Token Efficiency**: Significant reduction in token usage for common operations
  - Node listings: ~70% reduction in typical cases
  - Script results: ~50-60% reduction through smart formatting
  - Class information: Configurable detail levels prevent information overload
- **Response Quality**: Maintained or improved response quality while reducing token count
  - Markdown formatting improves readability for AI agents
  - Structured output helps agents parse and understand results

## [1.0.0] - 2025-09-18

### Added

- **MCP Registry Integration**: Added support for Model Context Protocol (MCP) Registry registration
  - Added `server.json` configuration file for MCP Registry with package validation metadata
  - Added `mcpName` field to package.json for NPM package validation
  - Added stdio transport configuration for MCP client compatibility

### Technical

- **Registry Configuration**: Added MCP Registry authentication tokens to .gitignore for security
- **Packaging**: Enhanced package metadata for MCP Registry compliance and discoverability

## [0.4.7] - 2025-09-15

### Changed

- **Dependency Updates**: Updated multiple runtime and development dependencies to latest versions for improved security and performance
  - Updated @modelcontextprotocol/sdk from ^1.17.3 to ^1.18.0 for latest MCP protocol features and bug fixes
  - Updated axios from ^1.11.0 to ^1.12.2 for enhanced HTTP client functionality and security improvements
  - Updated @biomejs/biome from 2.2.0 to 2.2.4 for improved code formatting and linting capabilities
  - Updated @openapitools/openapi-generator-cli from ^2.22.0 to ^2.23.1 for better API code generation
  - Updated @types/node from ^24.3.0 to ^24.4.0 for latest Node.js type definitions
  - Updated msw (Mock Service Worker) from ^2.10.5 to ^2.11.2 for enhanced testing capabilities

### Technical

- **Dependency Management**: Added axios override to ensure version consistency across all packages
- **Security**: Updated all dependencies to address potential security vulnerabilities. <https://github.com/8beeeaaat/touchdesigner-mcp/security/dependabot/9>

## [0.4.6] - 2025-08-16

### Changed

- **Dependency Updates**: Updated multiple development and runtime dependencies to latest versions
  - Updated @modelcontextprotocol/sdk from ^1.13.2 to ^1.17.3 for latest MCP protocol features
  - Updated axios from ^1.10.0 to ^1.11.0 for improved HTTP client functionality
  - Updated zod from ^3.25.67 to 3.25.76 for enhanced schema validation
  - Updated @biomejs/biome from 2.0.6 to 2.2.0 for better code formatting and linting
  - Updated @openapitools/openapi-generator-cli from ^2.21.0 to ^2.22.0
  - Updated @types/node from ^24.0.7 to ^24.3.0 for latest Node.js type definitions
  - Updated orval from ^7.10.0 to ^7.11.2 for improved OpenAPI code generation
  - Updated typescript from ^5.8.3 to ^5.9.2 for latest language features
  - Updated vitest and other testing dependencies to latest versions

### Technical

- **Build Improvements**: Enhanced development workflow with updated tooling
- **Security**: Updated dependencies to address potential security vulnerabilities
- **Performance**: Improved build and development performance through updated tools

## [0.4.5] - 2025-07-17

### Changed

- **Version Updates**: Updated version numbers across all components to 0.4.5 ([#94](https://github.com/8beeeaaat/touchdesigner-mcp/pull/94))
  - Updated package.json from 0.4.4 to 0.4.5
  - Updated src/api/index.yml API schema version to 0.4.5
  - Updated src/server/touchDesignerServer.ts MCP server version to 0.4.5
  - Updated dxt/manifest.json DXT package version to 0.1.3
  - Updated README files to reference latest version
  - Updated GitHub Actions workflow to use touchdesigner-mcp-server@latest

### Technical

- **Package Distribution**: Enhanced package referencing to use @latest tag for improved distribution
- **Release Process**: Consolidated version bumping across all configuration files
- **Documentation**: Updated installation instructions to use latest stable version

## [0.4.4] - 2025-07-17

### Fixed

- **macOS Connection Issue**: Fixed IPv6/IPv4 mismatch causing connection failures on macOS ([#92](https://github.com/8beeeaaat/touchdesigner-mcp/pull/92))
  - Changed default host from `localhost` to `127.0.0.1` to ensure IPv4 connection
  - TouchDesigner WebServer only binds to IPv4, but `localhost` was resolving to IPv6 (`::1`) on some systems
  - Updated CLI default configuration, test files, and CI/CD pipeline
  - Resolves `connect ECONNREFUSED ::1:9981` error on macOS systems

### Changed

- **DXT Manifest Cleanup**: Removed unused `capabilities` section from DXT manifest configuration ([#93](https://github.com/8beeeaaat/touchdesigner-mcp/pull/93))
  - Streamlined DXT package configuration for better compatibility
  - Removed deprecated capabilities fields that were not utilized

## [0.4.3] - 2025-06-29

### Changed

- **DXT Package Structure**: Restructured DXT package organization ([#87](https://github.com/8beeeaaat/touchdesigner-mcp/pull/87))
  - Moved `manifest.json` to dedicated `dxt/` directory for better organization
  - Removed `.dxtignore` file as it's no longer needed with new structure
  - Updated build script to use explicit source and output paths: `npx @anthropic-ai/dxt pack dxt/ touchdesigner-mcp.dxt`
  - Simplified package scripts by removing redundant `package:dxt` script

### Technical

- Version bumped to 0.4.3 across all relevant files (package.json, src/api/index.yml, src/server/touchDesignerServer.ts)
- Improved DXT build process with cleaner directory structure and explicit path specification

## [0.4.2] - 2025-06-29

### Changed

- **DXT Package Configuration**: Enhanced .dxtignore to exclude more unnecessary files from DXT package
  - Added exclusions for `assets/`, `dist/`, `public/`, and `src/` directories
  - DXT package now only includes manifest.json for smaller, cleaner distribution
- **DXT Package Version**: Updated manifest.json version to 0.1.1 for better package tracking

### Technical

- Version bumped to 0.4.2 across all relevant files (package.json, src/api/index.yml, src/server/touchDesignerServer.ts)
- Optimized DXT package size by excluding development and build artifacts

## [0.4.1] - 2025-06-29

### Changed

- **Documentation**: Updated release links in README files to point to the latest version instead of releases index page
  - Changed links from `/releases` to `/releases/latest` for better user experience
  - Updated both English and Japanese README files
- **Development Workflow**: Minor improvements to development.yml workflow for DXT package testing

### Technical

- Version bumped to 0.4.1 across all relevant files (package.json, src/api/index.yml, src/server/touchDesignerServer.ts)
- Improved user experience by directing users to the most recent release automatically

## [0.4.0] - 2025-06-29

### Added

- **Desktop Extension (.dxt) Support**: Full Desktop Extension package support for Claude Desktop with automatic installation and configuration
- **Enhanced GitHub Actions Workflow**: Automated DXT package building and publishing in release pipeline
- **Comprehensive Unit Testing**: Added extensive test coverage for ConnectionManager and CLI functionality
- **Cross-platform Build Support**: Enhanced build system with better executable permissions handling
- **User Configuration Interface**: DXT package provides user-configurable TouchDesigner port settings

### Changed

- **BREAKING**: Recommended installation method changed from global npm install to npx for easier distribution
- **BREAKING**: Removed dotenv dependency - configuration now uses CLI arguments (`--host`, `--port`)
- **BREAKING**: Docker entry point changed from `dist/index.js` to `dist/cli.js`
- **Package Structure**: Improved separation of CLI and library usage with proper export field configuration
- **Documentation**: Completely restructured README files with visual installation guides and video demonstrations
- **Dependency Updates**: Updated all major dependencies to latest stable versions for improved security and performance

### Removed

- **Configuration Files**: Removed `.env` file and dotenv dependency in favor of CLI arguments
- **Legacy Documentation**: Removed `llms-install.md` file (superseded by improved README documentation)
- **Unused Dependencies**: Cleaned up package dependencies for leaner installation

### Fixed

- **npx Execution**: Resolved CLI entry point detection issues for better compatibility across execution environments
- **Connection Management**: Enhanced error handling and connection reliability
- **Build Process**: Fixed cross-platform executable permissions and build consistency

### Technical Improvements

- **Code Generation**: Enhanced OpenAPI-based code generation workflow
- **Testing Infrastructure**: Comprehensive unit tests with proper TypeScript types and mock handling
- **CI/CD Pipeline**: Improved release automation with prerelease detection and conditional publishing
- **Development Workflow**: Enhanced development experience with better tooling and documentation

### Migration Guide

For users upgrading from 0.3.x:

1. **Configuration**: Replace `.env` file usage with CLI arguments (e.g., `--host`, `--port`)
2. **Installation**: Switch from `npm install -g` to `npx touchdesigner-mcp-server`
3. **Docker**: Update Docker configurations to use new `dist/cli.js` entry point

## [0.4.0-alpha.6] - 2025-06-29

### Added

- **Desktop Extension (.dxt) Support**: Added full Desktop Extension (DXT) package support for Claude Desktop ([#82](https://github.com/8beeeaaat/touchdesigner-mcp/pull/82))
- New `manifest.json` file defining DXT package configuration with tools, prompts, and user configuration options
- User-configurable TouchDesigner port setting via DXT user interface
- Comprehensive tool definitions and descriptions in DXT manifest
- New `.dxtignore` file to exclude unnecessary files from DXT package

### Changed

- **GitHub Actions Workflow**: Enhanced release workflow to build and publish DXT packages automatically
  - Added DXT CLI tool installation and package building steps
  - Updated release body to include video demonstration links for setup instructions
- **README Updates**: Added visual demonstration links and improved installation instructions
  - Added GitHub user-attachments video links for TouchDesigner setup and DXT installation
  - Enhanced documentation for all installation methods (DXT, npx, Docker)
  - Updated both English and Japanese README files with video guides
- **gitignore**: Added DXT-related ignore patterns

### Documentation

- Enhanced installation documentation with visual guides and video demonstrations
- Improved DXT package distribution documentation
- Added comprehensive tool and prompt descriptions in DXT manifest

### Technical

- Version bumped to 0.4.0-alpha.6 across all relevant files
- DXT package workflow integrated into CI/CD pipeline
- Maintained backward compatibility with existing installation methods

## [0.4.0-alpha.5] - 2025-06-29

### Changed

- **BREAKING**: Removed dotenv dependency and .env file usage for configuration ([#80](https://github.com/8beeeaaat/touchdesigner-mcp/pull/80))
- **BREAKING**: Configuration now uses CLI arguments instead of environment variables
  - Use `--host` and `--port` flags to customize TouchDesigner server connection
  - Example: `npx touchdesigner-mcp-server --host 192.168.1.100 --port 8080`
- Enhanced CLI argument parsing with `parseArgs` and `isStdioMode` functions in `src/cli.ts`
- Updated error handling for server initialization with better user guidance
- Improved Docker configuration to use environment variables for build-time settings
- Enhanced Makefile to support flexible environment variable configuration

### Removed

- Removed dotenv package dependency
- Deleted `.env` configuration file
- Removed `llms-install.md` file (no longer relevant with simplified configuration)
- Cleaned up dotenv-related code from `orval.config.ts` and `src/api/customInstance.ts`

### Documentation

- Updated README.md and README.ja.md to reflect new CLI-based configuration
- Added examples for customizing server connections using command-line arguments
- Removed references to .env file configuration

### Technical

- Version bumped to 0.4.0-alpha.5 across all files
- Simplified configuration approach reduces setup complexity for users
- Maintained backward compatibility through sensible defaults

## [0.4.0-alpha.4] - 2025-06-28

### Changed

- Updated dependencies to latest versions for improved stability and security
  - Updated @modelcontextprotocol/sdk from ^1.11.1 to ^1.13.2
  - Updated axios from ^1.9.0 to ^1.10.0
  - Updated dotenv from ^16.5.0 to ^17.0.0
  - Updated zod from ^3.24.4 to ^3.25.67
  - Updated @biomejs/biome from 1.9.4 to 2.0.6
  - Updated @types/node from ^22.15.17 to ^24.0.7
  - Updated vitest from ^3.1.3 to ^3.2.4
  - Updated other development dependencies

### Technical

- Version bumped to 0.4.0-alpha.4 across all files
- Updated package-lock.json with latest dependency versions
- Maintained compatibility with existing functionality

## [0.4.0-alpha.3] - 2025-06-28

### Fixed

- Fixed MCP server startup issue with npx execution by reverting to simpler CLI entry point detection logic
- Restored v0.3.0-style `process.argv[1]` check for better compatibility with npx and various execution environments

## [0.4.0-alpha.2] - 2025-06-28

### Changed

- Updated `package.json` structure for better separation of CLI and library usage
  - Moved `main`, `types`, and `bin` fields to proper order for clarity
  - Updated `exports` field with separate entry points for library (`"."`) and CLI (`"./cli"`)
- Updated build process to use `shx chmod +x dist/*.js` for cross-platform executable permissions
- Changed development script from `dist/index.js` to `dist/cli.js` for consistency
- Modified GitHub Actions workflow to use prerelease versions with `-y` flag for auto-installation
- Updated documentation (README.md, README.ja.md) to reference prerelease versions for testing

### Technical

- Added `shx` package for cross-platform shell commands
- Version bumped to 0.4.0-alpha.2 across all files (package.json, src/api/index.yml, src/server/touchDesignerServer.ts)
- Simplified `files` field in package.json to include only necessary distribution files
- Enhanced build pipeline with executable permissions handling

## [0.4.0-alpha.1] - 2025-06-28

### Fixed

- Fixed npx execution issue where `index.js` was being called instead of `cli.js`
- Corrected `package.json` configuration to ensure proper CLI entry point resolution
- Updated `main` field to `dist/index.js` for library usage while maintaining `bin` field for CLI execution
- Enhanced `exports` field with separate paths for library (`"."`) and CLI (`"./cli"`) usage

### Technical

- Optimized package structure for both npx CLI usage and library imports
- Added comprehensive testing for npx execution flow
- Verified proper shebang handling in published packages

## [0.4.0-alpha.0] - 2025-06-28

### Added

- Prerelease/test release support in GitHub Actions workflow
- Conditional npm publishing (skips prerelease versions)
- Comprehensive unit tests for ConnectionManager
- Release process documentation in README files
- Tag-based release triggers for testing

### Changed

- **BREAKING**: Recommended usage changed from `npm install -g` to `npx touchdesigner-mcp-server` ([#69](https://github.com/8beeeaaat/touchdesigner-mcp/pull/69))
- **BREAKING**: Docker entry point changed from `dist/index.js` to `dist/cli.js`
- Updated installation instructions across all documentation (README.md, README.ja.md, llms-install.md)
- Enhanced error messages in ConnectionManager with setup instructions
- Improved GitHub Actions workflow to support both production and test releases
- Updated Japanese README to match English documentation structure

### Fixed

- ConnectionManager error handling with proper type safety
- Logger safety improvements to prevent errors when not connected
- Docker configuration to use correct entry point

### Technical

- Added comprehensive test coverage for server connection management
- Improved mock handling in unit tests with proper TypeScript types
- Enhanced CI/CD pipeline with prerelease detection
- Updated build processes to align with npx usage patterns

## [0.3.0] - 2025-06-21

### Added

- Added `CHANGELOG.md`

### Changed

- `get_td_nodes` now returns only a minimal overview of nodes by default to prevent information overload. Full properties can be included by setting the `includeProperties` parameter to `true`. ([#65](https://github.com/8beeeaaat/touchdesigner-mcp/pull/65))

## [0.2.13] - 2025-05-24

### Changed

- Version maintenance updates
- Updated API schema version references

## [0.2.12] - 2025-05-24

### Added

- Comprehensive installation guide for AI agents (`llms-install.md`) ([#63](https://github.com/8beeeaaat/touchdesigner-mcp/pull/63))
- Detailed setup instructions for Cline, Claude Desktop, Cursor, and Roo Code

### Changed

- Updated GitHub Actions workflow configuration
- Restructured README.md content

## [0.2.10] - 2025-05-XX

### Added

- Complete Docker containerization support ([#58](https://github.com/8beeeaaat/touchdesigner-mcp/pull/58))
- Dockerfile and docker-compose.yml for easy deployment
- Makefile for simplified build management
- Environment variable management via dotenv configuration
- Enhanced MCP server configuration management

### Changed

- Updated npm packages to latest versions
- Improved README documentation with Docker setup instructions
- Enhanced CI/CD workflows for Docker support

### Fixed

- Re-implemented and fixed Docker functionality (originally from 0.2.9)

## [0.2.9] - 2025-05-XX

### Added

- Initial Docker image implementation for TouchDesigner MCP Server ([#54](https://github.com/8beeeaaat/touchdesigner-mcp/pull/54))

### Note

- This version was initially reverted ([#55](https://github.com/8beeeaaat/touchdesigner-mcp/pull/55)) due to issues, then fixed and re-implemented in 0.2.10

## [0.2.8] - 2025-05-XX

### Changed

- Updated @types/node and vite packages ([#51](https://github.com/8beeeaaat/touchdesigner-mcp/pull/51))
- Dependency maintenance updates

## [0.2.7] - 2025-05-XX

### Added

- Tutorial images and text port images to README files ([#47](https://github.com/8beeeaaat/touchdesigner-mcp/pull/47))
- Visual assets: `assets/textport.png` and `assets/tutorial.png`
- Enhanced visual documentation for better user experience

### Changed

- Updated both English and Japanese README files with visual guides

## [0.2.6] - 2025-05-XX

### Fixed

- Removed trailing period from REFERENCE_COMMENT constant for consistency ([#40](https://github.com/8beeeaaat/touchdesigner-mcp/pull/40))
- Minor code formatting improvements

## [0.2.5] - 2025-05-XX

### Added

- Safe data serialization with `safe_serialize` function ([#38](https://github.com/8beeeaaat/touchdesigner-mcp/pull/38))

### Changed

- Improved import formatting in Python API controller
- Enhanced error handling and data serialization practices

## [0.1.0] - 2025-XX-XX

### Added

- Initial implementation of TouchDesigner MCP Server
