oauth2
An extensible, strongly-typed implementation of OAuth2
5.0.0
46M downloads/mo
#1283 most downloaded on crates.io
ramosbugs/oauth2-rs
What this package is like to depend on
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 3 weeks to 10 months
Rarely documented
notes for 2 of 34 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
64 releases · first in 2014
0 releases in the last 12 months
see the full history below
Release timeline
64 releases · Dec 2014 to Jan 2025Releases
latest 60 of 64-
5.0.021 Jan 2025Release notes
Open source →Refer to the Upgrade Guide for tips on how to upgrade from 4.x.
Changes since 5.0.0-rc.1
Bug Fixes
- Improve HttpClientError::Reqwest error message (9a2b746)
Full Changelog: 5.0.0-rc.1...5.0.0
Summary of changes since 4.4.2
Breaking Changes
- Replace
TokenResponsegeneric with associated type (30ced32) - Return
impl Futureinstead ofPin<Box<dyn Future>>to fixSend/Syncbounds (6e583bd) - Bump
httpto 1.0 andreqwestto 0.12 (408ecab) - Add conditional typestates (replacing Boolean typestates from 5.0.0-alpha.1) (85ea470)
- Consolidate HTTP client errors into
oauth2::HttpClientErrorand flatten exports (e.g.,oauth2::reqwestinstead ofoauth2::reqwest::reqwest) (4391eed) - reqwest: Migrate to shared
Errortype and usethiserror'sFromimpl by @MarijnS95 (#238) - Bump MSRV to 1.65 and institute a policy supporting Rust releases going back at least 6 months (same policy as
openidconnectcrate) (576f809) - Improve
Displayoutput ofRequestTokenError::ServerResponse(96c6f9b) - Track
Clientendpoints statically via typestates (1d1f4d1) - Refactor crate into smaller private modules and make
devicecodeandrevocationmodules private (9d8f11a) - Add
reqwest-blockingfeature (da7d1c5) - Rename URI/URL getters and setters (4d55c26)
- Add
AsyncHttpClientandSyncHttpClienttraits (23b952b)
New Features
- Implement
SecretType::into_secret(#272) - Add
timing-resistant-secret-traitsfeature for PartialEq/Hash by @kate-shine (#232) - Derive
Eqfor types that already derivePartialEq(b19ad89) - Implement
Frominstead ofIntofor newtypes (d9402c4) - Implement
Displaytrait for URL types (8bd0ff1)
Bug Fixes
- Improve HttpClientError::Reqwest error message (9a2b746)
- Accept null device code interval (#278)
- Ignore async token revocation response body (#282)
- Derive Clone and Debug for EndpointState types (#263)
Other Changes
- Inline format args (#270)
- Update dev dependencies (#285)
- Remove defunct sponsorship from README
- Remove client secret from implicit flow example (#286)
- Use --locked on MSRV build in CI
- Allow base64 0.21 or 0.22 (#261)
- Bump
base64to 0.21 (db0ea44) - Set minimum version of
chronoto 0.4.31 (7b667fc) - Mention
openidconnectcrate in README (7b667fc) - Add note about
spawn_blockingto docs (1fc8188) - Re-export
curlasoauth2::curlandureqasoauth2::ureqwhen the corresponding Cargo features are enabled (aff7471) - Replace
map_err()conversions with aFromcall via theTryoperator by @MarijnS95 (#239) - Fix comments about
csrf_stateby @ikehz (#245) - Add documentation about comparing secrets securely by @ikehz (#246)
- Remove unused imports in examples by @frewsxcv (#207)
- Make private
prepare_request()methods infallible (8ef74ac) - Address clippy lints and clean up examples (d675e81)
- Remove empty leading and trailing lines from doc comments (a8b5cf8)
- Reorder and clean up imports (92c491a)
- Add Upgrade Guide
Full Changelog: 4.4.2...5.0.0
-
5.0.0-rc.116 Sep 2024 pre-releaseRelease notes
Open source →This is the first release candidate for the 5.0 major version. No further breaking changes are expected until the next major version.
Refer to the Upgrade Guide for tips on how to upgrade from 4.x.
New Features
- Implement
SecretType::into_secret(#272)
Bug Fixes
Other Changes
- Inline format args (#270)
- Update dev dependencies (#285)
- Remove defunct sponsorship from README
- Remove client secret from implicit flow example (#286)
- Use --locked on MSRV build in CI
Full Changelog: 5.0.0-alpha.4...5.0.0-beta.1
- Implement
-
5.0.0-alpha.412 Apr 2024 pre-releaseRelease notes
Open source →This is an API-unstable release intended for gathering feedback about breaking API changes in 5.0. It should be safe to use in applications, but further breaking API changes MAY occur before stabilizing the API for the 5.0.0 release.
Refer to the Upgrade Guide for tips on how to upgrade from 4.x.
Breaking Changes
- Replace
TokenResponsegeneric with associated type (30ced32)
Bug Fixes
- Derive Clone and Debug for EndpointState types (#263)
Other Changes
- Allow base64 0.21 or 0.22 (#261)
Full Changelog: 5.0.0-alpha.3...5.0.0-alpha.4
- Replace
-
5.0.0-alpha.321 Mar 2024 pre-releaseRelease notes
Open source →This is an API-unstable release intended for gathering feedback about breaking API changes in 5.0. It should be safe to use in applications, but further breaking API changes MAY occur before stabilizing the API for the 5.0.0 release.
Refer to the Upgrade Guide for tips on how to upgrade from 4.x.
Breaking Changes
- Return
impl Futureinstead ofPin<Box<dyn Future>>to fixSend/Syncbounds (6e583bd) - Bump
httpto 1.0 andreqwestto 0.12 (408ecab)
Other Changes
- Bump
base64to 0.21 (db0ea44) - Set minimum version of
chronoto 0.4.31 (7b667fc) - Mention
openidconnectcrate in README (7b667fc)
Full Changelog: 5.0.0-alpha.2...5.0.0-alpha.3
- Return
-
5.0.0-alpha.204 Mar 2024 pre-releaseRelease notes
Open source →This is an API-unstable release intended for gathering feedback about breaking API changes in 5.0. It should be safe to use in applications, but further breaking API changes are expected before stabilizing the API for the 5.0.0 release (e.g., upgrading
httpto 1.0; see #237).Refer to the Upgrade Guide for tips on how to upgrade from 4.x.
Breaking Changes
- Add conditional typestates (replacing Boolean typestates from 5.0.0-alpha.1) (85ea470)
- Consolidate HTTP client errors into
oauth2::HttpClientErrorand flatten exports (e.g.,oauth2::reqwestinstead ofoauth2::reqwest::reqwest) (4391eed)
Other Changes
- Add note about
spawn_blockingto docs (1fc8188) - Re-export
curlasoauth2::curlandureqasoauth2::ureqwhen the corresponding Cargo features are enabled (aff7471)
Full Changelog: 5.0.0-alpha.1...5.0.0-alpha.2
-
5.0.0-alpha.128 Feb 2024 pre-releaseRelease notes
Open source →This is an API-unstable release intended for gathering feedback about breaking API changes in 5.0. It should be safe to use in applications, but further breaking API changes are expected before stabilizing the API for the 5.0.0 release (e.g., upgrading
httpto 1.0; see #237).Refer to the Upgrade Guide for tips on how to upgrade from 4.x.
Breaking Changes
- reqwest: Migrate to shared
Errortype and usethiserror'sFromimpl by @MarijnS95 (#238) - Bump MSRV to 1.65 and institute a policy supporting Rust releases going back at least 6 months (same policy as
openidconnectcrate) (576f809) - Improve
Displayoutput ofRequestTokenError::ServerResponse(96c6f9b) - Track
Clientendpoints statically via typestates (1d1f4d1) - Refactor crate into smaller private modules and make
devicecodeandrevocationmodules private (9d8f11a) - Add
reqwest-blockingfeature (da7d1c5) - Rename URI/URL getters and setters (4d55c26)
- Add
AsyncHttpClientandSyncHttpClienttraits (23b952b)
New Features
- Add
timing-resistant-secret-traitsfeature for PartialEq/Hash by @kate-shine (#232) - Derive
Eqfor types that already derivePartialEq(b19ad89) - Implement
Frominstead ofIntofor newtypes (d9402c4) - Implement
Displaytrait for URL types (8bd0ff1)
Other Changes
- Replace
map_err()conversions with aFromcall via theTryoperator by @MarijnS95 (#239) - Fix comments about
csrf_stateby @ikehz (#245) - Add documentation about comparing secrets securely by @ikehz (#246)
- Remove unused imports in examples by @frewsxcv (#207)
- Make private
prepare_request()methods infallible (8ef74ac) - Address clippy lints and clean up examples (d675e81)
- Remove empty leading and trailing lines from doc comments (a8b5cf8)
- Reorder and clean up imports (92c491a)
- Add Upgrade Guide
Full Changelog: 4.4.2...5.0.0-alpha.1
- reqwest: Migrate to shared
-
4.4.208 Sep 2023Release notes
Open source → -
4.4.104 Jun 2023Nothing published for this version
-
4.4.017 May 2023Nothing published for this version
-
4.3.008 Nov 2022Nothing published for this version
-
4.2.312 Jul 2022Nothing published for this version
-
4.2.204 Jul 2022Nothing published for this version
-
4.2.104 Jul 2022Nothing published for this version
-
4.2.030 Apr 2022Nothing published for this version
-
4.1.005 Jul 2021Nothing published for this version
-
4.0.019 Apr 2021Nothing published for this version
-
4.0.0-beta.119 Mar 2021 pre-releaseNothing published for this version
-
4.0.0-alpha.625 Feb 2021 pre-releaseNothing published for this version
-
4.0.0-alpha.520 Feb 2021 pre-releaseNothing published for this version
-
4.0.0-alpha.414 Feb 2021 pre-releaseNothing published for this version
-
4.0.0-alpha.306 Jan 2021 pre-releaseNothing published for this version
-
4.0.0-alpha.223 Sep 2020 pre-releaseNothing published for this version
-
4.0.0-alpha.108 Jul 2020 pre-releaseNothing published for this version
-
3.0.014 Jun 2020Nothing published for this version
-
3.0.0-alpha.1008 Jun 2020 pre-releaseNothing published for this version
-
3.0.0-alpha.923 Jan 2020 pre-releaseNothing published for this version
-
3.0.0-alpha.815 Jan 2020 pre-releaseNothing published for this version
-
3.0.0-alpha.708 Dec 2019 pre-releaseNothing published for this version
-
3.0.0-alpha.627 Nov 2019 pre-releaseNothing published for this version
-
3.0.0-alpha.520 Nov 2019 pre-releaseNothing published for this version
-
3.0.0-alpha.419 Oct 2019 pre-releaseNothing published for this version
-
3.0.0-alpha.304 Jul 2019 pre-releaseNothing published for this version
-
3.0.0-alpha.213 Jun 2019 pre-releaseNothing published for this version
-
3.0.0-alpha.110 Jun 2019 pre-releaseNothing published for this version
-
2.0.014 Sep 2019Nothing published for this version
-
2.0.0-beta.322 Jun 2019 pre-releaseNothing published for this version
-
2.0.0-beta.216 Apr 2019 pre-releaseNothing published for this version
-
2.0.0-beta.130 Mar 2019 pre-releaseNothing published for this version
-
2.0.0-alpha.504 Mar 2019 pre-releaseNothing published for this version
-
2.0.0-alpha.414 Jan 2019 pre-releaseNothing published for this version
-
2.0.0-alpha.309 Dec 2018 pre-releaseNothing published for this version
-
2.0.0-alpha.207 Aug 2018 pre-releaseNothing published for this version
-
2.0.0-alpha.101 Jun 2018 pre-releaseNothing published for this version
-
1.3.010 Mar 2018Nothing published for this version
-
1.2.131 Jan 2018Nothing published for this version
-
1.2.031 Jan 2018Nothing published for this version
-
1.1.210 Aug 2017Nothing published for this version
-
1.1.109 Aug 2017Nothing published for this version
-
1.0.121 Jul 2017Nothing published for this version
-
1.0.016 Jul 2017Nothing published for this version
-
0.3.028 Dec 2016Nothing published for this version
-
0.2.014 Oct 2016Nothing published for this version
-
0.1.1030 Mar 2016Nothing published for this version
-
0.1.912 May 2015Nothing published for this version
-
0.1.826 Mar 2015Nothing published for this version
-
0.1.728 Feb 2015Nothing published for this version
-
0.1.603 Feb 2015Nothing published for this version
-
0.1.529 Jan 2015Nothing published for this version
-
0.1.412 Jan 2015Nothing published for this version
-
0.1.308 Jan 2015Nothing published for this version