mirror of
https://github.com/actix/actix-extras.git
synced 2024-12-04 20:11:55 +01:00
241 lines
7.9 KiB
Markdown
241 lines
7.9 KiB
Markdown
# Changes
|
|
|
|
## Unreleased
|
|
|
|
- Add `session.update(key, updater)`
|
|
- Add `session.update_or(key, updater, default_value)`
|
|
- Add `session.contains_key(key)`
|
|
|
|
## 0.10.1
|
|
|
|
- Expose `storage::generate_session_key()` without needing to enable a crate feature.
|
|
|
|
## 0.10.0
|
|
|
|
- Add `redis-session-rustls` crate feature that enables `rustls`-secured Redis sessions.
|
|
- Add `redis-pool` crate feature (off-by-default) which enables `RedisSessionStore::{new, builder}_pooled()` constructors.
|
|
- Rename `redis-rs-session` crate feature to `redis-session`.
|
|
- Rename `redis-rs-tls-session` crate feature to `redis-session-native-tls`.
|
|
- Remove `redis-actor-session` crate feature (and, therefore, the `actix-redis` based storage backend).
|
|
- Expose `storage::generate_session_key()`.
|
|
- Update `redis` dependency to `0.26`.
|
|
|
|
## 0.9.0
|
|
|
|
- Remove use of `async-trait` on `SessionStore` trait.
|
|
- Minimum supported Rust version (MSRV) is now 1.75.
|
|
|
|
## 0.8.0
|
|
|
|
- Set secure attribute when adding a session removal cookie.
|
|
- Update `redis` dependency to `0.23`.
|
|
- Minimum supported Rust version (MSRV) is now 1.68.
|
|
|
|
## 0.7.2
|
|
|
|
- Set SameSite attribute when adding a session removal cookie. [#284]
|
|
- Minimum supported Rust version (MSRV) is now 1.59 due to transitive `time` dependency.
|
|
|
|
[#284]: https://github.com/actix/actix-extras/pull/284
|
|
|
|
## 0.7.1
|
|
|
|
- Fix interaction between session state changes and renewal. [#265]
|
|
|
|
[#265]: https://github.com/actix/actix-extras/pull/265
|
|
|
|
## 0.7.0
|
|
|
|
- Added `TtlExtensionPolicy` enum to support different strategies for extending the TTL attached to the session state. `TtlExtensionPolicy::OnEveryRequest` now allows for long-lived sessions that do not expire if the user remains active. [#233]
|
|
- `SessionLength` is now called `SessionLifecycle`. [#233]
|
|
- `SessionLength::Predetermined` is now called `SessionLifecycle::PersistentSession`. [#233]
|
|
- The fields for Both `SessionLength` variants have been extracted into separate types (`PersistentSession` and `BrowserSession`). All fields are now private, manipulated via methods, to allow adding more configuration parameters in the future in a non-breaking fashion. [#233]
|
|
- `SessionLength::Predetermined::max_session_length` is now called `PersistentSession::session_ttl`. [#233]
|
|
- `SessionLength::BrowserSession::state_ttl` is now called `BrowserSession::session_state_ttl`. [#233]
|
|
- `SessionMiddlewareBuilder::max_session_length` is now called `SessionMiddlewareBuilder::session_lifecycle`. [#233]
|
|
- The `SessionStore` trait requires the implementation of a new method, `SessionStore::update_ttl`. [#233]
|
|
- All types used to configure `SessionMiddleware` have been moved to the `config` sub-module. [#233]
|
|
- Update `actix` dependency to `0.13`.
|
|
- Update `actix-redis` dependency to `0.12`.
|
|
- Minimum supported Rust version (MSRV) is now 1.57 due to transitive `time` dependency.
|
|
|
|
[#233]: https://github.com/actix/actix-extras/pull/233
|
|
|
|
## 0.6.2
|
|
|
|
- Implement `SessionExt` for `GuardContext`. [#234]
|
|
- `RedisSessionStore` will prevent connection timeouts from causing user-visible errors. [#235]
|
|
- Do not leak internal implementation details to callers when errors occur. [#236]
|
|
|
|
[#234]: https://github.com/actix/actix-extras/pull/234
|
|
[#236]: https://github.com/actix/actix-extras/pull/236
|
|
[#235]: https://github.com/actix/actix-extras/pull/235
|
|
|
|
## 0.6.1
|
|
|
|
- No significant changes since `0.6.0`.
|
|
|
|
## 0.6.0
|
|
|
|
### Added
|
|
|
|
- `SessionMiddleware`, a middleware to provide support for saving/updating/deleting session state against a pluggable storage backend (see `SessionStore` trait). [#212]
|
|
- `CookieSessionStore`, a cookie-based backend to store session state. [#212]
|
|
- `RedisActorSessionStore`, a Redis-based backend to store session state powered by `actix-redis`. [#212]
|
|
- `RedisSessionStore`, a Redis-based backend to store session state powered by `redis-rs`. [#212]
|
|
- Add TLS support for Redis via `RedisSessionStore`. [#212]
|
|
- Implement `SessionExt` for `ServiceResponse`. [#212]
|
|
|
|
### Changed
|
|
|
|
- Rename `UserSession` to `SessionExt`. [#212]
|
|
|
|
### Removed
|
|
|
|
- `CookieSession`; replaced with `CookieSessionStore`, a storage backend for `SessionMiddleware`. [#212]
|
|
- `Session::set_session`; use `Session::insert` to modify the session state. [#212]
|
|
|
|
[#212]: https://github.com/actix/actix-extras/pull/212
|
|
|
|
## 0.5.0
|
|
|
|
- Update `actix-web` dependency to `4`.
|
|
|
|
## 0.5.0-beta.8
|
|
|
|
- Update `actix-web` dependency to `4.0.0-rc.1`.
|
|
|
|
## 0.5.0-beta.7
|
|
|
|
- Update `actix-web` dependency to `4.0.0.beta-18`. [#218]
|
|
- Minimum supported Rust version (MSRV) is now 1.54.
|
|
|
|
[#218]: https://github.com/actix/actix-extras/pull/218
|
|
|
|
## 0.5.0-beta.6
|
|
|
|
- Update `actix-web` dependency to `4.0.0.beta-15`. [#216]
|
|
|
|
[#216]: https://github.com/actix/actix-extras/pull/216
|
|
|
|
## 0.5.0-beta.5
|
|
|
|
- Update `actix-web` dependency to `4.0.0.beta-14`. [#209]
|
|
- Remove `UserSession` implementation for `RequestHead`. [#209]
|
|
- A session will be created in the storage backend if and only if there is some data inside the session state. This reduces the performance impact of `SessionMiddleware` on routes that do not leverage sessions. [#207]
|
|
|
|
[#207]: https://github.com/actix/actix-extras/pull/207
|
|
[#209]: https://github.com/actix/actix-extras/pull/209
|
|
|
|
## 0.5.0-beta.4
|
|
|
|
- No significant changes since `0.5.0-beta.3`.
|
|
|
|
## 0.5.0-beta.3
|
|
|
|
- Impl `Clone` for `CookieSession`. [#201]
|
|
- Update `actix-web` dependency to v4.0.0-beta.10. [#203]
|
|
- Minimum supported Rust version (MSRV) is now 1.52.
|
|
|
|
[#201]: https://github.com/actix/actix-extras/pull/201
|
|
[#203]: https://github.com/actix/actix-extras/pull/203
|
|
|
|
## 0.5.0-beta.2
|
|
|
|
- No notable changes.
|
|
|
|
## 0.5.0-beta.1
|
|
|
|
- Add `Session::entries`. [#170]
|
|
- Rename `Session::{set => insert}` to match standard hash map naming. [#170]
|
|
- Return values from `Session::remove`. [#170]
|
|
- Add `Session::remove_as` deserializing variation. [#170]
|
|
- Simplify `Session::get_changes` now always returning iterator even when empty. [#170]
|
|
- Swap order of arguments on `Session::set_session`. [#170]
|
|
- Update `actix-web` dependency to 4.0.0 beta.
|
|
- Minimum supported Rust version (MSRV) is now 1.46.0.
|
|
|
|
[#170]: https://github.com/actix/actix-extras/pull/170
|
|
|
|
## 0.4.1
|
|
|
|
- `Session::set_session` takes a `IntoIterator` instead of `Iterator`. [#105]
|
|
- Fix calls to `session.purge()` from paths other than the one specified in the cookie. [#129]
|
|
|
|
[#105]: https://github.com/actix/actix-extras/pull/105
|
|
[#129]: https://github.com/actix/actix-extras/pull/129
|
|
|
|
## 0.4.0
|
|
|
|
- Update `actix-web` dependency to 3.0.0.
|
|
- Minimum supported Rust version (MSRV) is now 1.42.0.
|
|
|
|
## 0.4.0-alpha.1
|
|
|
|
- Update the `time` dependency to 0.2.7
|
|
- Update the `actix-web` dependency to 3.0.0-alpha.1
|
|
- Long lasting auto-prolonged session [#1292]
|
|
- Minimize `futures` dependency
|
|
|
|
[#1292]: https://github.com/actix/actix-web/pull/1292
|
|
|
|
## 0.3.0 - 2019-12-20
|
|
|
|
- Release
|
|
|
|
## 0.3.0-alpha.4 - 2019-12-xx
|
|
|
|
- Allow access to sessions also from not mutable references to the request
|
|
|
|
## 0.3.0-alpha.3 - 2019-12-xx
|
|
|
|
- Add access to the session from RequestHead for use of session from guard methods
|
|
- Migrate to `std::future`
|
|
- Migrate to `actix-web` 2.0
|
|
|
|
## 0.2.0 - 2019-07-08
|
|
|
|
- Enhanced `actix-session` to facilitate state changes. Use `Session.renew()` at successful login to cycle a session (new key/cookie but keeps state). Use `Session.purge()` at logout to invalid a session cookie (and remove from redis cache, if applicable).
|
|
|
|
## 0.1.1 - 2019-06-03
|
|
|
|
- Fix optional cookie session support
|
|
|
|
## 0.1.0 - 2019-05-18
|
|
|
|
- Use actix-web 1.0.0-rc
|
|
|
|
## 0.1.0-beta.4 - 2019-05-12
|
|
|
|
- Use actix-web 1.0.0-beta.4
|
|
|
|
## 0.1.0-beta.2 - 2019-04-28
|
|
|
|
- Add helper trait `UserSession` which allows to get session for ServiceRequest and HttpRequest
|
|
|
|
## 0.1.0-beta.1 - 2019-04-20
|
|
|
|
- Update actix-web to beta.1
|
|
- `CookieSession::max_age()` accepts value in seconds
|
|
|
|
## 0.1.0-alpha.6 - 2019-04-14
|
|
|
|
- Update actix-web alpha.6
|
|
|
|
## 0.1.0-alpha.4 - 2019-04-08
|
|
|
|
- Update actix-web
|
|
|
|
## 0.1.0-alpha.3 - 2019-04-02
|
|
|
|
- Update actix-web
|
|
|
|
## 0.1.0-alpha.2 - 2019-03-29
|
|
|
|
- Update actix-web
|
|
- Use new feature name for secure cookies
|
|
|
|
## 0.1.0-alpha.1 - 2019-03-28
|
|
|
|
- Initial impl
|