5.7 KiB
Changes
Unreleased - 2021-xx-xx
2.0.0-beta.4 - 2021-02-04
Service::poll_ready
andService::call
receive&self
. #247apply_fn
andapply_fn_factory
now receiveFn(Req, &Service)
function type. #247apply_cfg
andapply_cfg_factory
now receiveFn(Req, &Service)
function type. #247fn_service
and friends now receiveFn(Req)
function type. #247
2.0.0-beta.3 - 2021-01-09
- The
forward_ready!
macro converts errors. #246
2.0.0-beta.2 - 2021-01-03
- Remove redundant type parameter from
map_config
.
2.0.0-beta.1 - 2020-12-28
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
AndThenApplyFn
and Pipelineand_then_apply_fn
. Use the.and_then(apply_fn(...))
construction. #233 - Move non-vital methods to
ServiceExt
andServiceFactoryExt
extension traits. #235
1.0.6 - 2020-08-09
Fixed
- 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.5] - 2020-01-16
Fixed
- Fixed unsoundness in .and_then()/.then() service combinators
[1.0.4] - 2020-01-15
Fixed
- Revert 1.0.3 change
[1.0.3] - 2020-01-15
Fixed
- Fixed unsoundness in
AndThenService
impl
[1.0.2] - 2020-01-08
Added
- Add
into_service
helper function
[1.0.1] - 2019-12-22
Changed
map_config()
andunit_config()
acceptsIntoServiceFactory
type
[1.0.0] - 2019-12-11
Added
- Add Clone impl for Apply service
[1.0.0-alpha.4] - 2019-12-08
Changed
-
Renamed
service_fn
tofn_service
-
Renamed
factory_fn
tofn_factory
-
Renamed
factory_fn_cfg
tofn_factory_with_config
[1.0.0-alpha.3] - 2019-12-06
Changed
-
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.2] - 2019-12-02
Changed
-
Use owned config value for service factory
-
Renamed BoxedNewService/BoxedService to BoxServiceFactory/BoxService
[1.0.0-alpha.1] - 2019-11-25
Changed
-
Migraded to
std::future
-
NewService
renamed toServiceFactory
-
Added
pipeline
andpipeline_factory
function
[0.4.2] - 2019-08-27
Fixed
- Check service readiness for
new_apply_cfg
combinator
[0.4.1] - 2019-06-06
Added
- Add
new_apply_cfg
function
[0.4.0] - 2019-05-12
Changed
-
Use associated type for
NewService
config -
Change
apply_cfg
function -
Renamed helper functions
Added
- Add
NewService::map_config
andNewService::unit_config
combinators
[0.3.6] - 2019-04-07
Changed
- Poll boxed service call result immediately
[0.3.5] - 2019-03-29
Added
- Add
impl<S: Service> Service for Rc<RefCell<S>>
[0.3.4] - 2019-03-12
Added
-
Add
Transform::from_err()
combinator -
Add
apply_fn
helper -
Add
apply_fn_factory
helper -
Add
apply_transform
helper -
Add
apply_cfg
helper
[0.3.3] - 2019-03-09
Added
-
Add
ApplyTransform
new service for transform and new service. -
Add
NewService::apply_cfg()
combinator, allows to use nestedNewService
with different config parameter.
Changed
- Revert IntoFuture change
[0.3.2] - 2019-03-04
Changed
-
Change
NewService::Future
andTransform::Future
to theIntoFuture
trait. -
Export
AndThenTransform
type
[0.3.1] - 2019-03-04
Changed
- Simplify Transform trait
[0.3.0] - 2019-03-02
Added
- Added boxed NewService and Service.
Changed
-
Added
Config
parameter toNewService
trait. -
Added
Config
parameter toNewTransform
trait.
[0.2.2] - 2019-02-19
Added
-
Added
NewService
impl forRc<S> where S: NewService
-
Added
NewService
impl forArc<S> where S: NewService
[0.2.1] - 2019-02-03
Changed
- Generalize
.apply
combinator with Transform trait
[0.2.0] - 2019-02-01
Changed
-
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; // ... }
-
[0.1.6] - 2019-01-24
Changed
-
Use
FnMut
instead ofFn
for .apply() and .map() combinators andFnService
type -
Change
.apply()
error semantic, new service's error isFrom<Self::Error>
[0.1.5] - 2019-01-13
Changed
- Make
Out::Error
convertable fromT::Error
for apply combinator
[0.1.4] - 2019-01-11
Changed
- Use
FnMut
instead ofFn
forFnService
[0.1.3] - 2018-12-12
Changed
- Split service combinators to separate trait
[0.1.2] - 2018-12-12
Fixed
- Release future early for
.and_then()
and.then()
combinators
[0.1.1] - 2018-12-09
Added
- Added Service impl for Box<S: Service>
[0.1.0] - 2018-12-09
- Initial import