Skip to content
MyDSHMy DSH Field Notes
中文
Independently maintained; not affiliated with DeepSeek. No association with mydsh.dev or other MyDSH sites.

Home/Developers & plugin dev/Release & versioning

Your CHANGELOG must state the host range: following what 44 npm versions do

Ship notes saying 'fixed some issues', and users discover the version mismatch only after installing.

VerifiedVersion and environmentChecked 2026-11-14
Sample
44 dsh versions on npm plus 5 plugins declaring engines.dsh
Checked
2026-11-14

First, how others write engines

Pluginengines.dsh verbatim
dsh-context>=0.2.0-rc.2 || >=0.2.1-rc.2 || >=0.2.2-rc.1
dsh-cost-meter>=0.2.0-rc.1 <0.3.0-0
dsh-vision-router>=0.2.1-rc.5 <0.3.0-0
dsh-ppt>=0.2.2-rc.3
billion-context(no engines.dsh; only node >=20)

Both styles have merit: several parallel lower bounds (dsh-context) says 'I tested each of these entry points'; a range (dsh-cost-meter) says 'I have not seen anything outside this'. The former is more honest and harder to maintain; the latter reads better and expires faster.

A CHANGELOG template

## 0.3.0

Applies to host: >=0.2.2-rc.1 <0.3.0-0 (tested on 0.2.2-rc.1 and 0.2.2-rc.3)
Host must provide inject targets: dsh-api-remotes, dsh-client-ui-sidebar-right

### Changes
- Added: …
- Fixed: …

### Upgrade notes
- Below host 0.2.2-rc.3, the xxx feature is unavailable (it depends on yyy added in that release)
The valuable line in that template is 'Host must provide inject targets'. Measured here: when the host lacks an inject package the plugin hangs silently — zero output, no error, leaving the user with nothing to search for. Writing that line saves them hours.

Why the host range cannot be omitted

  • engines.dsh is validated nowhere (measured here), so it does not stop anyone installing the wrong version.
  • The only moment that works is when someone reads the CHANGELOG.
  • Stating the applicable range plus where you tested it beats a string of version numbers.

What counts as working

Check every line. All of them pass or the job is not done.

  • The CHANGELOG states the applicable host range and where it was tested
  • It lists the inject targets the host must provide
  • Upgrade notes say what is lost below a given version

Where it fails

Symptom, cause, what to do — written in the order it actually happens.

SymptomCauseWhat to do
Assuming engines alone sufficesNothing validates itRepeat the range in the CHANGELOG with where it was tested

Sources

Verified means measured here. Compiled means every line carries a source.