diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index ae97b324..9628fb82 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -8,19 +8,19 @@ In the interest of fostering an open and welcoming environment, we as contributo Examples of behavior that contributes to creating a positive environment include: -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members +- Using welcoming and inclusive language +- Being respectful of differing viewpoints and experiences +- Gracefully accepting constructive criticism +- Focusing on what is best for the community +- Showing empathy towards other community members Examples of unacceptable behavior by participants include: -* The use of sexualized language or imagery and unwelcome sexual attention or advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a professional setting +- The use of sexualized language or imagery and unwelcome sexual attention or advances +- Trolling, insulting/derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or electronic address, without explicit permission +- Other conduct which could reasonably be considered inappropriate in a professional setting ## Our Responsibilities @@ -39,7 +39,7 @@ Instances of abusive, harassing, or otherwise unacceptable behavior may be repor Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. [@robjtede]: https://github.com/robjtede -[@JohnTitor]: https://github.com/JohnTitor +[@johntitor]: https://github.com/JohnTitor ## Attribution diff --git a/README.md b/README.md index 0e122cc4..30fb2091 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ See example folders for [`actix-server`](./actix-server/examples) and [`actix-tl ## MSRV -Most crates in this repo's have a Minimum Supported Rust Version (MSRV) of 1.49.0. Only `actix-tls` and `actix-server` have MSRV of 1.54.0. As a policy, we permit MSRV increases in non-breaking releases. +Crates in this repo currently have a Minimum Supported Rust Version (MSRV) of 1.59. As a policy, we permit MSRV increases in non-breaking releases. ## License diff --git a/actix-codec/CHANGES.md b/actix-codec/CHANGES.md index 16246be0..50861701 100644 --- a/actix-codec/CHANGES.md +++ b/actix-codec/CHANGES.md @@ -1,39 +1,40 @@ # Changes ## Unreleased - 2022-xx-xx + - Minimum supported Rust version (MSRV) is now 1.59. - ## 0.5.1 - 2022-03-15 + - Logs emitted now use the `tracing` crate with `log` compatibility. [#451] - Minimum supported Rust version (MSRV) is now 1.49. [#451]: https://github.com/actix/actix-net/pull/451 - ## 0.5.0 - 2022-02-15 + - Updated `tokio-util` dependency to `0.7.0`. [#446] [#446]: https://github.com/actix/actix-net/pull/446 - ## 0.4.2 - 2021-12-31 + - No significant changes since `0.4.1`. - ## 0.4.1 - 2021-11-05 + - Added `LinesCodec.` [#338] - `Framed::poll_ready` flushes when the buffer is full. [#409] [#338]: https://github.com/actix/actix-net/pull/338 [#409]: https://github.com/actix/actix-net/pull/409 - ## 0.4.0 - 2021-04-20 + - No significant changes since v0.4.0-beta.1. - ## 0.4.0-beta.1 - 2020-12-28 + - Replace `pin-project` with `pin-project-lite`. [#237] - Upgrade `tokio` dependency to `1`. [#237] - Upgrade `tokio-util` dependency to `0.6`. [#237] @@ -41,16 +42,16 @@ [#237]: https://github.com/actix/actix-net/pull/237 - ## 0.3.0 - 2020-08-23 + - No changes from beta 2. - ## 0.3.0-beta.2 - 2020-08-19 + - Remove unused type parameter from `Framed::replace_codec`. - ## 0.3.0-beta.1 - 2020-08-19 + - Use `.advance()` instead of `.split_to()`. - Upgrade `tokio-util` to `0.3`. - Improve `BytesCodec::encode()` performance. @@ -59,31 +60,31 @@ - Add method on `Framed` to get a pinned reference to the underlying I/O. - Add method on `Framed` check emptiness of read buffer. - ## 0.2.0 - 2019-12-10 + - Use specific futures dependencies. - ## 0.2.0-alpha.4 + - Fix buffer remaining capacity calculation. - ## 0.2.0-alpha.3 + - Use tokio 0.2. - Fix low/high watermark for write/read buffers. - ## 0.2.0-alpha.2 + - Migrated to `std::future`. - ## 0.1.2 - 2019-03-27 + - Added `Framed::map_io()` method. - ## 0.1.1 - 2019-03-06 + - Added `FramedParts::with_read_buffer()` method. - ## 0.1.0 - 2018-12-09 + - Move codec to separate crate. diff --git a/actix-macros/CHANGES.md b/actix-macros/CHANGES.md index a319f8c3..bb75cb47 100644 --- a/actix-macros/CHANGES.md +++ b/actix-macros/CHANGES.md @@ -1,47 +1,48 @@ # Changes ## Unreleased - 2022-xx-xx + - Minimum supported Rust version (MSRV) is now 1.59. - ## 0.2.3 - 2021-10-19 + - Fix test macro in presence of other imports named "test". [#399] [#399]: https://github.com/actix/actix-net/pull/399 - ## 0.2.2 - 2021-10-14 + - Improve error recovery potential when macro input is invalid. [#391] - Allow custom `System`s on test macro. [#391] [#391]: https://github.com/actix/actix-net/pull/391 - ## 0.2.1 - 2021-02-02 + - Add optional argument `system` to `main` macro which can be used to specify the path to `actix_rt::System` (useful for re-exports). [#363] [#363]: https://github.com/actix/actix-net/pull/363 - ## 0.2.0 - 2021-02-02 + - Update to latest `actix_rt::System::new` signature. [#261] [#261]: https://github.com/actix/actix-net/pull/261 - ## 0.2.0-beta.1 - 2021-01-09 + - Remove `actix-reexport` feature. [#218] [#218]: https://github.com/actix/actix-net/pull/218 - ## 0.1.3 - 2020-12-03 + - Add `actix-reexport` feature. [#218] [#218]: https://github.com/actix/actix-net/pull/218 - ## 0.1.2 - 2020-05-18 + - Forward actix_rt::test arguments to test function [#127] [#127]: https://github.com/actix/actix-net/pull/127 diff --git a/actix-rt/CHANGES.md b/actix-rt/CHANGES.md index caa8659f..2d7a4da6 100644 --- a/actix-rt/CHANGES.md +++ b/actix-rt/CHANGES.md @@ -2,8 +2,8 @@ ## Unreleased - 2022-xx-xx - ## 2.8.0 - 2022-12-21 + - Add `#[track_caller]` attribute to `spawn` functions and methods. [#454] - Update `tokio-uring` dependency to `0.4`. [#473] - Minimum supported Rust version (MSRV) is now 1.59. @@ -11,86 +11,85 @@ [#454]: https://github.com/actix/actix-net/pull/454 [#473]: https://github.com/actix/actix-net/pull/473 - ## 2.7.0 - 2022-03-08 + - Update `tokio-uring` dependency to `0.3`. [#448] - Minimum supported Rust version (MSRV) is now 1.49. [#448]: https://github.com/actix/actix-net/pull/448 - ## 2.6.0 - 2022-01-12 + - Update `tokio-uring` dependency to `0.2`. [#436] [#436]: https://github.com/actix/actix-net/pull/436 - ## 2.5.1 - 2021-12-31 + - Expose `System::with_tokio_rt` and `Arbiter::with_tokio_rt`. [#430] [#430]: https://github.com/actix/actix-net/pull/430 - ## 2.5.0 - 2021-11-22 + - Add `System::run_with_code` to allow retrieving the exit code on stop. [#411] [#411]: https://github.com/actix/actix-net/pull/411 - ## 2.4.0 - 2021-11-05 + - Add `Arbiter::try_current` for situations where thread may or may not have Arbiter context. [#408] - Start io-uring with `System::new` when feature is enabled. [#395] [#395]: https://github.com/actix/actix-net/pull/395 [#408]: https://github.com/actix/actix-net/pull/408 - ## 2.3.0 - 2021-10-11 + - The `spawn` method can now resolve with non-unit outputs. [#369] - Add experimental (semver-exempt) `io-uring` feature for enabling async file I/O on linux. [#374] [#369]: https://github.com/actix/actix-net/pull/369 [#374]: https://github.com/actix/actix-net/pull/374 - ## 2.2.0 - 2021-03-29 -- **BREAKING** `ActixStream::{poll_read_ready, poll_write_ready}` methods now return - `Ready` object in ok variant. [#293] - * Breakage is acceptable since `ActixStream` was not intended to be public. + +- **BREAKING** `ActixStream::{poll_read_ready, poll_write_ready}` methods now return `Ready` object in ok variant. [#293] + - Breakage is acceptable since `ActixStream` was not intended to be public. [#293]: https://github.com/actix/actix-net/pull/293 - ## 2.1.0 - 2021-02-24 + - Add `ActixStream` extension trait to include readiness methods. [#276] - Re-export `tokio::net::TcpSocket` in `net` module [#282] [#276]: https://github.com/actix/actix-net/pull/276 [#282]: https://github.com/actix/actix-net/pull/282 - ## 2.0.2 - 2021-02-06 + - Add `Arbiter::handle` to get a handle of an owned Arbiter. [#274] - Add `System::try_current` for situations where actix may or may not be running a System. [#275] [#274]: https://github.com/actix/actix-net/pull/274 [#275]: https://github.com/actix/actix-net/pull/275 - ## 2.0.1 - 2021-02-06 + - Expose `JoinError` from Tokio. [#271] [#271]: https://github.com/actix/actix-net/pull/271 - ## 2.0.0 - 2021-02-02 + - Remove all Arbiter-local storage methods. [#262] - Re-export `tokio::pin`. [#262] [#262]: https://github.com/actix/actix-net/pull/262 - ## 2.0.0-beta.3 - 2021-01-31 + - Remove `run_in_tokio`, `attach_to_tokio` and `AsyncSystemRunner`. [#253] - Return `JoinHandle` from `actix_rt::spawn`. [#253] - Remove old `Arbiter::spawn`. Implementation is now inlined into `actix_rt::spawn`. [#253] @@ -113,21 +112,20 @@ [#256]: https://github.com/actix/actix-net/pull/256 [#257]: https://github.com/actix/actix-net/pull/257 - ## 2.0.0-beta.2 - 2021-01-09 + - Add `task` mod with re-export of `tokio::task::{spawn_blocking, yield_now, JoinHandle}` [#245] - Add default "macros" feature to allow faster compile times when using `default-features=false`. [#245]: https://github.com/actix/actix-net/pull/245 - ## 2.0.0-beta.1 - 2020-12-28 + - Add `System::attach_to_tokio` method. [#173] - Update `tokio` dependency to `1.0`. [#236] -- Rename `time` module `delay_for` to `sleep`, `delay_until` to `sleep_until`, `Delay` to `Sleep` - to stay aligned with Tokio's naming. [#236] +- Rename `time` module `delay_for` to `sleep`, `delay_until` to `sleep_until`, `Delay` to `Sleep` to stay aligned with Tokio's naming. [#236] - Remove `'static` lifetime requirement for `Runtime::block_on` and `SystemRunner::block_on`. - * These methods now accept `&self` when calling. [#236] + - These methods now accept `&self` when calling. [#236] - Remove `'static` lifetime requirement for `System::run` and `Builder::run`. [#236] - `Arbiter::spawn` now panics when `System` is not in scope. [#207] - Fix work load issue by removing `PENDING` thread local. [#207] @@ -135,74 +133,73 @@ [#207]: https://github.com/actix/actix-net/pull/207 [#236]: https://github.com/actix/actix-net/pull/236 - ## 1.1.1 - 2020-04-30 + - Fix memory leak due to [#94] (see [#129] for more detail) [#129]: https://github.com/actix/actix-net/issues/129 - ## 1.1.0 - 2020-04-08 _(YANKED)_ + - Expose `System::is_set` to check if current system has ben started [#99] - Add `Arbiter::is_running` to check if event loop is running [#124] -- Add `Arbiter::local_join` associated function - to get be able to `await` for spawned futures [#94] +- Add `Arbiter::local_join` associated function to get be able to `await` for spawned futures [#94] [#94]: https://github.com/actix/actix-net/pull/94 [#99]: https://github.com/actix/actix-net/pull/99 [#124]: https://github.com/actix/actix-net/pull/124 - ## 1.0.0 - 2019-12-11 + - Update dependencies - ## 1.0.0-alpha.3 - 2019-12-07 + - Migrate to tokio 0.2 - Fix compilation on non-unix platforms - ## 1.0.0-alpha.2 - 2019-12-02 + - Export `main` and `test` attribute macros - Export `time` module (re-export of tokio-timer) - Export `net` module (re-export of tokio-net) - ## 1.0.0-alpha.1 - 2019-11-22 + - Migrate to std::future and tokio 0.2 - ## 0.2.6 - 2019-11-14 + - Allow to join arbiter's thread. #60 - Fix arbiter's thread panic message. - ## 0.2.5 - 2019-09-02 + - Add arbiter specific storage - ## 0.2.4 - 2019-07-17 + - Avoid a copy of the Future when initializing the Box. #29 - ## 0.2.3 - 2019-06-22 + - Allow to start System using existing CurrentThread Handle #22 - ## 0.2.2 - 2019-03-28 + - Moved `blocking` module to `actix-threadpool` crate - ## 0.2.1 - 2019-03-11 + - Added `blocking` module - Added `Arbiter::exec_fn` - execute fn on the arbiter's thread - Added `Arbiter::exec` - execute fn on the arbiter's thread and wait result - ## 0.2.0 - 2019-03-06 + - `run` method returns `io::Result<()>` - Removed `Handle` - ## 0.1.0 - 2018-12-09 + - Initial release diff --git a/actix-server/CHANGES.md b/actix-server/CHANGES.md index f3919a16..cde39f7f 100644 --- a/actix-server/CHANGES.md +++ b/actix-server/CHANGES.md @@ -2,19 +2,19 @@ ## Unreleased - 2022-xx-xx - ## 2.2.0 - 2022-12-21 + - Minimum supported Rust version (MSRV) is now 1.59. - Update `tokio-uring` dependency to `0.4`. [#473] [#473]: https://github.com/actix/actix-net/pull/473 - ## 2.1.1 - 2022-03-09 + - No significant changes since `2.1.0`. - ## 2.1.0 - 2022-03-08 + - Update `tokio-uring` dependency to `0.3`. [#448] - Logs emitted now use the `tracing` crate with `log` compatibility. [#448] - Wait for accept thread to stop before sending completion signal. [#443] @@ -22,48 +22,48 @@ [#443]: https://github.com/actix/actix-net/pull/443 [#448]: https://github.com/actix/actix-net/pull/448 - ## 2.0.0 - 2022-01-19 + - No significant changes since `2.0.0-rc.4`. - ## 2.0.0-rc.4 - 2022-01-12 + - Update `tokio-uring` dependency to `0.2`. [#436] [#436]: https://github.com/actix/actix-net/pull/436 - ## 2.0.0-rc.3 - 2021-12-31 + - No significant changes since `2.0.0-rc.2`. - ## 2.0.0-rc.2 - 2021-12-27 + - Simplify `TestServer`. [#431] [#431]: https://github.com/actix/actix-net/pull/431 - ## 2.0.0-rc.1 - 2021-12-05 + - Hide implementation details of `Server`. [#424] - `Server` now runs only after awaiting it. [#425] [#424]: https://github.com/actix/actix-net/pull/424 [#425]: https://github.com/actix/actix-net/pull/425 - ## 2.0.0-beta.9 - 2021-11-15 + - Restore `Arbiter` support lost in `beta.8`. [#417] [#417]: https://github.com/actix/actix-net/pull/417 - ## 2.0.0-beta.8 - 2021-11-05 _(YANKED)_ + - Fix non-unix signal handler. [#410] [#410]: https://github.com/actix/actix-net/pull/410 - ## 2.0.0-beta.7 - 2021-11-05 _(YANKED)_ + - Server can be started in regular Tokio runtime. [#408] - Expose new `Server` type whose `Future` impl resolves when server stops. [#408] - Rename `Server` to `ServerHandle`. [#407] @@ -75,34 +75,31 @@ [#407]: https://github.com/actix/actix-net/pull/407 [#408]: https://github.com/actix/actix-net/pull/408 - ## 2.0.0-beta.6 - 2021-10-11 + - Add experimental (semver-exempt) `io-uring` feature for enabling async file I/O on linux. [#374] -- Server no long listens to `SIGHUP` signal. Previously, the received was not used but did block - subsequent exit signals from working. [#389] -- Remove `config` module. `ServiceConfig`, `ServiceRuntime` public types are removed due to - this change. [#349] +- Server no long listens to `SIGHUP` signal. Previously, the received was not used but did block subsequent exit signals from working. [#389] +- Remove `config` module. `ServiceConfig`, `ServiceRuntime` public types are removed due to this change. [#349] - Remove `ServerBuilder::configure` [#349] [#374]: https://github.com/actix/actix-net/pull/374 [#349]: https://github.com/actix/actix-net/pull/349 [#389]: https://github.com/actix/actix-net/pull/389 - ## 2.0.0-beta.5 - 2021-04-20 -- Server shutdown notifies all workers to exit regardless if shutdown is graceful. This causes all - workers to shutdown immediately in force shutdown case. [#333] + +- Server shutdown notifies all workers to exit regardless if shutdown is graceful. This causes all workers to shutdown immediately in force shutdown case. [#333] [#333]: https://github.com/actix/actix-net/pull/333 - ## 2.0.0-beta.4 - 2021-04-01 + - Prevent panic when `shutdown_timeout` is very large. [f9262db] [f9262db]: https://github.com/actix/actix-net/commit/f9262db - ## 2.0.0-beta.3 - 2021-02-06 + - Hidden `ServerBuilder::start` method has been removed. Use `ServerBuilder::run`. [#246] - Add retry for EINTR signal (`io::Interrupted`) in `Accept`'s poll loop. [#264] - Add `ServerBuilder::worker_max_blocking_threads` to customize blocking thread pool size. [#265] @@ -113,149 +110,148 @@ [#265]: https://github.com/actix/actix-net/pull/265 [#273]: https://github.com/actix/actix-net/pull/273 - ## 2.0.0-beta.2 - 2021-01-03 + - Merge `actix-testing` to `actix-server` as `test_server` mod. [#242] [#242]: https://github.com/actix/actix-net/pull/242 - ## 2.0.0-beta.1 - 2020-12-28 + - Added explicit info log message on accept queue pause. [#215] - Prevent double registration of sockets when back-pressure is resolved. [#223] - Update `mio` dependency to `0.7.3`. [#239] - Remove `socket2` dependency. [#239] - `ServerBuilder::backlog` now accepts `u32` instead of `i32`. [#239] - Remove `AcceptNotify` type and pass `WakerQueue` to `Worker` to wake up `Accept`'s `Poll`. [#239] -- Convert `mio::net::TcpStream` to `actix_rt::net::TcpStream`(`UnixStream` for uds) using - `FromRawFd` and `IntoRawFd`(`FromRawSocket` and `IntoRawSocket` on windows). [#239] +- Convert `mio::net::TcpStream` to `actix_rt::net::TcpStream`(`UnixStream` for uds) using `FromRawFd` and `IntoRawFd`(`FromRawSocket` and `IntoRawSocket` on windows). [#239] - Remove `AsyncRead` and `AsyncWrite` trait bound for `socket::FromStream` trait. [#239] [#215]: https://github.com/actix/actix-net/pull/215 [#223]: https://github.com/actix/actix-net/pull/223 [#239]: https://github.com/actix/actix-net/pull/239 - ## 1.0.4 - 2020-09-12 + - Update actix-codec to 0.3.0. - Workers must be greater than 0. [#167] [#167]: https://github.com/actix/actix-net/pull/167 - ## 1.0.3 - 2020-05-19 + - Replace deprecated `net2` crate with `socket2` [#140] [#140]: https://github.com/actix/actix-net/pull/140 - ## 1.0.2 - 2020-02-26 + - Avoid error by calling `reregister()` on Windows [#103] [#103]: https://github.com/actix/actix-net/pull/103 - ## 1.0.1 - 2019-12-29 + - Rename `.start()` method to `.run()` - ## 1.0.0 - 2019-12-11 + - Use actix-net releases - ## 1.0.0-alpha.4 - 2019-12-08 + - Use actix-service 1.0.0-alpha.4 - ## 1.0.0-alpha.3 - 2019-12-07 + - Migrate to tokio 0.2 - Fix compilation on non-unix platforms - Better handling server configuration - ## 1.0.0-alpha.2 - 2019-12-02 + - Simplify server service (remove actix-server-config) - Allow to wait on `Server` until server stops - ## 0.8.0-alpha.1 - 2019-11-22 + - Migrate to `std::future` - ## 0.7.0 - 2019-10-04 + - Update `rustls` to 0.16 - Minimum required Rust version upped to 1.37.0 - ## 0.6.1 - 2019-09-25 + - Add UDS listening support to `ServerBuilder` - ## 0.6.0 - 2019-07-18 + - Support Unix domain sockets #3 - ## 0.5.1 - 2019-05-18 + - ServerBuilder::shutdown_timeout() accepts u64 - ## 0.5.0 - 2019-05-12 + - Add `Debug` impl for `SslError` - Derive debug for `Server` and `ServerCommand` - Upgrade to actix-service 0.4 - ## 0.4.3 - 2019-04-16 + - Re-export `IoStream` trait - Depend on `ssl` and `rust-tls` features from actix-server-config - ## 0.4.2 - 2019-03-30 + - Fix SIGINT force shutdown - ## 0.4.1 - 2019-03-14 + - `SystemRuntime::on_start()` - allow to run future before server service initialization - ## 0.4.0 - 2019-03-12 + - Use `ServerConfig` for service factory - Wrap tcp socket to `Io` type - Upgrade actix-service - ## 0.3.1 - 2019-03-04 + - Add `ServerBuilder::maxconnrate` sets the maximum per-worker number of concurrent connections - Add helper ssl error `SslError` - Rename `StreamServiceFactory` to `ServiceFactory` - Deprecate `StreamServiceFactory` - ## 0.3.0 - 2019-03-02 + - Use new `NewService` trait - ## 0.2.1 - 2019-02-09 + - Drop service response - ## 0.2.0 - 2019-02-01 + - Migrate to actix-service 0.2 - Updated rustls dependency - ## 0.1.3 - 2018-12-21 + - Fix max concurrent connections handling - ## 0.1.2 - 2018-12-12 + - rename ServiceConfig::rt() to ServiceConfig::apply() - Fix back-pressure for concurrent ssl handshakes - ## 0.1.1 - 2018-12-11 + - Fix signal handling on windows - ## 0.1.0 - 2018-12-09 + - Move server to separate crate diff --git a/actix-service/CHANGES.md b/actix-service/CHANGES.md index bd828c49..b67a231f 100644 --- a/actix-service/CHANGES.md +++ b/actix-service/CHANGES.md @@ -1,36 +1,37 @@ # Changes ## Unreleased - 2022-xx-xx + - Minimum supported Rust version (MSRV) is now 1.59. - ## 2.0.2 - 2021-12-18 + - 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 - ## 2.0.1 - 2021-10-11 + - Documentation fix. [#388] [#388]: https://github.com/actix/actix-net/pull/388 - ## 2.0.0 - 2021-04-16 + - Removed pipeline and related structs/functions. [#335] [#335]: https://github.com/actix/actix-net/pull/335 - ## 2.0.0-beta.5 - 2021-03-15 + - Add default `Service` trait impl for `Rc` and `&S: Service`. [#288] - Add `boxed::rc_service` function for constructing `boxed::RcService` type [#290] [#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] @@ -38,158 +39,153 @@ [#247]: https://github.com/actix/actix-net/pull/247 - ## 2.0.0-beta.3 - 2021-01-09 + - The `forward_ready!` macro converts errors. [#246] [#246]: https://github.com/actix/actix-net/pull/246 - ## 2.0.0-beta.2 - 2021-01-03 + - Remove redundant type parameter from `map_config`. - ## 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] + +- `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] +- 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 [#233]: https://github.com/actix/actix-net/pull/233 [#235]: https://github.com/actix/actix-net/pull/235 - ## 1.0.6 - 2020-08-09 -- 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. +- 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 unsoundness in .and_then()/.then() service combinators. - ## 1.0.4 - 2020-01-15 + - Revert 1.0.3 change - ## 1.0.3 - 2020-01-15 + - Fixed unsoundness in `AndThenService` impl. - ## 1.0.2 - 2020-01-08 + - Add `into_service` helper function. - ## 1.0.1 - 2019-12-22 + - `map_config()` and `unit_config()` now accept `IntoServiceFactory` type. - ## 1.0.0 - 2019-12-11 + - Add Clone impl for Apply service - ## 1.0.0-alpha.4 - 2019-12-08 + - 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 + - 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 + - Use owned config value for service factory - Renamed BoxedNewService/BoxedService to BoxServiceFactory/BoxService - ## 1.0.0-alpha.1 - 2019-11-25 + - Migrated to `std::future` - `NewService` renamed to `ServiceFactory` - Added `pipeline` and `pipeline_factory` function - ## 0.4.2 - 2019-08-27 + - Check service readiness for `new_apply_cfg` combinator - ## 0.4.1 - 2019-06-06 + - Add `new_apply_cfg` function - ## 0.4.0 - 2019-05-12 + - Add `NewService::map_config` and `NewService::unit_config` combinators. - Use associated type for `NewService` config. - Change `apply_cfg` function. - Renamed helper functions. - ## 0.3.6 - 2019-04-07 + - Poll boxed service call result immediately - ## 0.3.5 - 2019-03-29 + - Add `impl Service for Rc>`. - ## 0.3.4 - 2019-03-12 + - 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 + - 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 - ## 0.3.2 - 2019-03-04 + - Change `NewService::Future` and `Transform::Future` to the `IntoFuture` trait. - Export `AndThenTransform` type - ## 0.3.1 - 2019-03-04 + - Simplify Transform trait - ## 0.3.0 - 2019-03-02 + - Added boxed NewService and Service. - Added `Config` parameter to `NewService` trait. - Added `Config` parameter to `NewTransform` trait. - ## 0.2.2 - 2019-02-19 + - Added `NewService` impl for `Rc where S: NewService` - Added `NewService` impl for `Arc where S: NewService` - ## 0.2.1 - 2019-02-03 + - Generalize `.apply` combinator with Transform trait - ## 0.2.0 - 2019-02-01 + - Use associated type instead of generic for Service definition. - * Before: + - Before: ```rust impl Service for Client { type Response = Response; // ... } ``` - * After: + - After: ```rust impl Service for Client { type Request = Request; @@ -198,31 +194,31 @@ } ``` - ## 0.1.6 - 2019-01-24 + - Use `FnMut` instead of `Fn` for .apply() and .map() combinators and `FnService` type - Change `.apply()` error semantic, new service's error is `From` - ## 0.1.5 - 2019-01-13 + - Make `Out::Error` convertible from `T::Error` for apply combinator - ## 0.1.4 - 2019-01-11 + - Use `FnMut` instead of `Fn` for `FnService` - ## 0.1.3 - 2018-12-12 + - Split service combinators to separate trait - ## 0.1.2 - 2018-12-12 + - Release future early for `.and_then()` and `.then()` combinators - ## 0.1.1 - 2018-12-09 + - Added Service impl for `Box` - ## 0.1.0 - 2018-12-09 + - Initial import diff --git a/actix-tls/CHANGES.md b/actix-tls/CHANGES.md index c807b74c..886cc062 100644 --- a/actix-tls/CHANGES.md +++ b/actix-tls/CHANGES.md @@ -1,41 +1,43 @@ # Changes ## Unreleased - 2022-xx-xx + - Minimum supported Rust version (MSRV) is now 1.59. - ## 3.0.4 - 2022-03-15 + - Logs emitted now use the `tracing` crate with `log` compatibility. [#451] [#451]: https://github.com/actix/actix-net/pull/451 - ## 3.0.3 - 2022-02-15 + - No significant changes since `3.0.2`. - ## 3.0.2 - 2022-01-28 + - Expose `connect::Connection::new`. [#439] [#439]: https://github.com/actix/actix-net/pull/439 - ## 3.0.1 - 2022-01-11 + - No significant changes since `3.0.0`. - ## 3.0.0 - 2021-12-26 + - No significant changes since `3.0.0-rc.2`. - ## 3.0.0-rc.2 - 2021-12-10 + - Re-export `openssl::SslConnectorBuilder` in `connect::openssl::reexports`. [#429] [#429]: https://github.com/actix/actix-net/pull/429 - ## 3.0.0-rc.1 - 2021-11-29 + ### Added + - Derive `Debug` for `connect::Connection`. [#422] - Implement `Display` for `accept::TlsError`. [#422] - Implement `Error` for `accept::TlsError` where both types also implement `Error`. [#422] @@ -45,6 +47,7 @@ - Implement `Default` for `connect::ConnectorService`. [#423] ### Changed + - The crate's default features flags no longer include `uri`. [#422] - Useful re-exports from underlying TLS crates are exposed in a `reexports` modules in all acceptors and connectors. - Convert `connect::ResolverService` from enum to struct. [#422] @@ -61,6 +64,7 @@ - Inline modules in `connect::tls` to `connect` module. [#422] ### Removed + - Remove `connect::{new_connector, new_connector_factory, default_connector, default_connector_factory}` methods. [#422] - Remove `connect::native_tls::Connector::service` method. [#422] - Remove redundant `connect::Connection::from_parts` method. [#422] @@ -68,8 +72,8 @@ [#422]: https://github.com/actix/actix-net/pull/422 [#423]: https://github.com/actix/actix-net/pull/423 - ## 3.0.0-beta.9 - 2021-11-22 + - Add configurable timeout for accepting TLS connection. [#393] - Added `TlsError::Timeout` variant. [#393] - All TLS acceptor services now use `TlsError` for their error types. [#393] @@ -78,31 +82,30 @@ [#393]: https://github.com/actix/actix-net/pull/393 [#420]: https://github.com/actix/actix-net/pull/420 - ## 3.0.0-beta.8 - 2021-11-15 + - Add `Connect::request` for getting a reference to the connection request. [#415] [#415]: https://github.com/actix/actix-net/pull/415 - ## 3.0.0-beta.7 - 2021-10-20 + - Add `webpki_roots_cert_store()` to get rustls compatible webpki roots cert store. [#401] - Alias `connect::ssl` to `connect::tls`. [#401] [#401]: https://github.com/actix/actix-net/pull/401 - ## 3.0.0-beta.6 - 2021-10-19 + - Update `tokio-rustls` to `0.23` which uses `rustls` `0.20`. [#396] - Removed a re-export of `Session` from `rustls` as it no longer exist. [#396] - Minimum supported Rust version (MSRV) is now 1.52. [#396]: https://github.com/actix/actix-net/pull/396 - ## 3.0.0-beta.5 - 2021-03-29 -- Changed `connect::ssl::rustls::RustlsConnectorService` to return error when `DNSNameRef` - generation failed instead of panic. [#296] + +- Changed `connect::ssl::rustls::RustlsConnectorService` to return error when `DNSNameRef` generation failed instead of panic. [#296] - Remove `connect::ssl::openssl::OpensslConnectServiceFactory`. [#297] - Remove `connect::ssl::openssl::OpensslConnectService`. [#297] - Add `connect::ssl::native_tls` module for native tls support. [#295] @@ -114,74 +117,72 @@ [#297]: https://github.com/actix/actix-net/pull/297 [#299]: https://github.com/actix/actix-net/pull/299 - ## 3.0.0-beta.4 - 2021-02-24 + - Rename `accept::openssl::{SslStream => TlsStream}`. - Add `connect::Connect::set_local_addr` to attach local `IpAddr`. [#282] - `connector::TcpConnector` service will try to bind to local_addr of `IpAddr` when given. [#282] [#282]: https://github.com/actix/actix-net/pull/282 - ## 3.0.0-beta.3 - 2021-02-06 + - Remove `trust-dns-proto` and `trust-dns-resolver`. [#248] - Use `std::net::ToSocketAddrs` as simple and basic default resolver. [#248] - Add `Resolve` trait for custom DNS resolvers. [#248] - Add `Resolver::new_custom` function to construct custom resolvers. [#248] -- Export `webpki_roots::TLS_SERVER_ROOTS` in `actix_tls::connect` mod and remove - the export from `actix_tls::accept` [#248] -- Remove `ConnectTakeAddrsIter`. `Connect::take_addrs` now returns `ConnectAddrsIter<'static>` - as owned iterator. [#248] +- Export `webpki_roots::TLS_SERVER_ROOTS` in `actix_tls::connect` mod and remove the export from `actix_tls::accept` [#248] +- Remove `ConnectTakeAddrsIter`. `Connect::take_addrs` now returns `ConnectAddrsIter<'static>` as owned iterator. [#248] - Rename `Address::{host => hostname}` to more accurately describe which URL segment is returned. - Update `actix-rt` to `2.0.0`. [#273] [#248]: https://github.com/actix/actix-net/pull/248 [#273]: https://github.com/actix/actix-net/pull/273 - ## 3.0.0-beta.2 - 2022-xx-xx + - Depend on stable trust-dns packages. [#204] [#204]: https://github.com/actix/actix-net/pull/204 - ## 3.0.0-beta.1 - 2020-12-29 + - Move acceptors under `accept` module. [#238] - Merge `actix-connect` crate under `connect` module. [#238] - Add feature flags to enable acceptors and/or connectors individually. [#238] [#238]: https://github.com/actix/actix-net/pull/238 - ## 2.0.0 - 2020-09-03 + - `nativetls::NativeTlsAcceptor` is renamed to `nativetls::Acceptor`. - Where possible, "SSL" terminology is replaced with "TLS". - * `SslError` is renamed to `TlsError`. - * `TlsError::Ssl` enum variant is renamed to `TlsError::Tls`. - * `max_concurrent_ssl_connect` is renamed to `max_concurrent_tls_connect`. - + - `SslError` is renamed to `TlsError`. + - `TlsError::Ssl` enum variant is renamed to `TlsError::Tls`. + - `max_concurrent_ssl_connect` is renamed to `max_concurrent_tls_connect`. ## 2.0.0-alpha.2 - 2020-08-17 + - Update `rustls` dependency to 0.18 - Update `tokio-rustls` dependency to 0.14 - Update `webpki-roots` dependency to 0.20 - ## [2.0.0-alpha.1] - 2020-03-03 + - Update `rustls` dependency to 0.17 - Update `tokio-rustls` dependency to 0.13 - Update `webpki-roots` dependency to 0.19 - ## [1.0.0] - 2019-12-11 + - 1.0.0 release - ## [1.0.0-alpha.3] - 2019-12-07 + - Migrate to tokio 0.2 - Enable rustls acceptor service - Enable native-tls acceptor service - ## [1.0.0-alpha.1] - 2019-12-02 + - Split openssl acceptor from actix-server package diff --git a/actix-tracing/CHANGES.md b/actix-tracing/CHANGES.md index 938d536e..dd5c2d01 100644 --- a/actix-tracing/CHANGES.md +++ b/actix-tracing/CHANGES.md @@ -1,8 +1,9 @@ # Changes ## Unreleased - 2022-xx-xx + - Minimum supported Rust version (MSRV) is now 1.59. - ## 0.1.0 - 2020-01-15 + - Initial release diff --git a/actix-utils/CHANGES.md b/actix-utils/CHANGES.md index edd8e9c6..03bca650 100644 --- a/actix-utils/CHANGES.md +++ b/actix-utils/CHANGES.md @@ -1,24 +1,25 @@ # Changes ## Unreleased - 2022-xx-xx + - Minimum supported Rust version (MSRV) is now 1.59. - ## 3.0.1 - 2022-10-21 + - Minimum supported Rust version (MSRV) is now 1.57. - ## 3.0.0 - 2021-04-16 + - No significant changes from `3.0.0-beta.4`. - ## 3.0.0-beta.4 - 2021-04-01 + - Add `future::Either` type. [#305] [#305]: https://github.com/actix/actix-net/pull/305 - ## 3.0.0-beta.3 - 2021-04-01 + - Moved `mpsc` to own crate `local-channel`. [#301] - Moved `task::LocalWaker` to own crate `local-waker`. [#301] - Remove `timeout` module. [#301] @@ -27,14 +28,14 @@ [#301]: https://github.com/actix/actix-net/pull/301 - ## 3.0.0-beta.2 - 2021-02-06 + - Update `actix-rt` to `2.0.0`. [#273] [#273]: https://github.com/actix/actix-net/pull/273 - ## 3.0.0-beta.1 - 2020-12-28 + - Update `bytes` dependency to `1`. [#237] - Use `pin-project-lite` to replace `pin-project`. [#229] - Remove `condition`,`either`,`inflight`,`keepalive`,`oneshot`,`order`,`stream` and `time` mods. [#229] @@ -42,146 +43,146 @@ [#229]: https://github.com/actix/actix-net/pull/229 [#237]: https://github.com/actix/actix-net/pull/237 - ## 2.0.0 - 2020-08-23 + - No changes from beta 1. - ## 2.0.0-beta.1 - 2020-08-19 + - Upgrade `tokio-util` to `0.3`. - Remove unsound custom Cell and use `std::cell::RefCell` instead, as well as `actix-service`. - Rename method to correctly spelled `LocalWaker::is_registered`. - ## 1.0.6 - 2020-01-08 + - Add `Clone` impl for `condition::Waiter`. - ## 1.0.5 - 2020-01-08 + - Add `Condition` type. - Add `Pool` of one-shot's. - ## 1.0.4 - 2019-12-20 + - Add methods to check `LocalWaker` registration state. - ## 1.0.3 - 2019-12-11 + - Revert InOrder service changes - ## 1.0.2 - 2019-12-11 + - Allow to create `framed::Dispatcher` with custom `mpsc::Receiver`. - Add `oneshot::Sender::is_canceled()` method. - ## 1.0.1 - 2019-12-11 + - Optimize InOrder service. - ## 1.0.0 - 2019-12-11 + - Simplify oneshot and mpsc implementations. - ## 1.0.0-alpha.3 - 2019-12-07 + - Migrate to tokio 0.2. - Fix oneshot. - ## 1.0.0-alpha.2 - 2019-12-02 + - Migrate to `std::future`. - ## 0.4.7 - 2019-10-14 + - Re-register task on every framed transport poll. - ## 0.4.6 - 2019-10-08 + - Refactor `Counter` type. register current task in available method. - ## 0.4.5 - 2019-07-19 + - Deprecated `CloneableService` as it is not safe. - ## 0.4.4 - 2019-07-17 + - Undeprecate `FramedTransport` as it is actually useful. - ## 0.4.3 - 2019-07-17 + - Deprecate `CloneableService` as it is not safe and in general not very useful. - Deprecate `FramedTransport` in favor of `actix-ioframe`. - ## 0.4.2 - 2019-06-26 + - Do not block on sink drop for FramedTransport. - ## 0.4.1 - 2019-05-15 + - Change `Either` constructor. - ## 0.4.0 - 2019-05-11 + - Change `Either` to handle two nexted services. - Upgrade actix-service 0.4. - Removed framed related services. - Removed stream related services. - ## 0.3.5 - 2019-04-04 + - Allow to send messages to `FramedTransport` via mpsc channel. - Remove `'static` constraint from Clonable service. - ## 0.3.4 - 2019-03-12 + - `TimeoutService`, `InOrderService`, `InFlightService` accepts generic IntoService services. - Fix `InFlightService::poll_ready()` nested service readiness check. - Fix `InOrderService::poll_ready()` nested service readiness check. - ## 0.3.3 - 2019-03-09 + - Revert IntoFuture change. - Add generic config param for IntoFramed and TakeOne new services. - ## 0.3.2 - 2019-03-04 + - Use IntoFuture for new services. ## 0.3.1 - 2019-03-04 + - Use new type of transform trait. - ## 0.3.0 - 2019-03-02 -- Use new `NewService` trait -- BoxedNewService` and `BoxedService` types moved to actix-service crate. +- Use new `NewService` trait +- BoxedNewService`and`BoxedService` types moved to actix-service crate. ## 0.2.4 - 2019-02-21 + - Custom `BoxedNewService` implementation. - ## 0.2.3 - 2019-02-21 + - Add `BoxedNewService` and `BoxedService`. - ## 0.2.2 - 2019-02-11 + - Add `Display` impl for `TimeoutError`. - Add `Display` impl for `InOrderError`. - ## 0.2.1 - 2019-02-06 -- Add `InOrder` service. the service yields responses as they become available, - in the order that their originating requests were submitted to the service. + +- Add `InOrder` service. the service yields responses as they become available, in the order that their originating requests were submitted to the service. - Convert `Timeout` and `InFlight` services to a transforms. - ## 0.2.0 - 2019-02-01 + - Fix framed transport error handling. - Added Clone impl for Either service. - Added Clone impl for Timeout service factory. - Added Service and NewService for Stream dispatcher. - Switch to actix-service 0.2. - ## 0.1.0 - 2018-12-09 + - Move utils services to separate crate. diff --git a/bytestring/CHANGES.md b/bytestring/CHANGES.md index 826ff3b8..0b6955ca 100644 --- a/bytestring/CHANGES.md +++ b/bytestring/CHANGES.md @@ -1,59 +1,60 @@ # Changes ## Unreleased - 2022-xx-xx + - Implement `AsRef` for `ByteString`. - Minimum supported Rust version (MSRV) is now 1.59. - ## 1.2.1 - 2022-11-12 + - Fix `#[no_std]` compatibility. [#471] [#471]: https://github.com/actix/actix-net/pull/471 - ## 1.2.0 - 2022-11-07 + - Add `ByteString::slice_ref` which can safely slice a `ByteString` into a new one with zero copy. [#470] - Minimum supported Rust version (MSRV) is now 1.57. [#470]: https://github.com/actix/actix-net/pull/470 - ## 1.1.0 - 2022-06-11 + - Implement `From>` for `ByteString`. [#458] - Implement `Into` for `ByteString`. [#458] - Minimum supported Rust version (MSRV) is now 1.49. [#458]: https://github.com/actix/actix-net/pull/458 - ## 1.0.0 - 2020-12-31 + - Update `bytes` dependency to `1`. - Add array and slice of `u8` impls of `TryFrom` up to 32 in length. - Rename `get_ref` to `as_bytes` and rename `into_inner` to `into_bytes`. - `ByteString::new` is now a `const fn`. - Crate is now `#[no_std]` compatible. - ## 0.1.5 - 2020-03-30 + - Serde support - ## 0.1.4 - 2020-01-14 + - Fix `AsRef` impl - ## 0.1.3 - 2020-01-13 + - Add `PartialEq>`, `AsRef<[u8]>` impls - ## 0.1.2 - 2019-12-22 + - Fix `new()` method - Make `ByteString::from_static()` and `ByteString::from_bytes_unchecked()` methods const. - ## 0.1.1 - 2019-12-07 + - Fix hash impl - ## 0.1.0 - 2019-12-07 + - Initial release diff --git a/local-channel/CHANGES.md b/local-channel/CHANGES.md index d19848f0..53530ff4 100644 --- a/local-channel/CHANGES.md +++ b/local-channel/CHANGES.md @@ -1,16 +1,17 @@ # Changes ## Unreleased - 2022-xx-xx + - Minimum supported Rust version (MSRV) is now 1.59. - ## 0.1.3 - 2022-05-03 + - Minimum supported Rust version (MSRV) is now 1.49. - ## 0.1.2 - 2021-04-01 + - No significant changes from `0.1.1`. - ## 0.1.1 - 2021-03-29 + - Move local mpsc channel to it's own crate. diff --git a/local-waker/CHANGES.md b/local-waker/CHANGES.md index b36eacf5..5204259c 100644 --- a/local-waker/CHANGES.md +++ b/local-waker/CHANGES.md @@ -1,16 +1,17 @@ # Changes ## Unreleased - 2022-xx-xx + - Minimum supported Rust version (MSRV) is now 1.59. - ## 0.1.3 - 2022-05-03 + - Minimum supported Rust version (MSRV) is now 1.49. - ## 0.1.2 - 2021-12-18 + - Fix crate metadata. - ## 0.1.1 - 2021-03-29 + - Move `LocalWaker` to it's own crate.