PackageTrack
Sign in Get early access

actix-service

Service trait and combinators for representing asynchronous request/response operations.

2.0.3 74M downloads/mo #961 most downloaded on crates.io actix/actix-net

What this package is like to depend on

Last release 1 years ago

09 Mar 2025

Ships unpredictably

gaps range from 8 days to 3.2 years

Nearly every release is documented

notes for 30 of 30 stable releases

1 version withdrawn

withdrawn after publishing

8 years old

40 releases · first in 2018

0 releases in the last 12 months

see the full history below

Release timeline

40 releases · Dec 2018 to Mar 2025
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 40
  1. 2.0.3 09 Mar 2025
    Release notes
    • Minimum supported Rust version (MSRV) is now 1.71.
    Open source →
    Release notes
    • Minimum supported Rust version (MSRV) is now 1.71.
    Open source →
  2. 2.0.2 18 Dec 2021
    Release notes
    • Service types can now be Send and 'static regardless of request, response, and config types, etc. #397
    Open source →
  3. 2.0.1 11 Oct 2021
    Release notes
    • Documentation fix. #388
    Open source →
  4. 2.0.0 16 Apr 2021
    Release notes
    • Removed pipeline and related structs/functions. #335
    Open source →
  5. 2.0.0-beta.5 15 Mar 2021 pre-release
    Release notes
    • Add default Service trait impl for Rc<S: Service> and &S: Service. #288
    • Add boxed::rc_service function for constructing boxed::RcService type #290
    Open source →
  6. 2.0.0-beta.4 04 Feb 2021 pre-release
    Release notes
    • Service::poll_ready and Service::call receive &self. #247
    • apply_fn and apply_fn_factory now receive Fn(Req, &Service) function type. #247
    • apply_cfg and apply_cfg_factory now receive Fn(Req, &Service) function type. #247
    • fn_service and friends now receive Fn(Req) function type. #247
    Open source →
  7. 2.0.0-beta.3 09 Jan 2021 pre-release
    Release notes
    • The forward_ready! macro converts errors. #246
    Open source →
  8. 2.0.0-beta.2 03 Jan 2021 pre-release
    Release notes
    • Remove redundant type parameter from map_config.
    Open source →
  9. 2.0.0-beta.1 28 Dec 2020 pre-release
    Release notes
    • Service, other traits, and many type signatures now take the the request type as a type parameter instead of an associated type. #232
    • Add always_ready! and forward_ready! macros. #233
    • Crate is now no_std. #233
    • Migrate pin projections to pin-project-lite. #233
    • Remove AndThenApplyFn and Pipeline and_then_apply_fn. Use the .and_then(apply_fn(...)) construction. #233
    • Move non-vital methods to ServiceExt and ServiceFactoryExt extension traits. #235
    Open source →
  10. 1.0.6 09 Aug 2020
    Release notes
    • Removed unsound custom Cell implementation that allowed obtaining several mutable references to the same data, which is undefined behavior in Rust and could lead to violations of memory safety. External code could obtain several mutable references to the same data through service combinators. Attempts to acquire several mutable references to the same data will instead result in a panic.
    Open source →
  11. 1.0.5 17 Jan 2020
    Release notes
    • Fixed unsoundness in .and_then()/.then() service combinators.
    Open source →
  12. 1.0.4 15 Jan 2020
    Release notes
    • Revert 1.0.3 change
    Open source →
  13. 1.0.3 15 Jan 2020 withdrawn
    Release notes
    • Fixed unsoundness in AndThenService impl.
    Open source →
  14. 1.0.2 08 Jan 2020
    Release notes
    • Add into_service helper function.
    Open source →
  15. 1.0.1 22 Dec 2019
    Release notes
    • map_config() and unit_config() now accept IntoServiceFactory type.
    Open source →
  16. 1.0.0 11 Dec 2019
    Release notes
    • Add Clone impl for Apply service
    Open source →
  17. 1.0.0-alpha.4 08 Dec 2019 pre-release
    Release notes
    • Renamed service_fn to fn_service
    • Renamed factory_fn to fn_factory
    • Renamed factory_fn_cfg to fn_factory_with_config
    Open source →
  18. 1.0.0-alpha.3 05 Dec 2019 pre-release
    Release notes
    • Add missing Clone impls
    • Restore Transform::map_init_err() combinator
    • Restore Service/Factory::apply_fn() in form of Pipeline/Factory::and_then_apply_fn()
    • Optimize service combinators and futures memory layout
    Open source →
  19. 1.0.0-alpha.2 02 Dec 2019 pre-release
    Release notes
    • Use owned config value for service factory
    • Renamed BoxedNewService/BoxedService to BoxServiceFactory/BoxService
    Open source →
  20. 1.0.0-alpha.1 21 Nov 2019 pre-release
    Release notes
    • Migrated to std::future
    • NewService renamed to ServiceFactory
    • Added pipeline and pipeline_factory function
    Open source →
  21. 0.4.2 26 Aug 2019
    Release notes
    • Check service readiness for new_apply_cfg combinator
    Open source →
  22. 0.4.1 06 Jun 2019
    Release notes
    • Add new_apply_cfg function
    Open source →
  23. 0.4.0 12 May 2019
    Release notes
    • Add NewService::map_config and NewService::unit_config combinators.
    • Use associated type for NewService config.
    • Change apply_cfg function.
    • Renamed helper functions.
    Open source →
  24. 0.3.6 08 Apr 2019
    Release notes
    • Poll boxed service call result immediately
    Open source →
  25. 0.3.5 29 Mar 2019
    Release notes
    • Add impl<S: Service> Service for Rc<RefCell<S>>.
    Open source →
  26. 0.3.4 12 Mar 2019
    Release notes
    • Add Transform::from_err() combinator
    • Add apply_fn helper
    • Add apply_fn_factory helper
    • Add apply_transform helper
    • Add apply_cfg helper
    Open source →
  27. 0.3.3 09 Mar 2019
    Release notes
    • Add ApplyTransform new service for transform and new service.
    • Add NewService::apply_cfg() combinator, allows to use nested NewService with different config parameter.
    • Revert IntoFuture change
    Open source →
  28. 0.3.2 05 Mar 2019
    Release notes
    • Change NewService::Future and Transform::Future to the IntoFuture trait.
    • Export AndThenTransform type
    Open source →
  29. 0.3.1 05 Mar 2019
    Release notes
    • Simplify Transform trait
    Open source →
  30. 0.3.0 02 Mar 2019
    Release notes
    • Added boxed NewService and Service.
    • Added Config parameter to NewService trait.
    • Added Config parameter to NewTransform trait.
    Open source →
  31. 0.2.2 19 Feb 2019
    Release notes
    • Added NewService impl for Rc<S> where S: NewService
    • Added NewService impl for Arc<S> where S: NewService
    Open source →
  32. 0.2.1 03 Feb 2019
    Release notes
    • Generalize .apply combinator with Transform trait
    Open source →
  33. 0.2.0 02 Feb 2019
    Release notes
    • Use associated type instead of generic for Service definition.
      • Before:
        impl Service<Request> for Client {
            type Response = Response;
            // ...
        }
        
      • After:
        impl Service for Client {
            type Request = Request;
            type Response = Response;
            // ...
        }
        
    Open source →
  34. 0.1.6 25 Jan 2019
    Release notes
    • Use FnMut instead of Fn for .apply() and .map() combinators and FnService type
    • Change .apply() error semantic, new service's error is From<Self::Error>
    Open source →
  35. 0.1.5 14 Jan 2019
    Release notes
    • Make Out::Error convertible from T::Error for apply combinator
    Open source →
  36. 0.1.4 12 Jan 2019
    Release notes
    • Use FnMut instead of Fn for FnService
    Open source →
  37. 0.1.3 13 Dec 2018
    Release notes
    • Split service combinators to separate trait
    Open source →
  38. 0.1.2 13 Dec 2018
    Release notes
    • Release future early for .and_then() and .then() combinators
    Open source →
  39. 0.1.1 09 Dec 2018
    Release notes
    • Added Service impl for Box<S: Service>
    Open source →
  40. 0.1.0 09 Dec 2018
    Release notes
    • Initial import
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive