-
Notifications
You must be signed in to change notification settings - Fork 0
Update Rust crate tower-sessions to ~0.14.0 #271
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
renovate
wants to merge
1
commit into
main
Choose a base branch
from
renovate/tower-sessions-0.x
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
d6b9aad to
fe5df90
Compare
fe5df90 to
107a6b5
Compare
107a6b5 to
8f5094c
Compare
8f5094c to
c79ed10
Compare
c79ed10 to
8a499aa
Compare
8a499aa to
54a9986
Compare
9cc2ee5 to
daf8256
Compare
daf8256 to
ab4d856
Compare
3d5c47c to
5480ee7
Compare
5480ee7 to
fd67a8c
Compare
fd67a8c to
8e7903b
Compare
8e7903b to
8ef0001
Compare
8ef0001 to
aae8a91
Compare
aae8a91 to
916b319
Compare
916b319 to
17668e6
Compare
17668e6 to
6c3d9ff
Compare
6c3d9ff to
b2a833e
Compare
b2a833e to
145200c
Compare
145200c to
f910b85
Compare
f910b85 to
eda8ace
Compare
eda8ace to
162ba2f
Compare
162ba2f to
1d9b808
Compare
1d9b808 to
d8e8d74
Compare
d8e8d74 to
e3ba125
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
~0.7.0->~0.14.0Release Notes
maxcountryman/tower-sessions (tower-sessions)
v0.14.0Compare Source
This also includes an version bump to tower-cookies, now at v0.11.0.
v0.13.0Compare Source
v0.12.3Compare Source
continuously_delete_expiredwaits for initial run. #208v0.12.2Compare Source
set_expirymutatesMax-Age. #191This addresses a bug where using
set_expiryon a session with no initial expiry time would not add the Max-age attribute to the cookie leading to an inconsitency between the cookie and the database.v0.12.1Compare Source
Important Security Update
create. #188Because cycling the session ID involves creating a new ID, this must follow the same semantics as normal session creation. Therefore prior to this fix session ID collision could occur through this vector.
v0.12.0Compare Source
Important Security Update
This release introduces a new method,
create, to theSessionStoretrait to distinguish between creating a new session and updating an existing one. This distinction is crucial for mitigating the potential for session ID collisions.Although the probability of session ID collisions is statistically low, given that IDs are composed of securely-random
i128values, such collisions pose a significant security risk. A store that does not differentiate between session creation and updates could inadvertently allow an existing session to be accessed, leading to potential session takeovers.Session store authors are strongly encouraged to update and implement
createsuch that potential ID collisions are handled, either by generating a new ID or returning an error.As a transitional measure, we have provided a default implementation of
createthat wraps the existingsavemethod. However, this default is not immune to the original issue. Therefore, it is imperative that stores override thecreatemethod with an implementation that adheres to the required uniqueness semantics, thereby effectively mitigating the risk of session ID collisions.v0.11.1Compare Source
session.set_expiryupdates record. #175signedandprivatefeatures, enabling signing and encryption respectively. #157v0.11.0Compare Source
Id. #159Breaking Changes
IdErrortype in favor of usingbase64::DecodeSliceError. #159base64to0.22.0.v0.10.4Compare Source
This ensures that the changes introduced in
0.10.3do not break SemVer.Please note that
0.10.3has been yanked in accordance with cargo guidelines.v0.10.3Compare Source
v0.10.2Compare Source
v0.10.1Compare Source
Expires: Session#149v0.10.0Compare Source
Breaking Changes
Session IDs are now represetned as base64-encoded
i128s, boast 128 bits of entropy, and are shorter, saving network bandwidth and improving the secure nature of sessions.We no longer bundle session stores via feature flags and as such applications must be updated to require the stores directly. For example, applications that use the
tower-sessions-sqlx-storeshould update theirCargo.tomllike so:Assuming a SQLite store, as an example.
Furthermore, imports will also need to be updated accordingly. For example:
Finally, the service itself has been moved out of the core crate, which makes this crate smaller as well as establishes better boundaries between code.
Thank you for bearing with us: we are approaching longer term stability and aim to minimize churn going forward as we begin to move toward a 1.0 release.
v0.9.1Compare Source
clearworks before record loading. #134v0.9.0Compare Source
Breakiung Changes
This updates the service such that it always returns a response directly. In practice this means that e.g.
axumapplications no longer need theHandleErrorLayerand instead can use the layer directly. Note that if you use other fallibletowermiddleware, you will still need to useHandleErrorLayer.As such we've also remove the
MissingCookiesandMissingIdvariants from the session error enum.v0.8.2Compare Source
PartialEqforRecord. #125v0.8.1Compare Source
RedisStorefromRedisPool. #122v0.8.0Compare Source
Breaking Changes
Among other things, session methods are now entirely async, meaning applications must be updated to await these methods in order to migrate.
Separately,
SessionStorehas been updated to use aRecordintermediary. As such,SessionStoreimplementations must be updated accordingly.Session stores now use a concrete error type that must be used in implementations of
SessionStore.The
securecookie attribute now defaults totrue.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.