@goodandready/dsh-key-rotation 0.8.20 → 0.8.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/lib/client.js +493 -210
- package/lib/config-compat.js +42 -0
- package/lib/http-bridge.js +55 -21
- package/lib/index.js +23 -14
- package/lib/lifecycle.js +28 -14
- package/lib/ops-keys.js +6 -4
- package/lib/ops-telemetry.js +5 -5
- package/lib/pool-builder.js +9 -3
- package/lib/pool.js +3 -2
- package/lib/settings-write.js +77 -0
- package/package.json +8 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to `@goodandready/dsh-key-rotation` are documented here.
|
|
4
4
|
User-facing feature notes also appear in README (en is source of truth).
|
|
5
5
|
|
|
6
|
+
## 0.8.21 - 2026-09-23
|
|
7
|
+
|
|
8
|
+
### Fixed
|
|
9
|
+
- **Cross-core settings compatibility & DSH 0.1.5-rc.2 renderer boot (GitHub #18, PR #19)**: removed the hard client dependency on `settingsScope` / `configForms`; required services in `inject` are now strictly `['slots', 'locale']`. Added dynamic lifecycle-owned service acquisition (`createSettingsSource`) that prefers modern `configForms` and gracefully falls back to legacy `settingsScope`, preventing renderer crash loops on DSH 0.1.5-rc.2.
|
|
10
|
+
- **Atomic secret-safe writes (GitHub #18, PR #19)**: saves and import routes now use atomic `settings.mutate(namespace, ops, expectedRevision)` rather than full replacement of redacted sections. Submits only modified fields, preventing accidental erasure of private tokens (`webhookActionToken`).
|
|
11
|
+
- **Recoverable drafts & race condition prevention (GitHub #18, PR #19)**: decoupled saving state from snapshot readiness. Disables duplicate submissions during active saves, captures draft original revisions, keeps failed/conflicting drafts visible with an interactive Discard button, and bounds I/O with timeouts.
|
|
12
|
+
- **Key-pool editing & loopback origin hardening (GitHub #18, PR #19)**: preserves provider indices across search filtering, fixes batch key removal, bounds pathological weights to `[1, 1000]`, and accepts bracketed IPv6 loopback origins safely.
|
|
13
|
+
- **Dynamic auto-unbreak reconfiguration (GitHub #18, PR #19)**: auto-unbreak intervals update dynamically when modified in settings without requiring plugin restarts.
|
|
14
|
+
- **Comprehensive test coverage**: 581 tests passing (including 30 real React 18 component interaction tests and 24 route tests).
|
|
15
|
+
- Special thanks to **@Minervaowl7** for the extraordinary cross-core architectural audit, pull request, and test suites!
|
|
16
|
+
|
|
6
17
|
## 0.8.20 - 2026-09-22
|
|
7
18
|
|
|
8
19
|
### Fixed
|