View Source Changelog
3.x
Breaking
Charon.SessionStore.RedisStore
- requires Redis >= 7.x.x
- uses a Redix connection pool by itself, which requires initialization under the application supervision tree
- implements optimistic locking
- uses a new storage format based on hash sets, to which sessions are migrated starting from Charon 2.8
- uses Redis functions to implement all session store operations in a single round trip to the Redis instance
- support for unsigned binaries has been dropped
- config options
:allow_unsigned?
has been removed migrate_sessions/1
has been removed- sessions that have not been migrated using
migrate_sessions/1
can no longer be used
- config options
Charon.SessionStore.LocalStore
- implements optimistic locking
2.x marked-deprecated functions have been removed:
Charon.Models.Session.deserialize/2
Charon.Models.Session.serialize/1
Charon.SessionStore.delete/3
Charon.SessionStore.get/3
Charon.SessionStore.delete_all/2
Charon.SessionStore.get_all/2
Charon.SessionStore.RedisStore.cleanup/1
Charon.TokenPlugs.verify_refresh_token_fresh/2
Charon.TokenPlugs.verify_token_signature/2
no longer adds default value "full" for claim "styp". This should not result in issues for tokens created by Charon 2.x.x deployments. Older deployments may wish to add a plug afterCharon.TokenPlugs.verify_token_signature/2
that adds this default claim.