diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e8673e9..65dce398 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,47 @@ project follows [Semantic Versioning](https://semver.org/) while the API is stil ## [Unreleased] +## [0.3.2](https://github.com/salasebas/rustauth/compare/v0.3.0...v0.3.2) - 2026-07-26 + +### Changed + +- Harden SSO provider trust ([#183](https://github.com/salasebas/rustauth/pull/183)) +- [codex] Add verified Generic OIDC profile extraction ([#186](https://github.com/salasebas/rustauth/pull/186)) +- [codex] Preserve offline refresh-token semantics ([#205](https://github.com/salasebas/rustauth/pull/205)) +- release v0.3.1 ([#175](https://github.com/salasebas/rustauth/pull/175)) +- update Cargo.lock dependencies +- *(release)* add release-plz automation + +### Fixed + +- *(stripe)* validate success redirect +- fail closed when OIDC HTTP client build fails ([#176](https://github.com/salasebas/rustauth/pull/176)) +- *(sso)* harden saml acs idp-initiated responses +- *(sso)* require org admin for provider registration ([#196](https://github.com/salasebas/rustauth/pull/196)) +- *(sso)* enforce saml assertion signature policy ([#200](https://github.com/salasebas/rustauth/pull/200)) +- *(sso)* require signed SAML SLO logout requests ([#201](https://github.com/salasebas/rustauth/pull/201)) +- *(sso)* prevent provider update org reassignment ([#198](https://github.com/salasebas/rustauth/pull/198)) +- fix scim filter complexity limits ([#177](https://github.com/salasebas/rustauth/pull/177)) +- *(scim)* deny empty required role allow-list +- *(sso)* cap SAML SLO message inflation ([#184](https://github.com/salasebas/rustauth/pull/184)) +- *(plugins)* restrict email OTP verification endpoints +- *(plugins)* reject unverified generic oauth id tokens ([#179](https://github.com/salasebas/rustauth/pull/179)) +- fix generic oauth fail-closed http client ([#180](https://github.com/salasebas/rustauth/pull/180)) +- fix phone otp storage ([#182](https://github.com/salasebas/rustauth/pull/182)) +- reject protected admin user updates ([#185](https://github.com/salasebas/rustauth/pull/185)) +- *(organization)* authorize invitation team assignment +- *(organization)* authorize add-member team assignment +- *(admin)* reject reserved create-user data fields ([#199](https://github.com/salasebas/rustauth/pull/199)) +- *(phone-number)* require password before sign-in OTP ([#202](https://github.com/salasebas/rustauth/pull/202)) +- *(passkey)* bind verification to challenge config +- fix oauth client reference id update ([#181](https://github.com/salasebas/rustauth/pull/181)) +- *(oauth)* enforce skip-consent boundary +- *(oauth)* prevent public client downgrade +- *(oauth)* bind introspection and revocation to clients +- break plugins/fred dev-dep cycle and repair post-0.3.0 CI +- repair release preflight ([#207](https://github.com/salasebas/rustauth/pull/207)) +- *(ci)* restore failing checks ([#208](https://github.com/salasebas/rustauth/pull/208)) + ## [0.3.1](https://github.com/salasebas/rustauth/compare/v0.3.0...v0.3.1) - 2026-07-02 ### Changed diff --git a/Cargo.lock b/Cargo.lock index 0a140a5f..c9cd4621 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4284,7 +4284,7 @@ dependencies = [ [[package]] name = "rustauth" -version = "0.3.1" +version = "0.3.2" dependencies = [ "http 1.4.2", "rustauth-core", @@ -4312,7 +4312,7 @@ dependencies = [ [[package]] name = "rustauth-actix-web" -version = "0.3.1" +version = "0.3.2" dependencies = [ "actix-web", "futures-util", @@ -4328,7 +4328,7 @@ dependencies = [ [[package]] name = "rustauth-axum" -version = "0.3.1" +version = "0.3.2" dependencies = [ "axum", "http-body-util", @@ -4344,7 +4344,7 @@ dependencies = [ [[package]] name = "rustauth-cli" -version = "0.3.1" +version = "0.3.2" dependencies = [ "assert_cmd", "base64 0.22.1", @@ -4382,7 +4382,7 @@ dependencies = [ [[package]] name = "rustauth-core" -version = "0.3.1" +version = "0.3.2" dependencies = [ "base64 0.22.1", "chacha20poly1305", @@ -4410,7 +4410,7 @@ dependencies = [ [[package]] name = "rustauth-deadpool-postgres" -version = "0.3.1" +version = "0.3.2" dependencies = [ "deadpool-postgres", "http 1.4.2", @@ -4426,7 +4426,7 @@ dependencies = [ [[package]] name = "rustauth-diesel" -version = "0.3.1" +version = "0.3.2" dependencies = [ "diesel", "diesel-async", @@ -4462,7 +4462,7 @@ dependencies = [ [[package]] name = "rustauth-fred" -version = "0.3.1" +version = "0.3.2" dependencies = [ "fred", "rustauth-core", @@ -4472,7 +4472,7 @@ dependencies = [ [[package]] name = "rustauth-i18n" -version = "0.3.1" +version = "0.3.2" dependencies = [ "http 1.4.2", "indexmap 2.14.0", @@ -4486,7 +4486,7 @@ dependencies = [ [[package]] name = "rustauth-integration-tests" -version = "0.3.1" +version = "0.3.2" dependencies = [ "http 1.4.2", "rustauth", @@ -4502,7 +4502,7 @@ dependencies = [ [[package]] name = "rustauth-oauth" -version = "0.3.1" +version = "0.3.2" dependencies = [ "base64 0.22.1", "josekit", @@ -4518,7 +4518,7 @@ dependencies = [ [[package]] name = "rustauth-oauth-provider" -version = "0.3.1" +version = "0.3.2" dependencies = [ "base64 0.22.1", "data-encoding", @@ -4542,7 +4542,7 @@ dependencies = [ [[package]] name = "rustauth-oidc" -version = "0.3.1" +version = "0.3.2" dependencies = [ "http 1.4.2", "openidconnect", @@ -4556,7 +4556,7 @@ dependencies = [ [[package]] name = "rustauth-passkey" -version = "0.3.1" +version = "0.3.2" dependencies = [ "base64 0.22.1", "http 1.4.2", @@ -4577,7 +4577,7 @@ dependencies = [ [[package]] name = "rustauth-plugins" -version = "0.3.1" +version = "0.3.2" dependencies = [ "base64 0.22.1", "data-encoding", @@ -4609,7 +4609,7 @@ dependencies = [ [[package]] name = "rustauth-redis" -version = "0.3.1" +version = "0.3.2" dependencies = [ "redis", "rustauth-core", @@ -4619,7 +4619,7 @@ dependencies = [ [[package]] name = "rustauth-saml" -version = "0.3.1" +version = "0.3.2" dependencies = [ "base64 0.22.1", "flate2", @@ -4637,7 +4637,7 @@ dependencies = [ [[package]] name = "rustauth-scim" -version = "0.3.1" +version = "0.3.2" dependencies = [ "base64 0.22.1", "http 1.4.2", @@ -4658,7 +4658,7 @@ dependencies = [ [[package]] name = "rustauth-social-providers" -version = "0.3.1" +version = "0.3.2" dependencies = [ "base64 0.22.1", "josekit", @@ -4673,7 +4673,7 @@ dependencies = [ [[package]] name = "rustauth-sqlx" -version = "0.3.1" +version = "0.3.2" dependencies = [ "http 1.4.2", "indexmap 2.14.0", @@ -4687,7 +4687,7 @@ dependencies = [ [[package]] name = "rustauth-sso" -version = "0.3.1" +version = "0.3.2" dependencies = [ "base64 0.22.1", "flate2", @@ -4720,7 +4720,7 @@ dependencies = [ [[package]] name = "rustauth-stripe" -version = "0.3.1" +version = "0.3.2" dependencies = [ "base64 0.22.1", "hex", @@ -4741,7 +4741,7 @@ dependencies = [ [[package]] name = "rustauth-telemetry" -version = "0.3.1" +version = "0.3.2" dependencies = [ "base64 0.22.1", "http 1.4.2", @@ -4758,7 +4758,7 @@ dependencies = [ [[package]] name = "rustauth-tokio-postgres" -version = "0.3.1" +version = "0.3.2" dependencies = [ "http 1.4.2", "rustauth-core", diff --git a/Cargo.toml b/Cargo.toml index 794ce1d8..0efbfd57 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -35,7 +35,7 @@ default-members = [ ] [workspace.package] -version = "0.3.1" +version = "0.3.2" edition = "2021" license = "MIT" repository = "https://github.com/salasebas/rustauth" @@ -60,10 +60,10 @@ josekit = "0.10" hkdf = "0.12" data-encoding = "2" deadpool-postgres = "0.14.1" -rustauth-core = { path = "crates/rustauth-core", version = "0.3.1", default-features = false } -rustauth-i18n = { path = "crates/rustauth-i18n", version = "0.3.1" } -rustauth-oidc = { path = "crates/rustauth-oidc", version = "0.3.1" } -rustauth = { path = "crates/rustauth", version = "0.3.1" } +rustauth-core = { path = "crates/rustauth-core", version = "0.3.2", default-features = false } +rustauth-i18n = { path = "crates/rustauth-i18n", version = "0.3.2" } +rustauth-oidc = { path = "crates/rustauth-oidc", version = "0.3.2" } +rustauth = { path = "crates/rustauth", version = "0.3.2" } actix-web = { version = "4.13", default-features = false } axum = "0.8" camino = { version = "1.1", features = ["serde1"] } @@ -71,27 +71,27 @@ cargo_metadata = "0.19" clap = { version = "4.5", features = ["derive", "env"] } clap_complete = "4.5" inquire = "0.7" -rustauth-oauth = { path = "crates/rustauth-oauth", version = "0.3.1", default-features = false } -rustauth-oauth-provider = { path = "crates/rustauth-oauth-provider", version = "0.3.1" } -rustauth-fred = { path = "crates/rustauth-fred", version = "0.3.1" } -rustauth-plugins = { path = "crates/rustauth-plugins", version = "0.3.1" } -rustauth-passkey = { path = "crates/rustauth-passkey", version = "0.3.1" } -rustauth-redis = { path = "crates/rustauth-redis", version = "0.3.1" } -rustauth-scim = { path = "crates/rustauth-scim", version = "0.3.1" } -rustauth-social-providers = { path = "crates/rustauth-social-providers", version = "0.3.1" } -rustauth-saml = { path = "crates/rustauth-saml", version = "0.3.1" } -rustauth-sqlx = { path = "crates/rustauth-sqlx", version = "0.3.1", default-features = false } -rustauth-sso = { path = "crates/rustauth-sso", version = "0.3.1", default-features = false } -rustauth-stripe = { path = "crates/rustauth-stripe", version = "0.3.1" } -rustauth-telemetry = { path = "crates/rustauth-telemetry", version = "0.3.1", default-features = false } -rustauth-deadpool-postgres = { path = "crates/rustauth-deadpool-postgres", version = "0.3.1" } +rustauth-oauth = { path = "crates/rustauth-oauth", version = "0.3.2", default-features = false } +rustauth-oauth-provider = { path = "crates/rustauth-oauth-provider", version = "0.3.2" } +rustauth-fred = { path = "crates/rustauth-fred", version = "0.3.2" } +rustauth-plugins = { path = "crates/rustauth-plugins", version = "0.3.2" } +rustauth-passkey = { path = "crates/rustauth-passkey", version = "0.3.2" } +rustauth-redis = { path = "crates/rustauth-redis", version = "0.3.2" } +rustauth-scim = { path = "crates/rustauth-scim", version = "0.3.2" } +rustauth-social-providers = { path = "crates/rustauth-social-providers", version = "0.3.2" } +rustauth-saml = { path = "crates/rustauth-saml", version = "0.3.2" } +rustauth-sqlx = { path = "crates/rustauth-sqlx", version = "0.3.2", default-features = false } +rustauth-sso = { path = "crates/rustauth-sso", version = "0.3.2", default-features = false } +rustauth-stripe = { path = "crates/rustauth-stripe", version = "0.3.2" } +rustauth-telemetry = { path = "crates/rustauth-telemetry", version = "0.3.2", default-features = false } +rustauth-deadpool-postgres = { path = "crates/rustauth-deadpool-postgres", version = "0.3.2" } diesel = { version = "2.3", default-features = false } diesel-async = { version = "0.9", default-features = false } -rustauth-diesel = { path = "crates/rustauth-diesel", version = "0.3.1", default-features = false } -rustauth-tokio-postgres = { path = "crates/rustauth-tokio-postgres", version = "0.3.1" } -rustauth-actix-web = { path = "crates/rustauth-actix-web", version = "0.3.1" } -rustauth-axum = { path = "crates/rustauth-axum", version = "0.3.1" } -rustauth-cli = { path = "crates/rustauth-cli", version = "0.3.1" } +rustauth-diesel = { path = "crates/rustauth-diesel", version = "0.3.2", default-features = false } +rustauth-tokio-postgres = { path = "crates/rustauth-tokio-postgres", version = "0.3.2" } +rustauth-actix-web = { path = "crates/rustauth-actix-web", version = "0.3.2" } +rustauth-axum = { path = "crates/rustauth-axum", version = "0.3.2" } +rustauth-cli = { path = "crates/rustauth-cli", version = "0.3.2" } openidconnect = { version = "4.0.1", default-features = false, features = ["reqwest", "rustls-tls"] } publicsuffix2 = { version = "0.5.2", default-features = false, features = ["std", "idna"] } quick-xml = "0.41" diff --git a/crates/rustauth-cli/CHANGELOG.md b/crates/rustauth-cli/CHANGELOG.md index 09a5ce4f..b99c9e17 100644 --- a/crates/rustauth-cli/CHANGELOG.md +++ b/crates/rustauth-cli/CHANGELOG.md @@ -2,6 +2,12 @@ ## [Unreleased] +## [0.3.2](https://github.com/salasebas/rustauth/compare/v0.3.1...v0.3.2) - 2026-07-26 + +### Changed + +- update Cargo.lock dependencies + ## [0.3.0] - 2026-06-15 ### Added diff --git a/crates/rustauth-core/CHANGELOG.md b/crates/rustauth-core/CHANGELOG.md index e78a0b12..dd893308 100644 --- a/crates/rustauth-core/CHANGELOG.md +++ b/crates/rustauth-core/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## [0.3.2](https://github.com/salasebas/rustauth/compare/v0.3.1...v0.3.2) - 2026-07-26 + +### Fixed + +- *(ci)* restore failing checks ([#208](https://github.com/salasebas/rustauth/pull/208)) + ## [0.3.1](https://github.com/salasebas/rustauth/compare/v0.3.0...v0.3.1) - 2026-07-02 ### Fixed diff --git a/crates/rustauth-fred/CHANGELOG.md b/crates/rustauth-fred/CHANGELOG.md index f91c45a4..e3d8e68b 100644 --- a/crates/rustauth-fred/CHANGELOG.md +++ b/crates/rustauth-fred/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## [0.3.2](https://github.com/salasebas/rustauth/compare/v0.3.0...v0.3.2) - 2026-07-26 + +### Changed + +- release v0.3.1 ([#175](https://github.com/salasebas/rustauth/pull/175)) + +### Fixed + +- break plugins/fred dev-dep cycle and repair post-0.3.0 CI +- repair release preflight ([#207](https://github.com/salasebas/rustauth/pull/207)) + ## [0.3.1](https://github.com/salasebas/rustauth/compare/v0.3.0...v0.3.1) - 2026-07-02 ### Fixed diff --git a/crates/rustauth-oauth-provider/CHANGELOG.md b/crates/rustauth-oauth-provider/CHANGELOG.md index f9601f61..2e75eb2c 100644 --- a/crates/rustauth-oauth-provider/CHANGELOG.md +++ b/crates/rustauth-oauth-provider/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +## [0.3.2](https://github.com/salasebas/rustauth/compare/v0.3.0...v0.3.2) - 2026-07-26 + +### Changed + +- release v0.3.1 ([#175](https://github.com/salasebas/rustauth/pull/175)) +- [codex] Preserve offline refresh-token semantics ([#205](https://github.com/salasebas/rustauth/pull/205)) + +### Fixed + +- fix oauth client reference id update ([#181](https://github.com/salasebas/rustauth/pull/181)) +- *(oauth)* enforce skip-consent boundary +- *(oauth)* prevent public client downgrade +- *(oauth)* bind introspection and revocation to clients + ## [0.3.1](https://github.com/salasebas/rustauth/compare/v0.3.0...v0.3.1) - 2026-07-02 ### Fixed diff --git a/crates/rustauth-passkey/CHANGELOG.md b/crates/rustauth-passkey/CHANGELOG.md index ed8019b9..3ac6b41b 100644 --- a/crates/rustauth-passkey/CHANGELOG.md +++ b/crates/rustauth-passkey/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## [0.3.2](https://github.com/salasebas/rustauth/compare/v0.3.0...v0.3.2) - 2026-07-26 + +### Changed + +- release v0.3.1 ([#175](https://github.com/salasebas/rustauth/pull/175)) + +### Fixed + +- *(passkey)* bind verification to challenge config + ## [0.3.1](https://github.com/salasebas/rustauth/compare/v0.3.0...v0.3.1) - 2026-07-02 ### Fixed diff --git a/crates/rustauth-plugins/CHANGELOG.md b/crates/rustauth-plugins/CHANGELOG.md index f33b2069..ff3225c7 100644 --- a/crates/rustauth-plugins/CHANGELOG.md +++ b/crates/rustauth-plugins/CHANGELOG.md @@ -2,6 +2,26 @@ ## [Unreleased] +## [0.3.2](https://github.com/salasebas/rustauth/compare/v0.3.0...v0.3.2) - 2026-07-26 + +### Changed + +- [codex] Add verified Generic OIDC profile extraction ([#186](https://github.com/salasebas/rustauth/pull/186)) +- release v0.3.1 ([#175](https://github.com/salasebas/rustauth/pull/175)) + +### Fixed + +- break plugins/fred dev-dep cycle and repair post-0.3.0 CI +- *(plugins)* restrict email OTP verification endpoints +- *(plugins)* reject unverified generic oauth id tokens ([#179](https://github.com/salasebas/rustauth/pull/179)) +- fix generic oauth fail-closed http client ([#180](https://github.com/salasebas/rustauth/pull/180)) +- fix phone otp storage ([#182](https://github.com/salasebas/rustauth/pull/182)) +- reject protected admin user updates ([#185](https://github.com/salasebas/rustauth/pull/185)) +- *(organization)* authorize invitation team assignment +- *(organization)* authorize add-member team assignment +- *(admin)* reject reserved create-user data fields ([#199](https://github.com/salasebas/rustauth/pull/199)) +- *(phone-number)* require password before sign-in OTP ([#202](https://github.com/salasebas/rustauth/pull/202)) + ## [0.3.1](https://github.com/salasebas/rustauth/compare/v0.3.0...v0.3.1) - 2026-07-02 ### Changed diff --git a/crates/rustauth-saml/CHANGELOG.md b/crates/rustauth-saml/CHANGELOG.md index 1659a162..31b38191 100644 --- a/crates/rustauth-saml/CHANGELOG.md +++ b/crates/rustauth-saml/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## [0.3.2](https://github.com/salasebas/rustauth/compare/v0.3.0...v0.3.2) - 2026-07-26 + +### Changed + +- release v0.3.1 ([#175](https://github.com/salasebas/rustauth/pull/175)) + +### Fixed + +- *(sso)* cap SAML SLO message inflation ([#184](https://github.com/salasebas/rustauth/pull/184)) +- *(ci)* restore failing checks ([#208](https://github.com/salasebas/rustauth/pull/208)) + ## [0.3.1](https://github.com/salasebas/rustauth/compare/v0.3.0...v0.3.1) - 2026-07-02 ### Fixed diff --git a/crates/rustauth-scim/CHANGELOG.md b/crates/rustauth-scim/CHANGELOG.md index a2440ec8..8f346b6d 100644 --- a/crates/rustauth-scim/CHANGELOG.md +++ b/crates/rustauth-scim/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## [0.3.2](https://github.com/salasebas/rustauth/compare/v0.3.0...v0.3.2) - 2026-07-26 + +### Changed + +- release v0.3.1 ([#175](https://github.com/salasebas/rustauth/pull/175)) + +### Fixed + +- fix scim filter complexity limits ([#177](https://github.com/salasebas/rustauth/pull/177)) +- *(scim)* deny empty required role allow-list + ## [0.3.1](https://github.com/salasebas/rustauth/compare/v0.3.0...v0.3.1) - 2026-07-02 ### Fixed diff --git a/crates/rustauth-sso/CHANGELOG.md b/crates/rustauth-sso/CHANGELOG.md index e0ce6f9d..bc6b0102 100644 --- a/crates/rustauth-sso/CHANGELOG.md +++ b/crates/rustauth-sso/CHANGELOG.md @@ -1,5 +1,23 @@ # Changelog +## [0.3.2](https://github.com/salasebas/rustauth/compare/v0.3.0...v0.3.2) - 2026-07-26 + +### Changed + +- Harden SSO provider trust ([#183](https://github.com/salasebas/rustauth/pull/183)) +- release v0.3.1 ([#175](https://github.com/salasebas/rustauth/pull/175)) + +### Fixed + +- fail closed when OIDC HTTP client build fails ([#176](https://github.com/salasebas/rustauth/pull/176)) +- *(sso)* cap SAML SLO message inflation ([#184](https://github.com/salasebas/rustauth/pull/184)) +- *(sso)* harden saml acs idp-initiated responses +- *(sso)* require org admin for provider registration ([#196](https://github.com/salasebas/rustauth/pull/196)) +- *(sso)* enforce saml assertion signature policy ([#200](https://github.com/salasebas/rustauth/pull/200)) +- *(sso)* require signed SAML SLO logout requests ([#201](https://github.com/salasebas/rustauth/pull/201)) +- *(sso)* prevent provider update org reassignment ([#198](https://github.com/salasebas/rustauth/pull/198)) +- *(ci)* restore failing checks ([#208](https://github.com/salasebas/rustauth/pull/208)) + ## [0.3.1](https://github.com/salasebas/rustauth/compare/v0.3.0...v0.3.1) - 2026-07-02 ### Changed diff --git a/crates/rustauth-stripe/CHANGELOG.md b/crates/rustauth-stripe/CHANGELOG.md index 3b0fdfc0..c08ee1f7 100644 --- a/crates/rustauth-stripe/CHANGELOG.md +++ b/crates/rustauth-stripe/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## [0.3.2](https://github.com/salasebas/rustauth/compare/v0.3.0...v0.3.2) - 2026-07-26 + +### Changed + +- release v0.3.1 ([#175](https://github.com/salasebas/rustauth/pull/175)) + +### Fixed + +- *(stripe)* validate success redirect + ## [0.3.1](https://github.com/salasebas/rustauth/compare/v0.3.0...v0.3.1) - 2026-07-02 ### Fixed