Skip to content

Releases: actix/actix-extras

actix-settings: v0.6.0

31 Jul 19:13
983746f
Compare
Choose a tag to compare
  • Update Actix Web dependencies to v4 ecosystem.
  • Rename actix.ssl settings object to actix.tls.
  • NoSettings is now marked #[non_exhaustive].

actix-session: v0.7.1

24 Jul 14:30
cd9dc16
Compare
Choose a tag to compare
  • Fix interaction between session state changes and renewal. #265

actix-web-httpauth: v0.8.0

21 Jul 01:51
73732b0
Compare
Choose a tag to compare
  • Removed AuthExtractor trait; implement FromRequest for your custom auth types. #264
  • BasicAuth::user_id() now returns &str. #249
  • BasicAuth::password() now returns Option<&str>. #249
  • Basic::user_id() now returns &str. #264
  • Basic::password() now returns Option<&str>. #264
  • Bearer::token() now returns &str. #264

actix-identity: v0.5.2

19 Jul 00:34
553c2bf
Compare
Choose a tag to compare
  • Fix visit deadline. #263

actix-web-httpauth: v0.7.0

19 Jul 00:52
fbae63d
Compare
Choose a tag to compare
  • Auth validator functions now need to return (Error, ServiceRequest) in error cases. #260
  • Minimum supported Rust version (MSRV) is now 1.57 due to transitive time dependency.

actix-limitation: v0.3.0

11 Jul 01:06
f39a64f
Compare
Choose a tag to compare
  • Limiter::builder now takes an impl Into<String>.
  • Removed lifetime from Builder.
  • Updated actix-session dependency to 0.7.

actix-identity: v0.5.1

11 Jul 17:08
1cc37c3
Compare
Choose a tag to compare
  • Remove unnecessary dependencies. #259

actix-identity: v0.5.0

11 Jul 12:39
6032150
Compare
Choose a tag to compare

actix-identity v0.5 is a complete rewrite. The goal is to streamline user experience and reduce maintenance overhead.

actix-identity is now designed as an additional layer on top of actix-session v0.7, focused on identity management. The identity information is stored in the session state, which is managed by actix-session and can be stored using any of the supported SessionStore implementations. This reduces the surface area in actix-identity (e.g., it is no longer concerned with cookies!) and provides a smooth upgrade path for users: if you need to work with sessions, you no longer need to choose between actix-session and actix-identity; they work together now!

actix-identity v0.5 has feature-parity with actix-identity v0.4; if you bump into any blocker when upgrading, please open an issue.

Changes:

  • Minimum supported Rust version (MSRV) is now 1.57 due to transitive time dependency.

  • IdentityService, IdentityPolicy and CookieIdentityPolicy have been replaced by IdentityMiddleware. #246

  • Rename RequestIdentity trait to IdentityExt. #246

  • Trying to extract an Identity for an unauthenticated user will return a 401 Unauthorized response to the client. Extract an Option<Identity> or a Result<Identity, actix_web::Error> if you need to handle cases where requests may or may not be authenticated. #246

    Example:

    use actix_web::{http::header::LOCATION, get, HttpResponse, Responder};
    use actix_identity::Identity;
    
    #[get("/")]
    async fn index(user: Option<Identity>) -> impl Responder {
        if let Some(user) = user {
            HttpResponse::Ok().finish()
        } else {
            // Redirect to login page if unauthenticated
            HttpResponse::TemporaryRedirect()
                .insert_header((LOCATION, "/login"))
                .finish()
        }
    }

actix-session: v0.7.0

10 Jul 21:55
169b262
Compare
Choose a tag to compare
  • 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.

actix-redis: v0.12.0

09 Jul 19:12
ca98794
Compare
Choose a tag to compare
  • Update actix dependency to 0.13.
  • Update redis-async dependency to 0.13.
  • Update tokio-util dependency to 0.7.
  • Minimum supported Rust version (MSRV) is now 1.57 due to transitive time dependency.