Releases: portier/portier-broker
Releases · portier/portier-broker
v0.15.1
- Fixed an issue where the broker was unable to make outgoing HTTPS requests because of a missing feature
rustlsfor thereqwestcrate. - Enabled default features
charsetandsystem-proxyfor cratereqwest. This should help outgoing HTTP(S) requests when Portier is deployed behind a proxy.
v0.15.0
- Upgraded AWS-LC, fixing three security issues: GHSA-jchq-39cv-q4wj, GHSA-frmv-5gcm-jwxh, GHSA-cfwj-9wp5-wqvp
- Upgraded the
bytescrate, fixing one security issue: GHSA-434x-w66g-qw3r - Upgraded the
tomlcrate, which adds new.tomlfile syntax features, per the TOML 1.1 specification. This should have minimal impact on existing installations. See the TOML changelog for details. - In the default Rustls configuration, TLS certification verification now uses the
rustls-platform-verifiercrate, instead ofrustls-native-certs. This should have minimal impact on existing installations. See the rust-platform-verifier README for details on differences. - The minimum supported Rust compiler version has been raised to 1.89. This only affects you when building from source.
v0.14.0
- An extra confirmation step was added to prevent newer email scanners from consuming the login link. When the user starts and completes the login on the same device, this step is skipped using a session cookie. The cookie can be customized or disabled using a new setting
device_cookie_ttl. - The 'Login' button on the email code form now switches to a disabled state on form submit, to prevent accidental multiple clicks. (by @jimdigriz)
- If
allowed_originsis not set (indicating all origins are allowed), CORS now also allows all origins. (by @jimdigriz) - Added a
Vary: Originresponse header to fix user agent caching with multiple relying parties using CORS. (by @jimdigriz) - Added a new setting
cspto customize theContent-Security-Policyresponse header. (by @jimdigriz)
v0.13.0
- The Redis storage backend now requires a server that supports the RESP3 protocol. (Redis >= 6.0)
- The Redis pubsub code has been reworked and no longer creates a separate connection to Redis, instead reusing the main connection using RESP3.
- An experimental option
cors_ttlhas been added, which can be used to add CORS headers to broker responses. - The minimum supported Rust compiler version has been raised to 1.83. This only affects you when building from source.
v0.12.1
- It is now possible to retry the email code entry form.
- Validation of
redirect_uriin the OAuth authorization code flow could result in false negatives in some cases, when input does not match a reserialized version of the URL. For example, a URL without a path likehttps://example.comwould always be rejected on thePOST /tokenrequest, because during thePOST /authrequest it was parsed and stored ashttps://example.com/(trailing slash), and no longer compared equal. This is now fixed.
v0.12.0
- The minimum supported Rust compiler version has been raised to 1.77. This only affects you when building from source.
- Windows builds for this release are built using the new Rust 1.81.0 compiler, which incorporates the standard library fix for CVE-2024-43402. This advisory is low severity for Portier, because Portier only executes trusted commands, such as
generate_rsa_commandandsendmail_command.
v0.11.0
- Added a French translation. (Thanks @daniel-g-gagnon!)
- Improved
Accept-Languagematching: when the user requests an unknown regional variant (e.g.nl-BE), the primary language subtag is now also matched (e.g.nl). - Improved email address input validation. This primarily affects testing scenarios, where Portier may now reject configuration and input where an email address doesn't contain a top-level domain (e.g.
foobar@localhost).
v0.10.1
v0.10.0
- The
rsafeature and crate dependency have been removed. The broker now generates RSA keypairs using AWS Libcrypto (which was already a dependency). - The broker no longer uses HTTP 2 for outgoing requests, only HTTP 1.x. This reduces dependencies, and HTTP 2 has little benefit for the few small outgoing requests made by the broker.
- Timeouts for outgoing HTTP requests have been fixed and are now configurable. The defaults should be fine in most cases, but see
config.toml.distif you do need to change these timeouts. - Discovery now proceeds in the background if
discovery_timeoutexpires. The HTTP requests are still subject to their individual timeouts, but this allows cache to warm for future authentication requests, whilediscovery_timeoutguarantees a certain response time. - Portier now sends a
List-Idemail header, intended to disable auto-responders on the receiver. - Authentication requests should no longer be double counted in
/metrics. - Portier now sends a systemd 'stopping' notification when it begins shutdown. (This code was already present, but broken.)
v0.9.2
- This releases upgrades Rustls to address the advisory RUSTSEC-2024-0336.