-
DcRouter v32.1.4
StableRelease / build-and-release (push) Successful in 24m28sreleased this
2026-09-22 11:26:29 +00:00 | 65 commits to main since this release2026-09-22 - 32.1.4
Fixes
-
Upgrade tsdocker to 3.7.0 for validated cleanup of root-owned registry cache files.
-
Consume
@push.rocks/qenv8.0.0 (pinned exactly), which enforces aqenv.ymlrequired:list while constructing and throwsQenvMissingRequiredEnvVarsErrorinstead of callingprocess.exit, a path 6.1.4 carried but could never reach. dcrouter deliberately ships noqenv.yml: it has no unconditionally mandatory environment variable. The four names it reads through qenv (DCROUTER_WEB_PUSH_ENABLED,DCROUTER_WEB_PUSH_MASTER_KEY_RING,DCROUTER_WEB_PUSH_HMAC_KEY_RING,DCROUTER_WEB_PUSH_VAPID_SUBJECT) only become mandatory once Web Push is switched on —WebPushManager.start()then refuses with a message naming all three key materials — and the reseal migration only demands the master key ring when sealed Web Push documents exist; every other name is read fromprocess.envwith a default of its own. Both construction sites (ts/classes.dcrouter.ts,ts/webpush/classes.webpush-manager.ts) therefore now passfailOnMissing = falseidentically, where the first one previously used the default: aqenv.ymlan operator leaves in the working directory is recorded as a warning listing the missing names instead of killing a DNS and mail gateway over a feature that is off, and the refusal stays with the reader that knows which feature is blocked.
Downloads
-