1
0
mirror of https://github.com/actix/actix-extras.git synced 2024-11-23 15:51:06 +01:00
actix-extras/actix-session/CHANGES.md

197 lines
6.6 KiB
Markdown
Raw Normal View History

2019-03-28 21:46:26 +01:00
# Changes
## Unreleased - 2021-xx-xx
2022-07-09 20:03:28 +02:00
## 0.7.0 - 2022-07-09
- 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]
2022-06-22 13:42:46 +02:00
- Minimum supported Rust version (MSRV) is now 1.57 due to transitive `time` dependency.
2022-03-26 00:28:11 +01:00
[#233]: https://github.com/actix/actix-extras/pull/233
2022-03-26 00:28:11 +01:00
## 0.6.2 - 2022-03-25
- Implement `SessionExt` for `GuardContext`. [#234]
- `RedisSessionStore` will prevent connection timeouts from causing user-visible errors. [#235]
2022-03-25 19:10:38 +01:00
- Do not leak internal implementation details to callers when errors occur. [#236]
[#234]: https://github.com/actix/actix-extras/pull/234
2022-03-25 19:10:38 +01:00
[#236]: https://github.com/actix/actix-extras/pull/236
[#235]: https://github.com/actix/actix-extras/pull/235
2022-03-15 17:29:37 +01:00
2022-03-21 01:48:24 +01:00
## 0.6.1 - 2022-03-21
- No significant changes since `0.6.0`.
2022-03-15 17:29:37 +01:00
## 0.6.0 - 2022-03-15
### Added
2022-03-15 17:29:37 +01:00
- `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
2022-03-15 17:29:37 +01:00
- Rename `UserSession` to `SessionExt`. [#212]
### Removed
2022-03-15 17:29:37 +01:00
- `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
2022-03-01 04:11:21 +01:00
## 0.5.0 - 2022-03-01
2022-03-01 05:13:56 +01:00
- Update `actix-web` dependency to `4`.
2022-03-01 04:11:21 +01:00
## 0.5.0-beta.8 - 2022-02-07
2022-02-03 23:33:47 +01:00
- Update `actix-web` dependency to `4.0.0-rc.1`.
## 0.5.0-beta.7 - 2021-12-29
2021-12-29 11:22:56 +01:00
- Update `actix-web` dependency to `4.0.0.beta-18`. [#218]
2021-12-29 10:42:31 +01:00
- Minimum supported Rust version (MSRV) is now 1.54.
2021-12-29 11:22:56 +01:00
[#218]: https://github.com/actix/actix-extras/pull/218
2021-12-18 04:37:23 +01:00
## 0.5.0-beta.6 - 2021-12-18
2021-12-29 10:36:12 +01:00
- Update `actix-web` dependency to `4.0.0.beta-15`. [#216]
2021-12-18 04:37:23 +01:00
[#216]: https://github.com/actix/actix-extras/pull/216
## 0.5.0-beta.5 - 2021-12-12
2021-12-29 10:36:12 +01:00
- 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]
2021-12-11 17:05:21 +01:00
[#207]: https://github.com/actix/actix-extras/pull/207
2021-12-11 17:05:21 +01:00
[#209]: https://github.com/actix/actix-extras/pull/209
## 0.5.0-beta.4 - 2021-11-22
2021-12-29 10:36:12 +01:00
- No significant changes since `0.5.0-beta.3`.
## 0.5.0-beta.3 - 2021-10-21
2021-12-29 10:36:12 +01:00
- 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
2021-04-02 12:31:30 +02:00
## 0.5.0-beta.2 - 2021-06-27
2021-12-29 10:36:12 +01:00
- No notable changes.
2021-06-27 08:28:26 +02:00
## 0.5.0-beta.1 - 2021-04-02
2021-12-29 10:36:12 +01:00
- 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 - 2021-03-21
2021-12-29 10:36:12 +01:00
- `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
2020-09-11 22:22:55 +02:00
## 0.4.0 - 2020-09-11
2021-12-29 10:36:12 +01:00
- Update `actix-web` dependency to 3.0.0.
- Minimum supported Rust version (MSRV) is now 1.42.0.
2020-05-17 04:34:00 +02:00
2020-09-11 22:22:55 +02:00
## 0.4.0-alpha.1 - 2020-03-14
2021-12-29 10:36:12 +01:00
- 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
Upgrade `time` to 0.2.5 (#1254) * Use `OffsetDateTime` instead of `PrimitiveDateTime` * Parse time strings with `PrimitiveDateTime::parse` instead of `OffsetDateTime::parse` * Remove unused `time` dependency from actix-multipart * Fix a few errors with time related tests from the `time` upgrade * Implement logic to convert a RFC 850 two-digit year into a full length year, and organize time parsing related functions * Upgrade `time` to 0.2.2 * Correctly parse C's asctime time format using time 0.2's new format patterns * Update CHANGES.md * Use `time` without any of its deprecated functions * Enforce a UTC time offset when converting an `OffsetDateTime` into a Header value * Use the more readable version of `Duration::seconds(0)`, `Duration::zero()` * Remove unneeded conversion of time::Duration to std::time::Duration * Use `OffsetDateTime::as_seconds_f64` instead of manually calculating the amount of seconds from nanoseconds * Replace a few additional instances of `Duration::seconds(0)` with `Duration::zero()` * Truncate any nanoseconds from a supplied `Duration` within `Cookie::set_max_age` to ensure two Cookies with the same amount whole seconds equate to one another * Fix the actix-http::cookie::do_not_panic_on_large_max_ages test * Convert `Cookie::max_age` and `Cookie::expires` examples to `time` 0.2 Mainly minor changes. Type inference can be used alongside the new `time::parse` method, such that the type doesn't need to be specified. This will be useful if a refactoring takes place that changes the type. There are also new macros, which are used where possible. One change that is not immediately obvious, in `HttpDate`, there was an unnecessary conditional. As the time crate allows for negative durations (and can perform arithmetic with such), the if/else can be removed entirely. Time v0.2.3 also has some bug fixes, which is why I am not using a more general v0.2 in Cargo.toml. v0.2.3 has been yanked, as it was backwards imcompatible. This version reverts the breaking change, while still supporting rustc back to 1.34.0. * Add missing `time::offset` macro import * Fix type confusion when using `time::parse` followed by `using_offset` * Update `time` to 0.2.5 * Update CHANGES.md Co-authored-by: Jacob Pratt <the.z.cuber@gmail.com>
2020-01-28 12:44:22 +01:00
2019-12-20 12:59:34 +01:00
2020-09-11 22:22:55 +02:00
## 0.3.0 - 2019-12-20
2021-12-29 10:36:12 +01:00
- Release
2020-09-11 22:22:55 +02:00
## 0.3.0-alpha.4 - 2019-12-xx
2021-12-29 10:36:12 +01:00
- Allow access to sessions also from not mutable references to the request
2019-12-06 06:24:25 +01:00
2020-09-11 22:22:55 +02:00
## 0.3.0-alpha.3 - 2019-12-xx
2021-12-29 10:36:12 +01:00
- Add access to the session from RequestHead for use of session from guard methods
- Migrate to `std::future`
- Migrate to `actix-web` 2.0
2019-12-06 06:24:25 +01:00
2019-07-08 19:25:51 +02:00
2020-09-11 22:22:55 +02:00
## 0.2.0 - 2019-07-08
2021-12-29 10:36:12 +01:00
- Enhanced ``actix-session`` to facilitate state changes. Use ``Session.renew()``
2019-12-06 06:24:25 +01:00
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).
2019-07-03 13:56:50 +02:00
2019-06-03 06:52:43 +02:00
2020-09-11 22:22:55 +02:00
## 0.1.1 - 2019-06-03
2021-12-29 10:36:12 +01:00
- Fix optional cookie session support
2019-06-03 06:52:43 +02:00
2019-05-18 20:20:09 +02:00
2020-09-11 22:22:55 +02:00
## 0.1.0 - 2019-05-18
2021-12-29 10:36:12 +01:00
- Use actix-web 1.0.0-rc
2019-05-18 20:20:09 +02:00
2019-05-12 19:53:21 +02:00
2020-09-11 22:22:55 +02:00
## 0.1.0-beta.4 - 2019-05-12
2021-12-29 10:36:12 +01:00
- Use actix-web 1.0.0-beta.4
2019-05-12 19:53:21 +02:00
2020-09-11 22:22:55 +02:00
## 0.1.0-beta.2 - 2019-04-28
2021-12-29 10:36:12 +01:00
- Add helper trait `UserSession` which allows to get session for ServiceRequest and HttpRequest
2019-04-21 06:16:51 +02:00
2020-09-11 22:22:55 +02:00
## 0.1.0-beta.1 - 2019-04-20
2021-12-29 10:36:12 +01:00
- Update actix-web to beta.1
- `CookieSession::max_age()` accepts value in seconds
2019-04-20 02:23:17 +02:00
2019-04-14 01:35:25 +02:00
2020-09-11 22:22:55 +02:00
## 0.1.0-alpha.6 - 2019-04-14
2021-12-29 10:36:12 +01:00
- Update actix-web alpha.6
2019-04-14 01:35:25 +02:00
2019-04-08 08:42:05 +02:00
2020-09-11 22:22:55 +02:00
## 0.1.0-alpha.4 - 2019-04-08
2021-12-29 10:36:12 +01:00
- Update actix-web
2019-04-08 08:42:05 +02:00
2019-04-03 06:49:31 +02:00
2020-09-11 22:22:55 +02:00
## 0.1.0-alpha.3 - 2019-04-02
2021-12-29 10:36:12 +01:00
- Update actix-web
2019-04-03 06:49:31 +02:00
2019-03-30 06:06:14 +01:00
2020-09-11 22:22:55 +02:00
## 0.1.0-alpha.2 - 2019-03-29
2021-12-29 10:36:12 +01:00
- Update actix-web
- Use new feature name for secure cookies
2019-03-30 06:06:14 +01:00
2019-03-28 21:46:26 +01:00
2020-09-11 22:22:55 +02:00
## 0.1.0-alpha.1 - 2019-03-28
2021-12-29 10:36:12 +01:00
- Initial impl