1
0
mirror of https://github.com/fafhrd91/actix-net synced 2024-12-22 09:43:25 +01:00
actix-net/actix-service/CHANGES.md
2020-12-28 01:58:31 +00:00

5.1 KiB

Changes

Unreleased - 2020-xx-xx

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! 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

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() and unit_config() accepts IntoServiceFactory 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 to fn_service

  • Renamed factory_fn to fn_factory

  • Renamed factory_fn_cfg to fn_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 of Pipeline/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 to ServiceFactory

  • Added pipeline and pipeline_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 and NewService::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 nested NewService with different config parameter.

Changed

  • Revert IntoFuture change

[0.3.2] - 2019-03-04

Changed

  • Change NewService::Future and Transform::Future to the IntoFuture 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 to NewService trait.

  • Added Config parameter to NewTransform trait.

[0.2.2] - 2019-02-19

Added

  • Added NewService impl for Rc<S> where S: NewService

  • Added NewService impl for Arc<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 of Fn for .apply() and .map() combinators and FnService type

  • Change .apply() error semantic, new service's error is From<Self::Error>

[0.1.5] - 2019-01-13

Changed

  • Make Out::Error convertable from T::Error for apply combinator

[0.1.4] - 2019-01-11

Changed

  • Use FnMut instead of Fn for FnService

[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