mirror of https://github.com/fafhrd91/actix-web
16 KiB
16 KiB
Changes
Unreleased - 2021-xx-xx
Added
- Re-export
httpcrate'sErrortype aserror::HttpError. #2171 - Re-export
StatusCode,Method,VersionandUriat the crate root. #2171 - Re-export
ContentEncodingandConnectionTypeat the crate root. #2171
Changed
Removed
- Stop re-exporting
httpcrate'sHeaderMaptypes in addition to ours. #2171
3.0.0-beta.6 - 2021-04-17
Added
impl<T: MessageBody> MessageBody for Pin<Box<T>>. #2152Response::{ok, bad_request, not_found, internal_server_error}. #2159- Helper
body::to_bytesfor async collecting message body into Bytes. #2158
Changes
- The type parameter of
Responseno longer has a default. #2152 - The
Messagevariant ofbody::Bodyis nowPin<Box<dyn MessageBody>>. #2152 BodyStreamandSizedStreamare no longer restricted to Unpin types. #2152- Error enum types are marked
#[non_exhaustive]. #2161
Removed
cookiesfeature flag. #2065- Top-level
cookiesmod (re-export). #2065 HttpMessagetrait loses thecookiesandcookiemethods. #2065impl ResponseError for CookieParseError. #2065- Deprecated methods on
ResponseBuilder:if_true,if_some. #2148 ResponseBuilder::json. #2148ResponseBuilder::{set_header, header}. #2148impl From<serde_json::Value> for Body. #2148Response::build_from. #2159- Most of the status code builders on
Response. #2159
3.0.0-beta.5 - 2021-04-02
Added
client::Connector::handshake_timeoutmethod for customizing TLS connection handshake timeout. #2081client::ConnectorServiceasclient::Connector::finishmethod's return type #2081client::ConnectionIotrait alias #2081
Changed
client::Connectortype now only have one generic type foractix_service::Service. #2063
Removed
- Common typed HTTP headers were moved to actix-web. [2094]
ResponseErrorimpl foractix_utils::timeout::TimeoutError. #2127
3.0.0-beta.4 - 2021-03-08
Changed
- Feature
cookiesis now optional and disabled by default. #1981 ws::hash_keynow returns array. #2035ResponseBuilder::jsonnow takesimpl Serialize. #2052
Removed
- Re-export of
futures_channel::oneshot::Canceledis removed fromerrormod. #1994 ResponseErrorimpl forfutures_channel::oneshot::Canceledis removed. #1994
3.0.0-beta.3 - 2021-02-10
- No notable changes.
3.0.0-beta.2 - 2021-02-10
Added
IntoHeaderPairtrait that allows using typed and untyped headers in the same methods. #1869ResponseBuilder::insert_headermethod which allows using typed headers. #1869ResponseBuilder::append_headermethod which allows using typed headers. #1869TestRequest::insert_headermethod which allows using typed headers. #1869ContentEncodingimplements all necessary header traits. #1912HeaderMap::len_keyshas the behavior of the oldlenmethod. #1964HeaderMap::drainas an efficient draining iterator. #1964- Implement
IntoIteratorfor ownedHeaderMap. #1964 trust-dnsoptional feature to enabletrust-dns-resolveras client dns resolver. #1969
Changed
ResponseBuilder::content_typenow takes animpl IntoHeaderValueto support using typedmimetypes. #1894- Renamed
IntoHeaderValue::{try_into => try_into_value}to avoid ambiguity with stdTryIntotrait. #1894 Extensions::insertreturns Option of replaced item. #1904- Remove
HttpResponseBuilder::json2(). #1903 - Enable
HttpResponseBuilder::json()to receive data by value and reference. #1903 client::error::ConnectErrorResolver variant containsBox<dyn std::error::Error>type. #1905client::ConnectorConfigdefault timeout changed to 5 seconds. #1905- Simplify
BlockingErrortype to a unit struct. It's now only triggered when blocking thread pool is dead. #1957 HeaderMap::lennow returns number of values instead of number of keys. #1964HeaderMap::insertnow returns iterator of removed values. #1964HeaderMap::removenow returns iterator of removed values. #1964
Removed
ResponseBuilder::set; useResponseBuilder::insert_header. #1869ResponseBuilder::set_header; useResponseBuilder::insert_header. #1869ResponseBuilder::header; useResponseBuilder::append_header. #1869TestRequest::with_hdr; useTestRequest::default().insert_header(). #1869TestRequest::with_header; useTestRequest::default().insert_header(). #1869actorsoptional feature. #1969ResponseErrorimpl foractix::MailboxError. #1969
Documentation
- Vastly improve docs and add examples for
HeaderMap. #1964
3.0.0-beta.1 - 2021-01-07
Added
- Add
Http3toProtocolenum for future compatibility and also mark#[non_exhaustive].
Changed
- Update
actix-*dependencies to tokio1.0based versions. #1813 - Bumped
randto0.8. - Update
bytesto1.0. #1813 - Update
h2to0.3. #1813 - The
ws::Message::Textenum variant now contains abytestring::ByteString. #1864
Removed
- Deprecated
on_connectmethods have been removed. Prefer the newon_connect_exttechnique. #1857 - Remove
ResponseErrorimpl foractix::actors::resolver::ResolverErrordue to deprecate of resolver actor. #1813 - Remove
ConnectError::SslHandshakeErrorand re-export ofHandshakeError. due to the removal of this type fromtokio-opensslcrate. openssl handshake error would return asConnectError::SslError. #1813 - Remove
actix-threadpooldependency. Useactix_rt::task::spawn_blocking. Due to this changeactix_threadpool::BlockingErrortype is moved intoactix_http::errormodule. #1878
2.2.0 - 2020-11-25
Added
- HttpResponse builders for 1xx status codes. #1768
Accept::mime_precedenceandAccept::mime_preference. #1793TryFrom<u16>andTryFrom<f32>forhttp::header::Quality. #1797
Fixed
- Started dropping
transfer-encoding: chunkedandContent-Lengthfor 1XX and 204 responses. #1767
Changed
- Upgrade
serde_urlencodedto0.7. #1773
2.1.0 - 2020-10-30
Added
- Added more flexible
on_connect_extmethods for on-connect handling. #1754
Changed
- Upgrade
base64to0.13. #1744 - Upgrade
pin-projectto1.0. #1733 - Deprecate
ResponseBuilder::{if_some, if_true}. #1760
2.0.0 - 2020-09-11
- 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.
2.0.0-beta.3 - 2020-08-14
Fixed
- Memory leak of
client::pool::ConnectorPoolSupport. #1626
2.0.0-beta.2 - 2020-07-21
Fixed
- Potential UB in h1 decoder using uninitialized memory. #1614
Changed
- Fix illegal chunked encoding. #1615
2.0.0-beta.1 - 2020-07-11
Changed
- Migrate cookie handling to
cookiecrate. #1558 - Update
sha-1to 0.9. #1586 - Fix leak in client pool. #1580
- MSRV is now 1.41.1.
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 no_chunking function #1439
BodySize::Sized64variant has been removed.BodySize::Sizednow receives au64instead of ausize.- Update
base64dependency to 0.12
Fixed
- Support parsing of
SameSite=None#1503
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 Item::FirstText and Item::FirstBinary are each encoded as the other.
Changed
- Implement
std::error::Errorfor our custom errors #1422 - Remove
failuresupport forResponseErrorsince that crate will be deprecated in the near future.
2.0.0-alpha.2 - 2020-03-07
Changed
- Update
actix-connectandactix-tlsdependency 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 HTTP2 configuration. #1394
- client::Connector allowing to set max_http_version to limit HTTP version to be used. #1394
2.0.0-alpha.1 - 2020-02-27
Changed
- Update the
timedependency 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 selfin the poll_next(). - MessageBody is not implemented for &'static [u8] anymore.
Fixed
- Allow
SameSite=Nonecookies 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
1.0.0 - 2019-12-13
Added
- Add websockets continuation frame support
Changed
- Replace
flate2-xxxfeatures withcompress
1.0.0-alpha.5 - 2019-12-09
Fixed
- Check
Upgradeservice readiness before calling it - Fix buffer remaining capacity calculation
Changed
- Websockets: Ping and Pong should have binary data #1049
1.0.0-alpha.4 - 2019-12-08
Added
- Add impl ResponseBuilder for Error
Changed
- Use rust based brotli compression library
1.0.0-alpha.3 - 2019-12-07
Changed
- 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 theContent-Dispositionheader ofactix_files::NamedFileto be more compatible. (#1151) - Allow to use
std::convert::Infallibleasactix_http::error::Error
Fixed
- To be compatible with non-English error responses,
ResponseErrorrendered withtext/plain; charset=utf-8header [#1118]
0.2.10 - 2019-09-11
Added
- Add support for sending HTTP requests with
Rc<RequestHead>in addition to sending HTTP requests withRequestHead
Fixed
- 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 ofstdlib-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)
0.2.8 - 2019-08-01
Added
- Add
rustlssupport - Add
Cloneimpl forHeaderMap
Fixed
- 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
0.2.6 - 2019-07-17
Changed
- Replace
ClonableServicewith local copy - Upgrade
randdependency version to 0.7
0.2.5 - 2019-06-28
Added
- Add
on-connectcallback,HttpServiceBuilder::on_connect()#946
Changed
- Use
encoding_rscrate instead of unmaintainedencodingcrate - Add
CopyandCloneimpls forws::Codec
0.2.4 - 2019-06-16
Fixed
- Do not compress NoContent (204) responses #918
0.2.3 - 2019-06-02
Added
- Debug impl for ResponseBuilder
- From SizedStream and BodyStream for Body
Changed
- SizedStream uses u64
0.2.2 - 2019-05-29
Fixed
- Parse incoming stream before closing stream on disconnect #868
0.2.1 - 2019-05-25
Fixed
- Handle socket read disconnect
0.2.0 - 2019-05-12
Changed
- Update actix-service to 0.4
- Expect and upgrade services accept
ServerConfigconfig.
Deleted
OneRequestservice
0.1.5 - 2019-05-04
Fixed
- Clean up response extensions in response pool #817
0.1.4 - 2019-04-24
Added
- Allow to render h1 request headers in
Camel-Case
Fixed
- 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
0.1.2 - 2019-04-23
Fixed
- 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
0.1.0 - 2019-04-16
Added
- Expose peer addr via
Request::peer_addr()andRequestHead::peer_addr
Changed
actix_http::encodingalways 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::SendResponsefuture.
Changed
- 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
Expecthandler - Add minimal
std::error::Errorimpl forError
Changed
- Export IntoHeaderValue
- Render error and return as response body
- Use thread pool for response body compression
Deleted
- Removed PayloadBuffer
0.1.0-alpha.3 - 2019-04-02
Added
- 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
0.1.0-alpha.2 - 2019-03-29
Added
- Added ws::Message::Nop, no-op websockets message
Changed
- Do not use thread pool for decompression if chunk size is smaller than 2048.
0.1.0-alpha.1 - 2019-03-28
- Initial impl