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

225 lines
5.5 KiB
Markdown
Raw Normal View History

2018-12-09 19:14:08 +01:00
# Changes
2023-09-17 21:25:58 +02:00
## Unreleased
2021-12-18 04:26:59 +01:00
2024-05-11 18:39:34 +02:00
- Minimum supported Rust version (MSRV) is now 1.70.
2021-12-18 04:26:59 +01:00
2023-09-17 21:25:58 +02:00
## 2.0.2
2023-03-03 23:36:13 +01:00
2021-12-18 04:35:18 +01:00
- Service types can now be `Send` and `'static` regardless of request, response, and config types, etc. [#397]
[#397]: https://github.com/actix/actix-net/pull/397
2021-04-16 16:18:53 +02:00
2023-09-17 21:25:58 +02:00
## 2.0.1
2023-03-03 23:36:13 +01:00
2021-12-18 04:35:18 +01:00
- Documentation fix. [#388]
[#388]: https://github.com/actix/actix-net/pull/388
2021-10-11 05:20:37 +02:00
2023-09-17 21:25:58 +02:00
## 2.0.0
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Removed pipeline and related structs/functions. [#335]
2021-04-16 01:00:02 +02:00
[#335]: https://github.com/actix/actix-net/pull/335
2021-03-16 00:09:34 +01:00
2023-09-17 21:25:58 +02:00
## 2.0.0-beta.5
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +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
2023-09-17 21:25:58 +02:00
## 2.0.0-beta.4
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- `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
2023-09-17 21:25:58 +02:00
## 2.0.0-beta.3
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- The `forward_ready!` macro converts errors. [#246]
[#246]: https://github.com/actix/actix-net/pull/246
2021-01-03 05:39:37 +01:00
2023-09-17 21:25:58 +02:00
## 2.0.0-beta.2
2020-12-28 02:58:31 +01:00
2023-03-03 23:36:13 +01:00
- Remove redundant type parameter from `map_config`.
2020-12-28 02:58:31 +01:00
2023-09-17 21:25:58 +02:00
## 2.0.0-beta.1
2023-03-03 23:36:13 +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]
2021-12-18 03:49:23 +01:00
- Add `always_ready!` and `forward_ready!` macros. [#233]
- Crate is now `no_std`. [#233]
- Migrate pin projections to `pin-project-lite`. [#233]
2023-03-03 23:36:13 +01:00
- Remove `AndThenApplyFn` and Pipeline `and_then_apply_fn`. Use the `.and_then(apply_fn(...))` construction. [#233]
2021-12-18 03:49:23 +01:00
- 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
2023-09-17 21:25:58 +02:00
## 1.0.6
2020-07-19 23:05:36 +02:00
2023-03-03 23:36:13 +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.
2023-09-17 21:25:58 +02:00
## 1.0.5
2023-03-03 23:36:13 +01:00
- Fixed unsoundness in .and_then()/.then() service combinators.
2020-01-15 22:24:38 +01:00
2023-09-17 21:25:58 +02:00
## 1.0.4
2020-01-15 22:24:38 +01:00
2023-03-03 23:36:13 +01:00
- Revert 1.0.3 change
2023-09-17 21:25:58 +02:00
## 1.0.3
2020-01-08 13:31:50 +01:00
2023-03-03 23:36:13 +01:00
- Fixed unsoundness in `AndThenService` impl.
2020-01-08 13:31:50 +01:00
2023-09-17 21:25:58 +02:00
## 1.0.2
2020-01-08 13:31:50 +01:00
2023-03-03 23:36:13 +01:00
- Add `into_service` helper function.
2020-01-08 13:31:50 +01:00
2023-09-17 21:25:58 +02:00
## 1.0.1
2023-03-03 23:36:13 +01:00
- `map_config()` and `unit_config()` now accept `IntoServiceFactory` type.
2019-12-09 09:07:20 +01:00
2023-09-17 21:25:58 +02:00
## 1.0.0
2019-12-09 09:07:20 +01:00
2023-03-03 23:36:13 +01:00
- Add Clone impl for Apply service
2019-12-09 09:07:20 +01:00
2023-09-17 21:25:58 +02:00
## 1.0.0-alpha.4
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Renamed `service_fn` to `fn_service`
- Renamed `factory_fn` to `fn_factory`
- Renamed `factory_fn_cfg` to `fn_factory_with_config`
2019-12-08 14:05:05 +01:00
2023-09-17 21:25:58 +02:00
## 1.0.0-alpha.3
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- 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
2023-09-17 21:25:58 +02:00
## 1.0.0-alpha.2
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Use owned config value for service factory
- Renamed BoxedNewService/BoxedService to BoxServiceFactory/BoxService
2019-11-25 13:18:00 +01:00
2023-09-17 21:25:58 +02:00
## 1.0.0-alpha.1
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Migrated to `std::future`
- `NewService` renamed to `ServiceFactory`
- Added `pipeline` and `pipeline_factory` function
2019-11-25 13:18:00 +01:00
2023-09-17 21:25:58 +02:00
## 0.4.2
2023-03-03 23:36:13 +01:00
- Check service readiness for `new_apply_cfg` combinator
2023-09-17 21:25:58 +02:00
## 0.4.1
2019-06-06 10:28:07 +02:00
2023-03-03 23:36:13 +01:00
- Add `new_apply_cfg` function
2023-09-17 21:25:58 +02:00
## 0.4.0
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Add `NewService::map_config` and `NewService::unit_config` combinators.
- Use associated type for `NewService` config.
- Change `apply_cfg` function.
- Renamed helper functions.
2023-09-17 21:25:58 +02:00
## 0.3.6
2023-03-03 23:36:13 +01:00
- Poll boxed service call result immediately
2023-09-17 21:25:58 +02:00
## 0.3.5
2019-03-29 18:21:17 +01:00
2023-03-03 23:36:13 +01:00
- Add `impl<S: Service> Service for Rc<RefCell<S>>`.
2019-03-12 20:53:08 +01:00
2023-09-17 21:25:58 +02:00
## 0.3.4
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Add `Transform::from_err()` combinator
- Add `apply_fn` helper
- Add `apply_fn_factory` helper
- Add `apply_transform` helper
- Add `apply_cfg` helper
2019-03-13 00:32:10 +01:00
2023-09-17 21:25:58 +02:00
## 0.3.3
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Add `ApplyTransform` new service for transform and new service.
- Add `NewService::apply_cfg()` combinator, allows to use nested `NewService` with different config parameter.
- Revert IntoFuture change
2019-03-05 06:35:47 +01:00
2023-09-17 21:25:58 +02:00
## 0.3.2
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Change `NewService::Future` and `Transform::Future` to the `IntoFuture` trait.
- Export `AndThenTransform` type
2019-03-05 05:29:35 +01:00
2023-09-17 21:25:58 +02:00
## 0.3.1
2019-03-05 04:38:11 +01:00
2023-03-03 23:36:13 +01:00
- Simplify Transform trait
2019-03-05 04:38:11 +01:00
2023-09-17 21:25:58 +02:00
## 0.3.0
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Added boxed NewService and Service.
- Added `Config` parameter to `NewService` trait.
- Added `Config` parameter to `NewTransform` trait.
2019-02-22 21:44:37 +01:00
2023-09-17 21:25:58 +02:00
## 0.2.2
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Added `NewService` impl for `Rc<S> where S: NewService`
- Added `NewService` impl for `Arc<S> where S: NewService`
2023-09-17 21:25:58 +02:00
## 0.2.1
2023-03-03 23:36:13 +01:00
- Generalize `.apply` combinator with Transform trait
2023-09-17 21:25:58 +02:00
## 0.2.0
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Use associated type instead of generic for Service definition.
2023-03-03 23:36:13 +01:00
- Before:
```rust
impl Service<Request> for Client {
type Response = Response;
// ...
}
```
2023-03-03 23:36:13 +01:00
- After:
```rust
impl Service for Client {
type Request = Request;
type Response = Response;
// ...
}
```
2023-09-17 21:25:58 +02:00
## 0.1.6
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- 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>`
2019-01-25 04:19:44 +01:00
2023-09-17 21:25:58 +02:00
## 0.1.5
2023-03-03 23:36:13 +01:00
- Make `Out::Error` convertible from `T::Error` for apply combinator
2019-01-12 06:39:58 +01:00
2023-09-17 21:25:58 +02:00
## 0.1.4
2019-01-12 06:39:58 +01:00
2023-03-03 23:36:13 +01:00
- Use `FnMut` instead of `Fn` for `FnService`
2019-01-12 06:39:58 +01:00
2023-09-17 21:25:58 +02:00
## 0.1.3
2018-12-13 03:32:19 +01:00
2023-03-03 23:36:13 +01:00
- Split service combinators to separate trait
2018-12-13 03:32:19 +01:00
2023-09-17 21:25:58 +02:00
## 0.1.2
2023-03-03 23:36:13 +01:00
- Release future early for `.and_then()` and `.then()` combinators
2023-09-17 21:25:58 +02:00
## 0.1.1
2018-12-09 19:14:08 +01:00
2023-03-03 23:36:13 +01:00
- Added Service impl for `Box<S: Service>`
2018-12-09 19:14:08 +01:00
2023-09-17 21:25:58 +02:00
## 0.1.0
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Initial import