mirror of
https://github.com/actix/actix-web.git
synced 2024-11-30 21:41:27 +00:00
use dash hyphenation in markdown
This commit is contained in:
parent
212c6926f9
commit
de20d21703
15 changed files with 999 additions and 999 deletions
4
.github/ISSUE_TEMPLATE/bug_report.md
vendored
4
.github/ISSUE_TEMPLATE/bug_report.md
vendored
|
@ -33,5 +33,5 @@ Please search on the [Actix Web issue tracker](https://github.com/actix/actix-we
|
||||||
## Your Environment
|
## Your Environment
|
||||||
<!--- Include as many relevant details about the environment you experienced the bug in -->
|
<!--- Include as many relevant details about the environment you experienced the bug in -->
|
||||||
|
|
||||||
* Rust Version (I.e, output of `rustc -V`):
|
- Rust Version (I.e, output of `rustc -V`):
|
||||||
* Actix Web Version:
|
- Actix Web Version:
|
||||||
|
|
552
CHANGES.md
552
CHANGES.md
File diff suppressed because it is too large
Load diff
|
@ -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:
|
Examples of behavior that contributes to creating a positive environment include:
|
||||||
|
|
||||||
* Using welcoming and inclusive language
|
- Using welcoming and inclusive language
|
||||||
* Being respectful of differing viewpoints and experiences
|
- Being respectful of differing viewpoints and experiences
|
||||||
* Gracefully accepting constructive criticism
|
- Gracefully accepting constructive criticism
|
||||||
* Focusing on what is best for the community
|
- Focusing on what is best for the community
|
||||||
* Showing empathy towards other community members
|
- Showing empathy towards other community members
|
||||||
|
|
||||||
Examples of unacceptable behavior by participants include:
|
Examples of unacceptable behavior by participants include:
|
||||||
|
|
||||||
* The use of sexualized language or imagery and unwelcome sexual attention or advances
|
- The use of sexualized language or imagery and unwelcome sexual attention or advances
|
||||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
- Trolling, insulting/derogatory comments, and personal or political attacks
|
||||||
* Public or private harassment
|
- Public or private harassment
|
||||||
* Publishing others' private information, such as a physical or electronic address, without explicit permission
|
- 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
|
- Other conduct which could reasonably be considered inappropriate in a professional setting
|
||||||
|
|
||||||
## Our Responsibilities
|
## Our Responsibilities
|
||||||
|
|
||||||
|
|
156
MIGRATION.md
156
MIGRATION.md
|
@ -1,6 +1,6 @@
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
* The default `NormalizePath` behavior now strips trailing slashes by default. This was
|
- The default `NormalizePath` behavior now strips trailing slashes by default. This was
|
||||||
previously documented to be the case in v3 but the behavior now matches. The effect is that
|
previously documented to be the case in v3 but the behavior now matches. The effect is that
|
||||||
routes defined with trailing slashes will become inaccessible when
|
routes defined with trailing slashes will become inaccessible when
|
||||||
using `NormalizePath::default()`. As such, calling `NormalizePath::default()` will log a warning.
|
using `NormalizePath::default()`. As such, calling `NormalizePath::default()` will log a warning.
|
||||||
|
@ -11,9 +11,9 @@
|
||||||
|
|
||||||
Alternatively, explicitly require trailing slashes: `NormalizePath::new(TrailingSlash::Always)`.
|
Alternatively, explicitly require trailing slashes: `NormalizePath::new(TrailingSlash::Always)`.
|
||||||
|
|
||||||
* The `type Config` of `FromRequest` was removed.
|
- The `type Config` of `FromRequest` was removed.
|
||||||
|
|
||||||
* Feature flag `compress` has been split into its supported algorithm (brotli, gzip, zstd).
|
- Feature flag `compress` has been split into its supported algorithm (brotli, gzip, zstd).
|
||||||
By default all compression algorithms are enabled.
|
By default all compression algorithms are enabled.
|
||||||
To select algorithm you want to include with `middleware::Compress` use following flags:
|
To select algorithm you want to include with `middleware::Compress` use following flags:
|
||||||
- `compress-brotli`
|
- `compress-brotli`
|
||||||
|
@ -28,30 +28,30 @@
|
||||||
|
|
||||||
## 3.0.0
|
## 3.0.0
|
||||||
|
|
||||||
* The return type for `ServiceRequest::app_data::<T>()` was changed from returning a `Data<T>` to
|
- The return type for `ServiceRequest::app_data::<T>()` was changed from returning a `Data<T>` to
|
||||||
simply a `T`. To access a `Data<T>` use `ServiceRequest::app_data::<Data<T>>()`.
|
simply a `T`. To access a `Data<T>` use `ServiceRequest::app_data::<Data<T>>()`.
|
||||||
|
|
||||||
* Cookie handling has been offloaded to the `cookie` crate:
|
- Cookie handling has been offloaded to the `cookie` crate:
|
||||||
* `USERINFO_ENCODE_SET` is no longer exposed. Percent-encoding is still supported; check docs.
|
* `USERINFO_ENCODE_SET` is no longer exposed. Percent-encoding is still supported; check docs.
|
||||||
* Some types now require lifetime parameters.
|
* Some types now require lifetime parameters.
|
||||||
|
|
||||||
* The time crate was updated to `v0.2`, a major breaking change to the time crate, which affects
|
- The time crate was updated to `v0.2`, a major breaking change to the time crate, which affects
|
||||||
any `actix-web` method previously expecting a time v0.1 input.
|
any `actix-web` method previously expecting a time v0.1 input.
|
||||||
|
|
||||||
* Setting a cookie's SameSite property, explicitly, to `SameSite::None` will now
|
- Setting a cookie's SameSite property, explicitly, to `SameSite::None` will now
|
||||||
result in `SameSite=None` being sent with the response Set-Cookie header.
|
result in `SameSite=None` being sent with the response Set-Cookie header.
|
||||||
To create a cookie without a SameSite attribute, remove any calls setting same_site.
|
To create a cookie without a SameSite attribute, remove any calls setting same_site.
|
||||||
|
|
||||||
* actix-http support for Actors messages was moved to actix-http crate and is enabled
|
- actix-http support for Actors messages was moved to actix-http crate and is enabled
|
||||||
with feature `actors`
|
with feature `actors`
|
||||||
|
|
||||||
* content_length function is removed from actix-http.
|
- content_length function is removed from actix-http.
|
||||||
You can set Content-Length by normally setting the response body or calling no_chunking function.
|
You can set Content-Length by normally setting the response body or calling no_chunking function.
|
||||||
|
|
||||||
* `BodySize::Sized64` variant has been removed. `BodySize::Sized` now receives a
|
- `BodySize::Sized64` variant has been removed. `BodySize::Sized` now receives a
|
||||||
`u64` instead of a `usize`.
|
`u64` instead of a `usize`.
|
||||||
|
|
||||||
* Code that was using `path.<index>` to access a `web::Path<(A, B, C)>`s elements now needs to use
|
- Code that was using `path.<index>` to access a `web::Path<(A, B, C)>`s elements now needs to use
|
||||||
destructuring or `.into_inner()`. For example:
|
destructuring or `.into_inner()`. For example:
|
||||||
|
|
||||||
```rust
|
```rust
|
||||||
|
@ -71,35 +71,35 @@
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
* `middleware::NormalizePath` can now also be configured to trim trailing slashes instead of always keeping one.
|
- `middleware::NormalizePath` can now also be configured to trim trailing slashes instead of always keeping one.
|
||||||
It will need `middleware::normalize::TrailingSlash` when being constructed with `NormalizePath::new(...)`,
|
It will need `middleware::normalize::TrailingSlash` when being constructed with `NormalizePath::new(...)`,
|
||||||
or for an easier migration you can replace `wrap(middleware::NormalizePath)` with `wrap(middleware::NormalizePath::new(TrailingSlash::MergeOnly))`.
|
or for an easier migration you can replace `wrap(middleware::NormalizePath)` with `wrap(middleware::NormalizePath::new(TrailingSlash::MergeOnly))`.
|
||||||
|
|
||||||
* `HttpServer::maxconn` is renamed to the more expressive `HttpServer::max_connections`.
|
- `HttpServer::maxconn` is renamed to the more expressive `HttpServer::max_connections`.
|
||||||
|
|
||||||
* `HttpServer::maxconnrate` is renamed to the more expressive `HttpServer::max_connection_rate`.
|
- `HttpServer::maxconnrate` is renamed to the more expressive `HttpServer::max_connection_rate`.
|
||||||
|
|
||||||
|
|
||||||
## 2.0.0
|
## 2.0.0
|
||||||
|
|
||||||
* `HttpServer::start()` renamed to `HttpServer::run()`. It also possible to
|
- `HttpServer::start()` renamed to `HttpServer::run()`. It also possible to
|
||||||
`.await` on `run` method result, in that case it awaits server exit.
|
`.await` on `run` method result, in that case it awaits server exit.
|
||||||
|
|
||||||
* `App::register_data()` renamed to `App::app_data()` and accepts any type `T: 'static`.
|
- `App::register_data()` renamed to `App::app_data()` and accepts any type `T: 'static`.
|
||||||
Stored data is available via `HttpRequest::app_data()` method at runtime.
|
Stored data is available via `HttpRequest::app_data()` method at runtime.
|
||||||
|
|
||||||
* Extractor configuration must be registered with `App::app_data()` instead of `App::data()`
|
- Extractor configuration must be registered with `App::app_data()` instead of `App::data()`
|
||||||
|
|
||||||
* Sync handlers has been removed. `.to_async()` method has been renamed to `.to()`
|
- Sync handlers has been removed. `.to_async()` method has been renamed to `.to()`
|
||||||
replace `fn` with `async fn` to convert sync handler to async
|
replace `fn` with `async fn` to convert sync handler to async
|
||||||
|
|
||||||
* `actix_http_test::TestServer` moved to `actix_web::test` module. To start
|
- `actix_http_test::TestServer` moved to `actix_web::test` module. To start
|
||||||
test server use `test::start()` or `test_start_with_config()` methods
|
test server use `test::start()` or `test_start_with_config()` methods
|
||||||
|
|
||||||
* `ResponseError` trait has been reafctored. `ResponseError::error_response()` renders
|
- `ResponseError` trait has been reafctored. `ResponseError::error_response()` renders
|
||||||
http response.
|
http response.
|
||||||
|
|
||||||
* Feature `rust-tls` renamed to `rustls`
|
- Feature `rust-tls` renamed to `rustls`
|
||||||
|
|
||||||
instead of
|
instead of
|
||||||
|
|
||||||
|
@ -113,7 +113,7 @@
|
||||||
actix-web = { version = "2.0.0", features = ["rustls"] }
|
actix-web = { version = "2.0.0", features = ["rustls"] }
|
||||||
```
|
```
|
||||||
|
|
||||||
* Feature `ssl` renamed to `openssl`
|
- Feature `ssl` renamed to `openssl`
|
||||||
|
|
||||||
instead of
|
instead of
|
||||||
|
|
||||||
|
@ -126,11 +126,11 @@
|
||||||
```rust
|
```rust
|
||||||
actix-web = { version = "2.0.0", features = ["openssl"] }
|
actix-web = { version = "2.0.0", features = ["openssl"] }
|
||||||
```
|
```
|
||||||
* `Cors` builder now requires that you call `.finish()` to construct the middleware
|
- `Cors` builder now requires that you call `.finish()` to construct the middleware
|
||||||
|
|
||||||
## 1.0.1
|
## 1.0.1
|
||||||
|
|
||||||
* Cors middleware has been moved to `actix-cors` crate
|
- Cors middleware has been moved to `actix-cors` crate
|
||||||
|
|
||||||
instead of
|
instead of
|
||||||
|
|
||||||
|
@ -144,7 +144,7 @@
|
||||||
use actix_cors::Cors;
|
use actix_cors::Cors;
|
||||||
```
|
```
|
||||||
|
|
||||||
* Identity middleware has been moved to `actix-identity` crate
|
- Identity middleware has been moved to `actix-identity` crate
|
||||||
|
|
||||||
instead of
|
instead of
|
||||||
|
|
||||||
|
@ -161,7 +161,7 @@
|
||||||
|
|
||||||
## 1.0.0
|
## 1.0.0
|
||||||
|
|
||||||
* Extractor configuration. In version 1.0 this is handled with the new `Data` mechanism for both setting and retrieving the configuration
|
- Extractor configuration. In version 1.0 this is handled with the new `Data` mechanism for both setting and retrieving the configuration
|
||||||
|
|
||||||
instead of
|
instead of
|
||||||
|
|
||||||
|
@ -219,7 +219,7 @@
|
||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
* Resource registration. 1.0 version uses generalized resource
|
- Resource registration. 1.0 version uses generalized resource
|
||||||
registration via `.service()` method.
|
registration via `.service()` method.
|
||||||
|
|
||||||
instead of
|
instead of
|
||||||
|
@ -239,7 +239,7 @@
|
||||||
.route(web::post().to(post_handler))
|
.route(web::post().to(post_handler))
|
||||||
```
|
```
|
||||||
|
|
||||||
* Scope registration.
|
- Scope registration.
|
||||||
|
|
||||||
instead of
|
instead of
|
||||||
|
|
||||||
|
@ -263,7 +263,7 @@
|
||||||
);
|
);
|
||||||
```
|
```
|
||||||
|
|
||||||
* `.with()`, `.with_async()` registration methods have been renamed to `.to()` and `.to_async()`.
|
- `.with()`, `.with_async()` registration methods have been renamed to `.to()` and `.to_async()`.
|
||||||
|
|
||||||
instead of
|
instead of
|
||||||
|
|
||||||
|
@ -277,7 +277,7 @@
|
||||||
App.new().service(web::resource("/welcome").to(welcome))
|
App.new().service(web::resource("/welcome").to(welcome))
|
||||||
```
|
```
|
||||||
|
|
||||||
* Passing arguments to handler with extractors, multiple arguments are allowed
|
- Passing arguments to handler with extractors, multiple arguments are allowed
|
||||||
|
|
||||||
instead of
|
instead of
|
||||||
|
|
||||||
|
@ -295,7 +295,7 @@
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
* `.f()`, `.a()` and `.h()` handler registration methods have been removed.
|
- `.f()`, `.a()` and `.h()` handler registration methods have been removed.
|
||||||
Use `.to()` for handlers and `.to_async()` for async handlers. Handler function
|
Use `.to()` for handlers and `.to_async()` for async handlers. Handler function
|
||||||
must use extractors.
|
must use extractors.
|
||||||
|
|
||||||
|
@ -311,7 +311,7 @@
|
||||||
App.new().service(web::resource("/welcome").to(welcome))
|
App.new().service(web::resource("/welcome").to(welcome))
|
||||||
```
|
```
|
||||||
|
|
||||||
* `HttpRequest` does not provide access to request's payload stream.
|
- `HttpRequest` does not provide access to request's payload stream.
|
||||||
|
|
||||||
instead of
|
instead of
|
||||||
|
|
||||||
|
@ -341,7 +341,7 @@
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
* `State` is now `Data`. You register Data during the App initialization process
|
- `State` is now `Data`. You register Data during the App initialization process
|
||||||
and then access it from handlers either using a Data extractor or using
|
and then access it from handlers either using a Data extractor or using
|
||||||
HttpRequest's api.
|
HttpRequest's api.
|
||||||
|
|
||||||
|
@ -377,7 +377,7 @@
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
* AsyncResponder is removed, use `.to_async()` registration method and `impl Future<>` as result type.
|
- AsyncResponder is removed, use `.to_async()` registration method and `impl Future<>` as result type.
|
||||||
|
|
||||||
instead of
|
instead of
|
||||||
|
|
||||||
|
@ -393,7 +393,7 @@
|
||||||
.. simply omit AsyncResponder and the corresponding responder() finish method
|
.. simply omit AsyncResponder and the corresponding responder() finish method
|
||||||
|
|
||||||
|
|
||||||
* Middleware
|
- Middleware
|
||||||
|
|
||||||
instead of
|
instead of
|
||||||
|
|
||||||
|
@ -410,7 +410,7 @@
|
||||||
.route("/index.html", web::get().to(index));
|
.route("/index.html", web::get().to(index));
|
||||||
```
|
```
|
||||||
|
|
||||||
* `HttpRequest::body()`, `HttpRequest::urlencoded()`, `HttpRequest::json()`, `HttpRequest::multipart()`
|
- `HttpRequest::body()`, `HttpRequest::urlencoded()`, `HttpRequest::json()`, `HttpRequest::multipart()`
|
||||||
method have been removed. Use `Bytes`, `String`, `Form`, `Json`, `Multipart` extractors instead.
|
method have been removed. Use `Bytes`, `String`, `Form`, `Json`, `Multipart` extractors instead.
|
||||||
|
|
||||||
instead of
|
instead of
|
||||||
|
@ -432,9 +432,9 @@
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
* `actix_web::server` module has been removed. To start http server use `actix_web::HttpServer` type
|
- `actix_web::server` module has been removed. To start http server use `actix_web::HttpServer` type
|
||||||
|
|
||||||
* StaticFiles and NamedFile have been moved to a separate crate.
|
- StaticFiles and NamedFile have been moved to a separate crate.
|
||||||
|
|
||||||
instead of `use actix_web::fs::StaticFile`
|
instead of `use actix_web::fs::StaticFile`
|
||||||
|
|
||||||
|
@ -444,20 +444,20 @@
|
||||||
|
|
||||||
use `use actix_files::NamedFile`
|
use `use actix_files::NamedFile`
|
||||||
|
|
||||||
* Multipart has been moved to a separate crate.
|
- Multipart has been moved to a separate crate.
|
||||||
|
|
||||||
instead of `use actix_web::multipart::Multipart`
|
instead of `use actix_web::multipart::Multipart`
|
||||||
|
|
||||||
use `use actix_multipart::Multipart`
|
use `use actix_multipart::Multipart`
|
||||||
|
|
||||||
* Response compression is not enabled by default.
|
- Response compression is not enabled by default.
|
||||||
To enable, use `Compress` middleware, `App::new().wrap(Compress::default())`.
|
To enable, use `Compress` middleware, `App::new().wrap(Compress::default())`.
|
||||||
|
|
||||||
* Session middleware moved to actix-session crate
|
- Session middleware moved to actix-session crate
|
||||||
|
|
||||||
* Actors support have been moved to `actix-web-actors` crate
|
- Actors support have been moved to `actix-web-actors` crate
|
||||||
|
|
||||||
* Custom Error
|
- Custom Error
|
||||||
|
|
||||||
Instead of error_response method alone, ResponseError now provides two methods: error_response and render_response respectively. Where, error_response creates the error response and render_response returns the error response to the caller.
|
Instead of error_response method alone, ResponseError now provides two methods: error_response and render_response respectively. Where, error_response creates the error response and render_response returns the error response to the caller.
|
||||||
|
|
||||||
|
@ -471,7 +471,7 @@
|
||||||
|
|
||||||
## 0.7.15
|
## 0.7.15
|
||||||
|
|
||||||
* The `' '` character is not percent decoded anymore before matching routes. If you need to use it in
|
- The `' '` character is not percent decoded anymore before matching routes. If you need to use it in
|
||||||
your routes, you should use `%20`.
|
your routes, you should use `%20`.
|
||||||
|
|
||||||
instead of
|
instead of
|
||||||
|
@ -496,18 +496,18 @@
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
* If you used `AsyncResult::async` you need to replace it with `AsyncResult::future`
|
- If you used `AsyncResult::async` you need to replace it with `AsyncResult::future`
|
||||||
|
|
||||||
|
|
||||||
## 0.7.4
|
## 0.7.4
|
||||||
|
|
||||||
* `Route::with_config()`/`Route::with_async_config()` always passes configuration objects as tuple
|
- `Route::with_config()`/`Route::with_async_config()` always passes configuration objects as tuple
|
||||||
even for handler with one parameter.
|
even for handler with one parameter.
|
||||||
|
|
||||||
|
|
||||||
## 0.7
|
## 0.7
|
||||||
|
|
||||||
* `HttpRequest` does not implement `Stream` anymore. If you need to read request payload
|
- `HttpRequest` does not implement `Stream` anymore. If you need to read request payload
|
||||||
use `HttpMessage::payload()` method.
|
use `HttpMessage::payload()` method.
|
||||||
|
|
||||||
instead of
|
instead of
|
||||||
|
@ -533,10 +533,10 @@
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
* [Middleware](https://actix.rs/actix-web/actix_web/middleware/trait.Middleware.html)
|
- [Middleware](https://actix.rs/actix-web/actix_web/middleware/trait.Middleware.html)
|
||||||
trait uses `&HttpRequest` instead of `&mut HttpRequest`.
|
trait uses `&HttpRequest` instead of `&mut HttpRequest`.
|
||||||
|
|
||||||
* Removed `Route::with2()` and `Route::with3()` use tuple of extractors instead.
|
- Removed `Route::with2()` and `Route::with3()` use tuple of extractors instead.
|
||||||
|
|
||||||
instead of
|
instead of
|
||||||
|
|
||||||
|
@ -550,17 +550,17 @@
|
||||||
fn index((query, json): (Query<..>, Json<MyStruct)) -> impl Responder {}
|
fn index((query, json): (Query<..>, Json<MyStruct)) -> impl Responder {}
|
||||||
```
|
```
|
||||||
|
|
||||||
* `Handler::handle()` uses `&self` instead of `&mut self`
|
- `Handler::handle()` uses `&self` instead of `&mut self`
|
||||||
|
|
||||||
* `Handler::handle()` accepts reference to `HttpRequest<_>` instead of value
|
- `Handler::handle()` accepts reference to `HttpRequest<_>` instead of value
|
||||||
|
|
||||||
* Removed deprecated `HttpServer::threads()`, use
|
- Removed deprecated `HttpServer::threads()`, use
|
||||||
[HttpServer::workers()](https://actix.rs/actix-web/actix_web/server/struct.HttpServer.html#method.workers) instead.
|
[HttpServer::workers()](https://actix.rs/actix-web/actix_web/server/struct.HttpServer.html#method.workers) instead.
|
||||||
|
|
||||||
* Renamed `client::ClientConnectorError::Connector` to
|
- Renamed `client::ClientConnectorError::Connector` to
|
||||||
`client::ClientConnectorError::Resolver`
|
`client::ClientConnectorError::Resolver`
|
||||||
|
|
||||||
* `Route::with()` does not return `ExtractorConfig`, to configure
|
- `Route::with()` does not return `ExtractorConfig`, to configure
|
||||||
extractor use `Route::with_config()`
|
extractor use `Route::with_config()`
|
||||||
|
|
||||||
instead of
|
instead of
|
||||||
|
@ -589,26 +589,26 @@
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
* `Route::with_async()` does not return `ExtractorConfig`, to configure
|
- `Route::with_async()` does not return `ExtractorConfig`, to configure
|
||||||
extractor use `Route::with_async_config()`
|
extractor use `Route::with_async_config()`
|
||||||
|
|
||||||
|
|
||||||
## 0.6
|
## 0.6
|
||||||
|
|
||||||
* `Path<T>` extractor return `ErrorNotFound` on failure instead of `ErrorBadRequest`
|
- `Path<T>` extractor return `ErrorNotFound` on failure instead of `ErrorBadRequest`
|
||||||
|
|
||||||
* `ws::Message::Close` now includes optional close reason.
|
- `ws::Message::Close` now includes optional close reason.
|
||||||
`ws::CloseCode::Status` and `ws::CloseCode::Empty` have been removed.
|
`ws::CloseCode::Status` and `ws::CloseCode::Empty` have been removed.
|
||||||
|
|
||||||
* `HttpServer::threads()` renamed to `HttpServer::workers()`.
|
- `HttpServer::threads()` renamed to `HttpServer::workers()`.
|
||||||
|
|
||||||
* `HttpServer::start_ssl()` and `HttpServer::start_tls()` deprecated.
|
- `HttpServer::start_ssl()` and `HttpServer::start_tls()` deprecated.
|
||||||
Use `HttpServer::bind_ssl()` and `HttpServer::bind_tls()` instead.
|
Use `HttpServer::bind_ssl()` and `HttpServer::bind_tls()` instead.
|
||||||
|
|
||||||
* `HttpRequest::extensions()` returns read only reference to the request's Extension
|
- `HttpRequest::extensions()` returns read only reference to the request's Extension
|
||||||
`HttpRequest::extensions_mut()` returns mutable reference.
|
`HttpRequest::extensions_mut()` returns mutable reference.
|
||||||
|
|
||||||
* Instead of
|
- Instead of
|
||||||
|
|
||||||
`use actix_web::middleware::{
|
`use actix_web::middleware::{
|
||||||
CookieSessionBackend, CookieSessionError, RequestSession,
|
CookieSessionBackend, CookieSessionError, RequestSession,
|
||||||
|
@ -619,15 +619,15 @@
|
||||||
`use actix_web::middleware::session{CookieSessionBackend, CookieSessionError,
|
`use actix_web::middleware::session{CookieSessionBackend, CookieSessionError,
|
||||||
RequestSession, Session, SessionBackend, SessionImpl, SessionStorage};`
|
RequestSession, Session, SessionBackend, SessionImpl, SessionStorage};`
|
||||||
|
|
||||||
* `FromRequest::from_request()` accepts mutable reference to a request
|
- `FromRequest::from_request()` accepts mutable reference to a request
|
||||||
|
|
||||||
* `FromRequest::Result` has to implement `Into<Reply<Self>>`
|
- `FromRequest::Result` has to implement `Into<Reply<Self>>`
|
||||||
|
|
||||||
* [`Responder::respond_to()`](
|
- [`Responder::respond_to()`](
|
||||||
https://actix.rs/actix-web/actix_web/trait.Responder.html#tymethod.respond_to)
|
https://actix.rs/actix-web/actix_web/trait.Responder.html#tymethod.respond_to)
|
||||||
is generic over `S`
|
is generic over `S`
|
||||||
|
|
||||||
* Use `Query` extractor instead of HttpRequest::query()`.
|
- Use `Query` extractor instead of HttpRequest::query()`.
|
||||||
|
|
||||||
```rust
|
```rust
|
||||||
fn index(q: Query<HashMap<String, String>>) -> Result<..> {
|
fn index(q: Query<HashMap<String, String>>) -> Result<..> {
|
||||||
|
@ -641,37 +641,37 @@
|
||||||
let q = Query::<HashMap<String, String>>::extract(req);
|
let q = Query::<HashMap<String, String>>::extract(req);
|
||||||
```
|
```
|
||||||
|
|
||||||
* Websocket operations are implemented as `WsWriter` trait.
|
- Websocket operations are implemented as `WsWriter` trait.
|
||||||
you need to use `use actix_web::ws::WsWriter`
|
you need to use `use actix_web::ws::WsWriter`
|
||||||
|
|
||||||
|
|
||||||
## 0.5
|
## 0.5
|
||||||
|
|
||||||
* `HttpResponseBuilder::body()`, `.finish()`, `.json()`
|
- `HttpResponseBuilder::body()`, `.finish()`, `.json()`
|
||||||
methods return `HttpResponse` instead of `Result<HttpResponse>`
|
methods return `HttpResponse` instead of `Result<HttpResponse>`
|
||||||
|
|
||||||
* `actix_web::Method`, `actix_web::StatusCode`, `actix_web::Version`
|
- `actix_web::Method`, `actix_web::StatusCode`, `actix_web::Version`
|
||||||
moved to `actix_web::http` module
|
moved to `actix_web::http` module
|
||||||
|
|
||||||
* `actix_web::header` moved to `actix_web::http::header`
|
- `actix_web::header` moved to `actix_web::http::header`
|
||||||
|
|
||||||
* `NormalizePath` moved to `actix_web::http` module
|
- `NormalizePath` moved to `actix_web::http` module
|
||||||
|
|
||||||
* `HttpServer` moved to `actix_web::server`, added new `actix_web::server::new()` function,
|
- `HttpServer` moved to `actix_web::server`, added new `actix_web::server::new()` function,
|
||||||
shortcut for `actix_web::server::HttpServer::new()`
|
shortcut for `actix_web::server::HttpServer::new()`
|
||||||
|
|
||||||
* `DefaultHeaders` middleware does not use separate builder, all builder methods moved to type itself
|
- `DefaultHeaders` middleware does not use separate builder, all builder methods moved to type itself
|
||||||
|
|
||||||
* `StaticFiles::new()`'s show_index parameter removed, use `show_files_listing()` method instead.
|
- `StaticFiles::new()`'s show_index parameter removed, use `show_files_listing()` method instead.
|
||||||
|
|
||||||
* `CookieSessionBackendBuilder` removed, all methods moved to `CookieSessionBackend` type
|
- `CookieSessionBackendBuilder` removed, all methods moved to `CookieSessionBackend` type
|
||||||
|
|
||||||
* `actix_web::httpcodes` module is deprecated, `HttpResponse::Ok()`, `HttpResponse::Found()` and other `HttpResponse::XXX()`
|
- `actix_web::httpcodes` module is deprecated, `HttpResponse::Ok()`, `HttpResponse::Found()` and other `HttpResponse::XXX()`
|
||||||
functions should be used instead
|
functions should be used instead
|
||||||
|
|
||||||
* `ClientRequestBuilder::body()` returns `Result<_, actix_web::Error>`
|
- `ClientRequestBuilder::body()` returns `Result<_, actix_web::Error>`
|
||||||
instead of `Result<_, http::Error>`
|
instead of `Result<_, http::Error>`
|
||||||
|
|
||||||
* `Application` renamed to a `App`
|
- `Application` renamed to a `App`
|
||||||
|
|
||||||
* `actix_web::Reply`, `actix_web::Resource` moved to `actix_web::dev`
|
- `actix_web::Reply`, `actix_web::Resource` moved to `actix_web::dev`
|
||||||
|
|
60
README.md
60
README.md
|
@ -21,25 +21,25 @@
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
* Supports *HTTP/1.x* and *HTTP/2*
|
- Supports *HTTP/1.x* and *HTTP/2*
|
||||||
* Streaming and pipelining
|
- Streaming and pipelining
|
||||||
* Keep-alive and slow requests handling
|
- Keep-alive and slow requests handling
|
||||||
* Client/server [WebSockets](https://actix.rs/docs/websockets/) support
|
- Client/server [WebSockets](https://actix.rs/docs/websockets/) support
|
||||||
* Transparent content compression/decompression (br, gzip, deflate, zstd)
|
- Transparent content compression/decompression (br, gzip, deflate, zstd)
|
||||||
* Powerful [request routing](https://actix.rs/docs/url-dispatch/)
|
- Powerful [request routing](https://actix.rs/docs/url-dispatch/)
|
||||||
* Multipart streams
|
- Multipart streams
|
||||||
* Static assets
|
- Static assets
|
||||||
* SSL support using OpenSSL or Rustls
|
- SSL support using OpenSSL or Rustls
|
||||||
* Middlewares ([Logger, Session, CORS, etc](https://actix.rs/docs/middleware/))
|
- Middlewares ([Logger, Session, CORS, etc](https://actix.rs/docs/middleware/))
|
||||||
* Includes an async [HTTP client](https://docs.rs/awc/)
|
- Includes an async [HTTP client](https://docs.rs/awc/)
|
||||||
* Runs on stable Rust 1.52+
|
- Runs on stable Rust 1.52+
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
* [Website & User Guide](https://actix.rs)
|
- [Website & User Guide](https://actix.rs)
|
||||||
* [Examples Repository](https://github.com/actix/examples)
|
- [Examples Repository](https://github.com/actix/examples)
|
||||||
* [API Documentation](https://docs.rs/actix-web)
|
- [API Documentation](https://docs.rs/actix-web)
|
||||||
* [API Documentation (master branch)](https://actix.rs/actix-web/actix_web)
|
- [API Documentation (master branch)](https://actix.rs/actix-web/actix_web)
|
||||||
|
|
||||||
## Example
|
## Example
|
||||||
|
|
||||||
|
@ -71,18 +71,18 @@ async fn main() -> std::io::Result<()> {
|
||||||
|
|
||||||
### More examples
|
### More examples
|
||||||
|
|
||||||
* [Basic Setup](https://github.com/actix/examples/tree/master/basics/basics/)
|
- [Basic Setup](https://github.com/actix/examples/tree/master/basics/basics/)
|
||||||
* [Application State](https://github.com/actix/examples/tree/master/basics/state/)
|
- [Application State](https://github.com/actix/examples/tree/master/basics/state/)
|
||||||
* [JSON Handling](https://github.com/actix/examples/tree/master/json/json/)
|
- [JSON Handling](https://github.com/actix/examples/tree/master/json/json/)
|
||||||
* [Multipart Streams](https://github.com/actix/examples/tree/master/forms/multipart/)
|
- [Multipart Streams](https://github.com/actix/examples/tree/master/forms/multipart/)
|
||||||
* [Diesel Integration](https://github.com/actix/examples/tree/master/database_interactions/diesel/)
|
- [Diesel Integration](https://github.com/actix/examples/tree/master/database_interactions/diesel/)
|
||||||
* [r2d2 Integration](https://github.com/actix/examples/tree/master/database_interactions/r2d2/)
|
- [r2d2 Integration](https://github.com/actix/examples/tree/master/database_interactions/r2d2/)
|
||||||
* [Simple WebSocket](https://github.com/actix/examples/tree/master/websockets/websocket/)
|
- [Simple WebSocket](https://github.com/actix/examples/tree/master/websockets/websocket/)
|
||||||
* [Tera Templates](https://github.com/actix/examples/tree/master/template_engines/tera/)
|
- [Tera Templates](https://github.com/actix/examples/tree/master/template_engines/tera/)
|
||||||
* [Askama Templates](https://github.com/actix/examples/tree/master/template_engines/askama/)
|
- [Askama Templates](https://github.com/actix/examples/tree/master/template_engines/askama/)
|
||||||
* [HTTPS using Rustls](https://github.com/actix/examples/tree/master/security/rustls/)
|
- [HTTPS using Rustls](https://github.com/actix/examples/tree/master/security/rustls/)
|
||||||
* [HTTPS using OpenSSL](https://github.com/actix/examples/tree/master/security/openssl/)
|
- [HTTPS using OpenSSL](https://github.com/actix/examples/tree/master/security/openssl/)
|
||||||
* [WebSocket Chat](https://github.com/actix/examples/tree/master/websockets/chat/)
|
- [WebSocket Chat](https://github.com/actix/examples/tree/master/websockets/chat/)
|
||||||
|
|
||||||
You may consider checking out
|
You may consider checking out
|
||||||
[this directory](https://github.com/actix/examples/tree/master/) for more examples.
|
[this directory](https://github.com/actix/examples/tree/master/) for more examples.
|
||||||
|
@ -96,9 +96,9 @@ One of the fastest web frameworks available according to the
|
||||||
|
|
||||||
This project is licensed under either of
|
This project is licensed under either of
|
||||||
|
|
||||||
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or
|
- Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or
|
||||||
[http://www.apache.org/licenses/LICENSE-2.0])
|
[http://www.apache.org/licenses/LICENSE-2.0])
|
||||||
* MIT license ([LICENSE-MIT](LICENSE-MIT) or
|
- MIT license ([LICENSE-MIT](LICENSE-MIT) or
|
||||||
[http://opensource.org/licenses/MIT])
|
[http://opensource.org/licenses/MIT])
|
||||||
|
|
||||||
at your option.
|
at your option.
|
||||||
|
|
|
@ -4,42 +4,42 @@
|
||||||
|
|
||||||
|
|
||||||
## 0.6.0-beta.10 - 2021-12-11
|
## 0.6.0-beta.10 - 2021-12-11
|
||||||
* No significant changes since `0.6.0-beta.9`.
|
- No significant changes since `0.6.0-beta.9`.
|
||||||
|
|
||||||
|
|
||||||
## 0.6.0-beta.9 - 2021-11-22
|
## 0.6.0-beta.9 - 2021-11-22
|
||||||
* Add crate feature `experimental-io-uring`, enabling async file I/O to be utilized. This feature is only available on Linux OSes with recent kernel versions. This feature is semver-exempt. [#2408]
|
- Add crate feature `experimental-io-uring`, enabling async file I/O to be utilized. This feature is only available on Linux OSes with recent kernel versions. This feature is semver-exempt. [#2408]
|
||||||
* Add `NamedFile::open_async`. [#2408]
|
- Add `NamedFile::open_async`. [#2408]
|
||||||
* Fix 304 Not Modified responses to omit the Content-Length header, as per the spec. [#2453]
|
- Fix 304 Not Modified responses to omit the Content-Length header, as per the spec. [#2453]
|
||||||
* The `Responder` impl for `NamedFile` now has a boxed future associated type. [#2408]
|
- The `Responder` impl for `NamedFile` now has a boxed future associated type. [#2408]
|
||||||
* The `Service` impl for `NamedFileService` now has a boxed future associated type. [#2408]
|
- The `Service` impl for `NamedFileService` now has a boxed future associated type. [#2408]
|
||||||
* Add `impl Clone` for `FilesService`. [#2408]
|
- Add `impl Clone` for `FilesService`. [#2408]
|
||||||
|
|
||||||
[#2408]: https://github.com/actix/actix-web/pull/2408
|
[#2408]: https://github.com/actix/actix-web/pull/2408
|
||||||
[#2453]: https://github.com/actix/actix-web/pull/2453
|
[#2453]: https://github.com/actix/actix-web/pull/2453
|
||||||
|
|
||||||
|
|
||||||
## 0.6.0-beta.8 - 2021-10-20
|
## 0.6.0-beta.8 - 2021-10-20
|
||||||
* Minimum supported Rust version (MSRV) is now 1.52.
|
- Minimum supported Rust version (MSRV) is now 1.52.
|
||||||
|
|
||||||
|
|
||||||
## 0.6.0-beta.7 - 2021-09-09
|
## 0.6.0-beta.7 - 2021-09-09
|
||||||
* Minimum supported Rust version (MSRV) is now 1.51.
|
- Minimum supported Rust version (MSRV) is now 1.51.
|
||||||
|
|
||||||
|
|
||||||
## 0.6.0-beta.6 - 2021-06-26
|
## 0.6.0-beta.6 - 2021-06-26
|
||||||
* Added `Files::path_filter()`. [#2274]
|
- Added `Files::path_filter()`. [#2274]
|
||||||
* `Files::show_files_listing()` can now be used with `Files::index_file()` to show files listing as a fallback when the index file is not found. [#2228]
|
- `Files::show_files_listing()` can now be used with `Files::index_file()` to show files listing as a fallback when the index file is not found. [#2228]
|
||||||
|
|
||||||
[#2274]: https://github.com/actix/actix-web/pull/2274
|
[#2274]: https://github.com/actix/actix-web/pull/2274
|
||||||
[#2228]: https://github.com/actix/actix-web/pull/2228
|
[#2228]: https://github.com/actix/actix-web/pull/2228
|
||||||
|
|
||||||
|
|
||||||
## 0.6.0-beta.5 - 2021-06-17
|
## 0.6.0-beta.5 - 2021-06-17
|
||||||
* `NamedFile` now implements `ServiceFactory` and `HttpServiceFactory` making it much more useful in routing. For example, it can be used directly as a default service. [#2135]
|
- `NamedFile` now implements `ServiceFactory` and `HttpServiceFactory` making it much more useful in routing. For example, it can be used directly as a default service. [#2135]
|
||||||
* For symbolic links, `Content-Disposition` header no longer shows the filename of the original file. [#2156]
|
- For symbolic links, `Content-Disposition` header no longer shows the filename of the original file. [#2156]
|
||||||
* `Files::redirect_to_slash_directory()` now works as expected when used with `Files::show_files_listing()`. [#2225]
|
- `Files::redirect_to_slash_directory()` now works as expected when used with `Files::show_files_listing()`. [#2225]
|
||||||
* `application/{javascript, json, wasm}` mime type now have `inline` disposition by default. [#2257]
|
- `application/{javascript, json, wasm}` mime type now have `inline` disposition by default. [#2257]
|
||||||
|
|
||||||
[#2135]: https://github.com/actix/actix-web/pull/2135
|
[#2135]: https://github.com/actix/actix-web/pull/2135
|
||||||
[#2156]: https://github.com/actix/actix-web/pull/2156
|
[#2156]: https://github.com/actix/actix-web/pull/2156
|
||||||
|
@ -48,130 +48,130 @@
|
||||||
|
|
||||||
|
|
||||||
## 0.6.0-beta.4 - 2021-04-02
|
## 0.6.0-beta.4 - 2021-04-02
|
||||||
* Add support for `.guard` in `Files` to selectively filter `Files` services. [#2046]
|
- Add support for `.guard` in `Files` to selectively filter `Files` services. [#2046]
|
||||||
|
|
||||||
[#2046]: https://github.com/actix/actix-web/pull/2046
|
[#2046]: https://github.com/actix/actix-web/pull/2046
|
||||||
|
|
||||||
|
|
||||||
## 0.6.0-beta.3 - 2021-03-09
|
## 0.6.0-beta.3 - 2021-03-09
|
||||||
* No notable changes.
|
- No notable changes.
|
||||||
|
|
||||||
|
|
||||||
## 0.6.0-beta.2 - 2021-02-10
|
## 0.6.0-beta.2 - 2021-02-10
|
||||||
* Fix If-Modified-Since and If-Unmodified-Since to not compare using sub-second timestamps. [#1887]
|
- Fix If-Modified-Since and If-Unmodified-Since to not compare using sub-second timestamps. [#1887]
|
||||||
* Replace `v_htmlescape` with `askama_escape`. [#1953]
|
- Replace `v_htmlescape` with `askama_escape`. [#1953]
|
||||||
|
|
||||||
[#1887]: https://github.com/actix/actix-web/pull/1887
|
[#1887]: https://github.com/actix/actix-web/pull/1887
|
||||||
[#1953]: https://github.com/actix/actix-web/pull/1953
|
[#1953]: https://github.com/actix/actix-web/pull/1953
|
||||||
|
|
||||||
|
|
||||||
## 0.6.0-beta.1 - 2021-01-07
|
## 0.6.0-beta.1 - 2021-01-07
|
||||||
* `HttpRange::parse` now has its own error type.
|
- `HttpRange::parse` now has its own error type.
|
||||||
* Update `bytes` to `1.0`. [#1813]
|
- Update `bytes` to `1.0`. [#1813]
|
||||||
|
|
||||||
[#1813]: https://github.com/actix/actix-web/pull/1813
|
[#1813]: https://github.com/actix/actix-web/pull/1813
|
||||||
|
|
||||||
|
|
||||||
## 0.5.0 - 2020-12-26
|
## 0.5.0 - 2020-12-26
|
||||||
* Optionally support hidden files/directories. [#1811]
|
- Optionally support hidden files/directories. [#1811]
|
||||||
|
|
||||||
[#1811]: https://github.com/actix/actix-web/pull/1811
|
[#1811]: https://github.com/actix/actix-web/pull/1811
|
||||||
|
|
||||||
|
|
||||||
## 0.4.1 - 2020-11-24
|
## 0.4.1 - 2020-11-24
|
||||||
* Clarify order of parameters in `Files::new` and improve docs.
|
- Clarify order of parameters in `Files::new` and improve docs.
|
||||||
|
|
||||||
|
|
||||||
## 0.4.0 - 2020-10-06
|
## 0.4.0 - 2020-10-06
|
||||||
* Add `Files::prefer_utf8` option that adds UTF-8 charset on certain response types. [#1714]
|
- Add `Files::prefer_utf8` option that adds UTF-8 charset on certain response types. [#1714]
|
||||||
|
|
||||||
[#1714]: https://github.com/actix/actix-web/pull/1714
|
[#1714]: https://github.com/actix/actix-web/pull/1714
|
||||||
|
|
||||||
|
|
||||||
## 0.3.0 - 2020-09-11
|
## 0.3.0 - 2020-09-11
|
||||||
* No significant changes from 0.3.0-beta.1.
|
- No significant changes from 0.3.0-beta.1.
|
||||||
|
|
||||||
|
|
||||||
## 0.3.0-beta.1 - 2020-07-15
|
## 0.3.0-beta.1 - 2020-07-15
|
||||||
* Update `v_htmlescape` to 0.10
|
- Update `v_htmlescape` to 0.10
|
||||||
* Update `actix-web` and `actix-http` dependencies to beta.1
|
- Update `actix-web` and `actix-http` dependencies to beta.1
|
||||||
|
|
||||||
|
|
||||||
## 0.3.0-alpha.1 - 2020-05-23
|
## 0.3.0-alpha.1 - 2020-05-23
|
||||||
* Update `actix-web` and `actix-http` dependencies to alpha
|
- Update `actix-web` and `actix-http` dependencies to alpha
|
||||||
* Fix some typos in the docs
|
- Fix some typos in the docs
|
||||||
* Bump minimum supported Rust version to 1.40
|
- Bump minimum supported Rust version to 1.40
|
||||||
* Support sending Content-Length when Content-Range is specified [#1384]
|
- Support sending Content-Length when Content-Range is specified [#1384]
|
||||||
|
|
||||||
[#1384]: https://github.com/actix/actix-web/pull/1384
|
[#1384]: https://github.com/actix/actix-web/pull/1384
|
||||||
|
|
||||||
|
|
||||||
## 0.2.1 - 2019-12-22
|
## 0.2.1 - 2019-12-22
|
||||||
* Use the same format for file URLs regardless of platforms
|
- Use the same format for file URLs regardless of platforms
|
||||||
|
|
||||||
|
|
||||||
## 0.2.0 - 2019-12-20
|
## 0.2.0 - 2019-12-20
|
||||||
* Fix BodyEncoding trait import #1220
|
- Fix BodyEncoding trait import #1220
|
||||||
|
|
||||||
|
|
||||||
## 0.2.0-alpha.1 - 2019-12-07
|
## 0.2.0-alpha.1 - 2019-12-07
|
||||||
* Migrate to `std::future`
|
- Migrate to `std::future`
|
||||||
|
|
||||||
|
|
||||||
## 0.1.7 - 2019-11-06
|
## 0.1.7 - 2019-11-06
|
||||||
* Add an additional `filename*` param in the `Content-Disposition` header of
|
- Add an additional `filename*` param in the `Content-Disposition` header of
|
||||||
`actix_files::NamedFile` to be more compatible. (#1151)
|
`actix_files::NamedFile` to be more compatible. (#1151)
|
||||||
|
|
||||||
## 0.1.6 - 2019-10-14
|
## 0.1.6 - 2019-10-14
|
||||||
* Add option to redirect to a slash-ended path `Files` #1132
|
- Add option to redirect to a slash-ended path `Files` #1132
|
||||||
|
|
||||||
|
|
||||||
## 0.1.5 - 2019-10-08
|
## 0.1.5 - 2019-10-08
|
||||||
* Bump up `mime_guess` crate version to 2.0.1
|
- Bump up `mime_guess` crate version to 2.0.1
|
||||||
* Bump up `percent-encoding` crate version to 2.1
|
- Bump up `percent-encoding` crate version to 2.1
|
||||||
* Allow user defined request guards for `Files` #1113
|
- Allow user defined request guards for `Files` #1113
|
||||||
|
|
||||||
|
|
||||||
## 0.1.4 - 2019-07-20
|
## 0.1.4 - 2019-07-20
|
||||||
* Allow to disable `Content-Disposition` header #686
|
- Allow to disable `Content-Disposition` header #686
|
||||||
|
|
||||||
|
|
||||||
## 0.1.3 - 2019-06-28
|
## 0.1.3 - 2019-06-28
|
||||||
* Do not set `Content-Length` header, let actix-http set it #930
|
- Do not set `Content-Length` header, let actix-http set it #930
|
||||||
|
|
||||||
|
|
||||||
## 0.1.2 - 2019-06-13
|
## 0.1.2 - 2019-06-13
|
||||||
* Content-Length is 0 for NamedFile HEAD request #914
|
- Content-Length is 0 for NamedFile HEAD request #914
|
||||||
* Fix ring dependency from actix-web default features for #741
|
- Fix ring dependency from actix-web default features for #741
|
||||||
|
|
||||||
|
|
||||||
## 0.1.1 - 2019-06-01
|
## 0.1.1 - 2019-06-01
|
||||||
* Static files are incorrectly served as both chunked and with length #812
|
- Static files are incorrectly served as both chunked and with length #812
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0 - 2019-05-25
|
## 0.1.0 - 2019-05-25
|
||||||
* NamedFile last-modified check always fails due to nano-seconds in file modified date #820
|
- NamedFile last-modified check always fails due to nano-seconds in file modified date #820
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-beta.4 - 2019-05-12
|
## 0.1.0-beta.4 - 2019-05-12
|
||||||
* Update actix-web to beta.4
|
- Update actix-web to beta.4
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-beta.1 - 2019-04-20
|
## 0.1.0-beta.1 - 2019-04-20
|
||||||
* Update actix-web to beta.1
|
- Update actix-web to beta.1
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-alpha.6 - 2019-04-14
|
## 0.1.0-alpha.6 - 2019-04-14
|
||||||
* Update actix-web to alpha6
|
- Update actix-web to alpha6
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-alpha.4 - 2019-04-08
|
## 0.1.0-alpha.4 - 2019-04-08
|
||||||
* Update actix-web to alpha4
|
- Update actix-web to alpha4
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-alpha.2 - 2019-04-02
|
## 0.1.0-alpha.2 - 2019-04-02
|
||||||
* Add default handler support
|
- Add default handler support
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-alpha.1 - 2019-03-28
|
## 0.1.0-alpha.1 - 2019-03-28
|
||||||
* Initial impl
|
- Initial impl
|
||||||
|
|
|
@ -4,125 +4,125 @@
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.9 - 2021-12-11
|
## 3.0.0-beta.9 - 2021-12-11
|
||||||
* No significant changes since `3.0.0-beta.8`.
|
- No significant changes since `3.0.0-beta.8`.
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.8 - 2021-11-30
|
## 3.0.0-beta.8 - 2021-11-30
|
||||||
* Update `actix-tls` to `3.0.0-rc.1`. [#2474]
|
- Update `actix-tls` to `3.0.0-rc.1`. [#2474]
|
||||||
|
|
||||||
[#2474]: https://github.com/actix/actix-web/pull/2474
|
[#2474]: https://github.com/actix/actix-web/pull/2474
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.7 - 2021-11-22
|
## 3.0.0-beta.7 - 2021-11-22
|
||||||
* Fix compatibility with experimental `io-uring` feature of `actix-rt`. [#2408]
|
- Fix compatibility with experimental `io-uring` feature of `actix-rt`. [#2408]
|
||||||
|
|
||||||
[#2408]: https://github.com/actix/actix-web/pull/2408
|
[#2408]: https://github.com/actix/actix-web/pull/2408
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.6 - 2021-11-15
|
## 3.0.0-beta.6 - 2021-11-15
|
||||||
* `TestServer::stop` is now async and will wait for the server and system to shutdown. [#2442]
|
- `TestServer::stop` is now async and will wait for the server and system to shutdown. [#2442]
|
||||||
* Update `actix-server` to `2.0.0-beta.9`. [#2442]
|
- Update `actix-server` to `2.0.0-beta.9`. [#2442]
|
||||||
* Minimum supported Rust version (MSRV) is now 1.52.
|
- Minimum supported Rust version (MSRV) is now 1.52.
|
||||||
|
|
||||||
[#2442]: https://github.com/actix/actix-web/pull/2442
|
[#2442]: https://github.com/actix/actix-web/pull/2442
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.5 - 2021-09-09
|
## 3.0.0-beta.5 - 2021-09-09
|
||||||
* Minimum supported Rust version (MSRV) is now 1.51.
|
- Minimum supported Rust version (MSRV) is now 1.51.
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.4 - 2021-04-02
|
## 3.0.0-beta.4 - 2021-04-02
|
||||||
* Added `TestServer::client_headers` method. [#2097]
|
- Added `TestServer::client_headers` method. [#2097]
|
||||||
|
|
||||||
[#2097]: https://github.com/actix/actix-web/pull/2097
|
[#2097]: https://github.com/actix/actix-web/pull/2097
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.3 - 2021-03-09
|
## 3.0.0-beta.3 - 2021-03-09
|
||||||
* No notable changes.
|
- No notable changes.
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.2 - 2021-02-10
|
## 3.0.0-beta.2 - 2021-02-10
|
||||||
* No notable changes.
|
- No notable changes.
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.1 - 2021-01-07
|
## 3.0.0-beta.1 - 2021-01-07
|
||||||
* Update `bytes` to `1.0`. [#1813]
|
- Update `bytes` to `1.0`. [#1813]
|
||||||
|
|
||||||
[#1813]: https://github.com/actix/actix-web/pull/1813
|
[#1813]: https://github.com/actix/actix-web/pull/1813
|
||||||
|
|
||||||
|
|
||||||
## 2.1.0 - 2020-11-25
|
## 2.1.0 - 2020-11-25
|
||||||
* Add ability to set address for `TestServer`. [#1645]
|
- Add ability to set address for `TestServer`. [#1645]
|
||||||
* Upgrade `base64` to `0.13`.
|
- Upgrade `base64` to `0.13`.
|
||||||
* Upgrade `serde_urlencoded` to `0.7`. [#1773]
|
- Upgrade `serde_urlencoded` to `0.7`. [#1773]
|
||||||
|
|
||||||
[#1773]: https://github.com/actix/actix-web/pull/1773
|
[#1773]: https://github.com/actix/actix-web/pull/1773
|
||||||
[#1645]: https://github.com/actix/actix-web/pull/1645
|
[#1645]: https://github.com/actix/actix-web/pull/1645
|
||||||
|
|
||||||
|
|
||||||
## 2.0.0 - 2020-09-11
|
## 2.0.0 - 2020-09-11
|
||||||
* Update actix-codec and actix-utils dependencies.
|
- Update actix-codec and actix-utils dependencies.
|
||||||
|
|
||||||
|
|
||||||
## 2.0.0-alpha.1 - 2020-05-23
|
## 2.0.0-alpha.1 - 2020-05-23
|
||||||
* Update the `time` dependency to 0.2.7
|
- Update the `time` dependency to 0.2.7
|
||||||
* Update `actix-connect` dependency to 2.0.0-alpha.2
|
- Update `actix-connect` dependency to 2.0.0-alpha.2
|
||||||
* Make `test_server` `async` fn.
|
- Make `test_server` `async` fn.
|
||||||
* Bump minimum supported Rust version to 1.40
|
- Bump minimum supported Rust version to 1.40
|
||||||
* Replace deprecated `net2` crate with `socket2`
|
- Replace deprecated `net2` crate with `socket2`
|
||||||
* Update `base64` dependency to 0.12
|
- Update `base64` dependency to 0.12
|
||||||
* Update `env_logger` dependency to 0.7
|
- Update `env_logger` dependency to 0.7
|
||||||
|
|
||||||
## 1.0.0 - 2019-12-13
|
## 1.0.0 - 2019-12-13
|
||||||
* Replaced `TestServer::start()` with `test_server()`
|
- Replaced `TestServer::start()` with `test_server()`
|
||||||
|
|
||||||
|
|
||||||
## 1.0.0-alpha.3 - 2019-12-07
|
## 1.0.0-alpha.3 - 2019-12-07
|
||||||
* Migrate to `std::future`
|
- Migrate to `std::future`
|
||||||
|
|
||||||
|
|
||||||
## 0.2.5 - 2019-09-17
|
## 0.2.5 - 2019-09-17
|
||||||
* Update serde_urlencoded to "0.6.1"
|
- Update serde_urlencoded to "0.6.1"
|
||||||
* Increase TestServerRuntime timeouts from 500ms to 3000ms
|
- Increase TestServerRuntime timeouts from 500ms to 3000ms
|
||||||
* Do not override current `System`
|
- Do not override current `System`
|
||||||
|
|
||||||
|
|
||||||
## 0.2.4 - 2019-07-18
|
## 0.2.4 - 2019-07-18
|
||||||
* Update actix-server to 0.6
|
- Update actix-server to 0.6
|
||||||
|
|
||||||
|
|
||||||
## 0.2.3 - 2019-07-16
|
## 0.2.3 - 2019-07-16
|
||||||
* Add `delete`, `options`, `patch` methods to `TestServerRunner`
|
- Add `delete`, `options`, `patch` methods to `TestServerRunner`
|
||||||
|
|
||||||
|
|
||||||
## 0.2.2 - 2019-06-16
|
## 0.2.2 - 2019-06-16
|
||||||
* Add .put() and .sput() methods
|
- Add .put() and .sput() methods
|
||||||
|
|
||||||
|
|
||||||
## 0.2.1 - 2019-06-05
|
## 0.2.1 - 2019-06-05
|
||||||
* Add license files
|
- Add license files
|
||||||
|
|
||||||
|
|
||||||
## 0.2.0 - 2019-05-12
|
## 0.2.0 - 2019-05-12
|
||||||
* Update awc and actix-http deps
|
- Update awc and actix-http deps
|
||||||
|
|
||||||
|
|
||||||
## 0.1.1 - 2019-04-24
|
## 0.1.1 - 2019-04-24
|
||||||
* Always make new connection for http client
|
- Always make new connection for http client
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0 - 2019-04-16
|
## 0.1.0 - 2019-04-16
|
||||||
* No changes
|
- No changes
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-alpha.3 - 2019-04-02
|
## 0.1.0-alpha.3 - 2019-04-02
|
||||||
* Request functions accept path #743
|
- Request functions accept path #743
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-alpha.2 - 2019-03-29
|
## 0.1.0-alpha.2 - 2019-03-29
|
||||||
* Added TestServerRuntime::load_body() method
|
- Added TestServerRuntime::load_body() method
|
||||||
* Update actix-http and awc libraries
|
- Update actix-http and awc libraries
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-alpha.1 - 2019-03-28
|
## 0.1.0-alpha.1 - 2019-03-28
|
||||||
* Initial impl
|
- Initial impl
|
||||||
|
|
|
@ -2,22 +2,22 @@
|
||||||
|
|
||||||
## Unreleased - 2021-xx-xx
|
## Unreleased - 2021-xx-xx
|
||||||
### Changes
|
### Changes
|
||||||
* `HeaderMap::get_all` now returns a `std::slice::Iter`. [#2527]
|
- `HeaderMap::get_all` now returns a `std::slice::Iter`. [#2527]
|
||||||
|
|
||||||
[#2527]: https://github.com/actix/actix-web/pull/2527
|
[#2527]: https://github.com/actix/actix-web/pull/2527
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.16 - 2021-12-17
|
## 3.0.0-beta.16 - 2021-12-17
|
||||||
### Added
|
### Added
|
||||||
* New method on `MessageBody` trait, `try_into_bytes`, with default implementation, for optimizations on body types that complete in exactly one poll. Replaces `is_complete_body` and `take_complete_body`. [#2522]
|
- New method on `MessageBody` trait, `try_into_bytes`, with default implementation, for optimizations on body types that complete in exactly one poll. Replaces `is_complete_body` and `take_complete_body`. [#2522]
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* Rename trait `IntoHeaderPair => TryIntoHeaderPair`. [#2510]
|
- Rename trait `IntoHeaderPair => TryIntoHeaderPair`. [#2510]
|
||||||
* Rename `TryIntoHeaderPair::{try_into_header_pair => try_into_pair}`. [#2510]
|
- Rename `TryIntoHeaderPair::{try_into_header_pair => try_into_pair}`. [#2510]
|
||||||
* Rename trait `IntoHeaderValue => TryIntoHeaderValue`. [#2510]
|
- Rename trait `IntoHeaderValue => TryIntoHeaderValue`. [#2510]
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
* `MessageBody::{is_complete_body,take_complete_body}`. [#2522]
|
- `MessageBody::{is_complete_body,take_complete_body}`. [#2522]
|
||||||
|
|
||||||
[#2510]: https://github.com/actix/actix-web/pull/2510
|
[#2510]: https://github.com/actix/actix-web/pull/2510
|
||||||
[#2522]: https://github.com/actix/actix-web/pull/2522
|
[#2522]: https://github.com/actix/actix-web/pull/2522
|
||||||
|
@ -25,43 +25,43 @@
|
||||||
|
|
||||||
## 3.0.0-beta.15 - 2021-12-11
|
## 3.0.0-beta.15 - 2021-12-11
|
||||||
### Added
|
### Added
|
||||||
* Add timeout for canceling HTTP/2 server side connection handshake. Default to 5 seconds. [#2483]
|
- Add timeout for canceling HTTP/2 server side connection handshake. Default to 5 seconds. [#2483]
|
||||||
* HTTP/2 handshake timeout can be configured with `ServiceConfig::client_timeout`. [#2483]
|
- HTTP/2 handshake timeout can be configured with `ServiceConfig::client_timeout`. [#2483]
|
||||||
* `Response::map_into_boxed_body`. [#2468]
|
- `Response::map_into_boxed_body`. [#2468]
|
||||||
* `body::EitherBody` enum. [#2468]
|
- `body::EitherBody` enum. [#2468]
|
||||||
* `body::None` struct. [#2468]
|
- `body::None` struct. [#2468]
|
||||||
* Impl `MessageBody` for `bytestring::ByteString`. [#2468]
|
- Impl `MessageBody` for `bytestring::ByteString`. [#2468]
|
||||||
* `impl Clone for ws::HandshakeError`. [#2468]
|
- `impl Clone for ws::HandshakeError`. [#2468]
|
||||||
* `#[must_use]` for `ws::Codec` to prevent subtle bugs. [#1920]
|
- `#[must_use]` for `ws::Codec` to prevent subtle bugs. [#1920]
|
||||||
* `impl Default ` for `ws::Codec`. [#1920]
|
- `impl Default ` for `ws::Codec`. [#1920]
|
||||||
* `header::QualityItem::{max, min}`. [#2486]
|
- `header::QualityItem::{max, min}`. [#2486]
|
||||||
* `header::Quality::{MAX, MIN}`. [#2486]
|
- `header::Quality::{MAX, MIN}`. [#2486]
|
||||||
* `impl Display` for `header::Quality`. [#2486]
|
- `impl Display` for `header::Quality`. [#2486]
|
||||||
* Connection data set through the `on_connect_ext` callbacks is now accessible only from the new `Request::conn_data()` method. [#2491]
|
- Connection data set through the `on_connect_ext` callbacks is now accessible only from the new `Request::conn_data()` method. [#2491]
|
||||||
* `Request::take_conn_data()`. [#2491]
|
- `Request::take_conn_data()`. [#2491]
|
||||||
* `Request::take_req_data()`. [#2487]
|
- `Request::take_req_data()`. [#2487]
|
||||||
* `impl Clone` for `RequestHead`. [#2487]
|
- `impl Clone` for `RequestHead`. [#2487]
|
||||||
* New methods on `MessageBody` trait, `is_complete_body` and `take_complete_body`, both with default implementations, for optimizations on body types that are done in exactly one poll/chunk. [#2497]
|
- New methods on `MessageBody` trait, `is_complete_body` and `take_complete_body`, both with default implementations, for optimizations on body types that are done in exactly one poll/chunk. [#2497]
|
||||||
* New `boxed` method on `MessageBody` trait for wrapping body type. [#2520]
|
- New `boxed` method on `MessageBody` trait for wrapping body type. [#2520]
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* Rename `body::BoxBody::{from_body => new}`. [#2468]
|
- Rename `body::BoxBody::{from_body => new}`. [#2468]
|
||||||
* Body type for `Responses` returned from `Response::{new, ok, etc...}` is now `BoxBody`. [#2468]
|
- Body type for `Responses` returned from `Response::{new, ok, etc...}` is now `BoxBody`. [#2468]
|
||||||
* The `Error` associated type on `MessageBody` type now requires `impl Error` (or similar). [#2468]
|
- The `Error` associated type on `MessageBody` type now requires `impl Error` (or similar). [#2468]
|
||||||
* Error types using in service builders now require `Into<Response<BoxBody>>`. [#2468]
|
- Error types using in service builders now require `Into<Response<BoxBody>>`. [#2468]
|
||||||
* `From` implementations on error types now return a `Response<BoxBody>`. [#2468]
|
- `From` implementations on error types now return a `Response<BoxBody>`. [#2468]
|
||||||
* `ResponseBuilder::body(B)` now returns `Response<EitherBody<B>>`. [#2468]
|
- `ResponseBuilder::body(B)` now returns `Response<EitherBody<B>>`. [#2468]
|
||||||
* `ResponseBuilder::finish()` now returns `Response<EitherBody<()>>`. [#2468]
|
- `ResponseBuilder::finish()` now returns `Response<EitherBody<()>>`. [#2468]
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
* `ResponseBuilder::streaming`. [#2468]
|
- `ResponseBuilder::streaming`. [#2468]
|
||||||
* `impl Future` for `ResponseBuilder`. [#2468]
|
- `impl Future` for `ResponseBuilder`. [#2468]
|
||||||
* Remove unnecessary `MessageBody` bound on types passed to `body::AnyBody::new`. [#2468]
|
- Remove unnecessary `MessageBody` bound on types passed to `body::AnyBody::new`. [#2468]
|
||||||
* Move `body::AnyBody` to `awc`. Replaced with `EitherBody` and `BoxBody`. [#2468]
|
- Move `body::AnyBody` to `awc`. Replaced with `EitherBody` and `BoxBody`. [#2468]
|
||||||
* `impl Copy` for `ws::Codec`. [#1920]
|
- `impl Copy` for `ws::Codec`. [#1920]
|
||||||
* `header::qitem` helper. Replaced with `header::QualityItem::max`. [#2486]
|
- `header::qitem` helper. Replaced with `header::QualityItem::max`. [#2486]
|
||||||
* `impl TryFrom<u16>` for `header::Quality`. [#2486]
|
- `impl TryFrom<u16>` for `header::Quality`. [#2486]
|
||||||
* `http` module. Most everything it contained is exported at the crate root. [#2488]
|
- `http` module. Most everything it contained is exported at the crate root. [#2488]
|
||||||
|
|
||||||
[#2483]: https://github.com/actix/actix-web/pull/2483
|
[#2483]: https://github.com/actix/actix-web/pull/2483
|
||||||
[#2468]: https://github.com/actix/actix-web/pull/2468
|
[#2468]: https://github.com/actix/actix-web/pull/2468
|
||||||
|
@ -76,10 +76,10 @@
|
||||||
|
|
||||||
## 3.0.0-beta.14 - 2021-11-30
|
## 3.0.0-beta.14 - 2021-11-30
|
||||||
### Changed
|
### Changed
|
||||||
* Guarantee ordering of `header::GetAll` iterator to be same as insertion order. [#2467]
|
- Guarantee ordering of `header::GetAll` iterator to be same as insertion order. [#2467]
|
||||||
* Expose `header::map` module. [#2467]
|
- Expose `header::map` module. [#2467]
|
||||||
* Implement `ExactSizeIterator` and `FusedIterator` for all `HeaderMap` iterators. [#2470]
|
- Implement `ExactSizeIterator` and `FusedIterator` for all `HeaderMap` iterators. [#2470]
|
||||||
* Update `actix-tls` to `3.0.0-rc.1`. [#2474]
|
- Update `actix-tls` to `3.0.0-rc.1`. [#2474]
|
||||||
|
|
||||||
[#2467]: https://github.com/actix/actix-web/pull/2467
|
[#2467]: https://github.com/actix/actix-web/pull/2467
|
||||||
[#2470]: https://github.com/actix/actix-web/pull/2470
|
[#2470]: https://github.com/actix/actix-web/pull/2470
|
||||||
|
@ -88,24 +88,24 @@
|
||||||
|
|
||||||
## 3.0.0-beta.13 - 2021-11-22
|
## 3.0.0-beta.13 - 2021-11-22
|
||||||
### Added
|
### Added
|
||||||
* `body::AnyBody::empty` for quickly creating an empty body. [#2446]
|
- `body::AnyBody::empty` for quickly creating an empty body. [#2446]
|
||||||
* `body::AnyBody::none` for quickly creating a "none" body. [#2456]
|
- `body::AnyBody::none` for quickly creating a "none" body. [#2456]
|
||||||
* `impl Clone` for `body::AnyBody<S> where S: Clone`. [#2448]
|
- `impl Clone` for `body::AnyBody<S> where S: Clone`. [#2448]
|
||||||
* `body::AnyBody::into_boxed` for quickly converting to a type-erased, boxed body type. [#2448]
|
- `body::AnyBody::into_boxed` for quickly converting to a type-erased, boxed body type. [#2448]
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* Rename `body::AnyBody::{Message => Body}`. [#2446]
|
- Rename `body::AnyBody::{Message => Body}`. [#2446]
|
||||||
* Rename `body::AnyBody::{from_message => new_boxed}`. [#2448]
|
- Rename `body::AnyBody::{from_message => new_boxed}`. [#2448]
|
||||||
* Rename `body::AnyBody::{from_slice => copy_from_slice}`. [#2448]
|
- Rename `body::AnyBody::{from_slice => copy_from_slice}`. [#2448]
|
||||||
* Rename `body::{BoxAnyBody => BoxBody}`. [#2448]
|
- Rename `body::{BoxAnyBody => BoxBody}`. [#2448]
|
||||||
* Change representation of `AnyBody` to include a type parameter in `Body` variant. Defaults to `BoxBody`. [#2448]
|
- Change representation of `AnyBody` to include a type parameter in `Body` variant. Defaults to `BoxBody`. [#2448]
|
||||||
* `Encoder::response` now returns `AnyBody<Encoder<B>>`. [#2448]
|
- `Encoder::response` now returns `AnyBody<Encoder<B>>`. [#2448]
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
* `body::AnyBody::Empty`; an empty body can now only be represented as a zero-length `Bytes` variant. [#2446]
|
- `body::AnyBody::Empty`; an empty body can now only be represented as a zero-length `Bytes` variant. [#2446]
|
||||||
* `body::BodySize::Empty`; an empty body can now only be represented as a `Sized(0)` variant. [#2446]
|
- `body::BodySize::Empty`; an empty body can now only be represented as a `Sized(0)` variant. [#2446]
|
||||||
* `EncoderError::Boxed`; it is no longer required. [#2446]
|
- `EncoderError::Boxed`; it is no longer required. [#2446]
|
||||||
* `body::ResponseBody`; is function is replaced by the new `body::AnyBody` enum. [#2446]
|
- `body::ResponseBody`; is function is replaced by the new `body::AnyBody` enum. [#2446]
|
||||||
|
|
||||||
[#2446]: https://github.com/actix/actix-web/pull/2446
|
[#2446]: https://github.com/actix/actix-web/pull/2446
|
||||||
[#2448]: https://github.com/actix/actix-web/pull/2448
|
[#2448]: https://github.com/actix/actix-web/pull/2448
|
||||||
|
@ -114,11 +114,11 @@
|
||||||
|
|
||||||
## 3.0.0-beta.12 - 2021-11-15
|
## 3.0.0-beta.12 - 2021-11-15
|
||||||
### Changed
|
### Changed
|
||||||
* Update `actix-server` to `2.0.0-beta.9`. [#2442]
|
- Update `actix-server` to `2.0.0-beta.9`. [#2442]
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
* `client` module. [#2425]
|
- `client` module. [#2425]
|
||||||
* `trust-dns` feature. [#2425]
|
- `trust-dns` feature. [#2425]
|
||||||
|
|
||||||
[#2425]: https://github.com/actix/actix-web/pull/2425
|
[#2425]: https://github.com/actix/actix-web/pull/2425
|
||||||
[#2442]: https://github.com/actix/actix-web/pull/2442
|
[#2442]: https://github.com/actix/actix-web/pull/2442
|
||||||
|
@ -126,21 +126,21 @@
|
||||||
|
|
||||||
## 3.0.0-beta.11 - 2021-10-20
|
## 3.0.0-beta.11 - 2021-10-20
|
||||||
### Changed
|
### Changed
|
||||||
* Updated rustls to v0.20. [#2414]
|
- Updated rustls to v0.20. [#2414]
|
||||||
* Minimum supported Rust version (MSRV) is now 1.52.
|
- Minimum supported Rust version (MSRV) is now 1.52.
|
||||||
|
|
||||||
[#2414]: https://github.com/actix/actix-web/pull/2414
|
[#2414]: https://github.com/actix/actix-web/pull/2414
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.10 - 2021-09-09
|
## 3.0.0-beta.10 - 2021-09-09
|
||||||
### Changed
|
### Changed
|
||||||
* `ContentEncoding` is now marked `#[non_exhaustive]`. [#2377]
|
- `ContentEncoding` is now marked `#[non_exhaustive]`. [#2377]
|
||||||
* Minimum supported Rust version (MSRV) is now 1.51.
|
- Minimum supported Rust version (MSRV) is now 1.51.
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
* Remove slice creation pointing to potential uninitialized data on h1 encoder. [#2364]
|
- Remove slice creation pointing to potential uninitialized data on h1 encoder. [#2364]
|
||||||
* Remove `Into<Error>` bound on `Encoder` body types. [#2375]
|
- Remove `Into<Error>` bound on `Encoder` body types. [#2375]
|
||||||
* Fix quality parse error in Accept-Encoding header. [#2344]
|
- Fix quality parse error in Accept-Encoding header. [#2344]
|
||||||
|
|
||||||
[#2364]: https://github.com/actix/actix-web/pull/2364
|
[#2364]: https://github.com/actix/actix-web/pull/2364
|
||||||
[#2375]: https://github.com/actix/actix-web/pull/2375
|
[#2375]: https://github.com/actix/actix-web/pull/2375
|
||||||
|
@ -150,15 +150,15 @@
|
||||||
|
|
||||||
## 3.0.0-beta.9 - 2021-08-09
|
## 3.0.0-beta.9 - 2021-08-09
|
||||||
### Fixed
|
### Fixed
|
||||||
* Potential HTTP request smuggling vulnerabilities. [RUSTSEC-2021-0081](https://github.com/rustsec/advisory-db/pull/977)
|
- Potential HTTP request smuggling vulnerabilities. [RUSTSEC-2021-0081](https://github.com/rustsec/advisory-db/pull/977)
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.8 - 2021-06-26
|
## 3.0.0-beta.8 - 2021-06-26
|
||||||
### Changed
|
### Changed
|
||||||
* Change compression algorithm features flags. [#2250]
|
- Change compression algorithm features flags. [#2250]
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
* `downcast` and `downcast_get_type_id` macros. [#2291]
|
- `downcast` and `downcast_get_type_id` macros. [#2291]
|
||||||
|
|
||||||
[#2291]: https://github.com/actix/actix-web/pull/2291
|
[#2291]: https://github.com/actix/actix-web/pull/2291
|
||||||
[#2250]: https://github.com/actix/actix-web/pull/2250
|
[#2250]: https://github.com/actix/actix-web/pull/2250
|
||||||
|
@ -166,37 +166,37 @@
|
||||||
|
|
||||||
## 3.0.0-beta.7 - 2021-06-17
|
## 3.0.0-beta.7 - 2021-06-17
|
||||||
### Added
|
### Added
|
||||||
* Alias `body::Body` as `body::AnyBody`. [#2215]
|
- Alias `body::Body` as `body::AnyBody`. [#2215]
|
||||||
* `BoxAnyBody`: a boxed message body with boxed errors. [#2183]
|
- `BoxAnyBody`: a boxed message body with boxed errors. [#2183]
|
||||||
* Re-export `http` crate's `Error` type as `error::HttpError`. [#2171]
|
- Re-export `http` crate's `Error` type as `error::HttpError`. [#2171]
|
||||||
* Re-export `StatusCode`, `Method`, `Version` and `Uri` at the crate root. [#2171]
|
- Re-export `StatusCode`, `Method`, `Version` and `Uri` at the crate root. [#2171]
|
||||||
* Re-export `ContentEncoding` and `ConnectionType` at the crate root. [#2171]
|
- Re-export `ContentEncoding` and `ConnectionType` at the crate root. [#2171]
|
||||||
* `Response::into_body` that consumes response and returns body type. [#2201]
|
- `Response::into_body` that consumes response and returns body type. [#2201]
|
||||||
* `impl Default` for `Response`. [#2201]
|
- `impl Default` for `Response`. [#2201]
|
||||||
* Add zstd support for `ContentEncoding`. [#2244]
|
- Add zstd support for `ContentEncoding`. [#2244]
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* The `MessageBody` trait now has an associated `Error` type. [#2183]
|
- The `MessageBody` trait now has an associated `Error` type. [#2183]
|
||||||
* All error trait bounds in server service builders have changed from `Into<Error>` to `Into<Response<AnyBody>>`. [#2253]
|
- All error trait bounds in server service builders have changed from `Into<Error>` to `Into<Response<AnyBody>>`. [#2253]
|
||||||
* All error trait bounds in message body and stream impls changed from `Into<Error>` to `Into<Box<dyn std::error::Error>>`. [#2253]
|
- All error trait bounds in message body and stream impls changed from `Into<Error>` to `Into<Box<dyn std::error::Error>>`. [#2253]
|
||||||
* Places in `Response` where `ResponseBody<B>` was received or returned now simply use `B`. [#2201]
|
- Places in `Response` where `ResponseBody<B>` was received or returned now simply use `B`. [#2201]
|
||||||
* `header` mod is now public. [#2171]
|
- `header` mod is now public. [#2171]
|
||||||
* `uri` mod is now public. [#2171]
|
- `uri` mod is now public. [#2171]
|
||||||
* Update `language-tags` to `0.3`.
|
- Update `language-tags` to `0.3`.
|
||||||
* Reduce the level from `error` to `debug` for the log line that is emitted when a `500 Internal Server Error` is built using `HttpResponse::from_error`. [#2201]
|
- Reduce the level from `error` to `debug` for the log line that is emitted when a `500 Internal Server Error` is built using `HttpResponse::from_error`. [#2201]
|
||||||
* `ResponseBuilder::message_body` now returns a `Result`. [#2201]
|
- `ResponseBuilder::message_body` now returns a `Result`. [#2201]
|
||||||
* Remove `Unpin` bound on `ResponseBuilder::streaming`. [#2253]
|
- Remove `Unpin` bound on `ResponseBuilder::streaming`. [#2253]
|
||||||
* `HttpServer::{listen_rustls(), bind_rustls()}` now honor the ALPN protocols in the configuation parameter. [#2226]
|
- `HttpServer::{listen_rustls(), bind_rustls()}` now honor the ALPN protocols in the configuation parameter. [#2226]
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
* Stop re-exporting `http` crate's `HeaderMap` types in addition to ours. [#2171]
|
- Stop re-exporting `http` crate's `HeaderMap` types in addition to ours. [#2171]
|
||||||
* Down-casting for `MessageBody` types. [#2183]
|
- Down-casting for `MessageBody` types. [#2183]
|
||||||
* `error::Result` alias. [#2201]
|
- `error::Result` alias. [#2201]
|
||||||
* Error field from `Response` and `Response::error`. [#2205]
|
- Error field from `Response` and `Response::error`. [#2205]
|
||||||
* `impl Future` for `Response`. [#2201]
|
- `impl Future` for `Response`. [#2201]
|
||||||
* `Response::take_body` and old `Response::into_body` method that casted body type. [#2201]
|
- `Response::take_body` and old `Response::into_body` method that casted body type. [#2201]
|
||||||
* `InternalError` and all the error types it constructed. [#2215]
|
- `InternalError` and all the error types it constructed. [#2215]
|
||||||
* Conversion (`impl Into`) of `Response<Body>` and `ResponseBuilder` to `Error`. [#2215]
|
- Conversion (`impl Into`) of `Response<Body>` and `ResponseBuilder` to `Error`. [#2215]
|
||||||
|
|
||||||
[#2171]: https://github.com/actix/actix-web/pull/2171
|
[#2171]: https://github.com/actix/actix-web/pull/2171
|
||||||
[#2183]: https://github.com/actix/actix-web/pull/2183
|
[#2183]: https://github.com/actix/actix-web/pull/2183
|
||||||
|
@ -211,27 +211,27 @@
|
||||||
|
|
||||||
## 3.0.0-beta.6 - 2021-04-17
|
## 3.0.0-beta.6 - 2021-04-17
|
||||||
### Added
|
### Added
|
||||||
* `impl<T: MessageBody> MessageBody for Pin<Box<T>>`. [#2152]
|
- `impl<T: MessageBody> MessageBody for Pin<Box<T>>`. [#2152]
|
||||||
* `Response::{ok, bad_request, not_found, internal_server_error}`. [#2159]
|
- `Response::{ok, bad_request, not_found, internal_server_error}`. [#2159]
|
||||||
* Helper `body::to_bytes` for async collecting message body into Bytes. [#2158]
|
- Helper `body::to_bytes` for async collecting message body into Bytes. [#2158]
|
||||||
|
|
||||||
### Changes
|
### Changes
|
||||||
* The type parameter of `Response` no longer has a default. [#2152]
|
- The type parameter of `Response` no longer has a default. [#2152]
|
||||||
* The `Message` variant of `body::Body` is now `Pin<Box<dyn MessageBody>>`. [#2152]
|
- The `Message` variant of `body::Body` is now `Pin<Box<dyn MessageBody>>`. [#2152]
|
||||||
* `BodyStream` and `SizedStream` are no longer restricted to Unpin types. [#2152]
|
- `BodyStream` and `SizedStream` are no longer restricted to Unpin types. [#2152]
|
||||||
* Error enum types are marked `#[non_exhaustive]`. [#2161]
|
- Error enum types are marked `#[non_exhaustive]`. [#2161]
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
* `cookies` feature flag. [#2065]
|
- `cookies` feature flag. [#2065]
|
||||||
* Top-level `cookies` mod (re-export). [#2065]
|
- Top-level `cookies` mod (re-export). [#2065]
|
||||||
* `HttpMessage` trait loses the `cookies` and `cookie` methods. [#2065]
|
- `HttpMessage` trait loses the `cookies` and `cookie` methods. [#2065]
|
||||||
* `impl ResponseError for CookieParseError`. [#2065]
|
- `impl ResponseError for CookieParseError`. [#2065]
|
||||||
* Deprecated methods on `ResponseBuilder`: `if_true`, `if_some`. [#2148]
|
- Deprecated methods on `ResponseBuilder`: `if_true`, `if_some`. [#2148]
|
||||||
* `ResponseBuilder::json`. [#2148]
|
- `ResponseBuilder::json`. [#2148]
|
||||||
* `ResponseBuilder::{set_header, header}`. [#2148]
|
- `ResponseBuilder::{set_header, header}`. [#2148]
|
||||||
* `impl From<serde_json::Value> for Body`. [#2148]
|
- `impl From<serde_json::Value> for Body`. [#2148]
|
||||||
* `Response::build_from`. [#2159]
|
- `Response::build_from`. [#2159]
|
||||||
* Most of the status code builders on `Response`. [#2159]
|
- Most of the status code builders on `Response`. [#2159]
|
||||||
|
|
||||||
[#2065]: https://github.com/actix/actix-web/pull/2065
|
[#2065]: https://github.com/actix/actix-web/pull/2065
|
||||||
[#2148]: https://github.com/actix/actix-web/pull/2148
|
[#2148]: https://github.com/actix/actix-web/pull/2148
|
||||||
|
@ -243,16 +243,16 @@
|
||||||
|
|
||||||
## 3.0.0-beta.5 - 2021-04-02
|
## 3.0.0-beta.5 - 2021-04-02
|
||||||
### Added
|
### Added
|
||||||
* `client::Connector::handshake_timeout` method for customizing TLS connection handshake timeout. [#2081]
|
- `client::Connector::handshake_timeout` method for customizing TLS connection handshake timeout. [#2081]
|
||||||
* `client::ConnectorService` as `client::Connector::finish` method's return type [#2081]
|
- `client::ConnectorService` as `client::Connector::finish` method's return type [#2081]
|
||||||
* `client::ConnectionIo` trait alias [#2081]
|
- `client::ConnectionIo` trait alias [#2081]
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* `client::Connector` type now only have one generic type for `actix_service::Service`. [#2063]
|
- `client::Connector` type now only have one generic type for `actix_service::Service`. [#2063]
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
* Common typed HTTP headers were moved to actix-web. [2094]
|
- Common typed HTTP headers were moved to actix-web. [2094]
|
||||||
* `ResponseError` impl for `actix_utils::timeout::TimeoutError`. [#2127]
|
- `ResponseError` impl for `actix_utils::timeout::TimeoutError`. [#2127]
|
||||||
|
|
||||||
[#2063]: https://github.com/actix/actix-web/pull/2063
|
[#2063]: https://github.com/actix/actix-web/pull/2063
|
||||||
[#2081]: https://github.com/actix/actix-web/pull/2081
|
[#2081]: https://github.com/actix/actix-web/pull/2081
|
||||||
|
@ -262,13 +262,13 @@
|
||||||
|
|
||||||
## 3.0.0-beta.4 - 2021-03-08
|
## 3.0.0-beta.4 - 2021-03-08
|
||||||
### Changed
|
### Changed
|
||||||
* Feature `cookies` is now optional and disabled by default. [#1981]
|
- Feature `cookies` is now optional and disabled by default. [#1981]
|
||||||
* `ws::hash_key` now returns array. [#2035]
|
- `ws::hash_key` now returns array. [#2035]
|
||||||
* `ResponseBuilder::json` now takes `impl Serialize`. [#2052]
|
- `ResponseBuilder::json` now takes `impl Serialize`. [#2052]
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
* Re-export of `futures_channel::oneshot::Canceled` is removed from `error` mod. [#1994]
|
- Re-export of `futures_channel::oneshot::Canceled` is removed from `error` mod. [#1994]
|
||||||
* `ResponseError` impl for `futures_channel::oneshot::Canceled` is removed. [#1994]
|
- `ResponseError` impl for `futures_channel::oneshot::Canceled` is removed. [#1994]
|
||||||
|
|
||||||
[#1981]: https://github.com/actix/actix-web/pull/1981
|
[#1981]: https://github.com/actix/actix-web/pull/1981
|
||||||
[#1994]: https://github.com/actix/actix-web/pull/1994
|
[#1994]: https://github.com/actix/actix-web/pull/1994
|
||||||
|
@ -277,48 +277,48 @@
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.3 - 2021-02-10
|
## 3.0.0-beta.3 - 2021-02-10
|
||||||
* No notable changes.
|
- No notable changes.
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.2 - 2021-02-10
|
## 3.0.0-beta.2 - 2021-02-10
|
||||||
### Added
|
### Added
|
||||||
* `TryIntoHeaderPair` trait that allows using typed and untyped headers in the same methods. [#1869]
|
- `TryIntoHeaderPair` trait that allows using typed and untyped headers in the same methods. [#1869]
|
||||||
* `ResponseBuilder::insert_header` method which allows using typed headers. [#1869]
|
- `ResponseBuilder::insert_header` method which allows using typed headers. [#1869]
|
||||||
* `ResponseBuilder::append_header` method which allows using typed headers. [#1869]
|
- `ResponseBuilder::append_header` method which allows using typed headers. [#1869]
|
||||||
* `TestRequest::insert_header` method which allows using typed headers. [#1869]
|
- `TestRequest::insert_header` method which allows using typed headers. [#1869]
|
||||||
* `ContentEncoding` implements all necessary header traits. [#1912]
|
- `ContentEncoding` implements all necessary header traits. [#1912]
|
||||||
* `HeaderMap::len_keys` has the behavior of the old `len` method. [#1964]
|
- `HeaderMap::len_keys` has the behavior of the old `len` method. [#1964]
|
||||||
* `HeaderMap::drain` as an efficient draining iterator. [#1964]
|
- `HeaderMap::drain` as an efficient draining iterator. [#1964]
|
||||||
* Implement `IntoIterator` for owned `HeaderMap`. [#1964]
|
- Implement `IntoIterator` for owned `HeaderMap`. [#1964]
|
||||||
* `trust-dns` optional feature to enable `trust-dns-resolver` as client dns resolver. [#1969]
|
- `trust-dns` optional feature to enable `trust-dns-resolver` as client dns resolver. [#1969]
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* `ResponseBuilder::content_type` now takes an `impl TryIntoHeaderValue` to support using typed
|
- `ResponseBuilder::content_type` now takes an `impl TryIntoHeaderValue` to support using typed
|
||||||
`mime` types. [#1894]
|
`mime` types. [#1894]
|
||||||
* Renamed `TryIntoHeaderValue::{try_into => try_into_value}` to avoid ambiguity with std
|
- Renamed `TryIntoHeaderValue::{try_into => try_into_value}` to avoid ambiguity with std
|
||||||
`TryInto` trait. [#1894]
|
`TryInto` trait. [#1894]
|
||||||
* `Extensions::insert` returns Option of replaced item. [#1904]
|
- `Extensions::insert` returns Option of replaced item. [#1904]
|
||||||
* Remove `HttpResponseBuilder::json2()`. [#1903]
|
- Remove `HttpResponseBuilder::json2()`. [#1903]
|
||||||
* Enable `HttpResponseBuilder::json()` to receive data by value and reference. [#1903]
|
- Enable `HttpResponseBuilder::json()` to receive data by value and reference. [#1903]
|
||||||
* `client::error::ConnectError` Resolver variant contains `Box<dyn std::error::Error>` type. [#1905]
|
- `client::error::ConnectError` Resolver variant contains `Box<dyn std::error::Error>` type. [#1905]
|
||||||
* `client::ConnectorConfig` default timeout changed to 5 seconds. [#1905]
|
- `client::ConnectorConfig` default timeout changed to 5 seconds. [#1905]
|
||||||
* Simplify `BlockingError` type to a unit struct. It's now only triggered when blocking thread pool
|
- Simplify `BlockingError` type to a unit struct. It's now only triggered when blocking thread pool
|
||||||
is dead. [#1957]
|
is dead. [#1957]
|
||||||
* `HeaderMap::len` now returns number of values instead of number of keys. [#1964]
|
- `HeaderMap::len` now returns number of values instead of number of keys. [#1964]
|
||||||
* `HeaderMap::insert` now returns iterator of removed values. [#1964]
|
- `HeaderMap::insert` now returns iterator of removed values. [#1964]
|
||||||
* `HeaderMap::remove` now returns iterator of removed values. [#1964]
|
- `HeaderMap::remove` now returns iterator of removed values. [#1964]
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
* `ResponseBuilder::set`; use `ResponseBuilder::insert_header`. [#1869]
|
- `ResponseBuilder::set`; use `ResponseBuilder::insert_header`. [#1869]
|
||||||
* `ResponseBuilder::set_header`; use `ResponseBuilder::insert_header`. [#1869]
|
- `ResponseBuilder::set_header`; use `ResponseBuilder::insert_header`. [#1869]
|
||||||
* `ResponseBuilder::header`; use `ResponseBuilder::append_header`. [#1869]
|
- `ResponseBuilder::header`; use `ResponseBuilder::append_header`. [#1869]
|
||||||
* `TestRequest::with_hdr`; use `TestRequest::default().insert_header()`. [#1869]
|
- `TestRequest::with_hdr`; use `TestRequest::default().insert_header()`. [#1869]
|
||||||
* `TestRequest::with_header`; use `TestRequest::default().insert_header()`. [#1869]
|
- `TestRequest::with_header`; use `TestRequest::default().insert_header()`. [#1869]
|
||||||
* `actors` optional feature. [#1969]
|
- `actors` optional feature. [#1969]
|
||||||
* `ResponseError` impl for `actix::MailboxError`. [#1969]
|
- `ResponseError` impl for `actix::MailboxError`. [#1969]
|
||||||
|
|
||||||
### Documentation
|
### Documentation
|
||||||
* Vastly improve docs and add examples for `HeaderMap`. [#1964]
|
- Vastly improve docs and add examples for `HeaderMap`. [#1964]
|
||||||
|
|
||||||
[#1869]: https://github.com/actix/actix-web/pull/1869
|
[#1869]: https://github.com/actix/actix-web/pull/1869
|
||||||
[#1894]: https://github.com/actix/actix-web/pull/1894
|
[#1894]: https://github.com/actix/actix-web/pull/1894
|
||||||
|
@ -333,24 +333,24 @@
|
||||||
|
|
||||||
## 3.0.0-beta.1 - 2021-01-07
|
## 3.0.0-beta.1 - 2021-01-07
|
||||||
### Added
|
### Added
|
||||||
* Add `Http3` to `Protocol` enum for future compatibility and also mark `#[non_exhaustive]`.
|
- Add `Http3` to `Protocol` enum for future compatibility and also mark `#[non_exhaustive]`.
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* Update `actix-*` dependencies to tokio `1.0` based versions. [#1813]
|
- Update `actix-*` dependencies to tokio `1.0` based versions. [#1813]
|
||||||
* Bumped `rand` to `0.8`.
|
- Bumped `rand` to `0.8`.
|
||||||
* Update `bytes` to `1.0`. [#1813]
|
- Update `bytes` to `1.0`. [#1813]
|
||||||
* Update `h2` to `0.3`. [#1813]
|
- Update `h2` to `0.3`. [#1813]
|
||||||
* The `ws::Message::Text` enum variant now contains a `bytestring::ByteString`. [#1864]
|
- The `ws::Message::Text` enum variant now contains a `bytestring::ByteString`. [#1864]
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
* Deprecated `on_connect` methods have been removed. Prefer the new
|
- Deprecated `on_connect` methods have been removed. Prefer the new
|
||||||
`on_connect_ext` technique. [#1857]
|
`on_connect_ext` technique. [#1857]
|
||||||
* Remove `ResponseError` impl for `actix::actors::resolver::ResolverError`
|
- Remove `ResponseError` impl for `actix::actors::resolver::ResolverError`
|
||||||
due to deprecate of resolver actor. [#1813]
|
due to deprecate of resolver actor. [#1813]
|
||||||
* Remove `ConnectError::SslHandshakeError` and re-export of `HandshakeError`.
|
- Remove `ConnectError::SslHandshakeError` and re-export of `HandshakeError`.
|
||||||
due to the removal of this type from `tokio-openssl` crate. openssl handshake
|
due to the removal of this type from `tokio-openssl` crate. openssl handshake
|
||||||
error would return as `ConnectError::SslError`. [#1813]
|
error would return as `ConnectError::SslError`. [#1813]
|
||||||
* Remove `actix-threadpool` dependency. Use `actix_rt::task::spawn_blocking`.
|
- Remove `actix-threadpool` dependency. Use `actix_rt::task::spawn_blocking`.
|
||||||
Due to this change `actix_threadpool::BlockingError` type is moved into
|
Due to this change `actix_threadpool::BlockingError` type is moved into
|
||||||
`actix_http::error` module. [#1878]
|
`actix_http::error` module. [#1878]
|
||||||
|
|
||||||
|
@ -362,20 +362,20 @@
|
||||||
|
|
||||||
## 2.2.1 - 2021-08-09
|
## 2.2.1 - 2021-08-09
|
||||||
### Fixed
|
### Fixed
|
||||||
* Potential HTTP request smuggling vulnerabilities. [RUSTSEC-2021-0081](https://github.com/rustsec/advisory-db/pull/977)
|
- Potential HTTP request smuggling vulnerabilities. [RUSTSEC-2021-0081](https://github.com/rustsec/advisory-db/pull/977)
|
||||||
|
|
||||||
|
|
||||||
## 2.2.0 - 2020-11-25
|
## 2.2.0 - 2020-11-25
|
||||||
### Added
|
### Added
|
||||||
* HttpResponse builders for 1xx status codes. [#1768]
|
- HttpResponse builders for 1xx status codes. [#1768]
|
||||||
* `Accept::mime_precedence` and `Accept::mime_preference`. [#1793]
|
- `Accept::mime_precedence` and `Accept::mime_preference`. [#1793]
|
||||||
* `TryFrom<u16>` and `TryFrom<f32>` for `http::header::Quality`. [#1797]
|
- `TryFrom<u16>` and `TryFrom<f32>` for `http::header::Quality`. [#1797]
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
* Started dropping `transfer-encoding: chunked` and `Content-Length` for 1XX and 204 responses. [#1767]
|
- Started dropping `transfer-encoding: chunked` and `Content-Length` for 1XX and 204 responses. [#1767]
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* Upgrade `serde_urlencoded` to `0.7`. [#1773]
|
- Upgrade `serde_urlencoded` to `0.7`. [#1773]
|
||||||
|
|
||||||
[#1773]: https://github.com/actix/actix-web/pull/1773
|
[#1773]: https://github.com/actix/actix-web/pull/1773
|
||||||
[#1767]: https://github.com/actix/actix-web/pull/1767
|
[#1767]: https://github.com/actix/actix-web/pull/1767
|
||||||
|
@ -386,12 +386,12 @@
|
||||||
|
|
||||||
## 2.1.0 - 2020-10-30
|
## 2.1.0 - 2020-10-30
|
||||||
### Added
|
### Added
|
||||||
* Added more flexible `on_connect_ext` methods for on-connect handling. [#1754]
|
- Added more flexible `on_connect_ext` methods for on-connect handling. [#1754]
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* Upgrade `base64` to `0.13`. [#1744]
|
- Upgrade `base64` to `0.13`. [#1744]
|
||||||
* Upgrade `pin-project` to `1.0`. [#1733]
|
- Upgrade `pin-project` to `1.0`. [#1733]
|
||||||
* Deprecate `ResponseBuilder::{if_some, if_true}`. [#1760]
|
- Deprecate `ResponseBuilder::{if_some, if_true}`. [#1760]
|
||||||
|
|
||||||
[#1760]: https://github.com/actix/actix-web/pull/1760
|
[#1760]: https://github.com/actix/actix-web/pull/1760
|
||||||
[#1754]: https://github.com/actix/actix-web/pull/1754
|
[#1754]: https://github.com/actix/actix-web/pull/1754
|
||||||
|
@ -400,28 +400,28 @@
|
||||||
|
|
||||||
|
|
||||||
## 2.0.0 - 2020-09-11
|
## 2.0.0 - 2020-09-11
|
||||||
* No significant changes from `2.0.0-beta.4`.
|
- No significant changes from `2.0.0-beta.4`.
|
||||||
|
|
||||||
|
|
||||||
## 2.0.0-beta.4 - 2020-09-09
|
## 2.0.0-beta.4 - 2020-09-09
|
||||||
### Changed
|
### Changed
|
||||||
* Update actix-codec and actix-utils dependencies.
|
- Update actix-codec and actix-utils dependencies.
|
||||||
* Update actix-connect and actix-tls dependencies.
|
- Update actix-connect and actix-tls dependencies.
|
||||||
|
|
||||||
|
|
||||||
## 2.0.0-beta.3 - 2020-08-14
|
## 2.0.0-beta.3 - 2020-08-14
|
||||||
### Fixed
|
### Fixed
|
||||||
* Memory leak of `client::pool::ConnectorPoolSupport`. [#1626]
|
- Memory leak of `client::pool::ConnectorPoolSupport`. [#1626]
|
||||||
|
|
||||||
[#1626]: https://github.com/actix/actix-web/pull/1626
|
[#1626]: https://github.com/actix/actix-web/pull/1626
|
||||||
|
|
||||||
|
|
||||||
## 2.0.0-beta.2 - 2020-07-21
|
## 2.0.0-beta.2 - 2020-07-21
|
||||||
### Fixed
|
### Fixed
|
||||||
* Potential UB in h1 decoder using uninitialized memory. [#1614]
|
- Potential UB in h1 decoder using uninitialized memory. [#1614]
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* Fix illegal chunked encoding. [#1615]
|
- Fix illegal chunked encoding. [#1615]
|
||||||
|
|
||||||
[#1614]: https://github.com/actix/actix-web/pull/1614
|
[#1614]: https://github.com/actix/actix-web/pull/1614
|
||||||
[#1615]: https://github.com/actix/actix-web/pull/1615
|
[#1615]: https://github.com/actix/actix-web/pull/1615
|
||||||
|
@ -429,10 +429,10 @@
|
||||||
|
|
||||||
## 2.0.0-beta.1 - 2020-07-11
|
## 2.0.0-beta.1 - 2020-07-11
|
||||||
### Changed
|
### Changed
|
||||||
* Migrate cookie handling to `cookie` crate. [#1558]
|
- Migrate cookie handling to `cookie` crate. [#1558]
|
||||||
* Update `sha-1` to 0.9. [#1586]
|
- Update `sha-1` to 0.9. [#1586]
|
||||||
* Fix leak in client pool. [#1580]
|
- Fix leak in client pool. [#1580]
|
||||||
* MSRV is now 1.41.1.
|
- MSRV is now 1.41.1.
|
||||||
|
|
||||||
[#1558]: https://github.com/actix/actix-web/pull/1558
|
[#1558]: https://github.com/actix/actix-web/pull/1558
|
||||||
[#1586]: https://github.com/actix/actix-web/pull/1586
|
[#1586]: https://github.com/actix/actix-web/pull/1586
|
||||||
|
@ -441,15 +441,15 @@
|
||||||
|
|
||||||
## 2.0.0-alpha.4 - 2020-05-21
|
## 2.0.0-alpha.4 - 2020-05-21
|
||||||
### Changed
|
### Changed
|
||||||
* Bump minimum supported Rust version to 1.40
|
- Bump minimum supported Rust version to 1.40
|
||||||
* content_length function is removed, and you can set Content-Length by calling
|
- content_length function is removed, and you can set Content-Length by calling
|
||||||
no_chunking function [#1439]
|
no_chunking function [#1439]
|
||||||
* `BodySize::Sized64` variant has been removed. `BodySize::Sized` now receives a
|
- `BodySize::Sized64` variant has been removed. `BodySize::Sized` now receives a
|
||||||
`u64` instead of a `usize`.
|
`u64` instead of a `usize`.
|
||||||
* Update `base64` dependency to 0.12
|
- Update `base64` dependency to 0.12
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
* Support parsing of `SameSite=None` [#1503]
|
- Support parsing of `SameSite=None` [#1503]
|
||||||
|
|
||||||
[#1439]: https://github.com/actix/actix-web/pull/1439
|
[#1439]: https://github.com/actix/actix-web/pull/1439
|
||||||
[#1503]: https://github.com/actix/actix-web/pull/1503
|
[#1503]: https://github.com/actix/actix-web/pull/1503
|
||||||
|
@ -457,13 +457,13 @@
|
||||||
|
|
||||||
## 2.0.0-alpha.3 - 2020-05-08
|
## 2.0.0-alpha.3 - 2020-05-08
|
||||||
### Fixed
|
### Fixed
|
||||||
* Correct spelling of ConnectError::Unresolved [#1487]
|
- Correct spelling of ConnectError::Unresolved [#1487]
|
||||||
* Fix a mistake in the encoding of websocket continuation messages wherein
|
- Fix a mistake in the encoding of websocket continuation messages wherein
|
||||||
Item::FirstText and Item::FirstBinary are each encoded as the other.
|
Item::FirstText and Item::FirstBinary are each encoded as the other.
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* Implement `std::error::Error` for our custom errors [#1422]
|
- Implement `std::error::Error` for our custom errors [#1422]
|
||||||
* Remove `failure` support for `ResponseError` since that crate
|
- Remove `failure` support for `ResponseError` since that crate
|
||||||
will be deprecated in the near future.
|
will be deprecated in the near future.
|
||||||
|
|
||||||
[#1422]: https://github.com/actix/actix-web/pull/1422
|
[#1422]: https://github.com/actix/actix-web/pull/1422
|
||||||
|
@ -472,12 +472,12 @@
|
||||||
|
|
||||||
## 2.0.0-alpha.2 - 2020-03-07
|
## 2.0.0-alpha.2 - 2020-03-07
|
||||||
### Changed
|
### Changed
|
||||||
* Update `actix-connect` and `actix-tls` dependency to 2.0.0-alpha.1. [#1395]
|
- Update `actix-connect` and `actix-tls` dependency to 2.0.0-alpha.1. [#1395]
|
||||||
* Change default initial window size and connection window size for HTTP2 to 2MB and 1MB
|
- Change default initial window size and connection window size for HTTP2 to 2MB and 1MB
|
||||||
respectively to improve download speed for awc when downloading large objects. [#1394]
|
respectively to improve download speed for awc when downloading large objects. [#1394]
|
||||||
* client::Connector accepts initial_window_size and initial_connection_window_size
|
- client::Connector accepts initial_window_size and initial_connection_window_size
|
||||||
HTTP2 configuration. [#1394]
|
HTTP2 configuration. [#1394]
|
||||||
* client::Connector allowing to set max_http_version to limit HTTP version to be used. [#1394]
|
- client::Connector allowing to set max_http_version to limit HTTP version to be used. [#1394]
|
||||||
|
|
||||||
[#1394]: https://github.com/actix/actix-web/pull/1394
|
[#1394]: https://github.com/actix/actix-web/pull/1394
|
||||||
[#1395]: https://github.com/actix/actix-web/pull/1395
|
[#1395]: https://github.com/actix/actix-web/pull/1395
|
||||||
|
@ -485,61 +485,61 @@
|
||||||
|
|
||||||
## 2.0.0-alpha.1 - 2020-02-27
|
## 2.0.0-alpha.1 - 2020-02-27
|
||||||
### Changed
|
### Changed
|
||||||
* Update the `time` dependency to 0.2.7.
|
- Update the `time` dependency to 0.2.7.
|
||||||
* Moved actors messages support from actix crate, enabled with feature `actors`.
|
- Moved actors messages support from actix crate, enabled with feature `actors`.
|
||||||
* Breaking change: trait MessageBody requires Unpin and accepting `Pin<&mut Self>` instead of
|
- Breaking change: trait MessageBody requires Unpin and accepting `Pin<&mut Self>` instead of
|
||||||
`&mut self` in the poll_next().
|
`&mut self` in the poll_next().
|
||||||
* MessageBody is not implemented for &'static [u8] anymore.
|
- MessageBody is not implemented for &'static [u8] anymore.
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
* Allow `SameSite=None` cookies to be sent in a response.
|
- Allow `SameSite=None` cookies to be sent in a response.
|
||||||
|
|
||||||
|
|
||||||
## 1.0.1 - 2019-12-20
|
## 1.0.1 - 2019-12-20
|
||||||
### Fixed
|
### Fixed
|
||||||
* Poll upgrade service's readiness from HTTP service handlers
|
- Poll upgrade service's readiness from HTTP service handlers
|
||||||
* Replace brotli with brotli2 #1224
|
- Replace brotli with brotli2 #1224
|
||||||
|
|
||||||
|
|
||||||
## 1.0.0 - 2019-12-13
|
## 1.0.0 - 2019-12-13
|
||||||
### Added
|
### Added
|
||||||
* Add websockets continuation frame support
|
- Add websockets continuation frame support
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* Replace `flate2-xxx` features with `compress`
|
- Replace `flate2-xxx` features with `compress`
|
||||||
|
|
||||||
|
|
||||||
## 1.0.0-alpha.5 - 2019-12-09
|
## 1.0.0-alpha.5 - 2019-12-09
|
||||||
### Fixed
|
### Fixed
|
||||||
* Check `Upgrade` service readiness before calling it
|
- Check `Upgrade` service readiness before calling it
|
||||||
* Fix buffer remaining capacity calculation
|
- Fix buffer remaining capacity calculation
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* Websockets: Ping and Pong should have binary data #1049
|
- Websockets: Ping and Pong should have binary data #1049
|
||||||
|
|
||||||
|
|
||||||
## 1.0.0-alpha.4 - 2019-12-08
|
## 1.0.0-alpha.4 - 2019-12-08
|
||||||
### Added
|
### Added
|
||||||
* Add impl ResponseBuilder for Error
|
- Add impl ResponseBuilder for Error
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* Use rust based brotli compression library
|
- Use rust based brotli compression library
|
||||||
|
|
||||||
## 1.0.0-alpha.3 - 2019-12-07
|
## 1.0.0-alpha.3 - 2019-12-07
|
||||||
### Changed
|
### Changed
|
||||||
* Migrate to tokio 0.2
|
- Migrate to tokio 0.2
|
||||||
* Migrate to `std::future`
|
- Migrate to `std::future`
|
||||||
|
|
||||||
|
|
||||||
## 0.2.11 - 2019-11-06
|
## 0.2.11 - 2019-11-06
|
||||||
### Added
|
### Added
|
||||||
* Add support for serde_json::Value to be passed as argument to ResponseBuilder.body()
|
- Add support for serde_json::Value to be passed as argument to ResponseBuilder.body()
|
||||||
* Add an additional `filename*` param in the `Content-Disposition` header of
|
- Add an additional `filename*` param in the `Content-Disposition` header of
|
||||||
`actix_files::NamedFile` to be more compatible. (#1151)
|
`actix_files::NamedFile` to be more compatible. (#1151)
|
||||||
* Allow to use `std::convert::Infallible` as `actix_http::error::Error`
|
- Allow to use `std::convert::Infallible` as `actix_http::error::Error`
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
* To be compatible with non-English error responses, `ResponseError` rendered with `text/plain;
|
- To be compatible with non-English error responses, `ResponseError` rendered with `text/plain;
|
||||||
charset=utf-8` header [#1118]
|
charset=utf-8` header [#1118]
|
||||||
|
|
||||||
[#1878]: https://github.com/actix/actix-web/pull/1878
|
[#1878]: https://github.com/actix/actix-web/pull/1878
|
||||||
|
@ -547,169 +547,169 @@
|
||||||
|
|
||||||
## 0.2.10 - 2019-09-11
|
## 0.2.10 - 2019-09-11
|
||||||
### Added
|
### Added
|
||||||
* Add support for sending HTTP requests with `Rc<RequestHead>` in addition to sending HTTP requests
|
- Add support for sending HTTP requests with `Rc<RequestHead>` in addition to sending HTTP requests
|
||||||
with `RequestHead`
|
with `RequestHead`
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
* h2 will use error response #1080
|
- h2 will use error response #1080
|
||||||
* on_connect result isn't added to request extensions for http2 requests #1009
|
- on_connect result isn't added to request extensions for http2 requests #1009
|
||||||
|
|
||||||
|
|
||||||
## 0.2.9 - 2019-08-13
|
## 0.2.9 - 2019-08-13
|
||||||
### Changed
|
### Changed
|
||||||
* Dropped the `byteorder`-dependency in favor of `stdlib`-implementation
|
- Dropped the `byteorder`-dependency in favor of `stdlib`-implementation
|
||||||
* Update percent-encoding to 2.1
|
- Update percent-encoding to 2.1
|
||||||
* Update serde_urlencoded to 0.6.1
|
- Update serde_urlencoded to 0.6.1
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fixed a panic in the HTTP2 handshake in client HTTP requests (#1031)
|
- Fixed a panic in the HTTP2 handshake in client HTTP requests (#1031)
|
||||||
|
|
||||||
|
|
||||||
## 0.2.8 - 2019-08-01
|
## 0.2.8 - 2019-08-01
|
||||||
### Added
|
### Added
|
||||||
* Add `rustls` support
|
- Add `rustls` support
|
||||||
* Add `Clone` impl for `HeaderMap`
|
- Add `Clone` impl for `HeaderMap`
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
* awc client panic #1016
|
- awc client panic #1016
|
||||||
* Invalid response with compression middleware enabled, but compression-related features
|
- Invalid response with compression middleware enabled, but compression-related features
|
||||||
disabled #997
|
disabled #997
|
||||||
|
|
||||||
|
|
||||||
## 0.2.7 - 2019-07-18
|
## 0.2.7 - 2019-07-18
|
||||||
### Added
|
### Added
|
||||||
* Add support for downcasting response errors #986
|
- Add support for downcasting response errors #986
|
||||||
|
|
||||||
|
|
||||||
## 0.2.6 - 2019-07-17
|
## 0.2.6 - 2019-07-17
|
||||||
### Changed
|
### Changed
|
||||||
* Replace `ClonableService` with local copy
|
- Replace `ClonableService` with local copy
|
||||||
* Upgrade `rand` dependency version to 0.7
|
- Upgrade `rand` dependency version to 0.7
|
||||||
|
|
||||||
|
|
||||||
## 0.2.5 - 2019-06-28
|
## 0.2.5 - 2019-06-28
|
||||||
### Added
|
### Added
|
||||||
* Add `on-connect` callback, `HttpServiceBuilder::on_connect()` #946
|
- Add `on-connect` callback, `HttpServiceBuilder::on_connect()` #946
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* Use `encoding_rs` crate instead of unmaintained `encoding` crate
|
- Use `encoding_rs` crate instead of unmaintained `encoding` crate
|
||||||
* Add `Copy` and `Clone` impls for `ws::Codec`
|
- Add `Copy` and `Clone` impls for `ws::Codec`
|
||||||
|
|
||||||
|
|
||||||
## 0.2.4 - 2019-06-16
|
## 0.2.4 - 2019-06-16
|
||||||
### Fixed
|
### Fixed
|
||||||
* Do not compress NoContent (204) responses #918
|
- Do not compress NoContent (204) responses #918
|
||||||
|
|
||||||
|
|
||||||
## 0.2.3 - 2019-06-02
|
## 0.2.3 - 2019-06-02
|
||||||
### Added
|
### Added
|
||||||
* Debug impl for ResponseBuilder
|
- Debug impl for ResponseBuilder
|
||||||
* From SizedStream and BodyStream for Body
|
- From SizedStream and BodyStream for Body
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* SizedStream uses u64
|
- SizedStream uses u64
|
||||||
|
|
||||||
|
|
||||||
## 0.2.2 - 2019-05-29
|
## 0.2.2 - 2019-05-29
|
||||||
### Fixed
|
### Fixed
|
||||||
* Parse incoming stream before closing stream on disconnect #868
|
- Parse incoming stream before closing stream on disconnect #868
|
||||||
|
|
||||||
|
|
||||||
## 0.2.1 - 2019-05-25
|
## 0.2.1 - 2019-05-25
|
||||||
### Fixed
|
### Fixed
|
||||||
* Handle socket read disconnect
|
- Handle socket read disconnect
|
||||||
|
|
||||||
|
|
||||||
## 0.2.0 - 2019-05-12
|
## 0.2.0 - 2019-05-12
|
||||||
### Changed
|
### Changed
|
||||||
* Update actix-service to 0.4
|
- Update actix-service to 0.4
|
||||||
* Expect and upgrade services accept `ServerConfig` config.
|
- Expect and upgrade services accept `ServerConfig` config.
|
||||||
|
|
||||||
### Deleted
|
### Deleted
|
||||||
* `OneRequest` service
|
- `OneRequest` service
|
||||||
|
|
||||||
|
|
||||||
## 0.1.5 - 2019-05-04
|
## 0.1.5 - 2019-05-04
|
||||||
### Fixed
|
### Fixed
|
||||||
* Clean up response extensions in response pool #817
|
- Clean up response extensions in response pool #817
|
||||||
|
|
||||||
|
|
||||||
## 0.1.4 - 2019-04-24
|
## 0.1.4 - 2019-04-24
|
||||||
### Added
|
### Added
|
||||||
* Allow to render h1 request headers in `Camel-Case`
|
- Allow to render h1 request headers in `Camel-Case`
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
* Read until eof for http/1.0 responses #771
|
- Read until eof for http/1.0 responses #771
|
||||||
|
|
||||||
|
|
||||||
## 0.1.3 - 2019-04-23
|
## 0.1.3 - 2019-04-23
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fix http client pool management
|
- Fix http client pool management
|
||||||
* Fix http client wait queue management #794
|
- Fix http client wait queue management #794
|
||||||
|
|
||||||
|
|
||||||
## 0.1.2 - 2019-04-23
|
## 0.1.2 - 2019-04-23
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fix BorrowMutError panic in client connector #793
|
- Fix BorrowMutError panic in client connector #793
|
||||||
|
|
||||||
|
|
||||||
## 0.1.1 - 2019-04-19
|
## 0.1.1 - 2019-04-19
|
||||||
### Changed
|
### Changed
|
||||||
* Cookie::max_age() accepts value in seconds
|
- Cookie::max_age() accepts value in seconds
|
||||||
* Cookie::max_age_time() accepts value in time::Duration
|
- Cookie::max_age_time() accepts value in time::Duration
|
||||||
* Allow to specify server address for client connector
|
- Allow to specify server address for client connector
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0 - 2019-04-16
|
## 0.1.0 - 2019-04-16
|
||||||
### Added
|
### Added
|
||||||
* Expose peer addr via `Request::peer_addr()` and `RequestHead::peer_addr`
|
- Expose peer addr via `Request::peer_addr()` and `RequestHead::peer_addr`
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* `actix_http::encoding` always available
|
- `actix_http::encoding` always available
|
||||||
* use trust-dns-resolver 0.11.0
|
- use trust-dns-resolver 0.11.0
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-alpha.5 - 2019-04-12
|
## 0.1.0-alpha.5 - 2019-04-12
|
||||||
### Added
|
### Added
|
||||||
* Allow to use custom service for upgrade requests
|
- Allow to use custom service for upgrade requests
|
||||||
* Added `h1::SendResponse` future.
|
- Added `h1::SendResponse` future.
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* MessageBody::length() renamed to MessageBody::size() for consistency
|
- MessageBody::length() renamed to MessageBody::size() for consistency
|
||||||
* ws handshake verification functions take RequestHead instead of Request
|
- ws handshake verification functions take RequestHead instead of Request
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-alpha.4 - 2019-04-08
|
## 0.1.0-alpha.4 - 2019-04-08
|
||||||
### Added
|
### Added
|
||||||
* Allow to use custom `Expect` handler
|
- Allow to use custom `Expect` handler
|
||||||
* Add minimal `std::error::Error` impl for `Error`
|
- Add minimal `std::error::Error` impl for `Error`
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* Export IntoHeaderValue
|
- Export IntoHeaderValue
|
||||||
* Render error and return as response body
|
- Render error and return as response body
|
||||||
* Use thread pool for response body compression
|
- Use thread pool for response body compression
|
||||||
|
|
||||||
### Deleted
|
### Deleted
|
||||||
* Removed PayloadBuffer
|
- Removed PayloadBuffer
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-alpha.3 - 2019-04-02
|
## 0.1.0-alpha.3 - 2019-04-02
|
||||||
### Added
|
### Added
|
||||||
* Warn when an unsealed private cookie isn't valid UTF-8
|
- Warn when an unsealed private cookie isn't valid UTF-8
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
* Rust 1.31.0 compatibility
|
- Rust 1.31.0 compatibility
|
||||||
* Preallocate read buffer for h1 codec
|
- Preallocate read buffer for h1 codec
|
||||||
* Detect socket disconnection during protocol selection
|
- Detect socket disconnection during protocol selection
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-alpha.2 - 2019-03-29
|
## 0.1.0-alpha.2 - 2019-03-29
|
||||||
### Added
|
### Added
|
||||||
* Added ws::Message::Nop, no-op websockets message
|
- Added ws::Message::Nop, no-op websockets message
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* Do not use thread pool for decompression if chunk size is smaller than 2048.
|
- Do not use thread pool for decompression if chunk size is smaller than 2048.
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-alpha.1 - 2019-03-28
|
## 0.1.0-alpha.1 - 2019-03-28
|
||||||
* Initial impl
|
- Initial impl
|
||||||
|
|
|
@ -54,8 +54,8 @@ async fn main() -> io::Result<()> {
|
||||||
|
|
||||||
This project is licensed under either of
|
This project is licensed under either of
|
||||||
|
|
||||||
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0))
|
- Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0))
|
||||||
* MIT license ([LICENSE-MIT](LICENSE-MIT) or [http://opensource.org/licenses/MIT](http://opensource.org/licenses/MIT))
|
- MIT license ([LICENSE-MIT](LICENSE-MIT) or [http://opensource.org/licenses/MIT](http://opensource.org/licenses/MIT))
|
||||||
|
|
||||||
at your option.
|
at your option.
|
||||||
|
|
||||||
|
|
|
@ -4,119 +4,119 @@
|
||||||
|
|
||||||
|
|
||||||
## 0.4.0-beta.10 - 2021-12-11
|
## 0.4.0-beta.10 - 2021-12-11
|
||||||
* No significant changes since `0.4.0-beta.9`.
|
- No significant changes since `0.4.0-beta.9`.
|
||||||
|
|
||||||
|
|
||||||
## 0.4.0-beta.9 - 2021-12-01
|
## 0.4.0-beta.9 - 2021-12-01
|
||||||
* Polling `Field` after dropping `Multipart` now fails immediately instead of hanging forever. [#2463]
|
- Polling `Field` after dropping `Multipart` now fails immediately instead of hanging forever. [#2463]
|
||||||
|
|
||||||
[#2463]: https://github.com/actix/actix-web/pull/2463
|
[#2463]: https://github.com/actix/actix-web/pull/2463
|
||||||
|
|
||||||
|
|
||||||
## 0.4.0-beta.8 - 2021-11-22
|
## 0.4.0-beta.8 - 2021-11-22
|
||||||
* Ensure a correct Content-Disposition header is included in every part of a multipart message. [#2451]
|
- Ensure a correct Content-Disposition header is included in every part of a multipart message. [#2451]
|
||||||
* Added `MultipartError::NoContentDisposition` variant. [#2451]
|
- Added `MultipartError::NoContentDisposition` variant. [#2451]
|
||||||
* Since Content-Disposition is now ensured, `Field::content_disposition` is now infallible. [#2451]
|
- Since Content-Disposition is now ensured, `Field::content_disposition` is now infallible. [#2451]
|
||||||
* Added `Field::name` method for getting the field name. [#2451]
|
- Added `Field::name` method for getting the field name. [#2451]
|
||||||
* `MultipartError` now marks variants with inner errors as the source. [#2451]
|
- `MultipartError` now marks variants with inner errors as the source. [#2451]
|
||||||
* `MultipartError` is now marked as non-exhaustive. [#2451]
|
- `MultipartError` is now marked as non-exhaustive. [#2451]
|
||||||
|
|
||||||
[#2451]: https://github.com/actix/actix-web/pull/2451
|
[#2451]: https://github.com/actix/actix-web/pull/2451
|
||||||
|
|
||||||
|
|
||||||
## 0.4.0-beta.7 - 2021-10-20
|
## 0.4.0-beta.7 - 2021-10-20
|
||||||
* Minimum supported Rust version (MSRV) is now 1.52.
|
- Minimum supported Rust version (MSRV) is now 1.52.
|
||||||
|
|
||||||
|
|
||||||
## 0.4.0-beta.6 - 2021-09-09
|
## 0.4.0-beta.6 - 2021-09-09
|
||||||
* Minimum supported Rust version (MSRV) is now 1.51.
|
- Minimum supported Rust version (MSRV) is now 1.51.
|
||||||
|
|
||||||
|
|
||||||
## 0.4.0-beta.5 - 2021-06-17
|
## 0.4.0-beta.5 - 2021-06-17
|
||||||
* No notable changes.
|
- No notable changes.
|
||||||
|
|
||||||
|
|
||||||
## 0.4.0-beta.4 - 2021-04-02
|
## 0.4.0-beta.4 - 2021-04-02
|
||||||
* No notable changes.
|
- No notable changes.
|
||||||
|
|
||||||
|
|
||||||
## 0.4.0-beta.3 - 2021-03-09
|
## 0.4.0-beta.3 - 2021-03-09
|
||||||
* No notable changes.
|
- No notable changes.
|
||||||
|
|
||||||
|
|
||||||
## 0.4.0-beta.2 - 2021-02-10
|
## 0.4.0-beta.2 - 2021-02-10
|
||||||
* No notable changes.
|
- No notable changes.
|
||||||
|
|
||||||
|
|
||||||
## 0.4.0-beta.1 - 2021-01-07
|
## 0.4.0-beta.1 - 2021-01-07
|
||||||
* Fix multipart consuming payload before header checks. [#1513]
|
- Fix multipart consuming payload before header checks. [#1513]
|
||||||
* Update `bytes` to `1.0`. [#1813]
|
- Update `bytes` to `1.0`. [#1813]
|
||||||
|
|
||||||
[#1813]: https://github.com/actix/actix-web/pull/1813
|
[#1813]: https://github.com/actix/actix-web/pull/1813
|
||||||
[#1513]: https://github.com/actix/actix-web/pull/1513
|
[#1513]: https://github.com/actix/actix-web/pull/1513
|
||||||
|
|
||||||
|
|
||||||
## 0.3.0 - 2020-09-11
|
## 0.3.0 - 2020-09-11
|
||||||
* No significant changes from `0.3.0-beta.2`.
|
- No significant changes from `0.3.0-beta.2`.
|
||||||
|
|
||||||
|
|
||||||
## 0.3.0-beta.2 - 2020-09-10
|
## 0.3.0-beta.2 - 2020-09-10
|
||||||
* Update `actix-*` dependencies to latest versions.
|
- Update `actix-*` dependencies to latest versions.
|
||||||
|
|
||||||
|
|
||||||
## 0.3.0-beta.1 - 2020-07-15
|
## 0.3.0-beta.1 - 2020-07-15
|
||||||
* Update `actix-web` to 3.0.0-beta.1
|
- Update `actix-web` to 3.0.0-beta.1
|
||||||
|
|
||||||
|
|
||||||
## 0.3.0-alpha.1 - 2020-05-25
|
## 0.3.0-alpha.1 - 2020-05-25
|
||||||
* Update `actix-web` to 3.0.0-alpha.3
|
- Update `actix-web` to 3.0.0-alpha.3
|
||||||
* Bump minimum supported Rust version to 1.40
|
- Bump minimum supported Rust version to 1.40
|
||||||
* Minimize `futures` dependencies
|
- Minimize `futures` dependencies
|
||||||
* Remove the unused `time` dependency
|
- Remove the unused `time` dependency
|
||||||
* Fix missing `std::error::Error` implement for `MultipartError`.
|
- Fix missing `std::error::Error` implement for `MultipartError`.
|
||||||
|
|
||||||
## [0.2.0] - 2019-12-20
|
## [0.2.0] - 2019-12-20
|
||||||
|
|
||||||
* Release
|
- Release
|
||||||
|
|
||||||
## [0.2.0-alpha.4] - 2019-12-xx
|
## [0.2.0-alpha.4] - 2019-12-xx
|
||||||
|
|
||||||
* Multipart handling now handles Pending during read of boundary #1205
|
- Multipart handling now handles Pending during read of boundary #1205
|
||||||
|
|
||||||
## [0.2.0-alpha.2] - 2019-12-03
|
## [0.2.0-alpha.2] - 2019-12-03
|
||||||
|
|
||||||
* Migrate to `std::future`
|
- Migrate to `std::future`
|
||||||
|
|
||||||
## [0.1.4] - 2019-09-12
|
## [0.1.4] - 2019-09-12
|
||||||
|
|
||||||
* Multipart handling now parses requests which do not end in CRLF #1038
|
- Multipart handling now parses requests which do not end in CRLF #1038
|
||||||
|
|
||||||
## [0.1.3] - 2019-08-18
|
## [0.1.3] - 2019-08-18
|
||||||
|
|
||||||
* Fix ring dependency from actix-web default features for #741.
|
- Fix ring dependency from actix-web default features for #741.
|
||||||
|
|
||||||
## [0.1.2] - 2019-06-02
|
## [0.1.2] - 2019-06-02
|
||||||
|
|
||||||
* Fix boundary parsing #876
|
- Fix boundary parsing #876
|
||||||
|
|
||||||
## [0.1.1] - 2019-05-25
|
## [0.1.1] - 2019-05-25
|
||||||
|
|
||||||
* Fix disconnect handling #834
|
- Fix disconnect handling #834
|
||||||
|
|
||||||
## [0.1.0] - 2019-05-18
|
## [0.1.0] - 2019-05-18
|
||||||
|
|
||||||
* Release
|
- Release
|
||||||
|
|
||||||
## [0.1.0-beta.4] - 2019-05-12
|
## [0.1.0-beta.4] - 2019-05-12
|
||||||
|
|
||||||
* Handle cancellation of uploads #736
|
- Handle cancellation of uploads #736
|
||||||
|
|
||||||
* Upgrade to actix-web 1.0.0-beta.4
|
- Upgrade to actix-web 1.0.0-beta.4
|
||||||
|
|
||||||
## [0.1.0-beta.1] - 2019-04-21
|
## [0.1.0-beta.1] - 2019-04-21
|
||||||
|
|
||||||
* Do not support nested multipart
|
- Do not support nested multipart
|
||||||
|
|
||||||
* Split multipart support to separate crate
|
- Split multipart support to separate crate
|
||||||
|
|
||||||
* Optimize multipart handling #634, #769
|
- Optimize multipart handling #634, #769
|
||||||
|
|
|
@ -4,20 +4,20 @@
|
||||||
|
|
||||||
|
|
||||||
## 0.5.0-beta.3 - 2021-12-17
|
## 0.5.0-beta.3 - 2021-12-17
|
||||||
* Minimum supported Rust version (MSRV) is now 1.52.
|
- Minimum supported Rust version (MSRV) is now 1.52.
|
||||||
|
|
||||||
|
|
||||||
## 0.5.0-beta.2 - 2021-09-09
|
## 0.5.0-beta.2 - 2021-09-09
|
||||||
* Introduce `ResourceDef::join`. [#380]
|
- Introduce `ResourceDef::join`. [#380]
|
||||||
* Disallow prefix routes with tail segments. [#379]
|
- Disallow prefix routes with tail segments. [#379]
|
||||||
* Enforce path separators on dynamic prefixes. [#378]
|
- Enforce path separators on dynamic prefixes. [#378]
|
||||||
* Improve malformed path error message. [#384]
|
- Improve malformed path error message. [#384]
|
||||||
* Prefix segments now always end with with a segment delimiter or end-of-input. [#2355]
|
- Prefix segments now always end with with a segment delimiter or end-of-input. [#2355]
|
||||||
* Prefix segments with trailing slashes define a trailing empty segment. [#2355]
|
- Prefix segments with trailing slashes define a trailing empty segment. [#2355]
|
||||||
* Support multi-pattern prefixes and joins. [#2356]
|
- Support multi-pattern prefixes and joins. [#2356]
|
||||||
* `ResourceDef::pattern` now returns the first pattern in multi-pattern resources. [#2356]
|
- `ResourceDef::pattern` now returns the first pattern in multi-pattern resources. [#2356]
|
||||||
* Support `build_resource_path` on multi-pattern resources. [#2356]
|
- Support `build_resource_path` on multi-pattern resources. [#2356]
|
||||||
* Minimum supported Rust version (MSRV) is now 1.51.
|
- Minimum supported Rust version (MSRV) is now 1.51.
|
||||||
|
|
||||||
[#378]: https://github.com/actix/actix-net/pull/378
|
[#378]: https://github.com/actix/actix-net/pull/378
|
||||||
[#379]: https://github.com/actix/actix-net/pull/379
|
[#379]: https://github.com/actix/actix-net/pull/379
|
||||||
|
@ -28,23 +28,23 @@
|
||||||
|
|
||||||
|
|
||||||
## 0.5.0-beta.1 - 2021-07-20
|
## 0.5.0-beta.1 - 2021-07-20
|
||||||
* Fix a bug in multi-patterns where static patterns are interpreted as regex. [#366]
|
- Fix a bug in multi-patterns where static patterns are interpreted as regex. [#366]
|
||||||
* Introduce `ResourceDef::pattern_iter` to get an iterator over all patterns in a multi-pattern resource. [#373]
|
- Introduce `ResourceDef::pattern_iter` to get an iterator over all patterns in a multi-pattern resource. [#373]
|
||||||
* Fix segment interpolation leaving `Path` in unintended state after matching. [#368]
|
- Fix segment interpolation leaving `Path` in unintended state after matching. [#368]
|
||||||
* Fix `ResourceDef` `PartialEq` implementation. [#373]
|
- Fix `ResourceDef` `PartialEq` implementation. [#373]
|
||||||
* Re-work `IntoPatterns` trait, adding a `Patterns` enum. [#372]
|
- Re-work `IntoPatterns` trait, adding a `Patterns` enum. [#372]
|
||||||
* Implement `IntoPatterns` for `bytestring::ByteString`. [#372]
|
- Implement `IntoPatterns` for `bytestring::ByteString`. [#372]
|
||||||
* Rename `Path::{len => segment_count}` to be more descriptive of it's purpose. [#370]
|
- Rename `Path::{len => segment_count}` to be more descriptive of it's purpose. [#370]
|
||||||
* Rename `ResourceDef::{resource_path => resource_path_from_iter}`. [#371]
|
- Rename `ResourceDef::{resource_path => resource_path_from_iter}`. [#371]
|
||||||
* `ResourceDef::resource_path_from_iter` now takes an `IntoIterator`. [#373]
|
- `ResourceDef::resource_path_from_iter` now takes an `IntoIterator`. [#373]
|
||||||
* Rename `ResourceDef::{resource_path_named => resource_path_from_map}`. [#371]
|
- Rename `ResourceDef::{resource_path_named => resource_path_from_map}`. [#371]
|
||||||
* Rename `ResourceDef::{is_prefix_match => find_match}`. [#373]
|
- Rename `ResourceDef::{is_prefix_match => find_match}`. [#373]
|
||||||
* Rename `ResourceDef::{match_path => capture_match_info}`. [#373]
|
- Rename `ResourceDef::{match_path => capture_match_info}`. [#373]
|
||||||
* Rename `ResourceDef::{match_path_checked => capture_match_info_fn}`. [#373]
|
- Rename `ResourceDef::{match_path_checked => capture_match_info_fn}`. [#373]
|
||||||
* Remove `ResourceDef::name_mut` and introduce `ResourceDef::set_name`. [#373]
|
- Remove `ResourceDef::name_mut` and introduce `ResourceDef::set_name`. [#373]
|
||||||
* Rename `Router::{*_checked => *_fn}`. [#373]
|
- Rename `Router::{*_checked => *_fn}`. [#373]
|
||||||
* Return type of `ResourceDef::name` is now `Option<&str>`. [#373]
|
- Return type of `ResourceDef::name` is now `Option<&str>`. [#373]
|
||||||
* Return type of `ResourceDef::pattern` is now `Option<&str>`. [#373]
|
- Return type of `ResourceDef::pattern` is now `Option<&str>`. [#373]
|
||||||
|
|
||||||
[#368]: https://github.com/actix/actix-net/pull/368
|
[#368]: https://github.com/actix/actix-net/pull/368
|
||||||
[#366]: https://github.com/actix/actix-net/pull/366
|
[#366]: https://github.com/actix/actix-net/pull/366
|
||||||
|
@ -56,10 +56,10 @@
|
||||||
|
|
||||||
|
|
||||||
## 0.4.0 - 2021-06-06
|
## 0.4.0 - 2021-06-06
|
||||||
* When matching path parameters, `%25` is now kept in the percent-encoded form; no longer decoded to `%`. [#357]
|
- When matching path parameters, `%25` is now kept in the percent-encoded form; no longer decoded to `%`. [#357]
|
||||||
* Path tail patterns now match new lines (`\n`) in request URL. [#360]
|
- Path tail patterns now match new lines (`\n`) in request URL. [#360]
|
||||||
* Fixed a safety bug where `Path` could return a malformed string after percent decoding. [#359]
|
- Fixed a safety bug where `Path` could return a malformed string after percent decoding. [#359]
|
||||||
* Methods `Path::{add, add_static}` now take `impl Into<Cow<'static, str>>`. [#345]
|
- Methods `Path::{add, add_static}` now take `impl Into<Cow<'static, str>>`. [#345]
|
||||||
|
|
||||||
[#345]: https://github.com/actix/actix-net/pull/345
|
[#345]: https://github.com/actix/actix-net/pull/345
|
||||||
[#357]: https://github.com/actix/actix-net/pull/357
|
[#357]: https://github.com/actix/actix-net/pull/357
|
||||||
|
@ -68,68 +68,68 @@
|
||||||
|
|
||||||
|
|
||||||
## 0.3.0 - 2019-12-31
|
## 0.3.0 - 2019-12-31
|
||||||
* Version was yanked previously. See https://crates.io/crates/actix-router/0.3.0
|
- Version was yanked previously. See https://crates.io/crates/actix-router/0.3.0
|
||||||
|
|
||||||
|
|
||||||
## 0.2.7 - 2021-02-06
|
## 0.2.7 - 2021-02-06
|
||||||
* Add `Router::recognize_checked` [#247]
|
- Add `Router::recognize_checked` [#247]
|
||||||
|
|
||||||
[#247]: https://github.com/actix/actix-net/pull/247
|
[#247]: https://github.com/actix/actix-net/pull/247
|
||||||
|
|
||||||
|
|
||||||
## 0.2.6 - 2021-01-09
|
## 0.2.6 - 2021-01-09
|
||||||
* Use `bytestring` version range compatible with Bytes v1.0. [#246]
|
- Use `bytestring` version range compatible with Bytes v1.0. [#246]
|
||||||
|
|
||||||
[#246]: https://github.com/actix/actix-net/pull/246
|
[#246]: https://github.com/actix/actix-net/pull/246
|
||||||
|
|
||||||
|
|
||||||
## 0.2.5 - 2020-09-20
|
## 0.2.5 - 2020-09-20
|
||||||
* Fix `from_hex()` method
|
- Fix `from_hex()` method
|
||||||
|
|
||||||
|
|
||||||
## 0.2.4 - 2019-12-31
|
## 0.2.4 - 2019-12-31
|
||||||
* Add `ResourceDef::resource_path_named()` path generation method
|
- Add `ResourceDef::resource_path_named()` path generation method
|
||||||
|
|
||||||
|
|
||||||
## 0.2.3 - 2019-12-25
|
## 0.2.3 - 2019-12-25
|
||||||
* Add impl `IntoPattern` for `&String`
|
- Add impl `IntoPattern` for `&String`
|
||||||
|
|
||||||
|
|
||||||
## 0.2.2 - 2019-12-25
|
## 0.2.2 - 2019-12-25
|
||||||
* Use `IntoPattern` for `RouterBuilder::path()`
|
- Use `IntoPattern` for `RouterBuilder::path()`
|
||||||
|
|
||||||
|
|
||||||
## 0.2.1 - 2019-12-25
|
## 0.2.1 - 2019-12-25
|
||||||
* Add `IntoPattern` trait
|
- Add `IntoPattern` trait
|
||||||
* Add multi-pattern resources
|
- Add multi-pattern resources
|
||||||
|
|
||||||
|
|
||||||
## 0.2.0 - 2019-12-07
|
## 0.2.0 - 2019-12-07
|
||||||
* Update http to 0.2
|
- Update http to 0.2
|
||||||
* Update regex to 1.3
|
- Update regex to 1.3
|
||||||
* Use bytestring instead of string
|
- Use bytestring instead of string
|
||||||
|
|
||||||
|
|
||||||
## 0.1.5 - 2019-05-15
|
## 0.1.5 - 2019-05-15
|
||||||
* Remove debug prints
|
- Remove debug prints
|
||||||
|
|
||||||
|
|
||||||
## 0.1.4 - 2019-05-15
|
## 0.1.4 - 2019-05-15
|
||||||
* Fix checked resource match
|
- Fix checked resource match
|
||||||
|
|
||||||
|
|
||||||
## 0.1.3 - 2019-04-22
|
## 0.1.3 - 2019-04-22
|
||||||
* Added support for `remainder match` (i.e "/path/{tail}*")
|
- Added support for `remainder match` (i.e "/path/{tail}*")
|
||||||
|
|
||||||
|
|
||||||
## 0.1.2 - 2019-04-07
|
## 0.1.2 - 2019-04-07
|
||||||
* Export `Quoter` type
|
- Export `Quoter` type
|
||||||
* Allow to reset `Path` instance
|
- Allow to reset `Path` instance
|
||||||
|
|
||||||
|
|
||||||
## 0.1.1 - 2019-04-03
|
## 0.1.1 - 2019-04-03
|
||||||
* Get dynamic segment by name instead of iterator.
|
- Get dynamic segment by name instead of iterator.
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0 - 2019-03-09
|
## 0.1.0 - 2019-03-09
|
||||||
* Initial release
|
- Initial release
|
||||||
|
|
|
@ -4,46 +4,46 @@
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-beta.9 - 2021-12-17
|
## 0.1.0-beta.9 - 2021-12-17
|
||||||
* Re-export `actix_http::body::to_bytes`. [#2518]
|
- Re-export `actix_http::body::to_bytes`. [#2518]
|
||||||
* Update `actix_web::test` re-exports. [#2518]
|
- Update `actix_web::test` re-exports. [#2518]
|
||||||
|
|
||||||
[#2518]: https://github.com/actix/actix-web/pull/2518
|
[#2518]: https://github.com/actix/actix-web/pull/2518
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-beta.8 - 2021-12-11
|
## 0.1.0-beta.8 - 2021-12-11
|
||||||
* No significant changes since `0.1.0-beta.7`.
|
- No significant changes since `0.1.0-beta.7`.
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-beta.7 - 2021-11-22
|
## 0.1.0-beta.7 - 2021-11-22
|
||||||
* Fix compatibility with experimental `io-uring` feature of `actix-rt`. [#2408]
|
- Fix compatibility with experimental `io-uring` feature of `actix-rt`. [#2408]
|
||||||
|
|
||||||
[#2408]: https://github.com/actix/actix-web/pull/2408
|
[#2408]: https://github.com/actix/actix-web/pull/2408
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-beta.6 - 2021-11-15
|
## 0.1.0-beta.6 - 2021-11-15
|
||||||
* No significant changes from `0.1.0-beta.5`.
|
- No significant changes from `0.1.0-beta.5`.
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-beta.5 - 2021-10-20
|
## 0.1.0-beta.5 - 2021-10-20
|
||||||
* Updated rustls to v0.20. [#2414]
|
- Updated rustls to v0.20. [#2414]
|
||||||
* Minimum supported Rust version (MSRV) is now 1.52.
|
- Minimum supported Rust version (MSRV) is now 1.52.
|
||||||
|
|
||||||
[#2414]: https://github.com/actix/actix-web/pull/2414
|
[#2414]: https://github.com/actix/actix-web/pull/2414
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-beta.4 - 2021-09-09
|
## 0.1.0-beta.4 - 2021-09-09
|
||||||
* Minimum supported Rust version (MSRV) is now 1.51.
|
- Minimum supported Rust version (MSRV) is now 1.51.
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-beta.3 - 2021-06-20
|
## 0.1.0-beta.3 - 2021-06-20
|
||||||
* No significant changes from `0.1.0-beta.2`.
|
- No significant changes from `0.1.0-beta.2`.
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-beta.2 - 2021-04-17
|
## 0.1.0-beta.2 - 2021-04-17
|
||||||
* No significant changes from `0.1.0-beta.1`.
|
- No significant changes from `0.1.0-beta.1`.
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-beta.1 - 2021-04-02
|
## 0.1.0-beta.1 - 2021-04-02
|
||||||
* Move integration testing structs from `actix-web`. [#2112]
|
- Move integration testing structs from `actix-web`. [#2112]
|
||||||
|
|
||||||
[#2112]: https://github.com/actix/actix-web/pull/2112
|
[#2112]: https://github.com/actix/actix-web/pull/2112
|
||||||
|
|
|
@ -4,105 +4,105 @@
|
||||||
|
|
||||||
|
|
||||||
## 4.0.0-beta.8 - 2021-12-11
|
## 4.0.0-beta.8 - 2021-12-11
|
||||||
* Add `ws:WsResponseBuilder` for building WebSocket session response. [#1920]
|
- Add `ws:WsResponseBuilder` for building WebSocket session response. [#1920]
|
||||||
* Deprecate `ws::{start_with_addr, start_with_protocols}`. [#1920]
|
- Deprecate `ws::{start_with_addr, start_with_protocols}`. [#1920]
|
||||||
* Minimum supported Rust version (MSRV) is now 1.52.
|
- Minimum supported Rust version (MSRV) is now 1.52.
|
||||||
|
|
||||||
[#1920]: https://github.com/actix/actix-web/pull/1920
|
[#1920]: https://github.com/actix/actix-web/pull/1920
|
||||||
|
|
||||||
|
|
||||||
## 4.0.0-beta.7 - 2021-09-09
|
## 4.0.0-beta.7 - 2021-09-09
|
||||||
* Minimum supported Rust version (MSRV) is now 1.51.
|
- Minimum supported Rust version (MSRV) is now 1.51.
|
||||||
|
|
||||||
|
|
||||||
## 4.0.0-beta.6 - 2021-06-26
|
## 4.0.0-beta.6 - 2021-06-26
|
||||||
* Update `actix` to `0.12`. [#2277]
|
- Update `actix` to `0.12`. [#2277]
|
||||||
|
|
||||||
[#2277]: https://github.com/actix/actix-web/pull/2277
|
[#2277]: https://github.com/actix/actix-web/pull/2277
|
||||||
|
|
||||||
|
|
||||||
## 4.0.0-beta.5 - 2021-06-17
|
## 4.0.0-beta.5 - 2021-06-17
|
||||||
* No notable changes.
|
- No notable changes.
|
||||||
|
|
||||||
|
|
||||||
## 4.0.0-beta.4 - 2021-04-02
|
## 4.0.0-beta.4 - 2021-04-02
|
||||||
* No notable changes.
|
- No notable changes.
|
||||||
|
|
||||||
|
|
||||||
## 4.0.0-beta.3 - 2021-03-09
|
## 4.0.0-beta.3 - 2021-03-09
|
||||||
* No notable changes.
|
- No notable changes.
|
||||||
|
|
||||||
|
|
||||||
## 4.0.0-beta.2 - 2021-02-10
|
## 4.0.0-beta.2 - 2021-02-10
|
||||||
* No notable changes.
|
- No notable changes.
|
||||||
|
|
||||||
|
|
||||||
## 4.0.0-beta.1 - 2021-01-07
|
## 4.0.0-beta.1 - 2021-01-07
|
||||||
* Update `pin-project` to `1.0`.
|
- Update `pin-project` to `1.0`.
|
||||||
* Update `bytes` to `1.0`. [#1813]
|
- Update `bytes` to `1.0`. [#1813]
|
||||||
* `WebsocketContext::text` now takes an `Into<bytestring::ByteString>`. [#1864]
|
- `WebsocketContext::text` now takes an `Into<bytestring::ByteString>`. [#1864]
|
||||||
|
|
||||||
[#1813]: https://github.com/actix/actix-web/pull/1813
|
[#1813]: https://github.com/actix/actix-web/pull/1813
|
||||||
[#1864]: https://github.com/actix/actix-web/pull/1864
|
[#1864]: https://github.com/actix/actix-web/pull/1864
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0 - 2020-09-11
|
## 3.0.0 - 2020-09-11
|
||||||
* No significant changes from `3.0.0-beta.2`.
|
- No significant changes from `3.0.0-beta.2`.
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.2 - 2020-09-10
|
## 3.0.0-beta.2 - 2020-09-10
|
||||||
* Update `actix-*` dependencies to latest versions.
|
- Update `actix-*` dependencies to latest versions.
|
||||||
|
|
||||||
|
|
||||||
## [3.0.0-beta.1] - 2020-xx-xx
|
## [3.0.0-beta.1] - 2020-xx-xx
|
||||||
* Update `actix-web` & `actix-http` dependencies to beta.1
|
- Update `actix-web` & `actix-http` dependencies to beta.1
|
||||||
* Bump minimum supported Rust version to 1.40
|
- Bump minimum supported Rust version to 1.40
|
||||||
|
|
||||||
|
|
||||||
## [3.0.0-alpha.1] - 2020-05-08
|
## [3.0.0-alpha.1] - 2020-05-08
|
||||||
* Update the actix-web dependency to 3.0.0-alpha.1
|
- Update the actix-web dependency to 3.0.0-alpha.1
|
||||||
* Update the actix dependency to 0.10.0-alpha.2
|
- Update the actix dependency to 0.10.0-alpha.2
|
||||||
* Update the actix-http dependency to 2.0.0-alpha.3
|
- Update the actix-http dependency to 2.0.0-alpha.3
|
||||||
|
|
||||||
## [2.0.0] - 2019-12-20
|
## [2.0.0] - 2019-12-20
|
||||||
|
|
||||||
* Release
|
- Release
|
||||||
|
|
||||||
## [2.0.0-alpha.1] - 2019-12-15
|
## [2.0.0-alpha.1] - 2019-12-15
|
||||||
|
|
||||||
* Migrate to actix-web 2.0.0
|
- Migrate to actix-web 2.0.0
|
||||||
|
|
||||||
## [1.0.4] - 2019-12-07
|
## [1.0.4] - 2019-12-07
|
||||||
|
|
||||||
* Allow comma-separated websocket subprotocols without spaces (#1172)
|
- Allow comma-separated websocket subprotocols without spaces (#1172)
|
||||||
|
|
||||||
## [1.0.3] - 2019-11-14
|
## [1.0.3] - 2019-11-14
|
||||||
|
|
||||||
* Update actix-web and actix-http dependencies
|
- Update actix-web and actix-http dependencies
|
||||||
|
|
||||||
## [1.0.2] - 2019-07-20
|
## [1.0.2] - 2019-07-20
|
||||||
|
|
||||||
* Add `ws::start_with_addr()`, returning the address of the created actor, along
|
- Add `ws::start_with_addr()`, returning the address of the created actor, along
|
||||||
with the `HttpResponse`.
|
with the `HttpResponse`.
|
||||||
|
|
||||||
* Add support for specifying protocols on websocket handshake #835
|
- Add support for specifying protocols on websocket handshake #835
|
||||||
|
|
||||||
## [1.0.1] - 2019-06-28
|
## [1.0.1] - 2019-06-28
|
||||||
|
|
||||||
* Allow to use custom ws codec with `WebsocketContext` #925
|
- Allow to use custom ws codec with `WebsocketContext` #925
|
||||||
|
|
||||||
## [1.0.0] - 2019-05-29
|
## [1.0.0] - 2019-05-29
|
||||||
|
|
||||||
* Update actix-http and actix-web
|
- Update actix-http and actix-web
|
||||||
|
|
||||||
## [0.1.0-alpha.3] - 2019-04-02
|
## [0.1.0-alpha.3] - 2019-04-02
|
||||||
|
|
||||||
* Update actix-http and actix-web
|
- Update actix-http and actix-web
|
||||||
|
|
||||||
## [0.1.0-alpha.2] - 2019-03-29
|
## [0.1.0-alpha.2] - 2019-03-29
|
||||||
|
|
||||||
* Update actix-http and actix-web
|
- Update actix-http and actix-web
|
||||||
|
|
||||||
## [0.1.0-alpha.1] - 2019-03-28
|
## [0.1.0-alpha.1] - 2019-03-28
|
||||||
|
|
||||||
* Initial impl
|
- Initial impl
|
||||||
|
|
|
@ -4,101 +4,101 @@
|
||||||
|
|
||||||
|
|
||||||
## 0.5.0-beta.6 - 2021-12-11
|
## 0.5.0-beta.6 - 2021-12-11
|
||||||
* No significant changes since `0.5.0-beta.5`.
|
- No significant changes since `0.5.0-beta.5`.
|
||||||
|
|
||||||
|
|
||||||
## 0.5.0-beta.5 - 2021-10-20
|
## 0.5.0-beta.5 - 2021-10-20
|
||||||
* Improve error recovery potential when macro input is invalid. [#2410]
|
- Improve error recovery potential when macro input is invalid. [#2410]
|
||||||
* Add `#[actix_web::test]` macro for setting up tests with a runtime. [#2409]
|
- Add `#[actix_web::test]` macro for setting up tests with a runtime. [#2409]
|
||||||
* Minimum supported Rust version (MSRV) is now 1.52.
|
- Minimum supported Rust version (MSRV) is now 1.52.
|
||||||
|
|
||||||
[#2410]: https://github.com/actix/actix-web/pull/2410
|
[#2410]: https://github.com/actix/actix-web/pull/2410
|
||||||
[#2409]: https://github.com/actix/actix-web/pull/2409
|
[#2409]: https://github.com/actix/actix-web/pull/2409
|
||||||
|
|
||||||
|
|
||||||
## 0.5.0-beta.4 - 2021-09-09
|
## 0.5.0-beta.4 - 2021-09-09
|
||||||
* In routing macros, paths are now validated at compile time. [#2350]
|
- In routing macros, paths are now validated at compile time. [#2350]
|
||||||
* Minimum supported Rust version (MSRV) is now 1.51.
|
- Minimum supported Rust version (MSRV) is now 1.51.
|
||||||
|
|
||||||
[#2350]: https://github.com/actix/actix-web/pull/2350
|
[#2350]: https://github.com/actix/actix-web/pull/2350
|
||||||
|
|
||||||
|
|
||||||
## 0.5.0-beta.3 - 2021-06-17
|
## 0.5.0-beta.3 - 2021-06-17
|
||||||
* No notable changes.
|
- No notable changes.
|
||||||
|
|
||||||
|
|
||||||
## 0.5.0-beta.2 - 2021-03-09
|
## 0.5.0-beta.2 - 2021-03-09
|
||||||
* Preserve doc comments when using route macros. [#2022]
|
- Preserve doc comments when using route macros. [#2022]
|
||||||
* Add `name` attribute to `route` macro. [#1934]
|
- Add `name` attribute to `route` macro. [#1934]
|
||||||
|
|
||||||
[#2022]: https://github.com/actix/actix-web/pull/2022
|
[#2022]: https://github.com/actix/actix-web/pull/2022
|
||||||
[#1934]: https://github.com/actix/actix-web/pull/1934
|
[#1934]: https://github.com/actix/actix-web/pull/1934
|
||||||
|
|
||||||
|
|
||||||
## 0.5.0-beta.1 - 2021-02-10
|
## 0.5.0-beta.1 - 2021-02-10
|
||||||
* Use new call signature for `System::new`.
|
- Use new call signature for `System::new`.
|
||||||
|
|
||||||
|
|
||||||
## 0.4.0 - 2020-09-20
|
## 0.4.0 - 2020-09-20
|
||||||
* Added compile success and failure testing. [#1677]
|
- Added compile success and failure testing. [#1677]
|
||||||
* Add `route` macro for supporting multiple HTTP methods guards. [#1674]
|
- Add `route` macro for supporting multiple HTTP methods guards. [#1674]
|
||||||
|
|
||||||
[#1677]: https://github.com/actix/actix-web/pull/1677
|
[#1677]: https://github.com/actix/actix-web/pull/1677
|
||||||
[#1674]: https://github.com/actix/actix-web/pull/1674
|
[#1674]: https://github.com/actix/actix-web/pull/1674
|
||||||
|
|
||||||
|
|
||||||
## 0.3.0 - 2020-09-11
|
## 0.3.0 - 2020-09-11
|
||||||
* No significant changes from `0.3.0-beta.1`.
|
- No significant changes from `0.3.0-beta.1`.
|
||||||
|
|
||||||
|
|
||||||
## 0.3.0-beta.1 - 2020-07-14
|
## 0.3.0-beta.1 - 2020-07-14
|
||||||
* Add main entry-point macro that uses re-exported runtime. [#1559]
|
- Add main entry-point macro that uses re-exported runtime. [#1559]
|
||||||
|
|
||||||
[#1559]: https://github.com/actix/actix-web/pull/1559
|
[#1559]: https://github.com/actix/actix-web/pull/1559
|
||||||
|
|
||||||
|
|
||||||
## 0.2.2 - 2020-05-23
|
## 0.2.2 - 2020-05-23
|
||||||
* Add resource middleware on actix-web-codegen [#1467]
|
- Add resource middleware on actix-web-codegen [#1467]
|
||||||
|
|
||||||
[#1467]: https://github.com/actix/actix-web/pull/1467
|
[#1467]: https://github.com/actix/actix-web/pull/1467
|
||||||
|
|
||||||
|
|
||||||
## 0.2.1 - 2020-02-25
|
## 0.2.1 - 2020-02-25
|
||||||
* Add `#[allow(missing_docs)]` attribute to generated structs [#1368]
|
- Add `#[allow(missing_docs)]` attribute to generated structs [#1368]
|
||||||
* Allow the handler function to be named as `config` [#1290]
|
- Allow the handler function to be named as `config` [#1290]
|
||||||
|
|
||||||
[#1368]: https://github.com/actix/actix-web/issues/1368
|
[#1368]: https://github.com/actix/actix-web/issues/1368
|
||||||
[#1290]: https://github.com/actix/actix-web/issues/1290
|
[#1290]: https://github.com/actix/actix-web/issues/1290
|
||||||
|
|
||||||
|
|
||||||
## 0.2.0 - 2019-12-13
|
## 0.2.0 - 2019-12-13
|
||||||
* Generate code for actix-web 2.0
|
- Generate code for actix-web 2.0
|
||||||
|
|
||||||
|
|
||||||
## 0.1.3 - 2019-10-14
|
## 0.1.3 - 2019-10-14
|
||||||
* Bump up `syn` & `quote` to 1.0
|
- Bump up `syn` & `quote` to 1.0
|
||||||
* Provide better error message
|
- Provide better error message
|
||||||
|
|
||||||
|
|
||||||
## 0.1.2 - 2019-06-04
|
## 0.1.2 - 2019-06-04
|
||||||
* Add macros for head, options, trace, connect and patch http methods
|
- Add macros for head, options, trace, connect and patch http methods
|
||||||
|
|
||||||
|
|
||||||
## 0.1.1 - 2019-06-01
|
## 0.1.1 - 2019-06-01
|
||||||
* Add syn "extra-traits" feature
|
- Add syn "extra-traits" feature
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0 - 2019-05-18
|
## 0.1.0 - 2019-05-18
|
||||||
* Release
|
- Release
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-beta.1 - 2019-04-20
|
## 0.1.0-beta.1 - 2019-04-20
|
||||||
* Gen code for actix-web 1.0.0-beta.1
|
- Gen code for actix-web 1.0.0-beta.1
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-alpha.6 - 2019-04-14
|
## 0.1.0-alpha.6 - 2019-04-14
|
||||||
* Gen code for actix-web 1.0.0-alpha.6
|
- Gen code for actix-web 1.0.0-alpha.6
|
||||||
|
|
||||||
|
|
||||||
## 0.1.0-alpha.1 - 2019-03-28
|
## 0.1.0-alpha.1 - 2019-03-28
|
||||||
* Initial impl
|
- Initial impl
|
||||||
|
|
170
awc/CHANGES.md
170
awc/CHANGES.md
|
@ -1,75 +1,75 @@
|
||||||
# Changes
|
# Changes
|
||||||
|
|
||||||
## Unreleased - 2021-xx-xx
|
## Unreleased - 2021-xx-xx
|
||||||
* Rename `Connector::{ssl => openssl}`. [#2503]
|
- Rename `Connector::{ssl => openssl}`. [#2503]
|
||||||
* Improve `Client` instantiation efficiency when using `openssl` by only building connectors once. [#2503]
|
- Improve `Client` instantiation efficiency when using `openssl` by only building connectors once. [#2503]
|
||||||
|
|
||||||
[#2503]: https://github.com/actix/actix-web/pull/2503
|
[#2503]: https://github.com/actix/actix-web/pull/2503
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.14 - 2021-12-17
|
## 3.0.0-beta.14 - 2021-12-17
|
||||||
* Add `ClientBuilder::add_default_header` and deprecate `ClientBuilder::header`. [#2510]
|
- Add `ClientBuilder::add_default_header` and deprecate `ClientBuilder::header`. [#2510]
|
||||||
|
|
||||||
[#2510]: https://github.com/actix/actix-web/pull/2510
|
[#2510]: https://github.com/actix/actix-web/pull/2510
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.13 - 2021-12-11
|
## 3.0.0-beta.13 - 2021-12-11
|
||||||
* No significant changes since `3.0.0-beta.12`.
|
- No significant changes since `3.0.0-beta.12`.
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.12 - 2021-11-30
|
## 3.0.0-beta.12 - 2021-11-30
|
||||||
* Update `actix-tls` to `3.0.0-rc.1`. [#2474]
|
- Update `actix-tls` to `3.0.0-rc.1`. [#2474]
|
||||||
|
|
||||||
[#2474]: https://github.com/actix/actix-web/pull/2474
|
[#2474]: https://github.com/actix/actix-web/pull/2474
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.11 - 2021-11-22
|
## 3.0.0-beta.11 - 2021-11-22
|
||||||
* No significant changes from `3.0.0-beta.10`.
|
- No significant changes from `3.0.0-beta.10`.
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.10 - 2021-11-15
|
## 3.0.0-beta.10 - 2021-11-15
|
||||||
* No significant changes from `3.0.0-beta.9`.
|
- No significant changes from `3.0.0-beta.9`.
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.9 - 2021-10-20
|
## 3.0.0-beta.9 - 2021-10-20
|
||||||
* Updated rustls to v0.20. [#2414]
|
- Updated rustls to v0.20. [#2414]
|
||||||
|
|
||||||
[#2414]: https://github.com/actix/actix-web/pull/2414
|
[#2414]: https://github.com/actix/actix-web/pull/2414
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.8 - 2021-09-09
|
## 3.0.0-beta.8 - 2021-09-09
|
||||||
### Changed
|
### Changed
|
||||||
* Send headers within the redirect requests. [#2310]
|
- Send headers within the redirect requests. [#2310]
|
||||||
|
|
||||||
[#2310]: https://github.com/actix/actix-web/pull/2310
|
[#2310]: https://github.com/actix/actix-web/pull/2310
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.7 - 2021-06-26
|
## 3.0.0-beta.7 - 2021-06-26
|
||||||
### Changed
|
### Changed
|
||||||
* Change compression algorithm features flags. [#2250]
|
- Change compression algorithm features flags. [#2250]
|
||||||
|
|
||||||
[#2250]: https://github.com/actix/actix-web/pull/2250
|
[#2250]: https://github.com/actix/actix-web/pull/2250
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.6 - 2021-06-17
|
## 3.0.0-beta.6 - 2021-06-17
|
||||||
* No significant changes since 3.0.0-beta.5.
|
- No significant changes since 3.0.0-beta.5.
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.5 - 2021-04-17
|
## 3.0.0-beta.5 - 2021-04-17
|
||||||
### Removed
|
### Removed
|
||||||
* Deprecated methods on `ClientRequest`: `if_true`, `if_some`. [#2148]
|
- Deprecated methods on `ClientRequest`: `if_true`, `if_some`. [#2148]
|
||||||
|
|
||||||
[#2148]: https://github.com/actix/actix-web/pull/2148
|
[#2148]: https://github.com/actix/actix-web/pull/2148
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0-beta.4 - 2021-04-02
|
## 3.0.0-beta.4 - 2021-04-02
|
||||||
### Added
|
### Added
|
||||||
* Add `Client::headers` to get default mut reference of `HeaderMap` of client object. [#2114]
|
- Add `Client::headers` to get default mut reference of `HeaderMap` of client object. [#2114]
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* `ConnectorService` type is renamed to `BoxConnectorService`. [#2081]
|
- `ConnectorService` type is renamed to `BoxConnectorService`. [#2081]
|
||||||
* Fix http/https encoding when enabling `compress` feature. [#2116]
|
- Fix http/https encoding when enabling `compress` feature. [#2116]
|
||||||
* Rename `TestResponse::header` to `append_header`, `set` to `insert_header`. `TestResponse` header
|
- Rename `TestResponse::header` to `append_header`, `set` to `insert_header`. `TestResponse` header
|
||||||
methods now take `TryIntoHeaderPair` tuples. [#2094]
|
methods now take `TryIntoHeaderPair` tuples. [#2094]
|
||||||
|
|
||||||
[#2081]: https://github.com/actix/actix-web/pull/2081
|
[#2081]: https://github.com/actix/actix-web/pull/2081
|
||||||
|
@ -80,16 +80,16 @@
|
||||||
|
|
||||||
## 3.0.0-beta.3 - 2021-03-08
|
## 3.0.0-beta.3 - 2021-03-08
|
||||||
### Added
|
### Added
|
||||||
* `ClientResponse::timeout` for set the timeout of collecting response body. [#1931]
|
- `ClientResponse::timeout` for set the timeout of collecting response body. [#1931]
|
||||||
* `ClientBuilder::local_address` for bind to a local ip address for this client. [#2024]
|
- `ClientBuilder::local_address` for bind to a local ip address for this client. [#2024]
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* Feature `cookies` is now optional and enabled by default. [#1981]
|
- Feature `cookies` is now optional and enabled by default. [#1981]
|
||||||
* `ClientBuilder::connector` method would take `actix_http::client::Connector<T, U>` type. [#2008]
|
- `ClientBuilder::connector` method would take `actix_http::client::Connector<T, U>` type. [#2008]
|
||||||
* Basic auth password now takes blank passwords as an empty string instead of Option. [#2050]
|
- Basic auth password now takes blank passwords as an empty string instead of Option. [#2050]
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
* `ClientBuilder::default` function [#2008]
|
- `ClientBuilder::default` function [#2008]
|
||||||
|
|
||||||
[#1931]: https://github.com/actix/actix-web/pull/1931
|
[#1931]: https://github.com/actix/actix-web/pull/1931
|
||||||
[#1981]: https://github.com/actix/actix-web/pull/1981
|
[#1981]: https://github.com/actix/actix-web/pull/1981
|
||||||
|
@ -100,18 +100,18 @@
|
||||||
|
|
||||||
## 3.0.0-beta.2 - 2021-02-10
|
## 3.0.0-beta.2 - 2021-02-10
|
||||||
### Added
|
### Added
|
||||||
* `ClientRequest::insert_header` method which allows using typed headers. [#1869]
|
- `ClientRequest::insert_header` method which allows using typed headers. [#1869]
|
||||||
* `ClientRequest::append_header` method which allows using typed headers. [#1869]
|
- `ClientRequest::append_header` method which allows using typed headers. [#1869]
|
||||||
* `trust-dns` optional feature to enable `trust-dns-resolver` as client dns resolver. [#1969]
|
- `trust-dns` optional feature to enable `trust-dns-resolver` as client dns resolver. [#1969]
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* Relax default timeout for `Connector` to 5 seconds(original 1 second). [#1905]
|
- Relax default timeout for `Connector` to 5 seconds(original 1 second). [#1905]
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
* `ClientRequest::set`; use `ClientRequest::insert_header`. [#1869]
|
- `ClientRequest::set`; use `ClientRequest::insert_header`. [#1869]
|
||||||
* `ClientRequest::set_header`; use `ClientRequest::insert_header`. [#1869]
|
- `ClientRequest::set_header`; use `ClientRequest::insert_header`. [#1869]
|
||||||
* `ClientRequest::set_header_if_none`; use `ClientRequest::insert_header_if_none`. [#1869]
|
- `ClientRequest::set_header_if_none`; use `ClientRequest::insert_header_if_none`. [#1869]
|
||||||
* `ClientRequest::header`; use `ClientRequest::append_header`. [#1869]
|
- `ClientRequest::header`; use `ClientRequest::append_header`. [#1869]
|
||||||
|
|
||||||
[#1869]: https://github.com/actix/actix-web/pull/1869
|
[#1869]: https://github.com/actix/actix-web/pull/1869
|
||||||
[#1905]: https://github.com/actix/actix-web/pull/1905
|
[#1905]: https://github.com/actix/actix-web/pull/1905
|
||||||
|
@ -120,32 +120,32 @@
|
||||||
|
|
||||||
## 3.0.0-beta.1 - 2021-01-07
|
## 3.0.0-beta.1 - 2021-01-07
|
||||||
### Changed
|
### Changed
|
||||||
* Update `rand` to `0.8`
|
- Update `rand` to `0.8`
|
||||||
* Update `bytes` to `1.0`. [#1813]
|
- Update `bytes` to `1.0`. [#1813]
|
||||||
* Update `rust-tls` to `0.19`. [#1813]
|
- Update `rust-tls` to `0.19`. [#1813]
|
||||||
|
|
||||||
[#1813]: https://github.com/actix/actix-web/pull/1813
|
[#1813]: https://github.com/actix/actix-web/pull/1813
|
||||||
|
|
||||||
|
|
||||||
## 2.0.3 - 2020-11-29
|
## 2.0.3 - 2020-11-29
|
||||||
### Fixed
|
### Fixed
|
||||||
* Ensure `actix-http` dependency uses same `serde_urlencoded`.
|
- Ensure `actix-http` dependency uses same `serde_urlencoded`.
|
||||||
|
|
||||||
|
|
||||||
## 2.0.2 - 2020-11-25
|
## 2.0.2 - 2020-11-25
|
||||||
### Changed
|
### Changed
|
||||||
* Upgrade `serde_urlencoded` to `0.7`. [#1773]
|
- Upgrade `serde_urlencoded` to `0.7`. [#1773]
|
||||||
|
|
||||||
[#1773]: https://github.com/actix/actix-web/pull/1773
|
[#1773]: https://github.com/actix/actix-web/pull/1773
|
||||||
|
|
||||||
|
|
||||||
## 2.0.1 - 2020-10-30
|
## 2.0.1 - 2020-10-30
|
||||||
### Changed
|
### Changed
|
||||||
* Upgrade `base64` to `0.13`. [#1744]
|
- Upgrade `base64` to `0.13`. [#1744]
|
||||||
* Deprecate `ClientRequest::{if_some, if_true}`. [#1760]
|
- Deprecate `ClientRequest::{if_some, if_true}`. [#1760]
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
* Use `Accept-Encoding: identity` instead of `Accept-Encoding: br` when no compression feature
|
- Use `Accept-Encoding: identity` instead of `Accept-Encoding: br` when no compression feature
|
||||||
is enabled [#1737]
|
is enabled [#1737]
|
||||||
|
|
||||||
[#1737]: https://github.com/actix/actix-web/pull/1737
|
[#1737]: https://github.com/actix/actix-web/pull/1737
|
||||||
|
@ -155,209 +155,209 @@
|
||||||
|
|
||||||
## 2.0.0 - 2020-09-11
|
## 2.0.0 - 2020-09-11
|
||||||
### Changed
|
### Changed
|
||||||
* `Client::build` was renamed to `Client::builder`.
|
- `Client::build` was renamed to `Client::builder`.
|
||||||
|
|
||||||
|
|
||||||
## 2.0.0-beta.4 - 2020-09-09
|
## 2.0.0-beta.4 - 2020-09-09
|
||||||
### Changed
|
### Changed
|
||||||
* Update actix-codec & actix-tls dependencies.
|
- Update actix-codec & actix-tls dependencies.
|
||||||
|
|
||||||
|
|
||||||
## 2.0.0-beta.3 - 2020-08-17
|
## 2.0.0-beta.3 - 2020-08-17
|
||||||
### Changed
|
### Changed
|
||||||
* Update `rustls` to 0.18
|
- Update `rustls` to 0.18
|
||||||
|
|
||||||
|
|
||||||
## 2.0.0-beta.2 - 2020-07-21
|
## 2.0.0-beta.2 - 2020-07-21
|
||||||
### Changed
|
### Changed
|
||||||
* Update `actix-http` dependency to 2.0.0-beta.2
|
- Update `actix-http` dependency to 2.0.0-beta.2
|
||||||
|
|
||||||
|
|
||||||
## [2.0.0-beta.1] - 2020-07-14
|
## [2.0.0-beta.1] - 2020-07-14
|
||||||
### Changed
|
### Changed
|
||||||
* Update `actix-http` dependency to 2.0.0-beta.1
|
- Update `actix-http` dependency to 2.0.0-beta.1
|
||||||
|
|
||||||
## [2.0.0-alpha.2] - 2020-05-21
|
## [2.0.0-alpha.2] - 2020-05-21
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
* Implement `std::error::Error` for our custom errors [#1422]
|
- Implement `std::error::Error` for our custom errors [#1422]
|
||||||
* Bump minimum supported Rust version to 1.40
|
- Bump minimum supported Rust version to 1.40
|
||||||
* Update `base64` dependency to 0.12
|
- Update `base64` dependency to 0.12
|
||||||
|
|
||||||
[#1422]: https://github.com/actix/actix-web/pull/1422
|
[#1422]: https://github.com/actix/actix-web/pull/1422
|
||||||
|
|
||||||
## [2.0.0-alpha.1] - 2020-03-11
|
## [2.0.0-alpha.1] - 2020-03-11
|
||||||
|
|
||||||
* Update `actix-http` dependency to 2.0.0-alpha.2
|
- Update `actix-http` dependency to 2.0.0-alpha.2
|
||||||
* Update `rustls` dependency to 0.17
|
- Update `rustls` dependency to 0.17
|
||||||
* ClientBuilder accepts initial_window_size and initial_connection_window_size HTTP2 configuration
|
- ClientBuilder accepts initial_window_size and initial_connection_window_size HTTP2 configuration
|
||||||
* ClientBuilder allowing to set max_http_version to limit HTTP version to be used
|
- ClientBuilder allowing to set max_http_version to limit HTTP version to be used
|
||||||
|
|
||||||
## [1.0.1] - 2019-12-15
|
## [1.0.1] - 2019-12-15
|
||||||
|
|
||||||
* Fix compilation with default features off
|
- Fix compilation with default features off
|
||||||
|
|
||||||
## [1.0.0] - 2019-12-13
|
## [1.0.0] - 2019-12-13
|
||||||
|
|
||||||
* Release
|
- Release
|
||||||
|
|
||||||
## [1.0.0-alpha.3]
|
## [1.0.0-alpha.3]
|
||||||
|
|
||||||
* Migrate to `std::future`
|
- Migrate to `std::future`
|
||||||
|
|
||||||
|
|
||||||
## [0.2.8] - 2019-11-06
|
## [0.2.8] - 2019-11-06
|
||||||
|
|
||||||
* Add support for setting query from Serialize type for client request.
|
- Add support for setting query from Serialize type for client request.
|
||||||
|
|
||||||
|
|
||||||
## [0.2.7] - 2019-09-25
|
## [0.2.7] - 2019-09-25
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
* Remaining getter methods for `ClientRequest`'s private `head` field #1101
|
- Remaining getter methods for `ClientRequest`'s private `head` field #1101
|
||||||
|
|
||||||
|
|
||||||
## [0.2.6] - 2019-09-12
|
## [0.2.6] - 2019-09-12
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
* Export frozen request related types.
|
- Export frozen request related types.
|
||||||
|
|
||||||
|
|
||||||
## [0.2.5] - 2019-09-11
|
## [0.2.5] - 2019-09-11
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
* Add `FrozenClientRequest` to support retries for sending HTTP requests
|
- Add `FrozenClientRequest` to support retries for sending HTTP requests
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
* Ensure that the `Host` header is set when initiating a WebSocket client connection.
|
- Ensure that the `Host` header is set when initiating a WebSocket client connection.
|
||||||
|
|
||||||
|
|
||||||
## [0.2.4] - 2019-08-13
|
## [0.2.4] - 2019-08-13
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
* Update percent-encoding to "2.1"
|
- Update percent-encoding to "2.1"
|
||||||
|
|
||||||
* Update serde_urlencoded to "0.6.1"
|
- Update serde_urlencoded to "0.6.1"
|
||||||
|
|
||||||
|
|
||||||
## [0.2.3] - 2019-08-01
|
## [0.2.3] - 2019-08-01
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
* Add `rustls` support
|
- Add `rustls` support
|
||||||
|
|
||||||
|
|
||||||
## [0.2.2] - 2019-07-01
|
## [0.2.2] - 2019-07-01
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
* Always append a colon after username in basic auth
|
- Always append a colon after username in basic auth
|
||||||
|
|
||||||
* Upgrade `rand` dependency version to 0.7
|
- Upgrade `rand` dependency version to 0.7
|
||||||
|
|
||||||
|
|
||||||
## [0.2.1] - 2019-06-05
|
## [0.2.1] - 2019-06-05
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
* Add license files
|
- Add license files
|
||||||
|
|
||||||
## [0.2.0] - 2019-05-12
|
## [0.2.0] - 2019-05-12
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
* Allow to send headers in `Camel-Case` form.
|
- Allow to send headers in `Camel-Case` form.
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
* Upgrade actix-http dependency.
|
- Upgrade actix-http dependency.
|
||||||
|
|
||||||
|
|
||||||
## [0.1.1] - 2019-04-19
|
## [0.1.1] - 2019-04-19
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
* Allow to specify server address for http and ws requests.
|
- Allow to specify server address for http and ws requests.
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
* `ClientRequest::if_true()` and `ClientRequest::if_some()` use instance instead of ref
|
- `ClientRequest::if_true()` and `ClientRequest::if_some()` use instance instead of ref
|
||||||
|
|
||||||
|
|
||||||
## [0.1.0] - 2019-04-16
|
## [0.1.0] - 2019-04-16
|
||||||
|
|
||||||
* No changes
|
- No changes
|
||||||
|
|
||||||
|
|
||||||
## [0.1.0-alpha.6] - 2019-04-14
|
## [0.1.0-alpha.6] - 2019-04-14
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
* Do not set default headers for websocket request
|
- Do not set default headers for websocket request
|
||||||
|
|
||||||
|
|
||||||
## [0.1.0-alpha.5] - 2019-04-12
|
## [0.1.0-alpha.5] - 2019-04-12
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
* Do not set any default headers
|
- Do not set any default headers
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
* Add Debug impl for BoxedSocket
|
- Add Debug impl for BoxedSocket
|
||||||
|
|
||||||
|
|
||||||
## [0.1.0-alpha.4] - 2019-04-08
|
## [0.1.0-alpha.4] - 2019-04-08
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
* Update actix-http dependency
|
- Update actix-http dependency
|
||||||
|
|
||||||
|
|
||||||
## [0.1.0-alpha.3] - 2019-04-02
|
## [0.1.0-alpha.3] - 2019-04-02
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
* Export `MessageBody` type
|
- Export `MessageBody` type
|
||||||
|
|
||||||
* `ClientResponse::json()` - Loads and parse `application/json` encoded body
|
- `ClientResponse::json()` - Loads and parse `application/json` encoded body
|
||||||
|
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
* `ClientRequest::json()` accepts reference instead of object.
|
- `ClientRequest::json()` accepts reference instead of object.
|
||||||
|
|
||||||
* `ClientResponse::body()` does not consume response object.
|
- `ClientResponse::body()` does not consume response object.
|
||||||
|
|
||||||
* Renamed `ClientRequest::close_connection()` to `ClientRequest::force_close()`
|
- Renamed `ClientRequest::close_connection()` to `ClientRequest::force_close()`
|
||||||
|
|
||||||
|
|
||||||
## [0.1.0-alpha.2] - 2019-03-29
|
## [0.1.0-alpha.2] - 2019-03-29
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
* Per request and session wide request timeout.
|
- Per request and session wide request timeout.
|
||||||
|
|
||||||
* Session wide headers.
|
- Session wide headers.
|
||||||
|
|
||||||
* Session wide basic and bearer auth.
|
- Session wide basic and bearer auth.
|
||||||
|
|
||||||
* Re-export `actix_http::client::Connector`.
|
- Re-export `actix_http::client::Connector`.
|
||||||
|
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
* Allow to override request's uri
|
- Allow to override request's uri
|
||||||
|
|
||||||
* Export `ws` sub-module with websockets related types
|
- Export `ws` sub-module with websockets related types
|
||||||
|
|
||||||
|
|
||||||
## [0.1.0-alpha.1] - 2019-03-28
|
## [0.1.0-alpha.1] - 2019-03-28
|
||||||
|
|
||||||
* Initial impl
|
- Initial impl
|
||||||
|
|
Loading…
Reference in a new issue