v2.0.1 — Patch: config-corruption protection & repair
Patch release: fix duplicate-loader-entry crash & add config recovery
Fixes the crash caused by hot-installing a plugin that is already in dsh.profile.bundles
(duplicate loader entry id → dsh web fails to boot). Adds tooling to diagnose and recover
from config corruption.
Fixed
- Hot install now rejects bundles already managed by
dsh plugin— no more duplicate
insertrows in cordis.patch.yml, no more boot crash (duplicate loader entry id).
Usedsh plugin --profile web add|removefor those instead.
Added
dsh-web repair— diagnose & auto-fix common config corruption:- duplicate entry ids in cordis.patch.yml (dedup, keep first)
- ghost bundles in
dsh.profile.bundles(remove missing packages) - dsh-web-hot state out of sync (reset to match config)
dsh-web health-check— after restart, verifies port + config tree; tells you
whether the problem is the process or the config (stop looping restarts on bad config).- Auto config backup —
install/remove/repairback up cordis.patch.yml &
state before changing them (kept inprofiles/web/backups/, last 10).
Docs
- README bilingual: added technical architecture section (components, hot-install &
safe-restart data flows, env dependencies).