From 98ea147b970aeac0ee2d712b6ebeda896b0cd64e Mon Sep 17 00:00:00 2001 From: Rob Ede Date: Mon, 26 Sep 2022 00:29:31 +0100 Subject: [PATCH] fix changelog --- actix-web/CHANGES.md | 286 +++++++++++++++++++------------------------ 1 file changed, 129 insertions(+), 157 deletions(-) diff --git a/actix-web/CHANGES.md b/actix-web/CHANGES.md index a4ba16e36..9184e01ac 100644 --- a/actix-web/CHANGES.md +++ b/actix-web/CHANGES.md @@ -4,7 +4,9 @@ ### Added - Add `ContentDisposition::attachment` constructor. [#2867] - Add `ErrorHandlers::default_handler()` (as well as `default_handler_{server, client}()`) to make registering handlers for groups of response statuses easier. [#2784] +- Add `Logger::custom_status_replace()`. [#2631] +[#2631]: https://github.com/actix/actix-web/pull/2631 [#2784]: https://github.com/actix/actix-web/pull/2784 [#2867]: https://github.com/actix/actix-web/pull/2867 @@ -49,11 +51,6 @@ [#2742]: https://github.com/actix/actix-web/pull/2742 [#2743]: https://github.com/actix/actix-web/pull/2743 -### Added - -- `middleware::logger::custom_status_replace`. [#2631] - -[#2631]: https://github.com/actix/actix-web/pull/2631 ## 4.0.1 - 2022-02-25 ### Fixed @@ -333,52 +330,45 @@ 4.0.0 Pre-Releases ## 4.0.0-rc.3 - 2022-02-08 - ### Changed - - `middleware::Condition` gained a broader compatibility; `Compat` is needed in fewer cases. [#2635] +### Added - Implement `Responder` for `Vec`. [#2625] - Re-export `KeepAlive` in `http` mod. [#2625] [#2625]: https://github.com/actix/actix-web/pull/2625 [#2635]: https://github.com/actix/actix-web/pull/2635 + ## 4.0.0-rc.2 - 2022-02-02 - ### Added - - On-by-default `macros` feature flag to enable routing and runtime macros. [#2619] ### Removed - - `rt::{Arbiter, ArbiterHandle}` re-exports. [#2619] [#2619]: https://github.com/actix/actix-web/pull/2619 + ## 4.0.0-rc.1 - 2022-01-31 - ### Changed - - Rename `HttpServer::{client_timeout => client_request_timeout}`. [#2611] - Rename `HttpServer::{client_shutdown => client_disconnect_timeout}`. [#2611] ### Removed - - `impl Future for HttpResponse`. [#2601] [#2601]: https://github.com/actix/actix-web/pull/2601 [#2611]: https://github.com/actix/actix-web/pull/2611 + ## 4.0.0-beta.21 - 2022-01-21 - ### Added - - `HttpResponse::add_removal_cookie`. [#2586] - `Logger::log_target`. [#2594] ### Removed - - `HttpRequest::req_data[_mut]()`; request-local data is still available through `.extensions()`. [#2585] - `HttpRequestBuilder::del_cookie`. [#2591] @@ -387,15 +377,13 @@ [#2591]: https://github.com/actix/actix-web/pull/2591 [#2594]: https://github.com/actix/actix-web/pull/2594 + ## 4.0.0-beta.20 - 2022-01-14 - ### Added - - `GuardContext::header` [#2569] - `ServiceConfig::configure` to allow easy nesting of configuration functions. [#1988] ### Changed - - `HttpResponse` can now be used as a `Responder` with any body type. [#2567] - `Result` extractor wrapper can now convert error types. [#2581] - Associated types in `FromRequest` impl for `Option` and `Result` has changed. [#2581] @@ -409,61 +397,52 @@ [#2582]: https://github.com/actix/actix-web/pull/2582 [#2584]: https://github.com/actix/actix-web/pull/2584 + ## 4.0.0-beta.19 - 2022-01-04 - ### Added - - `impl Hash` for `http::header::Encoding`. [#2501] - `AcceptEncoding::negotiate()`. [#2501] ### Changed - - `AcceptEncoding::preference` now returns `Option>`. [#2501] - Rename methods `BodyEncoding::{encoding => encode_with, get_encoding => preferred_encoding}`. [#2501] - `http::header::Encoding` now only represents `Content-Encoding` types. [#2501] ### Fixed - - Auto-negotiation of content encoding is more fault-tolerant when using the `Compress` middleware. [#2501] ### Removed - - `Compress::new`; restricting compression algorithm is done through feature flags. [#2501] - `BodyEncoding` trait; signalling content encoding is now only done via the `Content-Encoding` header. [#2565] [#2501]: https://github.com/actix/actix-web/pull/2501 [#2565]: https://github.com/actix/actix-web/pull/2565 + ## 4.0.0-beta.18 - 2021-12-29 - ### Changed - - Update `cookie` dependency (re-exported) to `0.16`. [#2555] - Minimum supported Rust version (MSRV) is now 1.54. ### Security - - `cookie` upgrade addresses [`RUSTSEC-2020-0071`]. [#2555]: https://github.com/actix/actix-web/pull/2555 -[`rustsec-2020-0071`]: https://rustsec.org/advisories/RUSTSEC-2020-0071.html +[`RUSTSEC-2020-0071`]: https://rustsec.org/advisories/RUSTSEC-2020-0071.html + ## 4.0.0-beta.17 - 2021-12-29 - ### Added - - `guard::GuardContext` for use with the `Guard` trait. [#2552] - `ServiceRequest::guard_ctx` for obtaining a guard context. [#2552] ### Changed - - `Guard` trait now receives a `&GuardContext`. [#2552] - `guard::fn_guard` functions now receives a `&GuardContext`. [#2552] - Some guards now return `impl Guard` and their concrete types are made private: `guard::Header` and all the method guards. [#2552] - The `Not` guard is now generic over the type of guard it wraps. [#2552] ### Fixed - - Rename `ConnectionInfo::{remote_addr => peer_addr}`, deprecating the old name. [#2554] - `ConnectionInfo::peer_addr` will not return the port number. [#2554] - `ConnectionInfo::realip_remote_addr` will not return the port number if sourcing the IP from the peer's socket address. [#2554] @@ -471,25 +450,22 @@ [#2552]: https://github.com/actix/actix-web/pull/2552 [#2554]: https://github.com/actix/actix-web/pull/2554 + ## 4.0.0-beta.16 - 2021-12-27 - ### Changed - - No longer require `Scope` service body type to be boxed. [#2523] - No longer require `Resource` service body type to be boxed. [#2526] [#2523]: https://github.com/actix/actix-web/pull/2523 [#2526]: https://github.com/actix/actix-web/pull/2526 + ## 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] - Both variants in `ErrorHandlerResponse` now use `ServiceResponse>`. [#2515] @@ -499,7 +475,6 @@ - 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] @@ -509,10 +484,9 @@ [#2516]: https://github.com/actix/actix-web/pull/2516 [#2518]: https://github.com/actix/actix-web/pull/2518 + ## 4.0.0-beta.14 - 2021-12-11 - ### Added - - Methods on `AcceptLanguage`: `ranked` and `preference`. [#2480] - `AcceptEncoding` typed header. [#2482] - `Range` typed header. [#2485] @@ -523,7 +497,6 @@ - `ServiceResponse::into_parts`. [#2499] ### Changed - - Rename `Accept::{mime_precedence => ranked}`. [#2480] - Rename `Accept::{mime_preference => preference}`. [#2480] - Un-deprecate `App::data_factory`. [#2484] @@ -533,13 +506,11 @@ - 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] [#2430]: https://github.com/actix/actix-web/pull/2430 @@ -554,54 +525,46 @@ [#2493]: https://github.com/actix/actix-web/pull/2493 [#2499]: https://github.com/actix/actix-web/pull/2499 + ## 4.0.0-beta.13 - 2021-11-30 - ### Changed - - Update `actix-tls` to `3.0.0-rc.1`. [#2474] [#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 - - Re-export `dev::ServerHandle` from `actix-server`. [#2442] ### 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] [#2423]: https://github.com/actix/actix-web/pull/2423 [#2442]: https://github.com/actix/actix-web/pull/2442 + ## 4.0.0-beta.10 - 2021-10-20 - ### Added - - Option to allow `Json` extractor to work without a `Content-Type` header present. [#2362] - `#[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] - `Data::into_inner` and `Data::get_ref` no longer requires `T: Sized`. [#2403] @@ -609,7 +572,6 @@ - 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 @@ -620,21 +582,18 @@ [#2409]: https://github.com/actix/actix-web/pull/2409 [#2414]: https://github.com/actix/actix-web/pull/2414 + ## 4.0.0-beta.9 - 2021-09-09 - ### Added - - Re-export actix-service `ServiceFactory` in `dev` module. [#2325] ### Changed - - Compress middleware will return 406 Not Acceptable when no content encoding is acceptable to the client. [#2344] - 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] @@ -643,23 +602,20 @@ [#2344]: https://github.com/actix/actix-web/pull/2344 [#2379]: https://github.com/actix/actix-web/pull/2379 + ## 4.0.0-beta.8 - 2021-06-26 - ### Added - - Add `ServiceRequest::parts_mut`. [#2177] - 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] - Smarter extraction of `ConnectionInfo` parts. [#2282] ### Fixed - - Scope and Resource middleware can access data items set on their own layer. [#2288] [#2177]: https://github.com/actix/actix-web/pull/2177 @@ -670,14 +626,12 @@ [#2282]: https://github.com/actix/actix-web/pull/2282 [#2288]: https://github.com/actix/actix-web/pull/2288 + ## 4.0.0-beta.7 - 2021-06-17 - ### Added - - `HttpServer::worker_max_blocking_threads` for setting block thread pool. [#2200] ### Changed - - Adjusted default JSON payload limit to 2MB (from 32kb) and included size and limits in the `JsonPayloadError::Overflow` error variant. [#2162] - `ServiceResponse::error_response` now uses body type of `Body`. [#2201] - `ServiceResponse::checked_expr` now returns a `Result`. [#2201] @@ -690,7 +644,6 @@ - `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] [#2162]: https://github.com/actix/actix-web/pull/2162 @@ -699,39 +652,36 @@ [#2253]: https://github.com/actix/actix-web/pull/2253 [#2246]: https://github.com/actix/actix-web/pull/2246 + ## 4.0.0-beta.6 - 2021-04-17 - ### Added - - `HttpResponse` and `HttpResponseBuilder` types. [#2065] ### Changed - - Most error types are now marked `#[non_exhaustive]`. [#2148] - 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 + ## 4.0.0-beta.5 - 2021-04-02 - ### Added - - `Header` extractor for extracting common HTTP headers in handlers. [#2094] - Added `TestServer::client_headers` method. [#2097] ### 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] +- `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] ### Fixed - - Double ampersand in Logger format is escaped correctly. [#2067] ### Removed - -- 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] +- 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 @@ -739,48 +689,50 @@ [#2097]: https://github.com/actix/actix-web/pull/2097 [#2112]: https://github.com/actix/actix-web/pull/2112 + ## 4.0.0-beta.4 - 2021-03-09 - ### Changed - - Feature `cookies` is now optional and enabled by default. [#1981] -- `JsonBody::new` returns a default limit of 32kB to be consistent with `JsonConfig` and the default behaviour of the `web::Json` extractor. [#2010] +- `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 -## 4.0.0-beta.3 - 2021-02-10 +## 4.0.0-beta.3 - 2021-02-10 - Update `actix-web-codegen` to `0.5.0-beta.1`. + ## 4.0.0-beta.2 - 2021-02-10 - ### 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] +- 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] -- `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] +- `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] ### 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] - `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] +- `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 [#1893]: https://github.com/actix/actix-web/pull/1893 @@ -791,30 +743,30 @@ [#1933]: https://github.com/actix/actix-web/pull/1933 [#1957]: https://github.com/actix/actix-web/pull/1957 + ## 4.0.0-beta.1 - 2021-01-07 - ### Added - -- `Compat` middleware enabling generic response body/error type of middlewares like `Logger` and `Compress` to be used in `middleware::Condition` and `Resource`, `Scope` services. [#1865] +- `Compat` middleware enabling generic response body/error type of middlewares like `Logger` and + `Compress` to be used in `middleware::Condition` and `Resource`, `Scope` services. [#1865] ### Changed - - 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] +- 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] ### Removed - -- Public modules `middleware::{normalize, err_handlers}`. All necessary middleware types are now 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] +- Public modules `middleware::{normalize, err_handlers}`. All necessary middleware types are now + 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 @@ -826,17 +778,14 @@ ## 3.3.3 - 2021-12-18 - ### Changed - - Soft-deprecate `NormalizePath::default()`, noting upcoming behavior change in v4. [#2529] [#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] @@ -845,27 +794,24 @@ [#1798]: https://github.com/actix/actix-web/pull/1798 [#1803]: https://github.com/actix/actix-web/pull/1803 -## 3.3.1 - 2020-11-29 +## 3.3.1 - 2020-11-29 - Ensure `actix-http` dependency uses same `serde_urlencoded`. + ## 3.3.0 - 2020-11-25 - ### 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 - - Implement `exclude_regex` for Logger middleware. [#1723] - Add request-local data extractor `web::ReqData`. [#1748] - Add ability to register closure for request middleware logging. [#1749] @@ -873,7 +819,6 @@ - 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] @@ -886,53 +831,52 @@ [#1754]: https://github.com/actix/actix-web/pull/1754 [#1749]: https://github.com/actix/actix-web/pull/1749 + ## 3.1.0 - 2020-09-29 - ### Changed - -- Add `TrailingSlash::MergeOnly` behaviour to `NormalizePath`, which allows `NormalizePath` to retain any trailing slashes. [#1695] -- Remove bound `std::marker::Sized` from `web::Data` to support storing `Arc` via `web::Data::from` [#1710] +- Add `TrailingSlash::MergeOnly` behaviour to `NormalizePath`, which allows `NormalizePath` + 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] [#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 + ## 3.0.2 - 2020-09-15 - ### Fixed - - `NormalizePath` when used with `TrailingSlash::Trim` no longer trims the root path "/". [#1678] [#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 +## 3.0.0 - 2020-09-11 - No significant changes from `3.0.0-beta.4`. + ## 3.0.0-beta.4 - 2020-09-09 - ### Added - -- `middleware::NormalizePath` now has configurable behavior for either always having a trailing slash, or as the new addition, always trimming trailing slashes. [#1639] +- `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] -- `FormConfig` and `JsonConfig` configurations are now also considered when set using `App::data`. [#1641] +- `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 @@ -940,23 +884,22 @@ [#1655]: https://github.com/actix/actix-web/pull/1655 ## 3.0.0-beta.3 - 2020-08-17 - ### Changed - - Update `rustls` to 0.18 + ## 3.0.0-beta.2 - 2020-08-17 - ### 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 access `HttpRequest` which already allows this. [#1618] +- `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 + access `HttpRequest` which already allows this. [#1618] - Re-export all error types from `awc`. [#1621] - MSRV is now 1.42.0. ### Fixed - - Memory leak of app data in pooled requests. [#1609] [#1594]: https://github.com/actix/actix-web/pull/1594 @@ -965,32 +908,28 @@ [#1618]: https://github.com/actix/actix-web/pull/1618 [#1621]: https://github.com/actix/actix-web/pull/1621 + ## 3.0.0-beta.1 - 2020-07-13 - ### Added - - Re-export `actix_rt::main` as `actix_web::main`. -- `HttpRequest::match_pattern` and `ServiceRequest::match_pattern` for extracting the matched resource pattern. +- `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 - - 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. - MSRV is now 1.41.1 ### Fixed - - `NormalizePath` improved consistency when path needs slashes added _and_ removed. + ## 3.0.0-alpha.3 - 2020-05-21 - ### 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] - Bump minimum supported Rust version to 1.40 @@ -1013,6 +952,7 @@ [#1452]: https://github.com/actix/actix-web/pull/1452 [#1486]: https://github.com/actix/actix-web/pull/1486 + ## [3.0.0-alpha.1] - 2020-03-11 ### Added @@ -1058,6 +998,7 @@ - Fix `AppConfig::secure()` is always false. #1202 + ## [2.0.0-alpha.6] - 2019-12-15 ### Fixed @@ -1082,6 +1023,7 @@ - Migrate to tokio 0.2 + ## [2.0.0-alpha.1] - 2019-11-22 ### Changed @@ -1090,6 +1032,7 @@ - Remove implementation of `Responder` for `()`. (#1167) + ## [1.0.9] - 2019-11-14 ### Added @@ -1100,17 +1043,20 @@ - 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 `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, which is useful for example with systemd. +- Add `HttpServer::listen_uds` for ability to listen on UDS FD rather than path, + which is useful for example with systemd. ### Changed @@ -1118,12 +1064,14 @@ - Use actix-testing for testing utils + ## [1.0.7] - 2019-08-29 ### Fixed - Request Extensions leak #1062 + ## [1.0.6] - 2019-08-28 ### Added @@ -1134,7 +1082,8 @@ - Add `into_inner` to `Data` -- Add `test::TestRequest::set_form()` convenience method to automatically serialize data and set the header in test requests. +- Add `test::TestRequest::set_form()` convenience method to automatically serialize data and set + the header in test requests. ### Changed @@ -1146,30 +1095,35 @@ - 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 +- 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. +- 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 @@ -1178,7 +1132,8 @@ ### 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 @@ -1188,6 +1143,7 @@ - Move identity middleware to `actix-identity` crate. + ## [1.0.1] - 2019-06-17 ### Added @@ -1212,6 +1168,7 @@ - HttpRequest::url_for is broken with nested scopes #915 + ## [1.0.0] - 2019-06-05 ### Added @@ -1220,7 +1177,8 @@ - Add `ServiceRequest::set_payload()` method. -- Add `test::TestRequest::set_json()` convenience method to automatically serialize data and set header in test requests. +- 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 @@ -1234,6 +1192,7 @@ - Clear http requests pool on app service drop #860 + ## [1.0.0-rc] - 2019-05-18 ### Added @@ -1249,6 +1208,7 @@ - Codegen with parameters in the path only resolves the first registered endpoint #841 + ## [1.0.0-beta.4] - 2019-05-12 ### Added @@ -1260,6 +1220,7 @@ - `App::configure` take an `FnOnce` instead of `Fn` - Upgrade actix-net crates + ## [1.0.0-beta.3] - 2019-05-04 ### Added @@ -1268,9 +1229,11 @@ ### Changed -- Extractor configuration could be registered with `App::data()` or with `Resource::data()` #775 +- 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()` +- Route data is unified with app data, `Route::data()` moved to resource + level to `Resource::data()` - CORS handling without headers #702 @@ -1284,6 +1247,7 @@ - `App::data_factory()` is deleted. + ## [1.0.0-beta.2] - 2019-04-24 ### Added @@ -1292,7 +1256,7 @@ - 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. @@ -1306,11 +1270,13 @@ - 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 helper functions for reading test response body, + `test::read_response()` and test::read_response_json()` - Add `.peer_addr()` #744 @@ -1330,6 +1296,7 @@ - Fixed `TestRequest::app_data()` + ## [1.0.0-alpha.6] - 2019-04-14 ### Changed @@ -1338,10 +1305,12 @@ - Remove generic type for request payload, always use default. -- Removed `Decompress` middleware. Bytes, String, Json, Form extractors automatically decompress payload. +- 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 @@ -1352,6 +1321,7 @@ - Removed native-tls support + ## [1.0.0-alpha.4] - 2019-04-08 ### Added @@ -1374,6 +1344,7 @@ - Fix body propagation in Response::from_error. #760 + ## [1.0.0-alpha.3] - 2019-04-02 ### Changed @@ -1388,6 +1359,7 @@ - Removed unused `actix_web::web::md()` + ## [1.0.0-alpha.2] - 2019-03-29 ### Added