[1.0.5] - 2026-10-25
Added
Changed
- Replaced
base64withencodify. - An HTTP route's
fallbackis now honoured: unmatched or unmapped requests on that route go to the fallback destination instead ofrouting.default_destination. Afallbacknaming an undeclared destination, or one that does not declare thehttpprotocol, is rejected at startup. - A login held by
POST /connections/delaynow resolves its destination when the hold ends instead of before it. PUT /mappings,DELETE /mappingsandPOST /cache/invalidate?identifier=end the login delay of that identifier;POST /mappings/reloadandPOST /cache/invalidatewithout an identifier end every login delay. Held logins proceed at once to the newly mapped destination.- Calling
POST /connections/delayagain for an identifier also moves the hold deadline of logins already waiting (still capped at 120 seconds per login).
Fixed
- The sample configuration written by
install.shandresources/config.sample.tomlnamed an undeclared HTTP route fallback (default) and failed startup validation. resources/config.stalwart-upgrade.tomlnow documents the WebUI OAuth client identifiers (https://<host>/admin/oauth-client.json,https://<host>/account/oauth-client.json) and pins/admin,/account,/api/auth/**to the new deployment.- The
POST /config/reloadresponse no longer claims that cache capacity and TTLs require a restart; a reload rebuilds the router and its cache. POST /connections/delaywith asecondsvalue too large to represent now returns400instead of panicking.