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
Releases
latest 40-
2.0.309 Mar 2025 -
2.0.218 Dec 2021Release notes
Open source →- Service types can now be
Sendand'staticregardless of request, response, and config types, etc. #397
- Service types can now be
-
2.0.111 Oct 2021 -
2.0.016 Apr 2021 -
2.0.0-beta.515 Mar 2021 pre-release -
2.0.0-beta.404 Feb 2021 pre-release -
2.0.0-beta.309 Jan 2021 pre-release -
2.0.0-beta.203 Jan 2021 pre-release -
2.0.0-beta.128 Dec 2020 pre-releaseRelease notes
Open source →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!andforward_ready!macros. #233 - Crate is now
no_std. #233 - Migrate pin projections to
pin-project-lite. #233 - Remove
AndThenApplyFnand Pipelineand_then_apply_fn. Use the.and_then(apply_fn(...))construction. #233 - Move non-vital methods to
ServiceExtandServiceFactoryExtextension traits. #235
-
1.0.609 Aug 2020Release notes
Open source →- 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.
-
1.0.517 Jan 2020 -
1.0.415 Jan 2020 -
1.0.315 Jan 2020 withdrawn -
1.0.208 Jan 2020 -
1.0.122 Dec 2019 -
1.0.011 Dec 2019 -
1.0.0-alpha.408 Dec 2019 pre-releaseRelease notes
Open source →- Renamed
service_fntofn_service - Renamed
factory_fntofn_factory - Renamed
factory_fn_cfgtofn_factory_with_config
- Renamed
-
1.0.0-alpha.305 Dec 2019 pre-releaseRelease notes
Open source →- Add missing Clone impls
- Restore
Transform::map_init_err()combinator - Restore
Service/Factory::apply_fn()in form ofPipeline/Factory::and_then_apply_fn() - Optimize service combinators and futures memory layout
-
1.0.0-alpha.202 Dec 2019 pre-releaseRelease notes
Open source →- Use owned config value for service factory
- Renamed BoxedNewService/BoxedService to BoxServiceFactory/BoxService
-
1.0.0-alpha.121 Nov 2019 pre-releaseRelease notes
Open source →- Migrated to
std::future NewServicerenamed toServiceFactory- Added
pipelineandpipeline_factoryfunction
- Migrated to
-
0.4.226 Aug 2019 -
0.4.106 Jun 2019 -
0.4.012 May 2019Release notes
Open source →- Add
NewService::map_configandNewService::unit_configcombinators. - Use associated type for
NewServiceconfig. - Change
apply_cfgfunction. - Renamed helper functions.
- Add
-
0.3.608 Apr 2019 -
0.3.529 Mar 2019 -
0.3.412 Mar 2019Release notes
Open source →- Add
Transform::from_err()combinator - Add
apply_fnhelper - Add
apply_fn_factoryhelper - Add
apply_transformhelper - Add
apply_cfghelper
- Add
-
0.3.309 Mar 2019Release notes
Open source →- Add
ApplyTransformnew service for transform and new service. - Add
NewService::apply_cfg()combinator, allows to use nestedNewServicewith different config parameter. - Revert IntoFuture change
- Add
-
0.3.205 Mar 2019Release notes
Open source →- Change
NewService::FutureandTransform::Futureto theIntoFuturetrait. - Export
AndThenTransformtype
- Change
-
0.3.105 Mar 2019 -
0.3.002 Mar 2019Release notes
Open source →- Added boxed NewService and Service.
- Added
Configparameter toNewServicetrait. - Added
Configparameter toNewTransformtrait.
-
0.2.219 Feb 2019Release notes
Open source →- Added
NewServiceimpl forRc<S> where S: NewService - Added
NewServiceimpl forArc<S> where S: NewService
- Added
-
0.2.103 Feb 2019 -
0.2.002 Feb 2019Release notes
Open source →- 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; // ... }
- Before:
- Use associated type instead of generic for Service definition.
-
0.1.625 Jan 2019Release notes
Open source →- Use
FnMutinstead ofFnfor .apply() and .map() combinators andFnServicetype - Change
.apply()error semantic, new service's error isFrom<Self::Error>
- Use
-
0.1.514 Jan 2019 -
0.1.412 Jan 2019 -
0.1.313 Dec 2018 -
0.1.213 Dec 2018 -
0.1.109 Dec 2018 -
0.1.009 Dec 2018