2018-12-09 19:14:08 +01:00
# Changes
2020-08-09 17:10:58 +02:00
## Unreleased - 2020-xx-xx
2020-12-28 02:58:31 +01:00
## 2.0.0-beta.1 - 2020-12-28
2020-12-27 05:28:00 +01:00
* `Service` , other traits, and many type signatures now take the the request type as a type
parameter instead of an associated type. [#232]
2020-12-27 15:15:42 +01:00
* 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]
2020-12-27 19:24:57 +01:00
* Move non-vital methods to `ServiceExt` and `ServiceFactoryExt` extension traits. [#235]
2020-12-27 05:28:00 +01:00
[#232]: https://github.com/actix/actix-net/pull/232
2020-12-27 15:15:42 +01:00
[#233]: https://github.com/actix/actix-net/pull/233
2020-12-27 19:24:57 +01:00
[#235]: https://github.com/actix/actix-net/pull/235
2020-12-27 05:28:00 +01:00
2020-08-09 17:10:58 +02:00
## 1.0.6 - 2020-08-09
2020-07-19 23:05:36 +02:00
### Fixed
2020-12-28 02:58:31 +01:00
* 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.
2020-07-19 23:05:36 +02:00
2020-01-17 01:58:11 +01:00
## [1.0.5] - 2020-01-16
### Fixed
* Fixed unsoundness in .and_then()/.then() service combinators
2020-01-15 22:24:38 +01:00
## [1.0.4] - 2020-01-15
### Fixed
* Revert 1.0.3 change
2020-01-15 20:40:15 +01:00
## [1.0.3] - 2020-01-15
### Fixed
* Fixed unsoundness in `AndThenService` impl
2020-01-08 13:31:50 +01:00
## [1.0.2] - 2020-01-08
### Added
* Add `into_service` helper function
2019-12-22 13:30:49 +01:00
## [1.0.1] - 2019-12-22
### Changed
* `map_config()` and `unit_config()` accepts `IntoServiceFactory` type
2019-12-11 05:29:34 +01:00
## [1.0.0] - 2019-12-11
2019-12-09 09:07:20 +01:00
### Added
* Add Clone impl for Apply service
2019-12-08 14:49:35 +01:00
## [1.0.0-alpha.4] - 2019-12-08
2019-12-08 14:05:05 +01:00
### Changed
* Renamed `service_fn` to `fn_service`
* Renamed `factory_fn` to `fn_factory`
* Renamed `factory_fn_cfg` to `fn_factory_with_config`
2019-12-07 04:57:43 +01:00
## [1.0.0-alpha.3] - 2019-12-06
2019-12-03 09:05:23 +01:00
2019-12-05 07:37:26 +01:00
### Changed
* Add missing Clone impls
* Restore `Transform::map_init_err()` combinator
2019-12-03 09:05:23 +01:00
2019-12-05 07:37:26 +01:00
* Restore `Service/Factory::apply_fn()` in form of `Pipeline/Factory::and_then_apply_fn()`
* Optimize service combinators and futures memory layout
2019-12-03 13:32:02 +01:00
2019-12-02 17:30:09 +01:00
## [1.0.0-alpha.2] - 2019-12-02
2019-12-05 07:37:26 +01:00
### Changed
* Use owned config value for service factory
2019-11-25 13:18:00 +01:00
2019-12-05 07:37:26 +01:00
* Renamed BoxedNewService/BoxedService to BoxServiceFactory/BoxService
2019-11-25 13:18:00 +01:00
## [1.0.0-alpha.1] - 2019-11-25
### Changed
* Migraded to `std::future`
* `NewService` renamed to `ServiceFactory`
* Added `pipeline` and `pipeline_factory` function
2019-08-27 01:28:15 +02:00
## [0.4.2] - 2019-08-27
### Fixed
* Check service readiness for `new_apply_cfg` combinator
2019-06-06 10:28:07 +02:00
## [0.4.1] - 2019-06-06
### Added
* Add `new_apply_cfg` function
2019-05-12 16:53:26 +02:00
## [0.4.0] - 2019-05-12
2019-05-12 15:03:50 +02:00
### Changed
* Use associated type for `NewService` config
* Change `apply_cfg` function
* Renamed helper functions
### Added
* Add `NewService::map_config` and `NewService::unit_config` combinators
2019-04-08 05:48:40 +02:00
## [0.3.6] - 2019-04-07
### Changed
* Poll boxed service call result immediately
2019-03-29 19:16:40 +01:00
## [0.3.5] - 2019-03-29
2019-03-29 18:21:17 +01:00
### Added
* Add `impl<S: Service> Service for Rc<RefCell<S>>`
2019-03-12 20:53:08 +01:00
## [0.3.4] - 2019-03-12
### Added
* Add `Transform::from_err()` combinator
2019-03-13 00:32:10 +01:00
* Add `apply_fn` helper
* Add `apply_fn_factory` helper
2019-03-12 20:53:08 +01:00
* Add `apply_transform` helper
2019-03-13 00:32:10 +01:00
* Add `apply_cfg` helper
2019-03-12 20:53:08 +01:00
2019-03-09 23:10:02 +01:00
## [0.3.3] - 2019-03-09
2019-03-05 06:24:47 +01:00
### Added
* Add `ApplyTransform` new service for transform and new service.
2019-03-09 23:10:02 +01:00
* Add `NewService::apply_cfg()` combinator, allows to use
2019-03-09 18:01:02 +01:00
nested `NewService` with different config parameter.
2019-03-05 06:35:47 +01:00
### Changed
* Revert IntoFuture change
2019-03-05 06:24:47 +01:00
2019-03-05 05:29:35 +01:00
## [0.3.2] - 2019-03-04
### Changed
* Change `NewService::Future` and `Transform::Future` to the `IntoFuture` trait.
* Export `AndThenTransform` type
2019-03-05 04:38:11 +01:00
## [0.3.1] - 2019-03-04
### Changed
* Simplify Transform trait
2019-03-02 23:22:03 +01:00
## [0.3.0] - 2019-03-02
2019-02-22 21:44:37 +01:00
2019-02-23 03:20:54 +01:00
## Added
* Added boxed NewService and Service.
2019-02-22 21:44:37 +01:00
## Changed
2019-03-02 23:22:03 +01:00
* Added `Config` parameter to `NewService` trait.
* Added `Config` parameter to `NewTransform` trait.
2019-02-22 21:44:37 +01:00
2019-02-19 20:31:54 +01:00
## [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`
2019-02-03 22:32:51 +01:00
## [0.2.1] - 2019-02-03
2019-02-03 19:42:27 +01:00
### Changed
* Generalize `.apply` combinator with Transform trait
2019-02-02 04:53:13 +01:00
## [0.2.0] - 2019-02-01
### Changed
* Use associated type instead of generic for Service definition.
* Before:
```rust
impl Service< Request > for Client {
type Response = Response;
// ...
}
```
* After:
```rust
impl Service for Client {
type Request = Request;
type Response = Response;
// ...
}
```
2019-01-25 05:42:30 +01:00
## [0.1.6] - 2019-01-24
2019-01-16 04:25:49 +01:00
2019-01-17 00:33:33 +01:00
### Changed
* Use `FnMut` instead of `Fn` for .apply() and .map() combinators and `FnService` type
2019-01-16 04:25:49 +01:00
2019-01-25 04:19:44 +01:00
* Change `.apply()` error semantic, new service's error is `From<Self::Error>`
2019-01-14 07:58:23 +01:00
## [0.1.5] - 2019-01-13
### Changed
* Make `Out::Error` convertable from `T::Error` for apply combinator
2019-01-12 06:39:58 +01:00
## [0.1.4] - 2019-01-11
2019-01-12 06:42:13 +01:00
### Changed
2019-01-12 06:39:58 +01:00
* Use `FnMut` instead of `Fn` for `FnService`
2018-12-13 03:32:19 +01:00
## [0.1.3] - 2018-12-12
2019-01-12 06:42:13 +01:00
### Changed
2018-12-13 03:32:19 +01:00
* Split service combinators to separate trait
2018-12-13 03:00:35 +01:00
## [0.1.2] - 2018-12-12
### Fixed
* Release future early for `.and_then()` and `.then()` combinators
2018-12-09 19:14:08 +01:00
## [0.1.1] - 2018-12-09
### Added
* Added Service impl for Box< S: Service >
## [0.1.0] - 2018-12-09
* Initial import