1
0
mirror of https://github.com/fafhrd91/actix-net synced 2024-11-30 17:44:34 +01:00
actix-net/actix-service/CHANGES.md

328 lines
6.0 KiB
Markdown
Raw Normal View History

2018-12-09 19:14:08 +01:00
# Changes
2021-01-03 05:39:37 +01:00
## Unreleased - 2021-xx-xx
2021-03-16 00:09:34 +01:00
## 2.0.0-beta.5 - 2021-03-15
2021-02-28 20:54:57 +01:00
* Add default `Service` trait impl for `Rc<S: Service>` and `&S: Service`. [#288]
* Add `boxed::rc_service` function for constructing `boxed::RcService` type [#290]
2021-02-28 20:54:57 +01:00
[#288]: https://github.com/actix/actix-net/pull/288
[#290]: https://github.com/actix/actix-net/pull/290
## 2.0.0-beta.4 - 2021-02-04
* `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]
[#247]: https://github.com/actix/actix-net/pull/247
2021-01-09 15:28:33 +01:00
## 2.0.0-beta.3 - 2021-01-09
* The `forward_ready!` macro converts errors. [#246]
[#246]: https://github.com/actix/actix-net/pull/246
2021-01-03 05:39:37 +01:00
## 2.0.0-beta.2 - 2021-01-03
* Remove redundant type parameter from `map_config`.
2020-12-28 02:58:31 +01:00
## 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]
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]
* Move non-vital methods to `ServiceExt` and `ServiceFactoryExt` extension traits. [#235]
[#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
[#235]: https://github.com/actix/actix-net/pull/235
## 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
## [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
## [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
## [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`
## [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
2019-12-02 17:30:09 +01:00
## [1.0.0-alpha.2] - 2019-12-02
### Changed
* Use owned config value for service factory
2019-11-25 13:18:00 +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
## [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
### 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
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
## 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
## [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
### Changed
* Generalize `.apply` combinator with Transform trait
## [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>`
## [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
## [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