All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
- Docs should now build.
- Readme to include discord badges.
- DashMaps to Version 6.0.1.
- (Breaking) Split Databases into their own libraries Other than the SessionNullPool and SessionAnyPool
- Options to enable and disable certain ip and user agent patterns.
- (Breaking) Socket IP and user agent are true by default rest is now false.
- missing config extensions
- missing .memory. on some use_bloom_filters internally.
- Function with_ip_and_user_agent to disable or enable ip and user agent usage within signed uuid's
- Made signed cookies and headers use ip's and user agent for Message signing to help prevent spoofing. Enabled by default.
- Fixed missing MemoryLifetime in Advanced feature.
- (Breaking) split config into groups to help make it more understandab le on the Docs side.
- (Breaking) Removed encryption of cookies and headers and replaced with signing.
- (Breaking) Database_key is now used to encrypt the Session Data within Database when set.
- (Breaking) Removed Cyclable encryption key since we are signing instead.
- Added Tracing logs.
- Removed a lot of panics and instead sending an Empty response with 500 internal server error status.
- (Breaking) updated Redis_Pool to 0.3.0 which updated Redis to 0.24.0.
- Mongo inserting multiple copies due to use of insert instead of update with upsert option enabled. (@MohenjoDaro)
- (Breaking) Surreal is now a single feature instead of selecting all the seperate parts.
- (Breaking) Axum to 0.7
- __HOST- appending to increase Security to cookies on supported browsers. Off by default. This will Append __HOST- to the front of cookie names. You must Set the Domain in order to enable this or cookies will not get Set.
- SessionAnyPool Added Thanks too @smessmer
- (Breaking) SessionMode::Storable Renamed to SessionMode::OptIn.
- (Breaking) SessionMode::Always Renamed to SessionMode::Persistent.
- (Breaking) Renamed with_storable_name to with_store_name.
- cookie from 0.17.0 to 0.18.0
- (Breaking) renamed destroy_session to database_remove_session Also made it (crate) level as this needs to be behind the advanced feature.
- Advanced feature and functions though Session.
- Reduced amount of internal clones to half and other Optimizations.
- Cleaned up way Data gets destroyed or deleted.
- (Breaking)
SessionStore::clear
is async now due to filter needing to be arc/rwlocked. - (Breaking) Renamed
storable_cookie_name
tostorable_name
changingwith_storable_cookie_name
towith_storable_name
. - (Breaking) Renamed
cookie_name
tosession_name
changingwith_cookie_name
towith_session_name
. - (Breaking) Renamed
key_cookie_name
tokey_name
changingwith_key_cookie_name
towith_key_name
. - (Breaking)
get_session_id
is now not async.
- Removal cookies should now contain a SameSite::None to avoid browser warnings.
- key-store not removing keys due to having it require if the database should auto clean or not.
- Session key store not getting updated correctly due to filter not updating across threads as it should be Arc.
- Dead Locking during an await within database saves. thanks to KrisCarr for finding it!
get_store
andget_mut_store
to Session.- Rest Mode. Pulls Data from Request Headers and places Data back into Response Headers. No cookies are used.
get_session_name
,get_key_name
andget_storable_name
to SessionConfig.clear_check_on_load
to config. This will allow you to bypass the Clear check before the Request.- is_parallel Requests counter to prevent unloading of data till all requests have finished.
- Reduced Data sent to persistent database and gathered from persistent database.
- MongoDB support by @MohenjoDaro
- (breaking) redis to redis_pool. https://github.com/AscendingCreations/RedisPool
- Updated Surreal to 1.0.0
- Added Redis ClusterClient support via feature redis_clusterdb.
- (breaking) Memory and Database purge runner no longer uses memory lifetime. it instead uses its own purge_update and purge_database_update times.
- Filter now removes keys if client doesnt Exist for database and keys get cleared.
- Sessions now no longer unload data if they are in memory and not expired but database is expired.
- (breaking) SessionStore::initiate() is removed. initiate has been merged into SessionStore::new().
- Filter Seeding Errors due to no tables initiated.
- Filter even on else now uses the config to set FilterBuilder.
- (Breaking) session.destroy() Deletes Session and cookie on Response phase rather than just sessiondata on Request phase.
- (Breaking) Removed indxdb and fdb 5.1 - 6.0 from surreal due to outdate or incompatibilities.
- (Breaking) SurrealDB updated to 1.0.0-beta.10 Thank you (@Atila-M-Schrieber).
- rename git repo.
- Add ignores to comments so they dont run due to async code errors.
- Removed not needed default features.
- greater than to lesser than in delete_by_expiry for postgresql, sqlite and surrealdb. Thank you (@alexichepura).
- Removed uneeded Clone from ID String Gathering.
- Readme for crates.io and github.
- Made ReadOnlySession Visible.
- Key Storage via fastbloom. for optimized key usage comparison.
- key-store feature to tie key storage behind.
- (breaking) Surrealdb connection API has been updated to recommends methods.
- (breaking) Updated Sqlx to 0.7.0
- Per Session SessionID Encryption.
- RUSTSEC-2020-0071 from chrono. (damccull)
- Database Documentation.
- Surreal Session compile Error.
- Made pub(crate) visible in docs... Docs.rs had a error still....
- Redis is now 0.23.0
- surrealdb is now 1.0.0-beta.9+20230402
- Made pub(crate) visible in docs... Docs.rs had a error..
- Made pub(crate) visible in docs... Docs.rs had a error..
- Made pub(crate) visible in docs.
- Fixed Readme.
- Made SessionID Public and Retrievable @mwcz.
- Fixed SqlLite delete all @cold-brewed.
- Fixed Readme Layout.
- Added functions to SessionData and SessionStore for Backend usage.
- ReadOnlySession.
- Initial rename and reversioning.