From cf9c382bd9298760b27c48281268ebea3b3fa93f Mon Sep 17 00:00:00 2001 From: mertcan Date: Tue, 15 Sep 2026 19:17:17 +0300 Subject: [PATCH] release: 0.3.2 Version 0.3.2 in the four declaring files, the rebuilt archive, and the one-release notice that 1.0 removes the 0.2.0 names (the published 0.5.0 schedule becomes 1.0). Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 2 +- docs/commands.md | 2 +- docs/compatibility.md | 4 ++-- docs/releases/0.3.2.md | 24 ++++++++++++++++++++ plugins/shim-cli/.claude-plugin/plugin.json | 2 +- plugins/shim-cli/.codex-plugin/plugin.json | 2 +- plugins/shim-cli/README.md | 2 +- plugins/shim-cli/bin/shim.pyz | Bin 397807 -> 397807 bytes pyproject.toml | 2 +- src/shim_cli/__init__.py | 2 +- uv.lock | 2 +- 11 files changed, 34 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index a24508a..d96f1ef 100644 --- a/README.md +++ b/README.md @@ -211,7 +211,7 @@ to the new module name and, on Copilot, replaces the old hook file. Your settings and ledger move to `shim/` on the next `shim` command that touches them, and each move is reported once. The Claude Code plugin keeps loading and updating: `shim-guard@shim-guard` still resolves through a marketplace alias, -which is removed in 0.5.0 along with the `shim-guard-hook` script, the +which is removed in 1.0 along with the `shim-guard-hook` script, the `shim_guard` package and the `SHIM_GUARD_CONFIG` variable. Codex plugin users are the one exception and need four commands; see diff --git a/docs/commands.md b/docs/commands.md index ae565f1..f1ced48 100644 --- a/docs/commands.md +++ b/docs/commands.md @@ -430,7 +430,7 @@ wrote back is `observe`, because it is not a leak. | `CLAUDE_CONFIG_DIR`, `CODEX_HOME`, `COPILOT_HOME` | Where each client keeps its settings; shim follows them. | `SHIM_GUARD_CONFIG` is the 0.2.0 name for `SHIM_CONFIG` and still works. It is -removed in 0.5.0. +removed in 1.0. ## Where shim keeps things diff --git a/docs/compatibility.md b/docs/compatibility.md index 5ac83c1..ded9ae5 100644 --- a/docs/compatibility.md +++ b/docs/compatibility.md @@ -20,7 +20,7 @@ is 3.9, the plugin route needs no Python beyond 3.9 and the package route needs The package was renamed from `shim_guard` to `shim_cli` in 0.3.0. Three names survive so that an install written by 0.2.0 keeps working, and all three are -removed in **0.5.0**, the second minor release after 0.3.0: +removed in **1.0**, the release after 0.3.2: | Name | Replacement | | --- | --- | @@ -34,7 +34,7 @@ deprecation warning: the hook is a cold-start subprocess whose stderr the client shows to the user, and a warning on every event is noise. The plugin marketplaces carry a second `shim-guard` entry pointing at the same -directory, also removed in 0.5.0. On Claude Code that entry is enough: the +directory, also removed in 1.0. On Claude Code that entry is enough: the marketplace key is whatever the user typed when they added it, so a plugin installed as `shim-guard@shim-guard` keeps loading and updating with no action. diff --git a/docs/releases/0.3.2.md b/docs/releases/0.3.2.md index f9a7dfd..1f4ccc3 100644 --- a/docs/releases/0.3.2.md +++ b/docs/releases/0.3.2.md @@ -144,6 +144,30 @@ their attestations before it publishes. To check a downloaded wheel: gh attestation verify shim-0.3.2-py3-none-any.whl --bundle shim-0.3.2.intoto.jsonl --repo GetSHIM/shim-cli ``` +## 1.0 removes the 0.2.0 names + +The compatibility layer that kept 0.2.0 installs working was scheduled for +removal in 0.5.0. It goes in 1.0 instead, the next release: the `shim_guard` +package, the `shim-guard-hook` script, the `SHIM_GUARD_*` variables and the +`shim-guard` marketplace entry. + +If `shim doctor` warns that a hook is installed in the 0.2.0 shape, run +`shim install ` now. After 1.0, a settings file that still runs +`-m shim_guard.hook` makes the client report `No module named shim_guard` on +every prompt until you do. Settings and ledger files keep moving on their own. + +A Claude Code plugin installed as `shim-guard@shim-guard` stops receiving +updates at 0.3.2. Move it with: + +``` +/plugin uninstall shim-guard@shim-guard +/plugin marketplace add GetSHIM/shim-cli +/plugin install shim-cli@shim-cli +``` + +Codex plugin users already moved in 0.3.0; see +[compatibility.md](../compatibility.md). + ## Verified `python scripts/check.py` green on 3.13: 2,005 tests, lint, format, types, and diff --git a/plugins/shim-cli/.claude-plugin/plugin.json b/plugins/shim-cli/.claude-plugin/plugin.json index 46ee2fb..524a751 100644 --- a/plugins/shim-cli/.claude-plugin/plugin.json +++ b/plugins/shim-cli/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "shim-cli", "displayName": "shim-cli", - "version": "0.3.1", + "version": "0.3.2", "description": "Masks secrets and personal data in the tool results Claude Code reads, before the model sees them; reports what was in your prompts; and, with `shim watch`, shows what a session sent and what it cost. Runs locally with no account, network destination or telemetry.", "author": { "name": "shim Engineering" diff --git a/plugins/shim-cli/.codex-plugin/plugin.json b/plugins/shim-cli/.codex-plugin/plugin.json index 0f5e30a..879c1e4 100644 --- a/plugins/shim-cli/.codex-plugin/plugin.json +++ b/plugins/shim-cli/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "shim-cli", - "version": "0.3.1", + "version": "0.3.2", "description": "Reports secrets and personal data found in your Codex prompts before they are sent, locally, with no account, network destination or telemetry. Blocking is opt in.", "author": { "name": "shim Engineering" diff --git a/plugins/shim-cli/README.md b/plugins/shim-cli/README.md index 2914cb6..59b1b7e 100644 --- a/plugins/shim-cli/README.md +++ b/plugins/shim-cli/README.md @@ -23,7 +23,7 @@ the first that works: the newest build and starts faster, because a zipapp has no bytecode cache and reparses its modules on every event. 2. `shim-guard-hook` on `PATH` — the same script under the name 0.2.0 used, - kept until 0.5.0. + kept until 1.0. 3. `/bin/shim.pyz` — the bundled archive. The root is the second argument when one is given, else `CLAUDE_PLUGIN_ROOT`. Claude sets the variable; Codex sets no such variable, so its `hooks.json` diff --git a/plugins/shim-cli/bin/shim.pyz b/plugins/shim-cli/bin/shim.pyz index 3012c39b43d1afff579229d45ef7ef4b64b298c7..dada7befaf82ce2bda7f1b50a5786c659ec9eb19 100755 GIT binary patch delta 50 zcmaFASmOO+iG~)&7N!>FEi4g!ENjabEu9|Y$6~@5)IQOVW&1=wR@bdy(e1aG*+lsO D06-Hf delta 50 zcmaFASmOO+iG~)&7N!>FEi4g!EMHDOSw20+kHv&Bq