2018-12-10 07:14:29 +01:00
# Changes
2023-08-24 01:56:31 +02:00
## Unreleased
2022-12-21 21:37:51 +01:00
2024-08-04 23:41:04 +02:00
## 2.5.0
2024-08-04 23:34:02 +02:00
- Update `mio` dependency to `1` .
2024-06-09 07:12:28 +02:00
## 2.4.0
- Update `tokio-uring` dependency to `0.5` .
2024-05-11 18:39:34 +02:00
- Minimum supported Rust version (MSRV) is now 1.70.
2023-08-26 19:04:22 +02:00
## 2.3.0
2023-07-17 05:10:36 +02:00
- Add support for MultiPath TCP (MPTCP) with `MpTcp` enum and `ServerBuilder::mptcp()` method.
2023-07-17 04:05:39 +02:00
- Minimum supported Rust version (MSRV) is now 1.65.
2023-04-01 22:39:19 +02:00
2023-08-24 01:56:31 +02:00
## 2.2.0
2023-03-03 23:36:13 +01:00
2022-11-12 15:00:33 +01:00
- Minimum supported Rust version (MSRV) is now 1.59.
2024-02-01 07:42:41 +01:00
- Update `tokio-uring` dependency to `0.4` .
2022-03-09 00:42:52 +01:00
2023-08-24 01:56:31 +02:00
## 2.1.1
2022-03-09 02:08:35 +01:00
2023-03-03 23:36:13 +01:00
- No significant changes since `2.1.0` .
2022-03-09 02:08:35 +01:00
2023-08-24 01:56:31 +02:00
## 2.1.0
2023-03-03 23:36:13 +01:00
2024-02-01 07:42:41 +01:00
- Update `tokio-uring` dependency to `0.3` .
- Logs emitted now use the `tracing` crate with `log` compatibility.
- Wait for accept thread to stop before sending completion signal.
2022-01-12 15:38:32 +01:00
2023-08-24 01:56:31 +02:00
## 2.0.0
2022-01-19 15:57:50 +01:00
2023-03-03 23:36:13 +01:00
- No significant changes since `2.0.0-rc.4` .
2022-01-19 15:57:50 +01:00
2023-08-24 01:56:31 +02:00
## 2.0.0-rc.4
2023-03-03 23:36:13 +01:00
2024-02-01 07:42:41 +01:00
- Update `tokio-uring` dependency to `0.2` .
2021-12-27 19:33:57 +01:00
2023-08-24 01:56:31 +02:00
## 2.0.0-rc.3
2021-12-31 09:09:28 +01:00
2023-03-03 23:36:13 +01:00
- No significant changes since `2.0.0-rc.2` .
2021-12-31 09:09:28 +01:00
2023-08-24 01:56:31 +02:00
## 2.0.0-rc.2
2023-03-03 23:36:13 +01:00
2024-02-01 07:42:41 +01:00
- Simplify `TestServer` .
2021-12-05 20:34:36 +01:00
2023-08-24 01:56:31 +02:00
## 2.0.0-rc.1
2023-03-03 23:36:13 +01:00
2024-02-01 07:42:41 +01:00
- Hide implementation details of `Server` .
- `Server` now runs only after awaiting it.
2021-11-05 03:18:20 +01:00
2023-08-24 01:56:31 +02:00
## 2.0.0-beta.9
2023-03-03 23:36:13 +01:00
2024-02-01 07:42:41 +01:00
- Restore `Arbiter` support lost in `beta.8` .
2021-11-15 03:39:55 +01:00
2023-08-24 01:56:31 +02:00
## 2.0.0-beta.8
2023-03-03 23:36:13 +01:00
2024-02-01 07:42:41 +01:00
- Fix non-unix signal handler.
2021-11-05 02:14:28 +01:00
2023-08-24 01:56:31 +02:00
## 2.0.0-beta.7
2023-03-03 23:36:13 +01:00
2024-02-01 07:42:41 +01:00
- Server can be started in regular Tokio runtime.
- Expose new `Server` type whose `Future` impl resolves when server stops.
- Rename `Server` to `ServerHandle` .
- Add `Server::handle` to obtain handle to server.
- Rename `ServerBuilder::{maxconn => max_concurrent_connections}` .
- Deprecate crate-level `new` shortcut for server builder.
2021-12-18 03:49:23 +01:00
- Minimum supported Rust version (MSRV) is now 1.52.
2021-10-11 06:14:34 +02:00
2023-08-24 01:56:31 +02:00
## 2.0.0-beta.6
2023-03-03 23:36:13 +01:00
2024-02-01 07:42:41 +01:00
- Add experimental (semver-exempt) `io-uring` feature for enabling async file I/O on linux.
- Server no long listens to `SIGHUP` signal. Previously, the received was not used but did block subsequent exit signals from working.
- Remove `config` module. `ServiceConfig` , `ServiceRuntime` public types are removed due to this change.
- Remove `ServerBuilder::configure` .
2021-04-20 06:16:32 +02:00
2023-08-24 01:56:31 +02:00
## 2.0.0-beta.5
2021-10-11 06:14:34 +02:00
2024-02-01 07:42:41 +01:00
- Server shutdown notifies all workers to exit regardless if shutdown is graceful. This causes all workers to shutdown immediately in force shutdown case.
2021-04-01 10:36:07 +02:00
2023-08-24 01:56:31 +02:00
## 2.0.0-beta.4
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Prevent panic when `shutdown_timeout` is very large. [f9262db]
2021-03-27 01:20:17 +01:00
2023-08-24 01:56:31 +02:00
## 2.0.0-beta.3
2023-03-03 23:36:13 +01:00
2024-02-01 07:42:41 +01:00
- Hidden `ServerBuilder::start` method has been removed. Use `ServerBuilder::run` .
- Add retry for EINTR signal (`io::Interrupted`) in `Accept` 's poll loop.
- Add `ServerBuilder::worker_max_blocking_threads` to customize blocking thread pool size.
- Update `actix-rt` to `2.0.0` .
2021-01-03 05:39:37 +01:00
2023-08-24 01:56:31 +02:00
## 2.0.0-beta.2
2023-03-03 23:36:13 +01:00
2024-02-01 07:42:41 +01:00
- Merge `actix-testing` to `actix-server` as `test_server` mod.
2021-01-03 05:39:37 +01:00
2023-08-24 01:56:31 +02:00
## 2.0.0-beta.1
2023-03-03 23:36:13 +01:00
2024-02-01 07:42:41 +01:00
- Added explicit info log message on accept queue pause.
- Prevent double registration of sockets when back-pressure is resolved.
- Update `mio` dependency to `0.7.3` .
- Remove `socket2` dependency.
- `ServerBuilder::backlog` now accepts `u32` instead of `i32` .
- Remove `AcceptNotify` type and pass `WakerQueue` to `Worker` to wake up `Accept` 's `Poll` .
- Convert `mio::net::TcpStream` to `actix_rt::net::TcpStream` (`UnixStream` for uds) using `FromRawFd` and `IntoRawFd` (`FromRawSocket` and `IntoRawSocket` on windows).
- Remove `AsyncRead` and `AsyncWrite` trait bound for `socket::FromStream` trait.
2020-08-18 17:44:22 +02:00
2023-08-24 01:56:31 +02:00
## 1.0.4
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Update actix-codec to 0.3.0.
2024-02-01 07:42:41 +01:00
- Workers must be greater than 0.
2020-05-19 01:17:44 +02:00
2023-08-24 01:56:31 +02:00
## 1.0.3
2023-03-03 23:36:13 +01:00
2024-02-01 07:42:41 +01:00
- Replace deprecated `net2` crate with `socket2` .
2020-05-19 01:17:44 +02:00
2023-08-24 01:56:31 +02:00
## 1.0.2
2023-03-03 23:36:13 +01:00
2024-02-01 07:42:41 +01:00
- Avoid error by calling `reregister()` on Windows.
2020-02-26 11:48:41 +01:00
2023-08-24 01:56:31 +02:00
## 1.0.1
2019-12-29 05:07:46 +01:00
2023-03-03 23:36:13 +01:00
- Rename `.start()` method to `.run()`
2019-12-11 09:43:26 +01:00
2023-08-24 01:56:31 +02:00
## 1.0.0
2019-12-11 09:43:26 +01:00
2023-03-03 23:36:13 +01:00
- Use actix-net releases
2019-12-11 09:43:26 +01:00
2023-08-24 01:56:31 +02:00
## 1.0.0-alpha.4
2019-12-08 14:49:35 +01:00
2023-03-03 23:36:13 +01:00
- Use actix-service 1.0.0-alpha.4
2019-12-05 11:40:24 +01:00
2023-08-24 01:56:31 +02:00
## 1.0.0-alpha.3
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Migrate to tokio 0.2
- Fix compilation on non-unix platforms
- Better handling server configuration
2019-12-04 16:34:48 +01:00
2023-08-24 01:56:31 +02:00
## 1.0.0-alpha.2
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Simplify server service (remove actix-server-config)
- Allow to wait on `Server` until server stops
2019-11-26 12:03:52 +01:00
2023-08-24 01:56:31 +02:00
## 0.8.0-alpha.1
2019-11-26 12:03:52 +01:00
2023-03-03 23:36:13 +01:00
- Migrate to `std::future`
2019-11-26 12:03:52 +01:00
2023-08-24 01:56:31 +02:00
## 0.7.0
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Update `rustls` to 0.16
- Minimum required Rust version upped to 1.37.0
2019-10-03 20:32:32 +02:00
2023-08-24 01:56:31 +02:00
## 0.6.1
2019-09-25 06:35:15 +02:00
2023-03-03 23:36:13 +01:00
- Add UDS listening support to `ServerBuilder`
2019-09-25 06:35:15 +02:00
2023-08-24 01:56:31 +02:00
## 0.6.0
2019-07-18 13:05:40 +02:00
2023-03-03 23:36:13 +01:00
- Support Unix domain sockets #3
2019-07-18 13:05:40 +02:00
2023-08-24 01:56:31 +02:00
## 0.5.1
2019-05-18 19:56:41 +02:00
2023-03-03 23:36:13 +01:00
- ServerBuilder::shutdown_timeout() accepts u64
2019-05-18 19:56:41 +02:00
2023-08-24 01:56:31 +02:00
## 0.5.0
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Add `Debug` impl for `SslError`
- Derive debug for `Server` and `ServerCommand`
- Upgrade to actix-service 0.4
2019-05-12 15:03:50 +02:00
2023-08-24 01:56:31 +02:00
## 0.4.3
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Re-export `IoStream` trait
- Depend on `ssl` and `rust-tls` features from actix-server-config
2019-04-16 17:32:12 +02:00
2023-08-24 01:56:31 +02:00
## 0.4.2
2019-03-30 20:09:02 +01:00
2023-03-03 23:36:13 +01:00
- Fix SIGINT force shutdown
2019-03-30 20:09:02 +01:00
2023-08-24 01:56:31 +02:00
## 0.4.1
2019-03-15 04:09:34 +01:00
2023-03-03 23:36:13 +01:00
- `SystemRuntime::on_start()` - allow to run future before server service initialization
2019-03-15 04:09:34 +01:00
2023-08-24 01:56:31 +02:00
## 0.4.0
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Use `ServerConfig` for service factory
- Wrap tcp socket to `Io` type
- Upgrade actix-service
2019-03-05 16:35:26 +01:00
2023-08-24 01:56:31 +02:00
## 0.3.1
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Add `ServerBuilder::maxconnrate` sets the maximum per-worker number of concurrent connections
- Add helper ssl error `SslError`
- Rename `StreamServiceFactory` to `ServiceFactory`
- Deprecate `StreamServiceFactory`
2019-03-04 23:31:46 +01:00
2023-08-24 01:56:31 +02:00
## 0.3.0
2019-03-02 23:42:31 +01:00
2023-03-03 23:36:13 +01:00
- Use new `NewService` trait
2019-03-02 23:42:31 +01:00
2023-08-24 01:56:31 +02:00
## 0.2.1
2019-02-10 06:39:17 +01:00
2023-03-03 23:36:13 +01:00
- Drop service response
2019-02-10 06:39:17 +01:00
2023-08-24 01:56:31 +02:00
## 0.2.0
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Migrate to actix-service 0.2
- Updated rustls dependency
2019-01-26 22:15:17 +01:00
2023-08-24 01:56:31 +02:00
## 0.1.3
2018-12-21 19:38:08 +01:00
2023-03-03 23:36:13 +01:00
- Fix max concurrent connections handling
2018-12-21 19:38:08 +01:00
2023-08-24 01:56:31 +02:00
## 0.1.2
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- rename ServiceConfig::rt() to ServiceConfig::apply()
- Fix back-pressure for concurrent ssl handshakes
2018-12-12 23:24:46 +01:00
2023-08-24 01:56:31 +02:00
## 0.1.1
2018-12-11 23:03:06 +01:00
2023-03-03 23:36:13 +01:00
- Fix signal handling on windows
2018-12-11 23:03:06 +01:00
2023-08-24 01:56:31 +02:00
## 0.1.0
2023-03-03 23:36:13 +01:00
2021-12-18 03:49:23 +01:00
- Move server to separate crate