From bc0c274148574bfc5ae384d2cb461b3d2be82d6c Mon Sep 17 00:00:00 2001 From: Mathieu Mafille <81818115+mathieumaf@users.noreply.github.com> Date: Thu, 5 Nov 2026 11:45:48 +0100 Subject: [PATCH] Version Packages --- .changeset/cache-reference-data.md | 6 ------ .changeset/read-only-tool-annotations.md | 5 ----- .changeset/retry-transient-errors.md | 5 ----- CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 2 +- server.json | 4 ++-- 7 files changed, 18 insertions(+), 21 deletions(-) delete mode 100644 .changeset/cache-reference-data.md delete mode 100644 .changeset/read-only-tool-annotations.md delete mode 100644 .changeset/retry-transient-errors.md diff --git a/.changeset/cache-reference-data.md b/.changeset/cache-reference-data.md deleted file mode 100644 index 442f724..0000000 --- a/.changeset/cache-reference-data.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@digilac/simap-mcp": patch ---- - -- `list_cantons`, `list_institutions`, `search_{cpv,bkp,npk,oag}_codes`, `browse_{cpv,bkp,npk,oag}_tree`: responses are now cached in memory for 24 hours. This reference data rarely changes, so repeated lookups return instantly and no longer use up the 60 requests/minute budget that tender searches need. Tender and organization lookups (`search_tenders`, `get_tender_details`, `search_proc_offices`, `get_publication_history`) are not cached. The cache is cleared when the server restarts. -- `SimapClient.get()`: new opt-in `cacheTtlMs` option backed by `ResponseCache` (capped at 500 entries, least recently used evicted first). Concurrent identical requests share one upstream call, and errors are never cached. diff --git a/.changeset/read-only-tool-annotations.md b/.changeset/read-only-tool-annotations.md deleted file mode 100644 index b69f54d..0000000 --- a/.changeset/read-only-tool-annotations.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@digilac/simap-mcp": minor ---- - -All 14 tools now advertise a human-readable `title` and MCP tool annotations (`readOnlyHint: true`, `destructiveHint: false`, `idempotentHint: true`, `openWorldHint: true`) via `registerTool()`. MCP clients can show friendlier tool names and let users auto-approve these read-only calls instead of confirming each one. diff --git a/.changeset/retry-transient-errors.md b/.changeset/retry-transient-errors.md deleted file mode 100644 index 8925c99..0000000 --- a/.changeset/retry-transient-errors.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@digilac/simap-mcp": minor ---- - -`SimapClient`: retry transient simap failures (HTTP 408 / 429 / 5xx and network errors) up to 2 times with exponential backoff and jitter, honouring `Retry-After`, so a brief simap hiccup no longer surfaces as a tool error. Client errors, invalid responses and timeouts still fail immediately. diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d77252..7f049f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## 1.6.0 + +### Minor Changes + +- [#130](https://github.com/Digilac/simap-mcp/pull/130) [`dc7eba3`](https://github.com/Digilac/simap-mcp/commit/dc7eba3bc0c95685ba25dd8fb2d834196ecfd18c) Thanks [@mathieumaf](https://github.com/mathieumaf)! - All 14 tools now advertise a human-readable `title` and MCP tool annotations (`readOnlyHint: true`, `destructiveHint: false`, `idempotentHint: true`, `openWorldHint: true`) via `registerTool()`. MCP clients can show friendlier tool names and let users auto-approve these read-only calls instead of confirming each one. + +- [#131](https://github.com/Digilac/simap-mcp/pull/131) [`3edd454`](https://github.com/Digilac/simap-mcp/commit/3edd454d4fd5ffd52f6070eb4f181d672496279e) Thanks [@mathieumaf](https://github.com/mathieumaf)! - `SimapClient`: retry transient simap failures (HTTP 408 / 429 / 5xx and network errors) up to 2 times with exponential backoff and jitter, honouring `Retry-After`, so a brief simap hiccup no longer surfaces as a tool error. Client errors, invalid responses and timeouts still fail immediately. + +### Patch Changes + +- [#132](https://github.com/Digilac/simap-mcp/pull/132) [`d66011d`](https://github.com/Digilac/simap-mcp/commit/d66011dfb8a6d20e568f1f2a53e8413db39891d1) Thanks [@mathieumaf](https://github.com/mathieumaf)! - - `list_cantons`, `list_institutions`, `search_{cpv,bkp,npk,oag}_codes`, `browse_{cpv,bkp,npk,oag}_tree`: responses are now cached in memory for 24 hours. This reference data rarely changes, so repeated lookups return instantly and no longer use up the 60 requests/minute budget that tender searches need. Tender and organization lookups (`search_tenders`, `get_tender_details`, `search_proc_offices`, `get_publication_history`) are not cached. The cache is cleared when the server restarts. + - `SimapClient.get()`: new opt-in `cacheTtlMs` option backed by `ResponseCache` (capped at 500 entries, least recently used evicted first). Concurrent identical requests share one upstream call, and errors are never cached. + ## 1.5.2 ### Patch Changes diff --git a/package-lock.json b/package-lock.json index 149ea92..bf62f0b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@digilac/simap-mcp", - "version": "1.5.2", + "version": "1.6.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@digilac/simap-mcp", - "version": "1.5.2", + "version": "1.6.0", "license": "MIT", "dependencies": { "@prefecthq/fastmcp-ts": "^1.9.0", diff --git a/package.json b/package.json index ea75c9b..8f5e22e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@digilac/simap-mcp", - "version": "1.5.2", + "version": "1.6.0", "mcpName": "io.github.Digilac/simap-mcp", "description": "MCP server for simap.ch - Swiss public procurement platform", "type": "module", diff --git a/server.json b/server.json index e312966..5772115 100644 --- a/server.json +++ b/server.json @@ -6,12 +6,12 @@ "url": "https://github.com/Digilac/simap-mcp", "source": "github" }, - "version": "1.5.2", + "version": "1.6.0", "packages": [ { "registryType": "npm", "identifier": "@digilac/simap-mcp", - "version": "1.5.2", + "version": "1.6.0", "transport": { "type": "stdio" }