From 212c6926f97f439c2fbbe41f6bd10211653540e2 Mon Sep 17 00:00:00 2001 From: Rob Ede Date: Wed, 22 Dec 2021 08:18:44 +0000 Subject: [PATCH] Revert "use dash hyphenation in changelogs" This reverts commit 1ea619f2a1722206cddf4af0a43715fc8202a06e. --- CHANGES.md | 551 +++++++++++++++++------------------ actix-files/CHANGES.md | 102 +++---- actix-http-test/CHANGES.md | 76 ++--- actix-http/CHANGES.md | 544 +++++++++++++++++----------------- actix-multipart/CHANGES.md | 74 ++--- actix-router/CHANGES.md | 102 +++---- actix-test/CHANGES.md | 22 +- actix-web-actors/CHANGES.md | 60 ++-- actix-web-codegen/CHANGES.md | 52 ++-- awc/CHANGES.md | 170 +++++------ 10 files changed, 876 insertions(+), 877 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 0458958c5..77ab2e218 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,29 +2,29 @@ ## Unreleased - 2021-xx-xx -- + ## 4.0.0-beta.15 - 2021-12-17 ### Added * Method on `Responder` trait (`customize`) for customizing responders and `CustomizeResponder` struct. [#2510] * Implement `Debug` for `DefaultHeaders`. [#2510] ### Changed -- Align `DefaultHeader` method terminology, deprecating previous methods. [#2510] -- Response service types in `ErrorHandlers` middleware now use `ServiceResponse>` to allow changing the body type. [#2515] +* Align `DefaultHeader` method terminology, deprecating previous methods. [#2510] +* Response service types in `ErrorHandlers` middleware now use `ServiceResponse>` to allow changing the body type. [#2515] * Both variants in `ErrorHandlerResponse` now use `ServiceResponse>`. [#2515] * Rename `test::{default_service => simple_service}`. Old name is deprecated. [#2518] -- Rename `test::{read_response_json => call_and_read_body_json}`. Old name is deprecated. [#2518] -- Rename `test::{read_response => call_and_read_body}`. Old name is deprecated. [#2518] -- Relax body type and error bounds on test utilities. [#2518] -- -- # Removed -- Top-level `EitherExtractError` export. [#2510] -- Conversion implementations for `either` crate. [#2516] +* Rename `test::{read_response_json => call_and_read_body_json}`. Old name is deprecated. [#2518] +* Rename `test::{read_response => call_and_read_body}`. Old name is deprecated. [#2518] +* Relax body type and error bounds on test utilities. [#2518] + +### Removed +* Top-level `EitherExtractError` export. [#2510] +* Conversion implementations for `either` crate. [#2516] * `test::load_stream` and `test::load_body`; replace usage with `body::to_bytes`. [#2518] -- 2510]: https://github.com/actix/actix-web/pull/2510 -- 2515]: https://github.com/actix/actix-web/pull/2515 -- 2516]: https://github.com/actix/actix-web/pull/2516 +[#2510]: https://github.com/actix/actix-web/pull/2510 +[#2515]: https://github.com/actix/actix-web/pull/2515 +[#2516]: https://github.com/actix/actix-web/pull/2516 [#2518]: https://github.com/actix/actix-web/pull/2518 @@ -34,31 +34,31 @@ * `AcceptEncoding` typed header. [#2482] * `Range` typed header. [#2485] * `HttpResponse::map_into_{left,right}_body` and `HttpResponse::map_into_boxed_body`. [#2468] -- `ServiceResponse::map_into_{left,right}_body` and `HttpResponse::map_into_boxed_body`. [#2468] -- Connection data set through the `HttpServer::on_connect` callback is now accessible only from the new `HttpRequest::conn_data()` and `ServiceRequest::conn_data()` methods. [#2491] -- `HttpRequest::{req_data,req_data_mut}`. [#2487] -- `ServiceResponse::into_parts`. [#2499] -- -- # Changed -- Rename `Accept::{mime_precedence => ranked}`. [#2480] -- Rename `Accept::{mime_preference => preference}`. [#2480] +* `ServiceResponse::map_into_{left,right}_body` and `HttpResponse::map_into_boxed_body`. [#2468] +* Connection data set through the `HttpServer::on_connect` callback is now accessible only from the new `HttpRequest::conn_data()` and `ServiceRequest::conn_data()` methods. [#2491] +* `HttpRequest::{req_data,req_data_mut}`. [#2487] +* `ServiceResponse::into_parts`. [#2499] + +### Changed +* Rename `Accept::{mime_precedence => ranked}`. [#2480] +* Rename `Accept::{mime_preference => preference}`. [#2480] * Un-deprecate `App::data_factory`. [#2484] * `HttpRequest::url_for` no longer constructs URLs with query or fragment components. [#2430] -- Remove `B` (body) type parameter on `App`. [#2493] -- Add `B` (body) type parameter on `Scope`. [#2492] -- Request-local data container is no longer part of a `RequestHead`. Instead it is a distinct part of a `Request`. [#2487] -- -- # Fixed -- Accept wildcard `*` items in `AcceptLanguage`. [#2480] -- Re-exports `dev::{BodySize, MessageBody, SizedStream}`. They are exposed through the `body` module. [#2468] +* Remove `B` (body) type parameter on `App`. [#2493] +* Add `B` (body) type parameter on `Scope`. [#2492] +* Request-local data container is no longer part of a `RequestHead`. Instead it is a distinct part of a `Request`. [#2487] + +### Fixed +* Accept wildcard `*` items in `AcceptLanguage`. [#2480] +* Re-exports `dev::{BodySize, MessageBody, SizedStream}`. They are exposed through the `body` module. [#2468] * Typed headers containing lists that require one or more items now enforce this minimum. [#2482] -- # Removed -- `ConnectionInfo::get`. [#2487] -- +### Removed +* `ConnectionInfo::get`. [#2487] + [#2430]: https://github.com/actix/actix-web/pull/2430 [#2468]: https://github.com/actix/actix-web/pull/2468 -- 2480]: https://github.com/actix/actix-web/pull/2480 +[#2480]: https://github.com/actix/actix-web/pull/2480 [#2482]: https://github.com/actix/actix-web/pull/2482 [#2484]: https://github.com/actix/actix-web/pull/2484 [#2485]: https://github.com/actix/actix-web/pull/2485 @@ -75,20 +75,20 @@ [#2474]: https://github.com/actix/actix-web/pull/2474 -- + ## 4.0.0-beta.12 - 2021-11-22 ### Changed * Compress middleware's response type is now `AnyBody>`. [#2448] ### Fixed * Relax `Unpin` bound on `S` (stream) parameter of `HttpResponseBuilder::streaming`. [#2448] -- + ### Removed * `dev::ResponseBody` re-export; is function is replaced by the new `dev::AnyBody` enum. [#2446] -- + [#2446]: https://github.com/actix/actix-web/pull/2446 [#2448]: https://github.com/actix/actix-web/pull/2448 -- + ## 4.0.0-beta.11 - 2021-11-15 ### Added @@ -96,11 +96,11 @@ ### Changed * `ContentType::html` now produces `text/html; charset=utf-8` instead of `text/html`. [#2423] -- Update `actix-server` to `2.0.0-beta.9`. [#2442] +* Update `actix-server` to `2.0.0-beta.9`. [#2442] [#2423]: https://github.com/actix/actix-web/pull/2423 -- 2442]: https://github.com/actix/actix-web/pull/2442 -- +[#2442]: https://github.com/actix/actix-web/pull/2442 + ## 4.0.0-beta.10 - 2021-10-20 ### Added @@ -108,18 +108,18 @@ * `#[actix_web::test]` macro for setting up tests with a runtime. [#2409] ### Changed -- Associated type `FromRequest::Config` was removed. [#2233] -- Inner field made private on `web::Payload`. [#2384] +* Associated type `FromRequest::Config` was removed. [#2233] +* Inner field made private on `web::Payload`. [#2384] * `Data::into_inner` and `Data::get_ref` no longer requires `T: Sized`. [#2403] * Updated rustls to v0.20. [#2414] -- Minimum supported Rust version (MSRV) is now 1.52. -- -- # Removed -- Useless `ServiceResponse::checked_expr` method. [#2401] -- +* Minimum supported Rust version (MSRV) is now 1.52. + +### Removed +* Useless `ServiceResponse::checked_expr` method. [#2401] + [#2233]: https://github.com/actix/actix-web/pull/2233 [#2362]: https://github.com/actix/actix-web/pull/2362 -- 2384]: https://github.com/actix/actix-web/pull/2384 +[#2384]: https://github.com/actix/actix-web/pull/2384 [#2401]: https://github.com/actix/actix-web/pull/2401 [#2403]: https://github.com/actix/actix-web/pull/2403 [#2409]: https://github.com/actix/actix-web/pull/2409 @@ -132,17 +132,17 @@ ### Changed * Compress middleware will return 406 Not Acceptable when no content encoding is acceptable to the client. [#2344] -- Move `BaseHttpResponse` to `dev::Response`. [#2379] +* Move `BaseHttpResponse` to `dev::Response`. [#2379] * Enable `TestRequest::param` to accept more than just static strings. [#2172] * Minimum supported Rust version (MSRV) is now 1.51. -- -- # Fixed -- Fix quality parse error in Accept-Encoding header. [#2344] -- Re-export correct type at `web::HttpResponse`. [#2379] + +### Fixed +* Fix quality parse error in Accept-Encoding header. [#2344] +* Re-export correct type at `web::HttpResponse`. [#2379] [#2172]: https://github.com/actix/actix-web/pull/2172 -- 2325]: https://github.com/actix/actix-web/pull/2325 -- 2344]: https://github.com/actix/actix-web/pull/2344 +[#2325]: https://github.com/actix/actix-web/pull/2325 +[#2344]: https://github.com/actix/actix-web/pull/2344 [#2379]: https://github.com/actix/actix-web/pull/2379 @@ -152,18 +152,18 @@ * Add extractors for `Uri` and `Method`. [#2263] * Add extractors for `ConnectionInfo` and `PeerAddr`. [#2263] * Add `Route::service` for using hand-written services as handlers. [#2262] -- -- # Changed -- Change compression algorithm features flags. [#2250] -- Deprecate `App::data` and `App::data_factory`. [#2271] + +### Changed +* Change compression algorithm features flags. [#2250] +* Deprecate `App::data` and `App::data_factory`. [#2271] * Smarter extraction of `ConnectionInfo` parts. [#2282] -- # Fixed -- Scope and Resource middleware can access data items set on their own layer. [#2288] -- +### Fixed +* Scope and Resource middleware can access data items set on their own layer. [#2288] + [#2177]: https://github.com/actix/actix-web/pull/2177 [#2250]: https://github.com/actix/actix-web/pull/2250 -- 2271]: https://github.com/actix/actix-web/pull/2271 +[#2271]: https://github.com/actix/actix-web/pull/2271 [#2262]: https://github.com/actix/actix-web/pull/2262 [#2263]: https://github.com/actix/actix-web/pull/2263 [#2282]: https://github.com/actix/actix-web/pull/2282 @@ -176,23 +176,23 @@ ### Changed * Adjusted default JSON payload limit to 2MB (from 32kb) and included size and limits in the `JsonPayloadError::Overflow` error variant. [#2162] -- 2162]: (https://github.com/actix/actix-web/pull/2162) +[#2162]: (https://github.com/actix/actix-web/pull/2162) * `ServiceResponse::error_response` now uses body type of `Body`. [#2201] * `ServiceResponse::checked_expr` now returns a `Result`. [#2201] -- Update `language-tags` to `0.3`. +* Update `language-tags` to `0.3`. * `ServiceResponse::take_body`. [#2201] -- `ServiceResponse::map_body` closure receives and returns `B` instead of `ResponseBody` types. [#2201] -- All error trait bounds in server service builders have changed from `Into` to `Into>`. [#2253] -- All error trait bounds in message body and stream impls changed from `Into` to `Into>`. [#2253] -- `HttpServer::{listen_rustls(), bind_rustls()}` now honor the ALPN protocols in the configuation parameter. [#2226] -- `middleware::normalize` now will not try to normalize URIs with no valid path [#2246] -- -- # Removed -- `HttpResponse::take_body` and old `HttpResponse::into_body` method that casted body type. [#2201] -- +* `ServiceResponse::map_body` closure receives and returns `B` instead of `ResponseBody` types. [#2201] +* All error trait bounds in server service builders have changed from `Into` to `Into>`. [#2253] +* All error trait bounds in message body and stream impls changed from `Into` to `Into>`. [#2253] +* `HttpServer::{listen_rustls(), bind_rustls()}` now honor the ALPN protocols in the configuation parameter. [#2226] +* `middleware::normalize` now will not try to normalize URIs with no valid path [#2246] + +### Removed +* `HttpResponse::take_body` and old `HttpResponse::into_body` method that casted body type. [#2201] + [#2200]: https://github.com/actix/actix-web/pull/2200 [#2201]: https://github.com/actix/actix-web/pull/2201 -- 2253]: https://github.com/actix/actix-web/pull/2253 +[#2253]: https://github.com/actix/actix-web/pull/2253 [#2246]: https://github.com/actix/actix-web/pull/2246 @@ -202,11 +202,11 @@ ### Changed * Most error types are now marked `#[non_exhaustive]`. [#2148] -- Methods on `ContentDisposition` that took `T: AsRef` now take `impl AsRef`. +* Methods on `ContentDisposition` that took `T: AsRef` now take `impl AsRef`. [#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 + ## 4.0.0-beta.5 - 2021-04-02 ### Added @@ -214,20 +214,20 @@ * Added `TestServer::client_headers` method. [#2097] ### Fixed -- Double ampersand in Logger format is escaped correctly. [#2067] -- +* Double ampersand in Logger format is escaped correctly. [#2067] + ### Changed * `CustomResponder` would return error as `HttpResponse` when `CustomResponder::with_header` failed -- instead of skipping. (Only the first error is kept when multiple error occur) [#2093] + instead of skipping. (Only the first error is kept when multiple error occur) [#2093] ### Removed -- The `client` mod was removed. Clients should now use `awc` directly. +* The `client` mod was removed. Clients should now use `awc` directly. [871ca5e4](https://github.com/actix/actix-web/commit/871ca5e4ae2bdc22d1ea02701c2992fa8d04aed7) * Integration testing was moved to new `actix-test` crate. Namely these items from the `test` module: `TestServer`, `TestServerConfig`, `start`, `start_with`, and `unused_addr`. [#2112] -- + [#2067]: https://github.com/actix/actix-web/pull/2067 -- 2093]: https://github.com/actix/actix-web/pull/2093 +[#2093]: https://github.com/actix/actix-web/pull/2093 [#2094]: https://github.com/actix/actix-web/pull/2094 [#2097]: https://github.com/actix/actix-web/pull/2097 [#2112]: https://github.com/actix/actix-web/pull/2112 @@ -239,8 +239,8 @@ * `JsonBody::new` returns a default limit of 32kB to be consistent with `JsonConfig` and the default behaviour of the `web::Json` extractor. [#2010] -- 1981]: https://github.com/actix/actix-web/pull/1981 -- 2010]: https://github.com/actix/actix-web/pull/2010 +[#1981]: https://github.com/actix/actix-web/pull/1981 +[#2010]: https://github.com/actix/actix-web/pull/2010 ## 4.0.0-beta.3 - 2021-02-10 @@ -248,36 +248,36 @@ ## 4.0.0-beta.2 - 2021-02-10 -- # Added +### Added * The method `Either, web::Form>::into_inner()` which returns the inner type for whichever variant was created. Also works for `Either, web::Json>`. [#1894] * Add `services!` macro for helping register multiple services to `App`. [#1933] * Enable registering a vec of services of the same type to `App` [#1933] -- + ### Changed -- Rework `Responder` trait to be sync and returns `Response`/`HttpResponse` directly. -- Making it simpler and more performant. [#1891] +* Rework `Responder` trait to be sync and returns `Response`/`HttpResponse` directly. + Making it simpler and more performant. [#1891] * `ServiceRequest::into_parts` and `ServiceRequest::from_parts` can no longer fail. [#1893] * `ServiceRequest::from_request` can no longer fail. [#1893] -- Our `Either` type now uses `Left`/`Right` variants (instead of `A`/`B`) [#1894] +* Our `Either` type now uses `Left`/`Right` variants (instead of `A`/`B`) [#1894] * `test::{call_service, read_response, read_response_json, send_request}` take `&Service` -- in argument [#1905] -- `App::wrap_fn`, `Resource::wrap_fn` and `Scope::wrap_fn` provide `&Service` in closure -- argument. [#1905] -- `web::block` no longer requires the output is a Result. [#1957] + in argument [#1905] +* `App::wrap_fn`, `Resource::wrap_fn` and `Scope::wrap_fn` provide `&Service` in closure + argument. [#1905] +* `web::block` no longer requires the output is a Result. [#1957] -- # Fixed +### Fixed * Multiple calls to `App::data` with the same type now keeps the latest call's data. [#1906] -- + ### Removed * Public field of `web::Path` has been made private. [#1894] -- Public field of `web::Query` has been made private. [#1894] +* Public field of `web::Query` has been made private. [#1894] * `TestRequest::with_header`; use `TestRequest::default().insert_header()`. [#1869] * `AppService::set_service_data`; for custom HTTP service factories adding application data, use the -- layered data model by calling `ServiceRequest::add_data_container` when handling -- requests instead. [#1906] -- -- 1891]: https://github.com/actix/actix-web/pull/1891 + layered data model by calling `ServiceRequest::add_data_container` when handling + requests instead. [#1906] + +[#1891]: https://github.com/actix/actix-web/pull/1891 [#1893]: https://github.com/actix/actix-web/pull/1893 [#1894]: https://github.com/actix/actix-web/pull/1894 [#1869]: https://github.com/actix/actix-web/pull/1869 @@ -293,26 +293,26 @@ `Compress` to be used in `middleware::Condition` and `Resource`, `Scope` services. [#1865] ### 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`. * Update `rust-tls` to `0.19`. [#1813] * Rename `Handler` to `HandlerService` and rename `Factory` to `Handler`. [#1852] -- The default `TrailingSlash` is now `Trim`, in line with existing documentation. See migration -- guide for implications. [#1875] -- Rename `DefaultHeaders::{content_type => add_content_type}`. [#1875] -- MSRV is now 1.46.0. -- +* The default `TrailingSlash` is now `Trim`, in line with existing documentation. See migration + guide for implications. [#1875] +* Rename `DefaultHeaders::{content_type => add_content_type}`. [#1875] +* MSRV is now 1.46.0. + ### Fixed -- Added the underlying parse error to `test::read_body_json`'s panic message. [#1812] -- +* Added the underlying parse error to `test::read_body_json`'s panic message. [#1812] + ### Removed * Public modules `middleware::{normalize, err_handlers}`. All necessary middleware structs are now -- exposed directly by the `middleware` module. + exposed directly by the `middleware` module. * Remove `actix-threadpool` as dependency. `actix_threadpool::BlockingError` error type can be imported from `actix_web::error` module. [#1878] -- + [#1812]: https://github.com/actix/actix-web/pull/1812 -- 1813]: https://github.com/actix/actix-web/pull/1813 +[#1813]: https://github.com/actix/actix-web/pull/1813 [#1852]: https://github.com/actix/actix-web/pull/1852 [#1865]: https://github.com/actix/actix-web/pull/1865 [#1875]: https://github.com/actix/actix-web/pull/1875 @@ -325,16 +325,16 @@ [#2529]: https://github.com/actix/actix-web/pull/2529 -- + ## 3.3.2 - 2020-12-01 ### Fixed * Removed an occasional `unwrap` on `None` panic in `NormalizePathNormalization`. [#1762] * Fix `match_pattern()` returning `None` for scope with empty path resource. [#1798] * Increase minimum `socket2` version. [#1803] -- 1762]: https://github.com/actix/actix-web/pull/1762 -- 1798]: https://github.com/actix/actix-web/pull/1798 -- 1803]: https://github.com/actix/actix-web/pull/1803 +[#1762]: https://github.com/actix/actix-web/pull/1762 +[#1798]: https://github.com/actix/actix-web/pull/1798 +[#1803]: https://github.com/actix/actix-web/pull/1803 ## 3.3.1 - 2020-11-29 @@ -342,15 +342,15 @@ ## 3.3.0 - 2020-11-25 -- # Added +### Added * Add `Either` extractor helper. [#1788] ### Changed * Upgrade `serde_urlencoded` to `0.7`. [#1773] -- + [#1773]: https://github.com/actix/actix-web/pull/1773 [#1788]: https://github.com/actix/actix-web/pull/1788 -- + ## 3.2.0 - 2020-10-30 ### Added @@ -358,17 +358,17 @@ * Add request-local data extractor `web::ReqData`. [#1748] * Add ability to register closure for request middleware logging. [#1749] * Add `app_data` to `ServiceConfig`. [#1757] -- Expose `on_connect` for access to the connection stream before request is handled. [#1754] -- -- # Changed -- Updated actix-web-codegen dependency for access to new `#[route(...)]` multi-method macro. -- Print non-configured `Data` type when attempting extraction. [#1743] +* Expose `on_connect` for access to the connection stream before request is handled. [#1754] + +### Changed +* Updated actix-web-codegen dependency for access to new `#[route(...)]` multi-method macro. +* Print non-configured `Data` type when attempting extraction. [#1743] * Re-export bytes::Buf{Mut} in web module. [#1750] * Upgrade `pin-project` to `1.0`. -- -- 1723]: https://github.com/actix/actix-web/pull/1723 -- 1743]: https://github.com/actix/actix-web/pull/1743 -- 1748]: https://github.com/actix/actix-web/pull/1748 + +[#1723]: https://github.com/actix/actix-web/pull/1723 +[#1743]: https://github.com/actix/actix-web/pull/1743 +[#1748]: https://github.com/actix/actix-web/pull/1748 [#1750]: https://github.com/actix/actix-web/pull/1750 [#1754]: https://github.com/actix/actix-web/pull/1754 [#1749]: https://github.com/actix/actix-web/pull/1749 @@ -380,13 +380,13 @@ to retain any trailing slashes. [#1695] * Remove bound `std::marker::Sized` from `web::Data` to support storing `Arc` via `web::Data::from` [#1710] -- + ### Fixed -- `ResourceMap` debug printing is no longer infinitely recursive. [#1708] +* `ResourceMap` debug printing is no longer infinitely recursive. [#1708] [#1695]: https://github.com/actix/actix-web/pull/1695 [#1708]: https://github.com/actix/actix-web/pull/1708 -- 1710]: https://github.com/actix/actix-web/pull/1710 +[#1710]: https://github.com/actix/actix-web/pull/1710 ## 3.0.2 - 2020-09-15 @@ -395,33 +395,33 @@ [#1678]: https://github.com/actix/actix-web/pull/1678 -- + ## 3.0.1 - 2020-09-13 ### Changed * `middleware::normalize::TrailingSlash` enum is now accessible. [#1673] [#1673]: https://github.com/actix/actix-web/pull/1673 -- + ## 3.0.0 - 2020-09-11 * No significant changes from `3.0.0-beta.4`. ## 3.0.0-beta.4 - 2020-09-09 -- # Added +### Added * `middleware::NormalizePath` now has configurable behavior for either always having a trailing slash, or as the new addition, always trimming trailing slashes. [#1639] ### Changed -- Update actix-codec and actix-utils dependencies. [#1634] +* Update actix-codec and actix-utils dependencies. [#1634] * `FormConfig` and `JsonConfig` configurations are now also considered when set using `App::data`. [#1641] * `HttpServer::maxconn` is renamed to the more expressive `HttpServer::max_connections`. [#1655] -- `HttpServer::maxconnrate` is renamed to the more expressive -- `HttpServer::max_connection_rate`. [#1655] +* `HttpServer::maxconnrate` is renamed to the more expressive + `HttpServer::max_connection_rate`. [#1655] -- 1639]: https://github.com/actix/actix-web/pull/1639 -- 1641]: https://github.com/actix/actix-web/pull/1641 +[#1639]: https://github.com/actix/actix-web/pull/1639 +[#1641]: https://github.com/actix/actix-web/pull/1641 [#1634]: https://github.com/actix/actix-web/pull/1634 [#1655]: https://github.com/actix/actix-web/pull/1655 @@ -431,22 +431,22 @@ ## 3.0.0-beta.2 - 2020-08-17 -- # Changed +### Changed * `PayloadConfig` is now also considered in `Bytes` and `String` extractors when set using `App::data`. [#1610] * `web::Path` now has a public representation: `web::Path(pub T)` that enables destructuring. [#1594] -- `ServiceRequest::app_data` allows retrieval of non-Data data without splitting into parts to +* `ServiceRequest::app_data` allows retrieval of non-Data data without splitting into parts to access `HttpRequest` which already allows this. [#1618] -- Re-export all error types from `awc`. [#1621] +* Re-export all error types from `awc`. [#1621] * MSRV is now 1.42.0. -- + ### Fixed -- Memory leak of app data in pooled requests. [#1609] -- +* Memory leak of app data in pooled requests. [#1609] + [#1594]: https://github.com/actix/actix-web/pull/1594 [#1609]: https://github.com/actix/actix-web/pull/1609 -- 1610]: https://github.com/actix/actix-web/pull/1610 +[#1610]: https://github.com/actix/actix-web/pull/1610 [#1618]: https://github.com/actix/actix-web/pull/1618 [#1621]: https://github.com/actix/actix-web/pull/1621 @@ -457,29 +457,29 @@ * `HttpRequest::match_pattern` and `ServiceRequest::match_pattern` for extracting the matched resource pattern. * `HttpRequest::match_name` and `ServiceRequest::match_name` for extracting matched resource name. -- -- # Changed + +### Changed * Fix actix_http::h1::dispatcher so it returns when HW_BUFFER_SIZE is reached. Should reduce peak memory consumption during large uploads. [#1550] -- Migrate cookie handling to `cookie` crate. Actix-web no longer requires `ring` dependency. +* Migrate cookie handling to `cookie` crate. Actix-web no longer requires `ring` dependency. * MSRV is now 1.41.1 -- # Fixed -- `NormalizePath` improved consistency when path needs slashes added _and_ removed. -- +### Fixed +* `NormalizePath` improved consistency when path needs slashes added _and_ removed. + ## 3.0.0-alpha.3 - 2020-05-21 -- # Added +### Added * Add option to create `Data` from `Arc` [#1509] ### Changed * Resources and Scopes can now access non-overridden data types set on App (or containing scopes) when setting their own data. [#1486] -- Fix audit issue logging by default peer address [#1485] +* Fix audit issue logging by default peer address [#1485] * Bump minimum supported Rust version to 1.40 * Replace deprecated `net2` crate with `socket2` -- -- 1485]: https://github.com/actix/actix-web/pull/1485 -- 1509]: https://github.com/actix/actix-web/pull/1509 -- + +[#1485]: https://github.com/actix/actix-web/pull/1485 +[#1509]: https://github.com/actix/actix-web/pull/1509 + ## [3.0.0-alpha.2] - 2020-05-08 ### Changed @@ -488,10 +488,10 @@ * Implement `std::error::Error` for our custom errors [#1422] * NormalizePath middleware now appends trailing / so that routes of form /example/ respond to /example requests. [#1433] * Remove the `failure` feature and support. -- -- 1422]: https://github.com/actix/actix-web/pull/1422 -- 1433]: https://github.com/actix/actix-web/pull/1433 -- 1452]: https://github.com/actix/actix-web/pull/1452 + +[#1422]: https://github.com/actix/actix-web/pull/1422 +[#1433]: https://github.com/actix/actix-web/pull/1433 +[#1452]: https://github.com/actix/actix-web/pull/1452 [#1486]: https://github.com/actix/actix-web/pull/1486 @@ -503,16 +503,16 @@ * Add convenience functions `test::read_body_json()` and `test::TestRequest::send_request()` for testing. ### Changed -- -- Use `sha-1` crate instead of unmaintained `sha1` crate + +* Use `sha-1` crate instead of unmaintained `sha1` crate * Skip empty chunks when returning response from a `Stream` [#1308] * Update the `time` dependency to 0.2.7 * Update `actix-tls` dependency to 2.0.0-alpha.1 -- Update `rustls` dependency to 0.17 -- -- 1308]: https://github.com/actix/actix-web/pull/1308 -- -- [2.0.0] - 2019-12-25 +* Update `rustls` dependency to 0.17 + +[#1308]: https://github.com/actix/actix-web/pull/1308 + +## [2.0.0] - 2019-12-25 ### Changed @@ -520,405 +520,404 @@ * Allow to gracefully stop test server via `TestServer::stop()` -- Allow to specify multi-patterns for resources +* Allow to specify multi-patterns for resources -- [2.0.0-rc] - 2019-12-20 +## [2.0.0-rc] - 2019-12-20 -- # Changed +### Changed * Move `BodyEncoding` to `dev` module #1220 * Allow to set `peer_addr` for TestRequest #1074 -- Make web::Data deref to Arc #1214 +* Make web::Data deref to Arc #1214 -- Rename `App::register_data()` to `App::app_data()` +* Rename `App::register_data()` to `App::app_data()` -- `HttpRequest::app_data()` returns `Option<&T>` instead of `Option<&Data>` +* `HttpRequest::app_data()` returns `Option<&T>` instead of `Option<&Data>` -- # Fixed +### Fixed -- Fix `AppConfig::secure()` is always false. #1202 +* Fix `AppConfig::secure()` is always false. #1202 ## [2.0.0-alpha.6] - 2019-12-15 -- + ### Fixed * Fixed compilation with default features off ## [2.0.0-alpha.5] - 2019-12-13 -- # Added +### Added * Add test server, `test::start()` and `test::start_with()` ## [2.0.0-alpha.4] - 2019-12-08 -- # Deleted +### Deleted * Delete HttpServer::run(), it is not useful with async/await ## [2.0.0-alpha.3] - 2019-12-07 -- # Changed +### Changed * Migrate to tokio 0.2 ## [2.0.0-alpha.1] - 2019-11-22 -- + ### Changed * Migrated to `std::future` * Remove implementation of `Responder` for `()`. (#1167) -- + ## [1.0.9] - 2019-11-14 -- + ### Added * Add `Payload::into_inner` method and make stored `def::Payload` public. (#1110) ### Changed -- Support `Host` guards when the `Host` header is unset (e.g. HTTP/2 requests) (#1129) +* Support `Host` guards when the `Host` header is unset (e.g. HTTP/2 requests) (#1129) ## [1.0.8] - 2019-09-25 -- + ### Added * Add `Scope::register_data` and `Resource::register_data` methods, parallel to `App::register_data`. * Add `middleware::Condition` that conditionally enables another middleware -- + * Allow to re-construct `ServiceRequest` from `HttpRequest` and `Payload` -- Add `HttpServer::listen_uds` for ability to listen on UDS FD rather than path, +* Add `HttpServer::listen_uds` for ability to listen on UDS FD rather than path, which is useful for example with systemd. -- + ### Changed -- + * Make UrlEncodedError::Overflow more informative * Use actix-testing for testing utils -- + ## [1.0.7] - 2019-08-29 -- + ### Fixed * Request Extensions leak #1062 ## [1.0.6] - 2019-08-28 -- + ### Added * Re-implement Host predicate (#989) * Form implements Responder, returning a `application/x-www-form-urlencoded` response -- Add `into_inner` to `Data` +* Add `into_inner` to `Data` -- Add `test::TestRequest::set_form()` convenience method to automatically serialize data and set +* Add `test::TestRequest::set_form()` convenience method to automatically serialize data and set the header in test requests. -- + ### Changed -- + * `Query` payload made `pub`. Allows user to pattern-match the payload. * Enable `rust-tls` feature for client #1045 -- Update serde_urlencoded to 0.6.1 +* Update serde_urlencoded to 0.6.1 + +* Update url to 2.1 -- Update url to 2.1 -- ## [1.0.5] - 2019-07-18 -- + ### Added * Unix domain sockets (HttpServer::bind_uds) #92 * Actix now logs errors resulting in "internal server error" responses always, with the `error` logging level -- + ### Fixed -- + * Restored logging of errors through the `Logger` middleware ## [1.0.4] - 2019-07-17 -- + ### Added * Add `Responder` impl for `(T, StatusCode) where T: Responder` * Allow to access app's resource map via `ServiceRequest::resource_map()` and `HttpRequest::resource_map()` methods. -- + ### Changed -- + * Upgrade `rand` dependency version to 0.7 ## [1.0.3] - 2019-06-28 -- + ### Added * Support asynchronous data factories #850 ### Changed -- Use `encoding_rs` crate instead of unmaintained `encoding` crate +* Use `encoding_rs` crate instead of unmaintained `encoding` crate ## [1.0.2] - 2019-06-17 -- + ### Changed * Move cors middleware to `actix-cors` crate. * Move identity middleware to `actix-identity` crate. -- + ## [1.0.1] - 2019-06-17 -- + ### Added * Add support for PathConfig #903 * Add `middleware::identity::RequestIdentity` trait to `get_identity` from `HttpMessage`. -- # Changed +### Changed -- Move cors middleware to `actix-cors` crate. +* Move cors middleware to `actix-cors` crate. * Move identity middleware to `actix-identity` crate. -- Disable default feature `secure-cookies`. +* Disable default feature `secure-cookies`. -- Allow to test an app that uses async actors #897 +* Allow to test an app that uses async actors #897 -- Re-apply patch from #637 #894 +* Re-apply patch from #637 #894 -- # Fixed +### Fixed -- HttpRequest::url_for is broken with nested scopes #915 +* HttpRequest::url_for is broken with nested scopes #915 ## [1.0.0] - 2019-06-05 -- + ### Added * Add `Scope::configure()` method. * Add `ServiceRequest::set_payload()` method. -- Add `test::TestRequest::set_json()` convenience method to automatically +* Add `test::TestRequest::set_json()` convenience method to automatically serialize data and set header in test requests. -- + * Add macros for head, options, trace, connect and patch http methods -- + ### Changed -- Drop an unnecessary `Option<_>` indirection around `ServerBuilder` from `HttpServer`. #863 +* Drop an unnecessary `Option<_>` indirection around `ServerBuilder` from `HttpServer`. #863 ### Fixed -- Fix Logger request time format, and use rfc3339. #867 +* Fix Logger request time format, and use rfc3339. #867 * Clear http requests pool on app service drop #860 -- + ## [1.0.0-rc] - 2019-05-18 -- + ### Added * Add `Query::from_query()` to extract parameters from a query string. #846 * `QueryConfig`, similar to `JsonConfig` for customizing error handling of query extractors. ### Changed -- -- `JsonConfig` is now `Send + Sync`, this implies that `error_handler` must be `Send + Sync` too. + +* `JsonConfig` is now `Send + Sync`, this implies that `error_handler` must be `Send + Sync` too. ### Fixed -- Codegen with parameters in the path only resolves the first registered endpoint #841 +* Codegen with parameters in the path only resolves the first registered endpoint #841 ## [1.0.0-beta.4] - 2019-05-12 -- + ### Added * Allow to set/override app data on scope level ### Changed -- `App::configure` take an `FnOnce` instead of `Fn` +* `App::configure` take an `FnOnce` instead of `Fn` * Upgrade actix-net crates -- [1.0.0-beta.3] - 2019-05-04 -- +## [1.0.0-beta.3] - 2019-05-04 + ### Added * Add helper function for executing futures `test::block_fn()` ### Changed -- Extractor configuration could be registered with `App::data()` +* Extractor configuration could be registered with `App::data()` or with `Resource::data()` #775 * Route data is unified with app data, `Route::data()` moved to resource -- level to `Resource::data()` + level to `Resource::data()` * CORS handling without headers #702 -- + * Allow constructing `Data` instances to avoid double `Arc` for `Send + Sync` types. -- # Fixed +### Fixed -- Fix `NormalizePath` middleware impl #806 +* Fix `NormalizePath` middleware impl #806 ### Deleted -- `App::data_factory()` is deleted. +* `App::data_factory()` is deleted. ## [1.0.0-beta.2] - 2019-04-24 -- + ### Added * Add raw services support via `web::service()` * Add helper functions for reading response body `test::read_body()` -- Add support for `remainder match` (i.e "/path/{tail}*") +* Add support for `remainder match` (i.e "/path/{tail}*") -- Extend `Responder` trait, allow to override status code and headers. +* Extend `Responder` trait, allow to override status code and headers. -- Store visit and login timestamp in the identity cookie #502 +* Store visit and login timestamp in the identity cookie #502 -- # Changed +### Changed -- `.to_async()` handler can return `Responder` type #792 +* `.to_async()` handler can return `Responder` type #792 ### Fixed -- Fix async web::Data factory handling +* Fix async web::Data factory handling ## [1.0.0-beta.1] - 2019-04-20 -- + ### Added * Add helper functions for reading test response body, `test::read_response()` and test::read_response_json()` * Add `.peer_addr()` #744 -- + * Add `NormalizePath` middleware -- # Changed +### Changed -- Rename `RouterConfig` to `ServiceConfig` +* Rename `RouterConfig` to `ServiceConfig` * Rename `test::call_success` to `test::call_service` -- Removed `ServiceRequest::from_parts()` as it is unsafe to create from parts. +* Removed `ServiceRequest::from_parts()` as it is unsafe to create from parts. -- `CookieIdentityPolicy::max_age()` accepts value in seconds +* `CookieIdentityPolicy::max_age()` accepts value in seconds -- # Fixed +### Fixed -- Fixed `TestRequest::app_data()` +* Fixed `TestRequest::app_data()` ## [1.0.0-alpha.6] - 2019-04-14 -- + ### Changed * Allow using any service as default service. * Remove generic type for request payload, always use default. -- Removed `Decompress` middleware. Bytes, String, Json, Form extractors +* Removed `Decompress` middleware. Bytes, String, Json, Form extractors automatically decompress payload. -- + * Make extractor config type explicit. Add `FromRequest::Config` associated type. -- + ## [1.0.0-alpha.5] - 2019-04-12 -- + ### Added * Added async io `TestBuffer` for testing. ### Deleted -- Removed native-tls support +* Removed native-tls support ## [1.0.0-alpha.4] - 2019-04-08 -- + ### Added * `App::configure()` allow to offload app configuration to different methods * Added `URLPath` option for logger -- Added `ServiceRequest::app_data()`, returns `Data` +* Added `ServiceRequest::app_data()`, returns `Data` -- Added `ServiceFromRequest::app_data()`, returns `Data` +* Added `ServiceFromRequest::app_data()`, returns `Data` -- # Changed +### Changed -- `FromRequest` trait refactoring +* `FromRequest` trait refactoring * Move multipart support to actix-multipart crate -- # Fixed +### Fixed -- Fix body propagation in Response::from_error. #760 +* Fix body propagation in Response::from_error. #760 ## [1.0.0-alpha.3] - 2019-04-02 -- + ### Changed * Renamed `TestRequest::to_service()` to `TestRequest::to_srv_request()` * Renamed `TestRequest::to_response()` to `TestRequest::to_srv_response()` -- Removed `Deref` impls +* Removed `Deref` impls -- # Removed +### Removed -- Removed unused `actix_web::web::md()` +* Removed unused `actix_web::web::md()` ## [1.0.0-alpha.2] - 2019-03-29 -- + ### Added * Rustls support ### Changed -- Use forked cookie +* Use forked cookie * Multipart::Field renamed to MultipartField -- [1.0.0-alpha.1] - 2019-03-28 +## [1.0.0-alpha.1] - 2019-03-28 -- # Changed +### Changed * Complete architecture re-design. * Return 405 response if no matching route found within resource #538 -- - diff --git a/actix-files/CHANGES.md b/actix-files/CHANGES.md index ef8eba0fc..d6b39e28f 100644 --- a/actix-files/CHANGES.md +++ b/actix-files/CHANGES.md @@ -4,42 +4,42 @@ ## 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 -- 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] -- 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 `Service` impl for `NamedFileService` now has a boxed future associated type. [#2408] -- Add `impl Clone` for `FilesService`. [#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] +* 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 `Service` impl for `NamedFileService` now has a boxed future associated type. [#2408] +* Add `impl Clone` for `FilesService`. [#2408] [#2408]: https://github.com/actix/actix-web/pull/2408 [#2453]: https://github.com/actix/actix-web/pull/2453 ## 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 -- 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 -- 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] +* 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] [#2274]: https://github.com/actix/actix-web/pull/2274 [#2228]: https://github.com/actix/actix-web/pull/2228 ## 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] -- 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] -- `application/{javascript, json, wasm}` mime type now have `inline` disposition by default. [#2257] +* `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] +* `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] [#2135]: https://github.com/actix/actix-web/pull/2135 [#2156]: https://github.com/actix/actix-web/pull/2156 @@ -48,130 +48,130 @@ ## 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 ## 0.6.0-beta.3 - 2021-03-09 -- No notable changes. +* No notable changes. ## 0.6.0-beta.2 - 2021-02-10 -- Fix If-Modified-Since and If-Unmodified-Since to not compare using sub-second timestamps. [#1887] -- Replace `v_htmlescape` with `askama_escape`. [#1953] +* Fix If-Modified-Since and If-Unmodified-Since to not compare using sub-second timestamps. [#1887] +* Replace `v_htmlescape` with `askama_escape`. [#1953] [#1887]: https://github.com/actix/actix-web/pull/1887 [#1953]: https://github.com/actix/actix-web/pull/1953 ## 0.6.0-beta.1 - 2021-01-07 -- `HttpRange::parse` now has its own error type. -- Update `bytes` to `1.0`. [#1813] +* `HttpRange::parse` now has its own error type. +* Update `bytes` to `1.0`. [#1813] [#1813]: https://github.com/actix/actix-web/pull/1813 ## 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 ## 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 -- 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 ## 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 -- Update `v_htmlescape` to 0.10 -- Update `actix-web` and `actix-http` dependencies to beta.1 +* Update `v_htmlescape` to 0.10 +* Update `actix-web` and `actix-http` dependencies to beta.1 ## 0.3.0-alpha.1 - 2020-05-23 -- Update `actix-web` and `actix-http` dependencies to alpha -- Fix some typos in the docs -- Bump minimum supported Rust version to 1.40 -- Support sending Content-Length when Content-Range is specified [#1384] +* Update `actix-web` and `actix-http` dependencies to alpha +* Fix some typos in the docs +* Bump minimum supported Rust version to 1.40 +* Support sending Content-Length when Content-Range is specified [#1384] [#1384]: https://github.com/actix/actix-web/pull/1384 ## 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 -- Fix BodyEncoding trait import #1220 +* Fix BodyEncoding trait import #1220 ## 0.2.0-alpha.1 - 2019-12-07 -- Migrate to `std::future` +* Migrate to `std::future` ## 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) ## 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 -- Bump up `mime_guess` crate version to 2.0.1 -- Bump up `percent-encoding` crate version to 2.1 -- Allow user defined request guards for `Files` #1113 +* Bump up `mime_guess` crate version to 2.0.1 +* Bump up `percent-encoding` crate version to 2.1 +* Allow user defined request guards for `Files` #1113 ## 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 -- 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 -- Content-Length is 0 for NamedFile HEAD request #914 -- Fix ring dependency from actix-web default features for #741 +* Content-Length is 0 for NamedFile HEAD request #914 +* Fix ring dependency from actix-web default features for #741 ## 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 -- 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 -- Update actix-web to beta.4 +* Update actix-web to beta.4 ## 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 -- Update actix-web to alpha6 +* Update actix-web to alpha6 ## 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 -- Add default handler support +* Add default handler support ## 0.1.0-alpha.1 - 2019-03-28 -- Initial impl +* Initial impl diff --git a/actix-http-test/CHANGES.md b/actix-http-test/CHANGES.md index 4e86e20e8..156012168 100644 --- a/actix-http-test/CHANGES.md +++ b/actix-http-test/CHANGES.md @@ -4,125 +4,125 @@ ## 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 -- 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 ## 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 ## 3.0.0-beta.6 - 2021-11-15 -- `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] -- Minimum supported Rust version (MSRV) is now 1.52. +* `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] +* Minimum supported Rust version (MSRV) is now 1.52. [#2442]: https://github.com/actix/actix-web/pull/2442 ## 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 -- Added `TestServer::client_headers` method. [#2097] +* Added `TestServer::client_headers` method. [#2097] [#2097]: https://github.com/actix/actix-web/pull/2097 ## 3.0.0-beta.3 - 2021-03-09 -- No notable changes. +* No notable changes. ## 3.0.0-beta.2 - 2021-02-10 -- No notable changes. +* No notable changes. ## 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 ## 2.1.0 - 2020-11-25 -- Add ability to set address for `TestServer`. [#1645] -- Upgrade `base64` to `0.13`. -- Upgrade `serde_urlencoded` to `0.7`. [#1773] +* Add ability to set address for `TestServer`. [#1645] +* Upgrade `base64` to `0.13`. +* Upgrade `serde_urlencoded` to `0.7`. [#1773] [#1773]: https://github.com/actix/actix-web/pull/1773 [#1645]: https://github.com/actix/actix-web/pull/1645 ## 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 -- Update the `time` dependency to 0.2.7 -- Update `actix-connect` dependency to 2.0.0-alpha.2 -- Make `test_server` `async` fn. -- Bump minimum supported Rust version to 1.40 -- Replace deprecated `net2` crate with `socket2` -- Update `base64` dependency to 0.12 -- Update `env_logger` dependency to 0.7 +* Update the `time` dependency to 0.2.7 +* Update `actix-connect` dependency to 2.0.0-alpha.2 +* Make `test_server` `async` fn. +* Bump minimum supported Rust version to 1.40 +* Replace deprecated `net2` crate with `socket2` +* Update `base64` dependency to 0.12 +* Update `env_logger` dependency to 0.7 ## 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 -- Migrate to `std::future` +* Migrate to `std::future` ## 0.2.5 - 2019-09-17 -- Update serde_urlencoded to "0.6.1" -- Increase TestServerRuntime timeouts from 500ms to 3000ms -- Do not override current `System` +* Update serde_urlencoded to "0.6.1" +* Increase TestServerRuntime timeouts from 500ms to 3000ms +* Do not override current `System` ## 0.2.4 - 2019-07-18 -- Update actix-server to 0.6 +* Update actix-server to 0.6 ## 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 -- Add .put() and .sput() methods +* Add .put() and .sput() methods ## 0.2.1 - 2019-06-05 -- Add license files +* Add license files ## 0.2.0 - 2019-05-12 -- Update awc and actix-http deps +* Update awc and actix-http deps ## 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 -- No changes +* No changes ## 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 -- Added TestServerRuntime::load_body() method -- Update actix-http and awc libraries +* Added TestServerRuntime::load_body() method +* Update actix-http and awc libraries ## 0.1.0-alpha.1 - 2019-03-28 -- Initial impl +* Initial impl diff --git a/actix-http/CHANGES.md b/actix-http/CHANGES.md index 3b45e934f..ad98d132a 100644 --- a/actix-http/CHANGES.md +++ b/actix-http/CHANGES.md @@ -2,22 +2,22 @@ ## Unreleased - 2021-xx-xx ### 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 ## 3.0.0-beta.16 - 2021-12-17 ### 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 -- Rename trait `IntoHeaderPair => TryIntoHeaderPair`. [#2510] -- Rename `TryIntoHeaderPair::{try_into_header_pair => try_into_pair}`. [#2510] -- Rename trait `IntoHeaderValue => TryIntoHeaderValue`. [#2510] +* Rename trait `IntoHeaderPair => TryIntoHeaderPair`. [#2510] +* Rename `TryIntoHeaderPair::{try_into_header_pair => try_into_pair}`. [#2510] +* Rename trait `IntoHeaderValue => TryIntoHeaderValue`. [#2510] ### 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 [#2522]: https://github.com/actix/actix-web/pull/2522 @@ -25,43 +25,43 @@ ## 3.0.0-beta.15 - 2021-12-11 ### Added -- 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] -- `Response::map_into_boxed_body`. [#2468] -- `body::EitherBody` enum. [#2468] -- `body::None` struct. [#2468] -- Impl `MessageBody` for `bytestring::ByteString`. [#2468] -- `impl Clone for ws::HandshakeError`. [#2468] -- `#[must_use]` for `ws::Codec` to prevent subtle bugs. [#1920] -- `impl Default ` for `ws::Codec`. [#1920] -- `header::QualityItem::{max, min}`. [#2486] -- `header::Quality::{MAX, MIN}`. [#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] -- `Request::take_conn_data()`. [#2491] -- `Request::take_req_data()`. [#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 `boxed` method on `MessageBody` trait for wrapping body type. [#2520] +* 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] +* `Response::map_into_boxed_body`. [#2468] +* `body::EitherBody` enum. [#2468] +* `body::None` struct. [#2468] +* Impl `MessageBody` for `bytestring::ByteString`. [#2468] +* `impl Clone for ws::HandshakeError`. [#2468] +* `#[must_use]` for `ws::Codec` to prevent subtle bugs. [#1920] +* `impl Default ` for `ws::Codec`. [#1920] +* `header::QualityItem::{max, min}`. [#2486] +* `header::Quality::{MAX, MIN}`. [#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] +* `Request::take_conn_data()`. [#2491] +* `Request::take_req_data()`. [#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 `boxed` method on `MessageBody` trait for wrapping body type. [#2520] ### Changed -- Rename `body::BoxBody::{from_body => new}`. [#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] -- Error types using in service builders now require `Into>`. [#2468] -- `From` implementations on error types now return a `Response`. [#2468] -- `ResponseBuilder::body(B)` now returns `Response>`. [#2468] -- `ResponseBuilder::finish()` now returns `Response>`. [#2468] +* Rename `body::BoxBody::{from_body => new}`. [#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] +* Error types using in service builders now require `Into>`. [#2468] +* `From` implementations on error types now return a `Response`. [#2468] +* `ResponseBuilder::body(B)` now returns `Response>`. [#2468] +* `ResponseBuilder::finish()` now returns `Response>`. [#2468] ### Removed -- `ResponseBuilder::streaming`. [#2468] -- `impl Future` for `ResponseBuilder`. [#2468] -- Remove unnecessary `MessageBody` bound on types passed to `body::AnyBody::new`. [#2468] -- Move `body::AnyBody` to `awc`. Replaced with `EitherBody` and `BoxBody`. [#2468] -- `impl Copy` for `ws::Codec`. [#1920] -- `header::qitem` helper. Replaced with `header::QualityItem::max`. [#2486] -- `impl TryFrom` for `header::Quality`. [#2486] -- `http` module. Most everything it contained is exported at the crate root. [#2488] +* `ResponseBuilder::streaming`. [#2468] +* `impl Future` for `ResponseBuilder`. [#2468] +* Remove unnecessary `MessageBody` bound on types passed to `body::AnyBody::new`. [#2468] +* Move `body::AnyBody` to `awc`. Replaced with `EitherBody` and `BoxBody`. [#2468] +* `impl Copy` for `ws::Codec`. [#1920] +* `header::qitem` helper. Replaced with `header::QualityItem::max`. [#2486] +* `impl TryFrom` for `header::Quality`. [#2486] +* `http` module. Most everything it contained is exported at the crate root. [#2488] [#2483]: https://github.com/actix/actix-web/pull/2483 [#2468]: https://github.com/actix/actix-web/pull/2468 @@ -76,10 +76,10 @@ ## 3.0.0-beta.14 - 2021-11-30 ### Changed -- Guarantee ordering of `header::GetAll` iterator to be same as insertion order. [#2467] -- Expose `header::map` module. [#2467] -- Implement `ExactSizeIterator` and `FusedIterator` for all `HeaderMap` iterators. [#2470] -- Update `actix-tls` to `3.0.0-rc.1`. [#2474] +* Guarantee ordering of `header::GetAll` iterator to be same as insertion order. [#2467] +* Expose `header::map` module. [#2467] +* Implement `ExactSizeIterator` and `FusedIterator` for all `HeaderMap` iterators. [#2470] +* Update `actix-tls` to `3.0.0-rc.1`. [#2474] [#2467]: https://github.com/actix/actix-web/pull/2467 [#2470]: https://github.com/actix/actix-web/pull/2470 @@ -88,24 +88,24 @@ ## 3.0.0-beta.13 - 2021-11-22 ### Added -- `body::AnyBody::empty` for quickly creating an empty body. [#2446] -- `body::AnyBody::none` for quickly creating a "none" body. [#2456] -- `impl Clone` for `body::AnyBody where S: Clone`. [#2448] -- `body::AnyBody::into_boxed` for quickly converting to a type-erased, boxed body type. [#2448] +* `body::AnyBody::empty` for quickly creating an empty body. [#2446] +* `body::AnyBody::none` for quickly creating a "none" body. [#2456] +* `impl Clone` for `body::AnyBody where S: Clone`. [#2448] +* `body::AnyBody::into_boxed` for quickly converting to a type-erased, boxed body type. [#2448] ### Changed -- Rename `body::AnyBody::{Message => Body}`. [#2446] -- Rename `body::AnyBody::{from_message => new_boxed}`. [#2448] -- Rename `body::AnyBody::{from_slice => copy_from_slice}`. [#2448] -- Rename `body::{BoxAnyBody => BoxBody}`. [#2448] -- Change representation of `AnyBody` to include a type parameter in `Body` variant. Defaults to `BoxBody`. [#2448] -- `Encoder::response` now returns `AnyBody>`. [#2448] +* Rename `body::AnyBody::{Message => Body}`. [#2446] +* Rename `body::AnyBody::{from_message => new_boxed}`. [#2448] +* Rename `body::AnyBody::{from_slice => copy_from_slice}`. [#2448] +* Rename `body::{BoxAnyBody => BoxBody}`. [#2448] +* Change representation of `AnyBody` to include a type parameter in `Body` variant. Defaults to `BoxBody`. [#2448] +* `Encoder::response` now returns `AnyBody>`. [#2448] ### Removed -- `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] -- `EncoderError::Boxed`; it is no longer required. [#2446] -- `body::ResponseBody`; is function is replaced by the new `body::AnyBody` enum. [#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] +* `EncoderError::Boxed`; it is no longer required. [#2446] +* `body::ResponseBody`; is function is replaced by the new `body::AnyBody` enum. [#2446] [#2446]: https://github.com/actix/actix-web/pull/2446 [#2448]: https://github.com/actix/actix-web/pull/2448 @@ -114,11 +114,11 @@ ## 3.0.0-beta.12 - 2021-11-15 ### Changed -- Update `actix-server` to `2.0.0-beta.9`. [#2442] +* Update `actix-server` to `2.0.0-beta.9`. [#2442] ### Removed -- `client` module. [#2425] -- `trust-dns` feature. [#2425] +* `client` module. [#2425] +* `trust-dns` feature. [#2425] [#2425]: https://github.com/actix/actix-web/pull/2425 [#2442]: https://github.com/actix/actix-web/pull/2442 @@ -126,21 +126,21 @@ ## 3.0.0-beta.11 - 2021-10-20 ### Changed -- Updated rustls to v0.20. [#2414] -- Minimum supported Rust version (MSRV) is now 1.52. +* Updated rustls to v0.20. [#2414] +* Minimum supported Rust version (MSRV) is now 1.52. [#2414]: https://github.com/actix/actix-web/pull/2414 ## 3.0.0-beta.10 - 2021-09-09 ### Changed -- `ContentEncoding` is now marked `#[non_exhaustive]`. [#2377] -- Minimum supported Rust version (MSRV) is now 1.51. +* `ContentEncoding` is now marked `#[non_exhaustive]`. [#2377] +* Minimum supported Rust version (MSRV) is now 1.51. ### Fixed -- Remove slice creation pointing to potential uninitialized data on h1 encoder. [#2364] -- Remove `Into` bound on `Encoder` body types. [#2375] -- Fix quality parse error in Accept-Encoding header. [#2344] +* Remove slice creation pointing to potential uninitialized data on h1 encoder. [#2364] +* Remove `Into` bound on `Encoder` body types. [#2375] +* Fix quality parse error in Accept-Encoding header. [#2344] [#2364]: https://github.com/actix/actix-web/pull/2364 [#2375]: https://github.com/actix/actix-web/pull/2375 @@ -150,15 +150,15 @@ ## 3.0.0-beta.9 - 2021-08-09 ### 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 ### Changed -- Change compression algorithm features flags. [#2250] +* Change compression algorithm features flags. [#2250] ### 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 [#2250]: https://github.com/actix/actix-web/pull/2250 @@ -166,37 +166,37 @@ ## 3.0.0-beta.7 - 2021-06-17 ### Added -- Alias `body::Body` as `body::AnyBody`. [#2215] -- `BoxAnyBody`: a boxed message body with boxed errors. [#2183] -- 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 `ContentEncoding` and `ConnectionType` at the crate root. [#2171] -- `Response::into_body` that consumes response and returns body type. [#2201] -- `impl Default` for `Response`. [#2201] -- Add zstd support for `ContentEncoding`. [#2244] +* Alias `body::Body` as `body::AnyBody`. [#2215] +* `BoxAnyBody`: a boxed message body with boxed errors. [#2183] +* 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 `ContentEncoding` and `ConnectionType` at the crate root. [#2171] +* `Response::into_body` that consumes response and returns body type. [#2201] +* `impl Default` for `Response`. [#2201] +* Add zstd support for `ContentEncoding`. [#2244] ### Changed -- The `MessageBody` trait now has an associated `Error` type. [#2183] -- All error trait bounds in server service builders have changed from `Into` to `Into>`. [#2253] -- All error trait bounds in message body and stream impls changed from `Into` to `Into>`. [#2253] -- Places in `Response` where `ResponseBody` was received or returned now simply use `B`. [#2201] -- `header` mod is now public. [#2171] -- `uri` mod is now public. [#2171] -- 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] -- `ResponseBuilder::message_body` now returns a `Result`. [#2201] -- Remove `Unpin` bound on `ResponseBuilder::streaming`. [#2253] -- `HttpServer::{listen_rustls(), bind_rustls()}` now honor the ALPN protocols in the configuation parameter. [#2226] +* The `MessageBody` trait now has an associated `Error` type. [#2183] +* All error trait bounds in server service builders have changed from `Into` to `Into>`. [#2253] +* All error trait bounds in message body and stream impls changed from `Into` to `Into>`. [#2253] +* Places in `Response` where `ResponseBody` was received or returned now simply use `B`. [#2201] +* `header` mod is now public. [#2171] +* `uri` mod is now public. [#2171] +* 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] +* `ResponseBuilder::message_body` now returns a `Result`. [#2201] +* Remove `Unpin` bound on `ResponseBuilder::streaming`. [#2253] +* `HttpServer::{listen_rustls(), bind_rustls()}` now honor the ALPN protocols in the configuation parameter. [#2226] ### Removed -- Stop re-exporting `http` crate's `HeaderMap` types in addition to ours. [#2171] -- Down-casting for `MessageBody` types. [#2183] -- `error::Result` alias. [#2201] -- Error field from `Response` and `Response::error`. [#2205] -- `impl Future` for `Response`. [#2201] -- `Response::take_body` and old `Response::into_body` method that casted body type. [#2201] -- `InternalError` and all the error types it constructed. [#2215] -- Conversion (`impl Into`) of `Response` and `ResponseBuilder` to `Error`. [#2215] +* Stop re-exporting `http` crate's `HeaderMap` types in addition to ours. [#2171] +* Down-casting for `MessageBody` types. [#2183] +* `error::Result` alias. [#2201] +* Error field from `Response` and `Response::error`. [#2205] +* `impl Future` for `Response`. [#2201] +* `Response::take_body` and old `Response::into_body` method that casted body type. [#2201] +* `InternalError` and all the error types it constructed. [#2215] +* Conversion (`impl Into`) of `Response` and `ResponseBuilder` to `Error`. [#2215] [#2171]: https://github.com/actix/actix-web/pull/2171 [#2183]: https://github.com/actix/actix-web/pull/2183 @@ -211,27 +211,27 @@ ## 3.0.0-beta.6 - 2021-04-17 ### Added -- `impl MessageBody for Pin>`. [#2152] -- `Response::{ok, bad_request, not_found, internal_server_error}`. [#2159] -- Helper `body::to_bytes` for async collecting message body into Bytes. [#2158] +* `impl MessageBody for Pin>`. [#2152] +* `Response::{ok, bad_request, not_found, internal_server_error}`. [#2159] +* Helper `body::to_bytes` for async collecting message body into Bytes. [#2158] ### Changes -- The type parameter of `Response` no longer has a default. [#2152] -- The `Message` variant of `body::Body` is now `Pin>`. [#2152] -- `BodyStream` and `SizedStream` are no longer restricted to Unpin types. [#2152] -- Error enum types are marked `#[non_exhaustive]`. [#2161] +* The type parameter of `Response` no longer has a default. [#2152] +* The `Message` variant of `body::Body` is now `Pin>`. [#2152] +* `BodyStream` and `SizedStream` are no longer restricted to Unpin types. [#2152] +* Error enum types are marked `#[non_exhaustive]`. [#2161] ### Removed -- `cookies` feature flag. [#2065] -- Top-level `cookies` mod (re-export). [#2065] -- `HttpMessage` trait loses the `cookies` and `cookie` methods. [#2065] -- `impl ResponseError for CookieParseError`. [#2065] -- Deprecated methods on `ResponseBuilder`: `if_true`, `if_some`. [#2148] -- `ResponseBuilder::json`. [#2148] -- `ResponseBuilder::{set_header, header}`. [#2148] -- `impl From for Body`. [#2148] -- `Response::build_from`. [#2159] -- Most of the status code builders on `Response`. [#2159] +* `cookies` feature flag. [#2065] +* Top-level `cookies` mod (re-export). [#2065] +* `HttpMessage` trait loses the `cookies` and `cookie` methods. [#2065] +* `impl ResponseError for CookieParseError`. [#2065] +* Deprecated methods on `ResponseBuilder`: `if_true`, `if_some`. [#2148] +* `ResponseBuilder::json`. [#2148] +* `ResponseBuilder::{set_header, header}`. [#2148] +* `impl From for Body`. [#2148] +* `Response::build_from`. [#2159] +* Most of the status code builders on `Response`. [#2159] [#2065]: https://github.com/actix/actix-web/pull/2065 [#2148]: https://github.com/actix/actix-web/pull/2148 @@ -243,16 +243,16 @@ ## 3.0.0-beta.5 - 2021-04-02 ### Added -- `client::Connector::handshake_timeout` method for customizing TLS connection handshake timeout. [#2081] -- `client::ConnectorService` as `client::Connector::finish` method's return type [#2081] -- `client::ConnectionIo` trait alias [#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::ConnectionIo` trait alias [#2081] ### 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 -- Common typed HTTP headers were moved to actix-web. [2094] -- `ResponseError` impl for `actix_utils::timeout::TimeoutError`. [#2127] +* Common typed HTTP headers were moved to actix-web. [2094] +* `ResponseError` impl for `actix_utils::timeout::TimeoutError`. [#2127] [#2063]: https://github.com/actix/actix-web/pull/2063 [#2081]: https://github.com/actix/actix-web/pull/2081 @@ -262,13 +262,13 @@ ## 3.0.0-beta.4 - 2021-03-08 ### Changed -- Feature `cookies` is now optional and disabled by default. [#1981] -- `ws::hash_key` now returns array. [#2035] -- `ResponseBuilder::json` now takes `impl Serialize`. [#2052] +* Feature `cookies` is now optional and disabled by default. [#1981] +* `ws::hash_key` now returns array. [#2035] +* `ResponseBuilder::json` now takes `impl Serialize`. [#2052] ### Removed -- Re-export of `futures_channel::oneshot::Canceled` is removed from `error` mod. [#1994] -- `ResponseError` impl for `futures_channel::oneshot::Canceled` is removed. [#1994] +* Re-export of `futures_channel::oneshot::Canceled` is removed from `error` mod. [#1994] +* `ResponseError` impl for `futures_channel::oneshot::Canceled` is removed. [#1994] [#1981]: https://github.com/actix/actix-web/pull/1981 [#1994]: https://github.com/actix/actix-web/pull/1994 @@ -277,48 +277,48 @@ ## 3.0.0-beta.3 - 2021-02-10 -- No notable changes. +* No notable changes. ## 3.0.0-beta.2 - 2021-02-10 ### Added -- `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::append_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] -- `HeaderMap::len_keys` has the behavior of the old `len` method. [#1964] -- `HeaderMap::drain` as an efficient draining iterator. [#1964] -- Implement `IntoIterator` for owned `HeaderMap`. [#1964] -- `trust-dns` optional feature to enable `trust-dns-resolver` as client dns resolver. [#1969] +* `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::append_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] +* `HeaderMap::len_keys` has the behavior of the old `len` method. [#1964] +* `HeaderMap::drain` as an efficient draining iterator. [#1964] +* Implement `IntoIterator` for owned `HeaderMap`. [#1964] +* `trust-dns` optional feature to enable `trust-dns-resolver` as client dns resolver. [#1969] ### 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] -- 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] -- `Extensions::insert` returns Option of replaced item. [#1904] -- Remove `HttpResponseBuilder::json2()`. [#1903] -- Enable `HttpResponseBuilder::json()` to receive data by value and reference. [#1903] -- `client::error::ConnectError` Resolver variant contains `Box` type. [#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 +* `Extensions::insert` returns Option of replaced item. [#1904] +* Remove `HttpResponseBuilder::json2()`. [#1903] +* Enable `HttpResponseBuilder::json()` to receive data by value and reference. [#1903] +* `client::error::ConnectError` Resolver variant contains `Box` type. [#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 is dead. [#1957] -- `HeaderMap::len` now returns number of values instead of number of keys. [#1964] -- `HeaderMap::insert` now returns iterator of removed values. [#1964] -- `HeaderMap::remove` now returns iterator of removed values. [#1964] +* `HeaderMap::len` now returns number of values instead of number of keys. [#1964] +* `HeaderMap::insert` now returns iterator of removed values. [#1964] +* `HeaderMap::remove` now returns iterator of removed values. [#1964] ### Removed -- `ResponseBuilder::set`; use `ResponseBuilder::insert_header`. [#1869] -- `ResponseBuilder::set_header`; use `ResponseBuilder::insert_header`. [#1869] -- `ResponseBuilder::header`; use `ResponseBuilder::append_header`. [#1869] -- `TestRequest::with_hdr`; use `TestRequest::default().insert_header()`. [#1869] -- `TestRequest::with_header`; use `TestRequest::default().insert_header()`. [#1869] -- `actors` optional feature. [#1969] -- `ResponseError` impl for `actix::MailboxError`. [#1969] +* `ResponseBuilder::set`; use `ResponseBuilder::insert_header`. [#1869] +* `ResponseBuilder::set_header`; use `ResponseBuilder::insert_header`. [#1869] +* `ResponseBuilder::header`; use `ResponseBuilder::append_header`. [#1869] +* `TestRequest::with_hdr`; use `TestRequest::default().insert_header()`. [#1869] +* `TestRequest::with_header`; use `TestRequest::default().insert_header()`. [#1869] +* `actors` optional feature. [#1969] +* `ResponseError` impl for `actix::MailboxError`. [#1969] ### 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 [#1894]: https://github.com/actix/actix-web/pull/1894 @@ -333,24 +333,24 @@ ## 3.0.0-beta.1 - 2021-01-07 ### 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 -- Update `actix-*` dependencies to tokio `1.0` based versions. [#1813] -- Bumped `rand` to `0.8`. -- Update `bytes` to `1.0`. [#1813] -- Update `h2` to `0.3`. [#1813] -- The `ws::Message::Text` enum variant now contains a `bytestring::ByteString`. [#1864] +* Update `actix-*` dependencies to tokio `1.0` based versions. [#1813] +* Bumped `rand` to `0.8`. +* Update `bytes` to `1.0`. [#1813] +* Update `h2` to `0.3`. [#1813] +* The `ws::Message::Text` enum variant now contains a `bytestring::ByteString`. [#1864] ### 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] -- Remove `ResponseError` impl for `actix::actors::resolver::ResolverError` +* Remove `ResponseError` impl for `actix::actors::resolver::ResolverError` 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 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 `actix_http::error` module. [#1878] @@ -362,20 +362,20 @@ ## 2.2.1 - 2021-08-09 ### 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 ### Added -- HttpResponse builders for 1xx status codes. [#1768] -- `Accept::mime_precedence` and `Accept::mime_preference`. [#1793] -- `TryFrom` and `TryFrom` for `http::header::Quality`. [#1797] +* HttpResponse builders for 1xx status codes. [#1768] +* `Accept::mime_precedence` and `Accept::mime_preference`. [#1793] +* `TryFrom` and `TryFrom` for `http::header::Quality`. [#1797] ### 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 -- Upgrade `serde_urlencoded` to `0.7`. [#1773] +* Upgrade `serde_urlencoded` to `0.7`. [#1773] [#1773]: https://github.com/actix/actix-web/pull/1773 [#1767]: https://github.com/actix/actix-web/pull/1767 @@ -386,12 +386,12 @@ ## 2.1.0 - 2020-10-30 ### 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 -- Upgrade `base64` to `0.13`. [#1744] -- Upgrade `pin-project` to `1.0`. [#1733] -- Deprecate `ResponseBuilder::{if_some, if_true}`. [#1760] +* Upgrade `base64` to `0.13`. [#1744] +* Upgrade `pin-project` to `1.0`. [#1733] +* Deprecate `ResponseBuilder::{if_some, if_true}`. [#1760] [#1760]: https://github.com/actix/actix-web/pull/1760 [#1754]: https://github.com/actix/actix-web/pull/1754 @@ -400,28 +400,28 @@ ## 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 ### Changed -- Update actix-codec and actix-utils dependencies. -- Update actix-connect and actix-tls dependencies. +* Update actix-codec and actix-utils dependencies. +* Update actix-connect and actix-tls dependencies. ## 2.0.0-beta.3 - 2020-08-14 ### Fixed -- Memory leak of `client::pool::ConnectorPoolSupport`. [#1626] +* Memory leak of `client::pool::ConnectorPoolSupport`. [#1626] [#1626]: https://github.com/actix/actix-web/pull/1626 ## 2.0.0-beta.2 - 2020-07-21 ### Fixed -- Potential UB in h1 decoder using uninitialized memory. [#1614] +* Potential UB in h1 decoder using uninitialized memory. [#1614] ### Changed -- Fix illegal chunked encoding. [#1615] +* Fix illegal chunked encoding. [#1615] [#1614]: https://github.com/actix/actix-web/pull/1614 [#1615]: https://github.com/actix/actix-web/pull/1615 @@ -429,10 +429,10 @@ ## 2.0.0-beta.1 - 2020-07-11 ### Changed -- Migrate cookie handling to `cookie` crate. [#1558] -- Update `sha-1` to 0.9. [#1586] -- Fix leak in client pool. [#1580] -- MSRV is now 1.41.1. +* Migrate cookie handling to `cookie` crate. [#1558] +* Update `sha-1` to 0.9. [#1586] +* Fix leak in client pool. [#1580] +* MSRV is now 1.41.1. [#1558]: https://github.com/actix/actix-web/pull/1558 [#1586]: https://github.com/actix/actix-web/pull/1586 @@ -441,15 +441,15 @@ ## 2.0.0-alpha.4 - 2020-05-21 ### Changed -- Bump minimum supported Rust version to 1.40 -- content_length function is removed, and you can set Content-Length by calling +* Bump minimum supported Rust version to 1.40 +* content_length function is removed, and you can set Content-Length by calling 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`. -- Update `base64` dependency to 0.12 +* Update `base64` dependency to 0.12 ### Fixed -- Support parsing of `SameSite=None` [#1503] +* Support parsing of `SameSite=None` [#1503] [#1439]: https://github.com/actix/actix-web/pull/1439 [#1503]: https://github.com/actix/actix-web/pull/1503 @@ -457,13 +457,13 @@ ## 2.0.0-alpha.3 - 2020-05-08 ### Fixed -- Correct spelling of ConnectError::Unresolved [#1487] -- Fix a mistake in the encoding of websocket continuation messages wherein +* Correct spelling of ConnectError::Unresolved [#1487] +* Fix a mistake in the encoding of websocket continuation messages wherein Item::FirstText and Item::FirstBinary are each encoded as the other. ### Changed -- Implement `std::error::Error` for our custom errors [#1422] -- Remove `failure` support for `ResponseError` since that crate +* Implement `std::error::Error` for our custom errors [#1422] +* Remove `failure` support for `ResponseError` since that crate will be deprecated in the near future. [#1422]: https://github.com/actix/actix-web/pull/1422 @@ -472,12 +472,12 @@ ## 2.0.0-alpha.2 - 2020-03-07 ### Changed -- 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 +* 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 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] -- 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 [#1395]: https://github.com/actix/actix-web/pull/1395 @@ -485,61 +485,61 @@ ## 2.0.0-alpha.1 - 2020-02-27 ### Changed -- Update the `time` dependency to 0.2.7. -- Moved actors messages support from actix crate, enabled with feature `actors`. -- Breaking change: trait MessageBody requires Unpin and accepting `Pin<&mut Self>` instead of +* Update the `time` dependency to 0.2.7. +* Moved actors messages support from actix crate, enabled with feature `actors`. +* Breaking change: trait MessageBody requires Unpin and accepting `Pin<&mut Self>` instead of `&mut self` in the poll_next(). -- MessageBody is not implemented for &'static [u8] anymore. +* MessageBody is not implemented for &'static [u8] anymore. ### 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 ### Fixed -- Poll upgrade service's readiness from HTTP service handlers -- Replace brotli with brotli2 #1224 +* Poll upgrade service's readiness from HTTP service handlers +* Replace brotli with brotli2 #1224 ## 1.0.0 - 2019-12-13 ### Added -- Add websockets continuation frame support +* Add websockets continuation frame support ### Changed -- Replace `flate2-xxx` features with `compress` +* Replace `flate2-xxx` features with `compress` ## 1.0.0-alpha.5 - 2019-12-09 ### Fixed -- Check `Upgrade` service readiness before calling it -- Fix buffer remaining capacity calculation +* Check `Upgrade` service readiness before calling it +* Fix buffer remaining capacity calculation ### 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 ### Added -- Add impl ResponseBuilder for Error +* Add impl ResponseBuilder for Error ### Changed -- Use rust based brotli compression library +* Use rust based brotli compression library ## 1.0.0-alpha.3 - 2019-12-07 ### Changed -- Migrate to tokio 0.2 -- Migrate to `std::future` +* Migrate to tokio 0.2 +* Migrate to `std::future` ## 0.2.11 - 2019-11-06 ### Added -- 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 support for serde_json::Value to be passed as argument to ResponseBuilder.body() +* Add an additional `filename*` param in the `Content-Disposition` header of `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 -- 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] [#1878]: https://github.com/actix/actix-web/pull/1878 @@ -547,169 +547,169 @@ ## 0.2.10 - 2019-09-11 ### Added -- Add support for sending HTTP requests with `Rc` in addition to sending HTTP requests +* Add support for sending HTTP requests with `Rc` in addition to sending HTTP requests with `RequestHead` ### Fixed -- h2 will use error response #1080 -- on_connect result isn't added to request extensions for http2 requests #1009 +* h2 will use error response #1080 +* on_connect result isn't added to request extensions for http2 requests #1009 ## 0.2.9 - 2019-08-13 ### Changed -- Dropped the `byteorder`-dependency in favor of `stdlib`-implementation -- Update percent-encoding to 2.1 -- Update serde_urlencoded to 0.6.1 +* Dropped the `byteorder`-dependency in favor of `stdlib`-implementation +* Update percent-encoding to 2.1 +* Update serde_urlencoded to 0.6.1 ### 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 ### Added -- Add `rustls` support -- Add `Clone` impl for `HeaderMap` +* Add `rustls` support +* Add `Clone` impl for `HeaderMap` ### Fixed -- awc client panic #1016 -- Invalid response with compression middleware enabled, but compression-related features +* awc client panic #1016 +* Invalid response with compression middleware enabled, but compression-related features disabled #997 ## 0.2.7 - 2019-07-18 ### Added -- Add support for downcasting response errors #986 +* Add support for downcasting response errors #986 ## 0.2.6 - 2019-07-17 ### Changed -- Replace `ClonableService` with local copy -- Upgrade `rand` dependency version to 0.7 +* Replace `ClonableService` with local copy +* Upgrade `rand` dependency version to 0.7 ## 0.2.5 - 2019-06-28 ### Added -- Add `on-connect` callback, `HttpServiceBuilder::on_connect()` #946 +* Add `on-connect` callback, `HttpServiceBuilder::on_connect()` #946 ### Changed -- Use `encoding_rs` crate instead of unmaintained `encoding` crate -- Add `Copy` and `Clone` impls for `ws::Codec` +* Use `encoding_rs` crate instead of unmaintained `encoding` crate +* Add `Copy` and `Clone` impls for `ws::Codec` ## 0.2.4 - 2019-06-16 ### Fixed -- Do not compress NoContent (204) responses #918 +* Do not compress NoContent (204) responses #918 ## 0.2.3 - 2019-06-02 ### Added -- Debug impl for ResponseBuilder -- From SizedStream and BodyStream for Body +* Debug impl for ResponseBuilder +* From SizedStream and BodyStream for Body ### Changed -- SizedStream uses u64 +* SizedStream uses u64 ## 0.2.2 - 2019-05-29 ### 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 ### Fixed -- Handle socket read disconnect +* Handle socket read disconnect ## 0.2.0 - 2019-05-12 ### Changed -- Update actix-service to 0.4 -- Expect and upgrade services accept `ServerConfig` config. +* Update actix-service to 0.4 +* Expect and upgrade services accept `ServerConfig` config. ### Deleted -- `OneRequest` service +* `OneRequest` service ## 0.1.5 - 2019-05-04 ### Fixed -- Clean up response extensions in response pool #817 +* Clean up response extensions in response pool #817 ## 0.1.4 - 2019-04-24 ### Added -- Allow to render h1 request headers in `Camel-Case` +* Allow to render h1 request headers in `Camel-Case` ### 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 ### Fixed -- Fix http client pool management -- Fix http client wait queue management #794 +* Fix http client pool management +* Fix http client wait queue management #794 ## 0.1.2 - 2019-04-23 ### Fixed -- Fix BorrowMutError panic in client connector #793 +* Fix BorrowMutError panic in client connector #793 ## 0.1.1 - 2019-04-19 ### Changed -- Cookie::max_age() accepts value in seconds -- Cookie::max_age_time() accepts value in time::Duration -- Allow to specify server address for client connector +* Cookie::max_age() accepts value in seconds +* Cookie::max_age_time() accepts value in time::Duration +* Allow to specify server address for client connector ## 0.1.0 - 2019-04-16 ### Added -- Expose peer addr via `Request::peer_addr()` and `RequestHead::peer_addr` +* Expose peer addr via `Request::peer_addr()` and `RequestHead::peer_addr` ### Changed -- `actix_http::encoding` always available -- use trust-dns-resolver 0.11.0 +* `actix_http::encoding` always available +* use trust-dns-resolver 0.11.0 ## 0.1.0-alpha.5 - 2019-04-12 ### Added -- Allow to use custom service for upgrade requests -- Added `h1::SendResponse` future. +* Allow to use custom service for upgrade requests +* Added `h1::SendResponse` future. ### Changed -- MessageBody::length() renamed to MessageBody::size() for consistency -- ws handshake verification functions take RequestHead instead of Request +* MessageBody::length() renamed to MessageBody::size() for consistency +* ws handshake verification functions take RequestHead instead of Request ## 0.1.0-alpha.4 - 2019-04-08 ### Added -- Allow to use custom `Expect` handler -- Add minimal `std::error::Error` impl for `Error` +* Allow to use custom `Expect` handler +* Add minimal `std::error::Error` impl for `Error` ### Changed -- Export IntoHeaderValue -- Render error and return as response body -- Use thread pool for response body compression +* Export IntoHeaderValue +* Render error and return as response body +* Use thread pool for response body compression ### Deleted -- Removed PayloadBuffer +* Removed PayloadBuffer ## 0.1.0-alpha.3 - 2019-04-02 ### Added -- Warn when an unsealed private cookie isn't valid UTF-8 +* Warn when an unsealed private cookie isn't valid UTF-8 ### Fixed -- Rust 1.31.0 compatibility -- Preallocate read buffer for h1 codec -- Detect socket disconnection during protocol selection +* Rust 1.31.0 compatibility +* Preallocate read buffer for h1 codec +* Detect socket disconnection during protocol selection ## 0.1.0-alpha.2 - 2019-03-29 ### Added -- Added ws::Message::Nop, no-op websockets message +* Added ws::Message::Nop, no-op websockets message ### 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 -- Initial impl +* Initial impl diff --git a/actix-multipart/CHANGES.md b/actix-multipart/CHANGES.md index e58c3ee24..8d9c1640f 100644 --- a/actix-multipart/CHANGES.md +++ b/actix-multipart/CHANGES.md @@ -4,119 +4,119 @@ ## 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 -- 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 ## 0.4.0-beta.8 - 2021-11-22 -- Ensure a correct Content-Disposition header is included in every part of a multipart message. [#2451] -- Added `MultipartError::NoContentDisposition` variant. [#2451] -- Since Content-Disposition is now ensured, `Field::content_disposition` is now infallible. [#2451] -- Added `Field::name` method for getting the field name. [#2451] -- `MultipartError` now marks variants with inner errors as the source. [#2451] -- `MultipartError` is now marked as non-exhaustive. [#2451] +* Ensure a correct Content-Disposition header is included in every part of a multipart message. [#2451] +* Added `MultipartError::NoContentDisposition` variant. [#2451] +* Since Content-Disposition is now ensured, `Field::content_disposition` is now infallible. [#2451] +* Added `Field::name` method for getting the field name. [#2451] +* `MultipartError` now marks variants with inner errors as the source. [#2451] +* `MultipartError` is now marked as non-exhaustive. [#2451] [#2451]: https://github.com/actix/actix-web/pull/2451 ## 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 -- 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 -- No notable changes. +* No notable changes. ## 0.4.0-beta.4 - 2021-04-02 -- No notable changes. +* No notable changes. ## 0.4.0-beta.3 - 2021-03-09 -- No notable changes. +* No notable changes. ## 0.4.0-beta.2 - 2021-02-10 -- No notable changes. +* No notable changes. ## 0.4.0-beta.1 - 2021-01-07 -- Fix multipart consuming payload before header checks. [#1513] -- Update `bytes` to `1.0`. [#1813] +* Fix multipart consuming payload before header checks. [#1513] +* Update `bytes` to `1.0`. [#1813] [#1813]: https://github.com/actix/actix-web/pull/1813 [#1513]: https://github.com/actix/actix-web/pull/1513 ## 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 -- Update `actix-*` dependencies to latest versions. +* Update `actix-*` dependencies to latest versions. ## 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 -- Update `actix-web` to 3.0.0-alpha.3 -- Bump minimum supported Rust version to 1.40 -- Minimize `futures` dependencies -- Remove the unused `time` dependency -- Fix missing `std::error::Error` implement for `MultipartError`. +* Update `actix-web` to 3.0.0-alpha.3 +* Bump minimum supported Rust version to 1.40 +* Minimize `futures` dependencies +* Remove the unused `time` dependency +* Fix missing `std::error::Error` implement for `MultipartError`. ## [0.2.0] - 2019-12-20 -- Release +* Release ## [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 -- Migrate to `std::future` +* Migrate to `std::future` ## [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 -- 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 -- Fix boundary parsing #876 +* Fix boundary parsing #876 ## [0.1.1] - 2019-05-25 -- Fix disconnect handling #834 +* Fix disconnect handling #834 ## [0.1.0] - 2019-05-18 -- Release +* Release ## [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 -- 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 diff --git a/actix-router/CHANGES.md b/actix-router/CHANGES.md index 0a6a56359..d0ed55c88 100644 --- a/actix-router/CHANGES.md +++ b/actix-router/CHANGES.md @@ -4,20 +4,20 @@ ## 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 -- Introduce `ResourceDef::join`. [#380] -- Disallow prefix routes with tail segments. [#379] -- Enforce path separators on dynamic prefixes. [#378] -- Improve malformed path error message. [#384] -- 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] -- Support multi-pattern prefixes and joins. [#2356] -- `ResourceDef::pattern` now returns the first pattern in multi-pattern resources. [#2356] -- Support `build_resource_path` on multi-pattern resources. [#2356] -- Minimum supported Rust version (MSRV) is now 1.51. +* Introduce `ResourceDef::join`. [#380] +* Disallow prefix routes with tail segments. [#379] +* Enforce path separators on dynamic prefixes. [#378] +* Improve malformed path error message. [#384] +* 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] +* Support multi-pattern prefixes and joins. [#2356] +* `ResourceDef::pattern` now returns the first pattern in multi-pattern resources. [#2356] +* Support `build_resource_path` on multi-pattern resources. [#2356] +* Minimum supported Rust version (MSRV) is now 1.51. [#378]: https://github.com/actix/actix-net/pull/378 [#379]: https://github.com/actix/actix-net/pull/379 @@ -28,23 +28,23 @@ ## 0.5.0-beta.1 - 2021-07-20 -- 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] -- Fix segment interpolation leaving `Path` in unintended state after matching. [#368] -- Fix `ResourceDef` `PartialEq` implementation. [#373] -- Re-work `IntoPatterns` trait, adding a `Patterns` enum. [#372] -- Implement `IntoPatterns` for `bytestring::ByteString`. [#372] -- Rename `Path::{len => segment_count}` to be more descriptive of it's purpose. [#370] -- Rename `ResourceDef::{resource_path => resource_path_from_iter}`. [#371] -- `ResourceDef::resource_path_from_iter` now takes an `IntoIterator`. [#373] -- Rename `ResourceDef::{resource_path_named => resource_path_from_map}`. [#371] -- Rename `ResourceDef::{is_prefix_match => find_match}`. [#373] -- Rename `ResourceDef::{match_path => capture_match_info}`. [#373] -- Rename `ResourceDef::{match_path_checked => capture_match_info_fn}`. [#373] -- Remove `ResourceDef::name_mut` and introduce `ResourceDef::set_name`. [#373] -- Rename `Router::{*_checked => *_fn}`. [#373] -- Return type of `ResourceDef::name` is now `Option<&str>`. [#373] -- Return type of `ResourceDef::pattern` is now `Option<&str>`. [#373] +* 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] +* Fix segment interpolation leaving `Path` in unintended state after matching. [#368] +* Fix `ResourceDef` `PartialEq` implementation. [#373] +* Re-work `IntoPatterns` trait, adding a `Patterns` enum. [#372] +* Implement `IntoPatterns` for `bytestring::ByteString`. [#372] +* Rename `Path::{len => segment_count}` to be more descriptive of it's purpose. [#370] +* Rename `ResourceDef::{resource_path => resource_path_from_iter}`. [#371] +* `ResourceDef::resource_path_from_iter` now takes an `IntoIterator`. [#373] +* Rename `ResourceDef::{resource_path_named => resource_path_from_map}`. [#371] +* Rename `ResourceDef::{is_prefix_match => find_match}`. [#373] +* Rename `ResourceDef::{match_path => capture_match_info}`. [#373] +* Rename `ResourceDef::{match_path_checked => capture_match_info_fn}`. [#373] +* Remove `ResourceDef::name_mut` and introduce `ResourceDef::set_name`. [#373] +* Rename `Router::{*_checked => *_fn}`. [#373] +* Return type of `ResourceDef::name` is now `Option<&str>`. [#373] +* Return type of `ResourceDef::pattern` is now `Option<&str>`. [#373] [#368]: https://github.com/actix/actix-net/pull/368 [#366]: https://github.com/actix/actix-net/pull/366 @@ -56,10 +56,10 @@ ## 0.4.0 - 2021-06-06 -- 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] -- Fixed a safety bug where `Path` could return a malformed string after percent decoding. [#359] -- Methods `Path::{add, add_static}` now take `impl Into>`. [#345] +* 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] +* Fixed a safety bug where `Path` could return a malformed string after percent decoding. [#359] +* Methods `Path::{add, add_static}` now take `impl Into>`. [#345] [#345]: https://github.com/actix/actix-net/pull/345 [#357]: https://github.com/actix/actix-net/pull/357 @@ -68,68 +68,68 @@ ## 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 -- Add `Router::recognize_checked` [#247] +* Add `Router::recognize_checked` [#247] [#247]: https://github.com/actix/actix-net/pull/247 ## 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 ## 0.2.5 - 2020-09-20 -- Fix `from_hex()` method +* Fix `from_hex()` method ## 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 -- Add impl `IntoPattern` for `&String` +* Add impl `IntoPattern` for `&String` ## 0.2.2 - 2019-12-25 -- Use `IntoPattern` for `RouterBuilder::path()` +* Use `IntoPattern` for `RouterBuilder::path()` ## 0.2.1 - 2019-12-25 -- Add `IntoPattern` trait -- Add multi-pattern resources +* Add `IntoPattern` trait +* Add multi-pattern resources ## 0.2.0 - 2019-12-07 -- Update http to 0.2 -- Update regex to 1.3 -- Use bytestring instead of string +* Update http to 0.2 +* Update regex to 1.3 +* Use bytestring instead of string ## 0.1.5 - 2019-05-15 -- Remove debug prints +* Remove debug prints ## 0.1.4 - 2019-05-15 -- Fix checked resource match +* Fix checked resource match ## 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 -- Export `Quoter` type -- Allow to reset `Path` instance +* Export `Quoter` type +* Allow to reset `Path` instance ## 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 -- Initial release +* Initial release diff --git a/actix-test/CHANGES.md b/actix-test/CHANGES.md index e3deeb3f4..ef78ac54a 100644 --- a/actix-test/CHANGES.md +++ b/actix-test/CHANGES.md @@ -4,46 +4,46 @@ ## 0.1.0-beta.9 - 2021-12-17 -- Re-export `actix_http::body::to_bytes`. [#2518] -- Update `actix_web::test` re-exports. [#2518] +* Re-export `actix_http::body::to_bytes`. [#2518] +* Update `actix_web::test` re-exports. [#2518] [#2518]: https://github.com/actix/actix-web/pull/2518 ## 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 -- 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 ## 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 -- Updated rustls to v0.20. [#2414] -- Minimum supported Rust version (MSRV) is now 1.52. +* Updated rustls to v0.20. [#2414] +* Minimum supported Rust version (MSRV) is now 1.52. [#2414]: https://github.com/actix/actix-web/pull/2414 ## 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 -- 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 -- 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 -- 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 diff --git a/actix-web-actors/CHANGES.md b/actix-web-actors/CHANGES.md index 6abfe2c61..d3078499c 100644 --- a/actix-web-actors/CHANGES.md +++ b/actix-web-actors/CHANGES.md @@ -4,105 +4,105 @@ ## 4.0.0-beta.8 - 2021-12-11 -- Add `ws:WsResponseBuilder` for building WebSocket session response. [#1920] -- Deprecate `ws::{start_with_addr, start_with_protocols}`. [#1920] -- Minimum supported Rust version (MSRV) is now 1.52. +* Add `ws:WsResponseBuilder` for building WebSocket session response. [#1920] +* Deprecate `ws::{start_with_addr, start_with_protocols}`. [#1920] +* Minimum supported Rust version (MSRV) is now 1.52. [#1920]: https://github.com/actix/actix-web/pull/1920 ## 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 -- Update `actix` to `0.12`. [#2277] +* Update `actix` to `0.12`. [#2277] [#2277]: https://github.com/actix/actix-web/pull/2277 ## 4.0.0-beta.5 - 2021-06-17 -- No notable changes. +* No notable changes. ## 4.0.0-beta.4 - 2021-04-02 -- No notable changes. +* No notable changes. ## 4.0.0-beta.3 - 2021-03-09 -- No notable changes. +* No notable changes. ## 4.0.0-beta.2 - 2021-02-10 -- No notable changes. +* No notable changes. ## 4.0.0-beta.1 - 2021-01-07 -- Update `pin-project` to `1.0`. -- Update `bytes` to `1.0`. [#1813] -- `WebsocketContext::text` now takes an `Into`. [#1864] +* Update `pin-project` to `1.0`. +* Update `bytes` to `1.0`. [#1813] +* `WebsocketContext::text` now takes an `Into`. [#1864] [#1813]: https://github.com/actix/actix-web/pull/1813 [#1864]: https://github.com/actix/actix-web/pull/1864 ## 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 -- Update `actix-*` dependencies to latest versions. +* Update `actix-*` dependencies to latest versions. ## [3.0.0-beta.1] - 2020-xx-xx -- Update `actix-web` & `actix-http` dependencies to beta.1 -- Bump minimum supported Rust version to 1.40 +* Update `actix-web` & `actix-http` dependencies to beta.1 +* Bump minimum supported Rust version to 1.40 ## [3.0.0-alpha.1] - 2020-05-08 -- Update the actix-web dependency to 3.0.0-alpha.1 -- Update the actix dependency to 0.10.0-alpha.2 -- Update the actix-http dependency to 2.0.0-alpha.3 +* Update the actix-web dependency to 3.0.0-alpha.1 +* Update the actix dependency to 0.10.0-alpha.2 +* Update the actix-http dependency to 2.0.0-alpha.3 ## [2.0.0] - 2019-12-20 -- Release +* Release ## [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 -- Allow comma-separated websocket subprotocols without spaces (#1172) +* Allow comma-separated websocket subprotocols without spaces (#1172) ## [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 -- 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`. -- Add support for specifying protocols on websocket handshake #835 +* Add support for specifying protocols on websocket handshake #835 ## [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 -- Update actix-http and actix-web +* Update actix-http and actix-web ## [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 -- Update actix-http and actix-web +* Update actix-http and actix-web ## [0.1.0-alpha.1] - 2019-03-28 -- Initial impl +* Initial impl diff --git a/actix-web-codegen/CHANGES.md b/actix-web-codegen/CHANGES.md index 0d881d303..309274563 100644 --- a/actix-web-codegen/CHANGES.md +++ b/actix-web-codegen/CHANGES.md @@ -4,101 +4,101 @@ ## 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 -- Improve error recovery potential when macro input is invalid. [#2410] -- Add `#[actix_web::test]` macro for setting up tests with a runtime. [#2409] -- Minimum supported Rust version (MSRV) is now 1.52. +* Improve error recovery potential when macro input is invalid. [#2410] +* Add `#[actix_web::test]` macro for setting up tests with a runtime. [#2409] +* Minimum supported Rust version (MSRV) is now 1.52. [#2410]: https://github.com/actix/actix-web/pull/2410 [#2409]: https://github.com/actix/actix-web/pull/2409 ## 0.5.0-beta.4 - 2021-09-09 -- In routing macros, paths are now validated at compile time. [#2350] -- Minimum supported Rust version (MSRV) is now 1.51. +* In routing macros, paths are now validated at compile time. [#2350] +* Minimum supported Rust version (MSRV) is now 1.51. [#2350]: https://github.com/actix/actix-web/pull/2350 ## 0.5.0-beta.3 - 2021-06-17 -- No notable changes. +* No notable changes. ## 0.5.0-beta.2 - 2021-03-09 -- Preserve doc comments when using route macros. [#2022] -- Add `name` attribute to `route` macro. [#1934] +* Preserve doc comments when using route macros. [#2022] +* Add `name` attribute to `route` macro. [#1934] [#2022]: https://github.com/actix/actix-web/pull/2022 [#1934]: https://github.com/actix/actix-web/pull/1934 ## 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 -- Added compile success and failure testing. [#1677] -- Add `route` macro for supporting multiple HTTP methods guards. [#1674] +* Added compile success and failure testing. [#1677] +* Add `route` macro for supporting multiple HTTP methods guards. [#1674] [#1677]: https://github.com/actix/actix-web/pull/1677 [#1674]: https://github.com/actix/actix-web/pull/1674 ## 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 -- 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 ## 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 ## 0.2.1 - 2020-02-25 -- Add `#[allow(missing_docs)]` attribute to generated structs [#1368] -- Allow the handler function to be named as `config` [#1290] +* Add `#[allow(missing_docs)]` attribute to generated structs [#1368] +* Allow the handler function to be named as `config` [#1290] [#1368]: https://github.com/actix/actix-web/issues/1368 [#1290]: https://github.com/actix/actix-web/issues/1290 ## 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 -- Bump up `syn` & `quote` to 1.0 -- Provide better error message +* Bump up `syn` & `quote` to 1.0 +* Provide better error message ## 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 -- Add syn "extra-traits" feature +* Add syn "extra-traits" feature ## 0.1.0 - 2019-05-18 -- Release +* Release ## 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 -- 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 -- Initial impl +* Initial impl diff --git a/awc/CHANGES.md b/awc/CHANGES.md index b5144b7a2..7b822930c 100644 --- a/awc/CHANGES.md +++ b/awc/CHANGES.md @@ -1,75 +1,75 @@ # Changes ## Unreleased - 2021-xx-xx -- Rename `Connector::{ssl => openssl}`. [#2503] -- Improve `Client` instantiation efficiency when using `openssl` by only building connectors once. [#2503] +* Rename `Connector::{ssl => openssl}`. [#2503] +* Improve `Client` instantiation efficiency when using `openssl` by only building connectors once. [#2503] [#2503]: https://github.com/actix/actix-web/pull/2503 ## 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 ## 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 -- 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 ## 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 -- 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 -- Updated rustls to v0.20. [#2414] +* Updated rustls to v0.20. [#2414] [#2414]: https://github.com/actix/actix-web/pull/2414 ## 3.0.0-beta.8 - 2021-09-09 ### Changed -- Send headers within the redirect requests. [#2310] +* Send headers within the redirect requests. [#2310] [#2310]: https://github.com/actix/actix-web/pull/2310 ## 3.0.0-beta.7 - 2021-06-26 ### Changed -- Change compression algorithm features flags. [#2250] +* Change compression algorithm features flags. [#2250] [#2250]: https://github.com/actix/actix-web/pull/2250 ## 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 ### 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 ## 3.0.0-beta.4 - 2021-04-02 ### 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 -- `ConnectorService` type is renamed to `BoxConnectorService`. [#2081] -- Fix http/https encoding when enabling `compress` feature. [#2116] -- Rename `TestResponse::header` to `append_header`, `set` to `insert_header`. `TestResponse` header +* `ConnectorService` type is renamed to `BoxConnectorService`. [#2081] +* Fix http/https encoding when enabling `compress` feature. [#2116] +* Rename `TestResponse::header` to `append_header`, `set` to `insert_header`. `TestResponse` header methods now take `TryIntoHeaderPair` tuples. [#2094] [#2081]: https://github.com/actix/actix-web/pull/2081 @@ -80,16 +80,16 @@ ## 3.0.0-beta.3 - 2021-03-08 ### Added -- `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] +* `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] ### Changed -- Feature `cookies` is now optional and enabled by default. [#1981] -- `ClientBuilder::connector` method would take `actix_http::client::Connector` type. [#2008] -- Basic auth password now takes blank passwords as an empty string instead of Option. [#2050] +* Feature `cookies` is now optional and enabled by default. [#1981] +* `ClientBuilder::connector` method would take `actix_http::client::Connector` type. [#2008] +* Basic auth password now takes blank passwords as an empty string instead of Option. [#2050] ### Removed -- `ClientBuilder::default` function [#2008] +* `ClientBuilder::default` function [#2008] [#1931]: https://github.com/actix/actix-web/pull/1931 [#1981]: https://github.com/actix/actix-web/pull/1981 @@ -100,18 +100,18 @@ ## 3.0.0-beta.2 - 2021-02-10 ### Added -- `ClientRequest::insert_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] +* `ClientRequest::insert_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] ### 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 -- `ClientRequest::set`; 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::header`; use `ClientRequest::append_header`. [#1869] +* `ClientRequest::set`; 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::header`; use `ClientRequest::append_header`. [#1869] [#1869]: https://github.com/actix/actix-web/pull/1869 [#1905]: https://github.com/actix/actix-web/pull/1905 @@ -120,32 +120,32 @@ ## 3.0.0-beta.1 - 2021-01-07 ### Changed -- Update `rand` to `0.8` -- Update `bytes` to `1.0`. [#1813] -- Update `rust-tls` to `0.19`. [#1813] +* Update `rand` to `0.8` +* Update `bytes` to `1.0`. [#1813] +* Update `rust-tls` to `0.19`. [#1813] [#1813]: https://github.com/actix/actix-web/pull/1813 ## 2.0.3 - 2020-11-29 ### Fixed -- Ensure `actix-http` dependency uses same `serde_urlencoded`. +* Ensure `actix-http` dependency uses same `serde_urlencoded`. ## 2.0.2 - 2020-11-25 ### Changed -- Upgrade `serde_urlencoded` to `0.7`. [#1773] +* Upgrade `serde_urlencoded` to `0.7`. [#1773] [#1773]: https://github.com/actix/actix-web/pull/1773 ## 2.0.1 - 2020-10-30 ### Changed -- Upgrade `base64` to `0.13`. [#1744] -- Deprecate `ClientRequest::{if_some, if_true}`. [#1760] +* Upgrade `base64` to `0.13`. [#1744] +* Deprecate `ClientRequest::{if_some, if_true}`. [#1760] ### 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] [#1737]: https://github.com/actix/actix-web/pull/1737 @@ -155,209 +155,209 @@ ## 2.0.0 - 2020-09-11 ### Changed -- `Client::build` was renamed to `Client::builder`. +* `Client::build` was renamed to `Client::builder`. ## 2.0.0-beta.4 - 2020-09-09 ### Changed -- Update actix-codec & actix-tls dependencies. +* Update actix-codec & actix-tls dependencies. ## 2.0.0-beta.3 - 2020-08-17 ### Changed -- Update `rustls` to 0.18 +* Update `rustls` to 0.18 ## 2.0.0-beta.2 - 2020-07-21 ### 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 ### 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 ### Changed -- Implement `std::error::Error` for our custom errors [#1422] -- Bump minimum supported Rust version to 1.40 -- Update `base64` dependency to 0.12 +* Implement `std::error::Error` for our custom errors [#1422] +* Bump minimum supported Rust version to 1.40 +* Update `base64` dependency to 0.12 [#1422]: https://github.com/actix/actix-web/pull/1422 ## [2.0.0-alpha.1] - 2020-03-11 -- Update `actix-http` dependency to 2.0.0-alpha.2 -- Update `rustls` dependency to 0.17 -- 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 +* Update `actix-http` dependency to 2.0.0-alpha.2 +* Update `rustls` dependency to 0.17 +* 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 ## [1.0.1] - 2019-12-15 -- Fix compilation with default features off +* Fix compilation with default features off ## [1.0.0] - 2019-12-13 -- Release +* Release ## [1.0.0-alpha.3] -- Migrate to `std::future` +* Migrate to `std::future` ## [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 ### 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 ### Added -- Export frozen request related types. +* Export frozen request related types. ## [0.2.5] - 2019-09-11 ### Added -- Add `FrozenClientRequest` to support retries for sending HTTP requests +* Add `FrozenClientRequest` to support retries for sending HTTP requests ### 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 ### 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 ### Added -- Add `rustls` support +* Add `rustls` support ## [0.2.2] - 2019-07-01 ### 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 ### Added -- Add license files +* Add license files ## [0.2.0] - 2019-05-12 ### Added -- Allow to send headers in `Camel-Case` form. +* Allow to send headers in `Camel-Case` form. ### Changed -- Upgrade actix-http dependency. +* Upgrade actix-http dependency. ## [0.1.1] - 2019-04-19 ### Added -- Allow to specify server address for http and ws requests. +* Allow to specify server address for http and ws requests. ### 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 -- No changes +* No changes ## [0.1.0-alpha.6] - 2019-04-14 ### 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 ### Changed -- Do not set any default headers +* Do not set any default headers ### Added -- Add Debug impl for BoxedSocket +* Add Debug impl for BoxedSocket ## [0.1.0-alpha.4] - 2019-04-08 ### Changed -- Update actix-http dependency +* Update actix-http dependency ## [0.1.0-alpha.3] - 2019-04-02 ### 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 -- `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 ### 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 -- 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 -- Initial impl +* Initial impl