## [1.20.8](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.20.7...v1.20.8) (2026-09-15)


### Bug Fixes

* **deps:** bump hono to 4.13.7 and js-yaml to 4.3.2 ([58781b6](https://github.com/nesquikm/mcp-rubber-duck/commit/58781b60f68f5b495808ee83e9a93cff0ade706c))

## [1.20.7](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.20.6...v1.20.7) (2026-09-07)


### Bug Fixes

* **pricing:** default DeepSeek to off-peak rates ([d37eab5](https://github.com/nesquikm/mcp-rubber-duck/commit/d37eab5202e1046973cf58a433907ad0153a471f)), closes [#143](https://github.com/nesquikm/mcp-rubber-duck/issues/143)

## [1.20.6](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.20.5...v1.20.6) (2026-09-07)


### Bug Fixes

* **deps:** clear all security advisories and empty audit-ci allowlist ([cd1bf38](https://github.com/nesquikm/mcp-rubber-duck/commit/cd1bf38f8256014b5af5b101af283aea57294f35))

## [1.20.5](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.20.4...v1.20.5) (2026-08-19)


### Bug Fixes

* update LLM pricing data (2026-08-19) ([55df240](https://github.com/nesquikm/mcp-rubber-duck/commit/55df2402006ae08b92a0d4d6664df6b16c50596a))

## [1.20.4](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.20.3...v1.20.4) (2026-08-14)


### Bug Fixes

* **mcp-bridge:** warn instead of silently ignoring a global trusted-tools "*" ([ddcb451](https://github.com/nesquikm/mcp-rubber-duck/commit/ddcb451b9b1e1c1f8991808f7e88539116fa9a86)), closes [#129](https://github.com/nesquikm/mcp-rubber-duck/issues/129)

## [1.20.3](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.20.2...v1.20.3) (2026-08-10)


### Bug Fixes

* **deps:** clear every override-reachable audit-ci advisory ([6aa7a4d](https://github.com/nesquikm/mcp-rubber-duck/commit/6aa7a4d57b0911e7a94da53b7c78b4bdc50dc337))
* **security:** scope audit-ci allowlist to the bundled-npm paths ([ab9c654](https://github.com/nesquikm/mcp-rubber-duck/commit/ab9c654f1ba7747fde6ff8d827a06c1b987bc1b8))

## [1.20.2](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.20.1...v1.20.2) (2026-07-27)


### Bug Fixes

* **deps:** clear audit-ci CVEs (hono, @hono/node-server, fast-uri, postcss) ([a71ffac](https://github.com/nesquikm/mcp-rubber-duck/commit/a71ffac26951d23bdb8095457833028b35bf0e80)), closes [#132](https://github.com/nesquikm/mcp-rubber-duck/issues/132)

## [1.20.1](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.20.0...v1.20.1) (2026-07-21)


### Bug Fixes

* **deps:** clear audit-ci CVEs (tar, brace-expansion, js-yaml, body-parser) ([9b12879](https://github.com/nesquikm/mcp-rubber-duck/commit/9b1287949cb981d819ec34597d142397c87d712e))
* **tasks:** stop evicting running debate/iterate tasks at TTL ([0c0ea93](https://github.com/nesquikm/mcp-rubber-duck/commit/0c0ea93688350e5ee6f26247e5b3c4abb7fad8e4)), closes [#127](https://github.com/nesquikm/mcp-rubber-duck/issues/127)

# [1.20.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.19.12...v1.20.0) (2026-07-14)


### Bug Fixes

* update LLM pricing data (2026-07-14) ([702f290](https://github.com/nesquikm/mcp-rubber-duck/commit/702f290a2bfa0fcb702e5518f6a6091952ca48af))


### Features

* migrate default models off deprecated Groq and Gemini models ([bb4d918](https://github.com/nesquikm/mcp-rubber-duck/commit/bb4d91848540f4f81ef7f10781ced3eb669f4ce6))

## [1.19.12](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.19.11...v1.19.12) (2026-06-22)


### Bug Fixes

* **docker:** harden runtime image — clear 47 Trivy vulnerabilities ([507c9b0](https://github.com/nesquikm/mcp-rubber-duck/commit/507c9b0e8baf9ad275dba53af957d04b63925653))

## [1.19.11](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.19.10...v1.19.11) (2026-06-22)

## [1.19.10](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.19.9...v1.19.10) (2026-06-16)


### Bug Fixes

* **config:** preserve file-defined mcp_servers/trusted_tools_by_server when env is empty ([0165786](https://github.com/nesquikm/mcp-rubber-duck/commit/01657862779e02deaefa3aae43e9e8b37d205db6))
* **duck-iterate:** never return a critique as the final response in critique-improve mode ([b3f14d4](https://github.com/nesquikm/mcp-rubber-duck/commit/b3f14d4efc9d6c8b232b9180aec7b8b82f96a3a1))
* **logger:** write logs and welcome banner to stderr so stdio stdout stays clean ([d1714cf](https://github.com/nesquikm/mcp-rubber-duck/commit/d1714cfd487ad03212f2136a778af77b496d1833))
* **mcp-bridge:** bind approval IDs to their call and scope session approvals by provider+args+TTL ([36f0b4c](https://github.com/nesquikm/mcp-rubber-duck/commit/36f0b4cfc2def86d3f7d53657bbe09790c47e42c))

## [1.19.9](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.19.8...v1.19.9) (2026-06-15)


### Bug Fixes

* **ci:** activate semantic-release releaseRules and prune stale audit allowlist ([#123](https://github.com/nesquikm/mcp-rubber-duck/issues/123)) ([92d3be9](https://github.com/nesquikm/mcp-rubber-duck/commit/92d3be9304310479cddaa375a24164a07699af00))

## [1.19.8](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.19.7...v1.19.8) (2026-06-15)


### Bug Fixes

* bump esbuild, vite, tsx to patch high-severity esbuild advisories ([#122](https://github.com/nesquikm/mcp-rubber-duck/issues/122)) ([d1c94be](https://github.com/nesquikm/mcp-rubber-duck/commit/d1c94be34d9e933306d7f3124dc3d4bea2e39512)), closes [hi#severity](https://github.com/hi/issues/severity)

## [1.19.7](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.19.6...v1.19.7) (2026-06-05)


### Bug Fixes

* update LLM pricing data (2026-06-05) ([#117](https://github.com/nesquikm/mcp-rubber-duck/issues/117)) ([d895c2e](https://github.com/nesquikm/mcp-rubber-duck/commit/d895c2e252d7d8a1dfdcdebf5165b1ebced4878c))

## [1.19.6](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.19.5...v1.19.6) (2026-05-15)


### Bug Fixes

* update LLM pricing data (2026-05-15) ([#114](https://github.com/nesquikm/mcp-rubber-duck/issues/114)) ([5497e3a](https://github.com/nesquikm/mcp-rubber-duck/commit/5497e3a24021e7ffb85ec5ddd435dc1b5d393dc9))

## [1.19.5](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.19.4...v1.19.5) (2026-05-11)


### Bug Fixes

* patch transitive vulns in hono, fast-uri, ip-address, npm ([#113](https://github.com/nesquikm/mcp-rubber-duck/issues/113)) ([d512944](https://github.com/nesquikm/mcp-rubber-duck/commit/d512944f99c9e2ceedb12d60fb6295d5f07ffd67)), closes [#111](https://github.com/nesquikm/mcp-rubber-duck/issues/111) [#112](https://github.com/nesquikm/mcp-rubber-duck/issues/112)

## [1.19.4](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.19.3...v1.19.4) (2026-04-27)


### Bug Fixes

* update LLM pricing data (2026-04-27) ([#109](https://github.com/nesquikm/mcp-rubber-duck/issues/109)) ([d666357](https://github.com/nesquikm/mcp-rubber-duck/commit/d666357910e898c0a7d5f2f046471307f5d2a302))

## [1.19.3](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.19.2...v1.19.3) (2026-04-27)


### Bug Fixes

* bump postcss to patch GHSA-qx2v-qp2m-jg93 ([113082b](https://github.com/nesquikm/mcp-rubber-duck/commit/113082b393caa668fe8d3fdad566e757aef844d2))

## [1.19.2](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.19.1...v1.19.2) (2026-04-19)


### Bug Fixes

* update LLM pricing data (2026-04-19) ([#108](https://github.com/nesquikm/mcp-rubber-duck/issues/108)) ([617b469](https://github.com/nesquikm/mcp-rubber-duck/commit/617b4694aa188bea8e7643431661d4d94e7a3920))

## [1.19.1](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.19.0...v1.19.1) (2026-04-11)


### Bug Fixes

* update LLM pricing data (2026-04-11) ([#106](https://github.com/nesquikm/mcp-rubber-duck/issues/106)) ([de2be90](https://github.com/nesquikm/mcp-rubber-duck/commit/de2be90b2f3a213fa6a5887ba853639e1047caaa))

# [1.19.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.18.0...v1.19.0) (2026-04-07)


### Bug Fixes

* **ci:** remove broken npm upgrade step from release workflow ([92edc22](https://github.com/nesquikm/mcp-rubber-duck/commit/92edc222c66d6d23be8b5b7155ca0b3e6d36b140))
* **ci:** use npx npm@11 for OIDC publish instead of global install ([da7ed52](https://github.com/nesquikm/mcp-rubber-duck/commit/da7ed528843988436bfaae3a0010fc64bd0b7f9f))


### Features

* dynamic provider enum in tool schemas ([#103](https://github.com/nesquikm/mcp-rubber-duck/issues/103)) ([165ed2f](https://github.com/nesquikm/mcp-rubber-duck/commit/165ed2f22060dec0e961656d87b530d07a7d5d7e))

## [1.19.1](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.19.0...v1.19.1) (2026-04-07)


### Bug Fixes

* **ci:** remove broken npm upgrade step from release workflow ([92edc22](https://github.com/nesquikm/mcp-rubber-duck/commit/92edc222c66d6d23be8b5b7155ca0b3e6d36b140))

# [1.19.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.18.0...v1.19.0) (2026-04-07)


### Features

* dynamic provider enum in tool schemas ([#103](https://github.com/nesquikm/mcp-rubber-duck/issues/103)) ([165ed2f](https://github.com/nesquikm/mcp-rubber-duck/commit/165ed2f22060dec0e961656d87b530d07a7d5d7e))

# [1.19.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.18.0...v1.19.0) (2026-04-07)


### Features

* dynamic provider enum in tool schemas ([#103](https://github.com/nesquikm/mcp-rubber-duck/issues/103)) ([165ed2f](https://github.com/nesquikm/mcp-rubber-duck/commit/165ed2f22060dec0e961656d87b530d07a7d5d7e))

# [1.18.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.17.1...v1.18.0) (2026-04-03)


### Features

* add outputSchema and structuredContent to structured tools ([#53](https://github.com/nesquikm/mcp-rubber-duck/issues/53)) ([#99](https://github.com/nesquikm/mcp-rubber-duck/issues/99)) ([8cd4660](https://github.com/nesquikm/mcp-rubber-duck/commit/8cd4660858fa8aecfffd82fdbeb2f4971760fe9b))

## [1.17.1](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.17.0...v1.17.1) (2026-03-30)


### Bug Fixes

* update deps to resolve security vulnerabilities ([#95](https://github.com/nesquikm/mcp-rubber-duck/issues/95)) ([5adcd63](https://github.com/nesquikm/mcp-rubber-duck/commit/5adcd6307e99f59a89c580400533f776e254b457)), closes [#90](https://github.com/nesquikm/mcp-rubber-duck/issues/90) [#91](https://github.com/nesquikm/mcp-rubber-duck/issues/91) [#92](https://github.com/nesquikm/mcp-rubber-duck/issues/92) [#93](https://github.com/nesquikm/mcp-rubber-duck/issues/93)

# [1.17.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.16.2...v1.17.0) (2026-03-17)


### Features

* image URL support + development skills ([#88](https://github.com/nesquikm/mcp-rubber-duck/issues/88)) ([5e28760](https://github.com/nesquikm/mcp-rubber-duck/commit/5e28760e29cd8d841247e964cc5390a804e6aa35)), closes [#87](https://github.com/nesquikm/mcp-rubber-duck/issues/87)

## [1.16.2](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.16.1...v1.16.2) (2026-03-16)


### Bug Fixes

* update deps to resolve all security vulnerabilities ([#86](https://github.com/nesquikm/mcp-rubber-duck/issues/86)) ([afa5723](https://github.com/nesquikm/mcp-rubber-duck/commit/afa572388aeda85e15c64a7a947565c8124d54ea))

## [1.16.1](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.16.0...v1.16.1) (2026-03-09)


### Bug Fixes

* update express-rate-limit to 8.3.0 for CVE fix ([#81](https://github.com/nesquikm/mcp-rubber-duck/issues/81)) ([785fe76](https://github.com/nesquikm/mcp-rubber-duck/commit/785fe767686dae66b8c66a3e510e135e09aacd1a))

# [1.16.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.15.2...v1.16.0) (2026-03-06)


### Features

* add multimodal vision input support ([#76](https://github.com/nesquikm/mcp-rubber-duck/issues/76)) ([#77](https://github.com/nesquikm/mcp-rubber-duck/issues/77)) ([d696607](https://github.com/nesquikm/mcp-rubber-duck/commit/d696607af4e18dc45c9477d603f182930eebb398))

## [1.15.2](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.15.1...v1.15.2) (2026-03-05)


### Bug Fixes

* update LLM pricing and fix dependency vulnerabilities ([#75](https://github.com/nesquikm/mcp-rubber-duck/issues/75)) ([e6122b7](https://github.com/nesquikm/mcp-rubber-duck/commit/e6122b7d3af5a4be9c1d58cc20743078fa6c6146))

## [1.15.1](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.15.0...v1.15.1) (2026-03-02)


### Bug Fixes

* update audit-ci allowlist for minimatch ReDoS advisories ([#72](https://github.com/nesquikm/mcp-rubber-duck/issues/72)) ([9d95593](https://github.com/nesquikm/mcp-rubber-duck/commit/9d9559333e73ed5949fd630f35f59c2001a39a98))

# [1.15.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.14.3...v1.15.0) (2026-02-26)


### Features

* multi-round tool calling loop ([#69](https://github.com/nesquikm/mcp-rubber-duck/issues/69)) ([#71](https://github.com/nesquikm/mcp-rubber-duck/issues/71)) ([3650ac2](https://github.com/nesquikm/mcp-rubber-duck/commit/3650ac225d09f7b1fc4096869dec6c4a101fd185))

## [1.14.3](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.14.2...v1.14.3) (2026-02-23)


### Bug Fixes

* **deps:** update dependencies and migrate to ESLint 9 ([#67](https://github.com/nesquikm/mcp-rubber-duck/issues/67)) ([c67f6c2](https://github.com/nesquikm/mcp-rubber-duck/commit/c67f6c2a216b37086499efd74f6487b48d4009e8))

## [1.14.2](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.14.1...v1.14.2) (2026-02-18)


### Bug Fixes

* update pricing data and allowlist new dev-only advisories ([#65](https://github.com/nesquikm/mcp-rubber-duck/issues/65)) ([c0a66bd](https://github.com/nesquikm/mcp-rubber-duck/commit/c0a66bd9160aef9e8fe730390b7f527fd75bb0f5))

## [1.14.1](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.14.0...v1.14.1) (2026-02-13)


### Bug Fixes

* NaN-safe env parsing, stale MCP client cache, and test quality ([#62](https://github.com/nesquikm/mcp-rubber-duck/issues/62)) ([7cdbb76](https://github.com/nesquikm/mcp-rubber-duck/commit/7cdbb767f9e8e828d11468e0425d6c2d9a911c07))

# [1.14.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.13.1...v1.14.0) (2026-02-08)


### Features

* **docs:** split README into focused documentation site with setup skill ([#61](https://github.com/nesquikm/mcp-rubber-duck/issues/61)) ([a8e7b2a](https://github.com/nesquikm/mcp-rubber-duck/commit/a8e7b2a4ae5e1864a82a23e08da9751f45f7e0e5))

## [1.13.1](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.13.0...v1.13.1) (2026-02-06)

# [1.13.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.12.0...v1.13.0) (2026-02-05)


### Features

* add human-readable title to all MCP tools ([#58](https://github.com/nesquikm/mcp-rubber-duck/issues/58)) ([f37cb2c](https://github.com/nesquikm/mcp-rubber-duck/commit/f37cb2c1425b91aaf885781cf0a42dc1ae11789c)), closes [#54](https://github.com/nesquikm/mcp-rubber-duck/issues/54)

# [1.12.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.11.0...v1.12.0) (2026-02-03)


### Features

* add CLI coding agents as duck providers ([#51](https://github.com/nesquikm/mcp-rubber-duck/issues/51)) ([476c790](https://github.com/nesquikm/mcp-rubber-duck/commit/476c7900cbc65b96b76d7d80107edd092aa66883))

# [1.11.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.10.0...v1.11.0) (2026-01-30)


### Features

* add progress reporting and async task support for multi-provider tools ([d9d6802](https://github.com/nesquikm/mcp-rubber-duck/commit/d9d68023ede7bf74fc6917b4adcdb97d3badb982))

# [1.10.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.9.5...v1.10.0) (2026-01-29)


### Bug Fixes

* allowlist GHSA-p5wg-g6qr-c7cg (eslint circular ref stack overflow) ([bf5388e](https://github.com/nesquikm/mcp-rubber-duck/commit/bf5388e26f91e412dba28986a4c177b60539b4f4))


### Features

* add interactive UIs for compare, vote, debate, and usage tools via MCP Apps ([9904ad9](https://github.com/nesquikm/mcp-rubber-duck/commit/9904ad94b12b2c69a8c5c50e18778966fc7e0069))

## [1.9.5](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.9.4...v1.9.5) (2026-01-29)


### Bug Fixes

* allowlist GHSA-34x7-hfp2-rc4v (tar via npm internals) ([76718d8](https://github.com/nesquikm/mcp-rubber-duck/commit/76718d86391469b04e1d74792ed8ab212d547e3d))

## [1.9.4](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.9.3...v1.9.4) (2026-01-26)


### Bug Fixes

* override lodash to 4.17.23 to address CVE-2025-13465 ([8cb5a3a](https://github.com/nesquikm/mcp-rubber-duck/commit/8cb5a3a0b3a644b2ed368537412cda32b8a333f2))

## [1.9.3](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.9.2...v1.9.3) (2026-01-19)


### Bug Fixes

* upgrade npm to latest for OIDC trusted publishing ([a6ca82c](https://github.com/nesquikm/mcp-rubber-duck/commit/a6ca82cddd15bbd56a9e7eaabb513d7cb5b13d8c))

## [1.9.2](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.9.1...v1.9.2) (2026-01-19)


### Bug Fixes

* configure registry-url for npm OIDC auth ([0798f7c](https://github.com/nesquikm/mcp-rubber-duck/commit/0798f7c94a0a69470d6cae9f27ca984ee2975ac8))

## [1.9.1](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.9.0...v1.9.1) (2026-01-19)


### Bug Fixes

* switch to npm OIDC trusted publishing ([b1f92ca](https://github.com/nesquikm/mcp-rubber-duck/commit/b1f92ca97baba8ac50b77cf16c880174a4dd32fa))
* use native npm publish for OIDC provenance ([99fb6d8](https://github.com/nesquikm/mcp-rubber-duck/commit/99fb6d8d77a786e1b1c748bc9a3b68c81cffec99))

# [1.9.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.8.0...v1.9.0) (2026-01-15)


### Features

* add pluggable guardrails system for LLM request/response interception ([8e86d5b](https://github.com/nesquikm/mcp-rubber-duck/commit/8e86d5b8853cc95e6c5efe9e75af7d0ce2bb1ac0))
* implement max_output_tokens, fix modify action, add tests and docs ([27457d7](https://github.com/nesquikm/mcp-rubber-duck/commit/27457d79ab68377921996e0c0336cf7e84e0ea8b))

# [1.8.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.7.0...v1.8.0) (2026-01-14)


### Features

* add MCP prompts capability with 8 multi-LLM focused templates ([e62bfc1](https://github.com/nesquikm/mcp-rubber-duck/commit/e62bfc10dc3302ef8ea254684fb2bcaec1ac7fdd)), closes [#23](https://github.com/nesquikm/mcp-rubber-duck/issues/23)

# [1.7.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.6.1...v1.7.0) (2026-01-13)


### Features

* add tool annotations for MCP spec compliance ([7d03f2d](https://github.com/nesquikm/mcp-rubber-duck/commit/7d03f2d3545bcaf455c3077bda420d0db7c0ce7a)), closes [#22](https://github.com/nesquikm/mcp-rubber-duck/issues/22)

## [1.6.1](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.6.0...v1.6.1) (2026-01-09)


### Bug Fixes

* **docs:** add missing get_usage_stats tool to README ([c507f07](https://github.com/nesquikm/mcp-rubber-duck/commit/c507f07092018ad48aa24f6e9115a0761d0d7d49))

# [1.6.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.5.2...v1.6.0) (2026-01-08)


### Features

* add usage tracking and cost estimation ([#11](https://github.com/nesquikm/mcp-rubber-duck/issues/11)) ([1f60118](https://github.com/nesquikm/mcp-rubber-duck/commit/1f60118fc00a028e91c9af87c1daa236a228cc5a))

## [1.5.2](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.5.1...v1.5.2) (2026-01-08)


### Bug Fixes

* **ci:** trigger patch releases for dependency updates ([b1c92c4](https://github.com/nesquikm/mcp-rubber-duck/commit/b1c92c4f56e4a8e67c307c28284b9f03256dc72f))

## [1.5.1](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.5.0...v1.5.1) (2026-01-02)


### Bug Fixes

* update qs to resolve CVE (GHSA-6rw7-vpxm-498p) ([3c15c66](https://github.com/nesquikm/mcp-rubber-duck/commit/3c15c66a3c81c741e38d9cc22d8df5e6537ba7d9))

# [1.5.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.4.2...v1.5.0) (2025-12-08)


### Features

* add Claude Code agent definitions for project-specific tasks ([1843c1b](https://github.com/nesquikm/mcp-rubber-duck/commit/1843c1b1b970155d37cf79925b4fd674eade28bd))

## [1.4.2](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.4.1...v1.4.2) (2025-12-08)


### Bug Fixes

* update MCP Registry badge URL ([c840e60](https://github.com/nesquikm/mcp-rubber-duck/commit/c840e6043dc1214796f146500f8188a913dfeefe))

## [1.4.1](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.4.0...v1.4.1) (2025-12-08)


### Bug Fixes

* **security:** update MCP SDK and address code scanning alerts ([08b3a40](https://github.com/nesquikm/mcp-rubber-duck/commit/08b3a40f9aaa053138003258812b0d4c8bbddfc3))

# [1.4.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.3.0...v1.4.0) (2025-11-30)


### Features

* add support for latest LLM models (Nov 2025) ([80ce45f](https://github.com/nesquikm/mcp-rubber-duck/commit/80ce45f8222762ea1b12af07fd54e9a19ac8532c))

# [1.3.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.2.5...v1.3.0) (2025-11-24)


### Bug Fixes

* improve JSON parsing in consensus and judge tools ([92f64e5](https://github.com/nesquikm/mcp-rubber-duck/commit/92f64e525681886bfe791d72b07f71511da62ee0))


### Features

* add multi-agent consensus and debate tools ([55352d8](https://github.com/nesquikm/mcp-rubber-duck/commit/55352d856d59ede6cb0e8a9d763c27afe3a9e33e))

## [1.2.5](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.2.4...v1.2.5) (2025-11-24)


### Bug Fixes

* align semantic-release audit config with security workflow ([940a160](https://github.com/nesquikm/mcp-rubber-duck/commit/940a1605874bb3f7c435ecde2e25c135b8a4b5c8))
* improve security workflow and update dependencies ([55703a4](https://github.com/nesquikm/mcp-rubber-duck/commit/55703a4f50cef0066d63512c3cbd44c1c90ce111))

## [1.2.4](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.2.3...v1.2.4) (2025-11-17)


### Bug Fixes

* avoid npm ci on ARM64 by copying node_modules from builder ([b5a9777](https://github.com/nesquikm/mcp-rubber-duck/commit/b5a977772c44a138dc65554e8f2448be63fb0976))

## [1.2.3](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.2.2...v1.2.3) (2025-11-17)


### Bug Fixes

* resolve js-yaml security vulnerability with package override ([822a550](https://github.com/nesquikm/mcp-rubber-duck/commit/822a550397cb9b3e3966a8c5335c2ab1182bfd91))

## [1.2.2](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.2.1...v1.2.2) (2025-09-17)

## [1.2.1](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.2.0...v1.2.1) (2025-09-17)

# [1.2.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.1.1...v1.2.0) (2025-09-17)


### Bug Fixes

* update server.json version to 1.1.1 ([17ff270](https://github.com/nesquikm/mcp-rubber-duck/commit/17ff270efea5a8d57a159e81d33b7fe61e67348c))


### Features

* add glama.json for server inspection and scoring ([204221c](https://github.com/nesquikm/mcp-rubber-duck/commit/204221c939d0b0f2cd32e6ba4b4fdf9beea2c861))

## [1.1.1](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.1.0...v1.1.1) (2025-09-17)


### Bug Fixes

* update mcpName format for GitHub namespace ([0786914](https://github.com/nesquikm/mcp-rubber-duck/commit/078691426d54f6ddc4feac7ffd9c5f7fdc15ac34))
* update server.json name format for GitHub namespace ([fe866ff](https://github.com/nesquikm/mcp-rubber-duck/commit/fe866ffabdae8bfd066c809bc4c8e04a18562ec8))

# [1.1.0](https://github.com/nesquikm/mcp-rubber-duck/compare/v1.0.0...v1.1.0) (2025-09-17)


### Features

* add NPM publishing for MCP Registry ([96a7a5b](https://github.com/nesquikm/mcp-rubber-duck/commit/96a7a5b6e2e25f7113c0ec87880e39d4a2fae02f))

# 1.0.0 (2025-09-11)


### Bug Fixes

* Always silence console logs in MCP mode to prevent JSON-RPC parsing errors ([0761756](https://github.com/nesquikm/mcp-rubber-duck/commit/076175671f67c7bf10118e578a81078b7e798fc0))
* Clean up MCP server output to prevent JSON parsing errors ([e391c46](https://github.com/nesquikm/mcp-rubber-duck/commit/e391c46b1cbd151abc99304055f9a2217ee0e2e6))
* Configure Jest for ESM modules compatibility ([221492d](https://github.com/nesquikm/mcp-rubber-duck/commit/221492dd5aaf049aba637467767626bad6e0bebe))
* Correct Gemini API endpoint URL and add comprehensive tests ([36f4c3d](https://github.com/nesquikm/mcp-rubber-duck/commit/36f4c3d0f3385d3d374fdff6078b8c3204a8fc77))
* Display requested model name instead of resolved API model name ([9acfe25](https://github.com/nesquikm/mcp-rubber-duck/commit/9acfe25e56ac67bb52957e594eb0022187129a33))
* Health checks for reasoning models (GPT-5, Gemini-2.5) ([2af7816](https://github.com/nesquikm/mcp-rubber-duck/commit/2af7816698fac18cf64026404f8cca5061ddb9ce))
* Implement smart parameter detection for OpenAI API compatibility ([fed002f](https://github.com/nesquikm/mcp-rubber-duck/commit/fed002f6db8d61d0fee520d13b454d15533db9ea))
* Prevent Ollama auto-detection when not configured ([9409441](https://github.com/nesquikm/mcp-rubber-duck/commit/940944121500cc54740339c2167040fdb327761f))
* Remove conventionalcommits preset from semantic-release config ([f34934f](https://github.com/nesquikm/mcp-rubber-duck/commit/f34934f4e06b0b9106132415e98b42016c2fcd5d))
* Remove npm publishing from semantic-release configuration ([e3f0f4b](https://github.com/nesquikm/mcp-rubber-duck/commit/e3f0f4b374ff5579565f1bcfcee445bc084c7ae1))
* Remove token limits completely to resolve empty responses from reasoning models ([ac41f73](https://github.com/nesquikm/mcp-rubber-duck/commit/ac41f738ac3b166c8845b271e77ba8315ac9d0b9))
* Temporarily disable lint in CI to fix deployment ([30d8b3b](https://github.com/nesquikm/mcp-rubber-duck/commit/30d8b3bb2412a53086190752bfc95e970382efa2))
* Temporarily disable tests in CI to fix deployment ([d023a32](https://github.com/nesquikm/mcp-rubber-duck/commit/d023a32847115dae6144fe5fe1e3c04b21c85a7e))


### Features

* 🦆 Ducks can now use MCP tools! Per-server trust & smart approvals ([2fa5a0f](https://github.com/nesquikm/mcp-rubber-duck/commit/2fa5a0f1ab3cb81736494ddda7f29919c5c93a51))
* Add automated versioning with semantic-release ([b3c7470](https://github.com/nesquikm/mcp-rubber-duck/commit/b3c7470ba27e2d043b9080b0fe0fcdb54ef56ab3))
* Add conversation reset functionality ([92dc489](https://github.com/nesquikm/mcp-rubber-duck/commit/92dc4895951200afadf7b82e634e12ddd072afa2))
* Add dynamic model listing and selection ([ce84823](https://github.com/nesquikm/mcp-rubber-duck/commit/ce84823eb94c09f767671d8d24875c125ddd21b6))
* Add environment variable support for provider default models ([4ac2272](https://github.com/nesquikm/mcp-rubber-duck/commit/4ac2272cb57bba21195504dea191aaa5bafd5dfe))
* Add GitHub Actions for automated Docker builds and releases ([2ff30d6](https://github.com/nesquikm/mcp-rubber-duck/commit/2ff30d635116f5db2f860412642d794ee5ad2531))
* Add Google Gemini support ([359db64](https://github.com/nesquikm/mcp-rubber-duck/commit/359db641a22d447df25297bee2889352f97614b3))
* Add optional custom duck nicknames via environment variables ([c3b3e6a](https://github.com/nesquikm/mcp-rubber-duck/commit/c3b3e6a9c6ce863e4a0ec03fb8a14099b795d8cd))
* Add systemd service files for production deployment ([63333fb](https://github.com/nesquikm/mcp-rubber-duck/commit/63333fb851b8546fc0e803b7a43d921385b471cc))
* Add universal multi-platform Docker deployment support ([37ea1cb](https://github.com/nesquikm/mcp-rubber-duck/commit/37ea1cb0c2b13cb5b2a82addf23888f3c1898550))
* Display model name in all duck responses ([ab87434](https://github.com/nesquikm/mcp-rubber-duck/commit/ab874347a611406fb47c1002f87696580ed416fe))
* Enhance MCP rubber duck functionality with improved provider support and error handling ([2356389](https://github.com/nesquikm/mcp-rubber-duck/commit/23563898a90c101d794648c411f4d8e29fbaf687))
* Support multiple custom providers via CUSTOM_{NAME}_* environment variables ([5bfeb82](https://github.com/nesquikm/mcp-rubber-duck/commit/5bfeb8224d2d1057d66422253d912424d254b943))


### BREAKING CHANGES

* Removes old CUSTOM_API_KEY/CUSTOM_BASE_URL pattern.

# 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).

## [Unreleased]

## [1.0.0] - 2025-09-11

### Added
- 🦆 **Multiple AI Provider Support:** Query OpenAI, Gemini, Groq, Ollama, and custom providers
- 💬 **Conversation Management:** Maintain context across messages with conversation IDs
- 🏛️ **Duck Council:** Get responses from all configured LLMs simultaneously
- 🔗 **MCP Bridge:** Connect to external MCP servers with approval system
- 🛡️ **Security Features:** Per-server trust settings and smart tool approval workflow
- 🐳 **Universal Deployment:** Multi-platform Docker support (AMD64, ARM64)
- 📦 **Multiple Configuration Options:** Desktop, Raspberry Pi, and remote deployment configs
- 🔧 **Flexible Provider Configuration:** Support for custom providers via environment variables
- 🧪 **Comprehensive Testing:** Jest-based test suite with ESM module support
- 🚀 **CI/CD Pipeline:** Automated Docker builds and releases via GitHub Actions
- 📝 **Rich Logging:** Winston-based logging with safe credential handling
- 🔄 **Conversation Reset:** Clear conversation history functionality
- 🏷️ **Custom Duck Nicknames:** Optional custom names for AI providers

### Features
- Support for multiple OpenAI-compatible LLM providers
- Conversation context management with unique IDs
- MCP server integration with security approval system
- Docker-based deployment with multi-architecture support
- Comprehensive configuration via environment variables
- Automated versioning and release system (semantic-release)
- GitHub Actions workflows for CI/CD
- Systemd service files for production deployment

### Technical Improvements
- TypeScript support with strict type checking
- ESLint and Prettier for code quality
- Jest testing framework configured for ESM modules
- Winston logging with credential sanitization
- Zod schema validation for configuration
- Docker multi-stage builds for optimized images
- GitHub Container Registry integration

[Unreleased]: https://github.com/nesquikm/mcp-rubber-duck/compare/v1.0.0...HEAD
[1.0.0]: https://github.com/nesquikm/mcp-rubber-duck/releases/tag/v1.0.0
