1
0
mirror of https://github.com/fafhrd91/actix-net synced 2024-12-03 15:12:13 +01:00
actix-net/actix-service/CHANGES.md

280 lines
4.4 KiB
Markdown
Raw Normal View History

2018-12-09 19:14:08 +01:00
# Changes
2020-07-19 23:05:36 +02:00
## Unreleased
### 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
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