Skip to content

release: 0.3.1 — run on dsh 0.2.1 as well as 0.1.7 - #6

Merged
MyPrototypeWhat merged 3 commits into
mainfrom
release/0.3.1
Oct 22, 2026
Merged

MyPrototypeWhat merged 3 commits into
mainfrom
release/0.3.1

Conversation

@MyPrototypeWhat

Copy link
Copy Markdown
Contributor

Why

0.3.0 shipped with dsh-* peers of ^0.1.7-rc.2 and no engines.dsh. dsh 0.2.1-rc.2, which npm now ships as @deepseek-ai/dsh latest, refuses every refkit release up to 0.3.0 at install:

installation rejected: Plugin @refkit/dsh-plugin@0.2.0 is incompatible with dsh 0.2.1-rc.2

The awesome-dsh-plugin registry and dsh 0.2.1's Discover tab offer whatever npm latest is. So a listing would send 0.2.1 users to an Install button that fails.

What ships (0.3.1)

  • Compatibility range. engines.dsh and the dsh-* peers are ^0.1.7-rc.2 || ^0.2.1-rc.2. dsh 0.2.1 decides from engines.dsh alone; dsh 0.1.7 and pnpm read the peers. Both versions of dsh understand || ranges.
  • Dev pins and source. Dev pins move to 0.2.1-rc.2 (cordis ~4.0.5, cordis-plugin-loader ~1.0.6, schemastery ~3.18.5). src/ compiles unchanged, and no API the plugin uses changed between 0.1.7 and 0.2.1.
  • Test fixtures. Two fixtures follow the 0.2.1 contracts: tool-call stages carry name and the args view, and ConfigFormSnapshot no longer has mode.
  • Version. package.json, PLUGIN_VERSION (the default User-Agent) and lib/ are at 0.3.1.
  • New checks in package-meta:
    • engines.dsh and every dsh-* peer name the same range;
    • PLUGIN_VERSION matches package.json.
  • Docs. The READMEs (en/zh) say the plugin was tested on both versions, and give the upgrade path for 0.2.0 or 0.3.0 users: remove the plugin, then add it again. The CHANGELOG has a 0.3.1 entry.

Verification

  • typecheck, lint, test (174 passed), check:lib and check:client pass.
  • Isolated live runs. Each host ran with its DSH_HOME in a scratch directory; the global dsh and ~/.dsh were not touched.
    • dsh 0.2.1-rc.2:
      • 0.2.0 is refused at install.
      • The packed 0.3.1 installs. Under Plugins it shows v0.3.1 with its zh title, description and icon, and the component is running.
      • The settings page renders. Saving a setting writes cordis.patch.yml (mode 0600), and the value survives a reload.
      • Remove, then add again, works.
    • dsh 0.1.7-rc.2: the same change (on top of 0.3.0) installs, loads, renders the settings page and saves a setting.
  • No model turn was run, because the test environment had no API key. The tool path is unchanged and covered by the unit tests.

After merge

  1. Push tag v0.3.1; release.yml publishes it as npm latest.
  2. Submit refkitjs/dsh-plugin to the awesome-dsh-plugin registry.

Supersedes #5, which was opened as "0.3.0" just before 0.3.0 was released from #4.

- engines.dsh and the dsh-* peers are ^0.1.7-rc.2 || ^0.2.1-rc.2. dsh 0.2.1
  decides compatibility from engines.dsh alone and refuses 0.2.0's
  ^0.1.7-rc.2 peers; dsh 0.1.7 and pnpm read the peers.
- Dev pins move to 0.2.1-rc.2 (cordis ~4.0.5, cordis-plugin-loader ~1.0.6,
  schemastery ~3.18.5). src/ compiles unchanged; the built lib/ is identical.
- Test fixtures follow the 0.2.1 contracts: tool-call stages carry name and
  the args view, and ConfigFormSnapshot no longer has mode.
- package-meta pins that engines.dsh and every dsh-* peer name the same range.
Both hosts were checked in isolation (DSH_HOME in a scratch dir): the packed
0.3.0 installs, loads with its title and icon, renders its settings page and
saves a setting on dsh 0.2.1-rc.2 and 0.1.7-rc.2, while 0.2.1 refuses 0.2.0.
The remove-then-add upgrade path was run on 0.2.1.
0.3.0 went out with ^0.1.7-rc.2 peers, which dsh 0.2.1 refuses; 0.3.1 carries
the dsh 0.2.1 support. PLUGIN_VERSION (the default User-Agent) follows
package.json, and package-meta now checks that the two agree.
@MyPrototypeWhat
MyPrototypeWhat merged commit badefd6 into main Oct 22, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant