145 KiB
v0.14.19 (2022-05-27)
Bug Fixes
- http1: fix preserving header case without enabling ffi (#2820) (6a35c175)
- server: don't add implicit content-length to HEAD responses (#2836) (67b73138)
Features
- server:
Breaking Changes
- ffi (unstable):
hyper_clientconn_options_newno longer sets thehttp1_preserve_header_caseconnection option by default. Users should now callhyper_clientconn_options_set_preserve_header_caseif they desire that functionality. (78de8914)
v0.14.18 (2022-03-22)
Bug Fixes
- ffi: don't build C libraries by default (1c663706)
Features
v0.14.17 (2022-02-10)
Bug Fixes
- client: avoid panics in uses of
Instant(#2746) (dcdd6d10)
Features
- client: implement the HTTP/2 extended CONNECT protocol from RFC 8441 (#2682) (5ec094ca)
- error: add
Error::message(#2737) (6932896a, closes #2732) - http1: implement obsolete line folding (#2734) (1f0c177b)
v0.14.16 (2021-12-09)
Bug Fixes
- http1: return 414 when URI contains more than 65534 characters (#2706) (5f938fff, closes #2701)
- http2: received
Body::size_hint()now return 0 if implicitly empty (#2715) (84b78b6c) - server: use case-insensitive comparison for Expect: 100-continue (#2709) (7435cc33, closes #2708)
Features
- http2: add
http2_max_send_buf_sizeoption to client and server (bff977b7) - server: add HTTP/1 header read timeout option (#2675) (842c6553, closes #2457)
v0.14.15 (2021-11-16)
Bug Fixes
- client: cancel blocking DNS lookup if
GaiFutureis dropped (174b553d
Features
- http1: add
http1_writev(bool)options to Client and Server builders, to allow forcing vectored writes (80627141) - upgrade: allow http upgrades with any body type (ab469eb3)
v0.14.14 (2021-10-22)
Bug Fixes
- client:
Features
- h2: always include original h2 error on broken pipe (6169db25)
- server: Remove Send + Sync requirement for Body in with_graceful_shutdown (1d553e52)
v0.14.13 (2021-09-16)
Bug Fixes
- client: don't reuse a connection while still flushing (c88011da)
- server: convert panic to error if Connection::without_shutdown called on HTTP/2 conn (ea3e2282)
Features
- ffi: add hyper_request_set_uri_parts (a54689b9)
- lib:
v0.14.12 (2021-08-24)
Bug Fixes
- ffi: on_informational callback had no headers (39b6d01a)
- http1: apply header title case for consecutive dashes (#2613) (684f2fa7)
- http2: improve errors emitted by HTTP2
Upgradedstream shutdown (#2622) (be08648e)
Features
v0.14.11 (2021-07-21)
Bug Fixes
- client: retry when pool checkout returns closed HTTP2 connection (#2585) (52214f39)
- http2:
Features
- ffi: add hyper_request_on_informational (25d18c0b)
v0.14.10 (2021-07-07)
Bug Fixes
- http1:
Features
- ffi: add option to get raw headers from response (8c89a8c1)
v0.14.9 (2021-06-07)
Bug Fixes
- http1: reduce memory used with flatten write strategy (eb0c6463)
v0.14.8 (2021-05-25)
Features
- client: allow to config http2 max concurrent reset streams (#2535) (b9916c41)
- error: add
Error::is_parse_too_largeandError::is_parse_statusmethods (#2538) (960a69a5) - http2:
Performance
- http2: reduce amount of adaptive window pings as BDP stabilizes (#2550) (4cd06bf2)
v0.14.7 (2021-04-22)
Bug Fixes
- http1: http1_title_case_headers should move Builder (a303b3c3)
Features
- server: implement forgotten settings for case preserving (4fd6c4cb)
v0.14.6 (2021-04-21)
Features
- client: add option to allow misplaced spaces in HTTP/1 responses (#2506) (11345394)
- http1: add options to preserve header casing (#2480) (dbea7716, closes #2313)
v0.14.5 (2021-03-26)
Bug Fixes
- client: omit default port from automatic Host headers (#2441) (0b11eee9)
- headers: Support multiple Content-Length values on same line (#2471) (48fdaf16, closes #2470)
- server: skip automatic Content-Length headers when not allowed (#2216) (8cbf9527, closes #2215)
Features
- client: allow HTTP/0.9 responses behind a flag (#2473) (68d4e4a3, closes #2468)
- server: add
AddrIncoming::from_listenerconstructor (#2439) (4c946af4)
v0.14.4 (2021-02-05)
Bug Fixes
- build: Fix compile error when only
http1feature was enabled.
v0.14.3 (2021-02-05)
Bug Fixes
- client: HTTP/1 client "Transfer-Encoding" repair code would panic (#2410) (2c8121f1, closes #2409)
- http1: fix server misinterpretting multiple Transfer-Encoding headers (8f93123e)
Features
- body:
- ffi:
v0.14.2 (2020-12-29)
Features
- client: expose
connecttypes without proto feature (#2377) (73a59e5f) - server: expose
Acceptwithout httpX features (#2382) (a6d4fcbe)
v0.14.1 (2020-12-23)
- Fixes building documentation.
v0.14.0 (2020-12-23)
Bug Fixes
Features
- client:
- http1: Make HTTP/1 support an optional feature (2a19ab74)
- http2: Make HTTP/2 support an optional feature (b819b428)
- lib:
- server: Make the
servercode an optional feature (#2334) (bdb5e5d6) - upgrade: Moved HTTP upgrades off
Bodyto a new API (#2337) (121c3313, closes #2086)
Breaking Changes
-
hyper depends on
tokiov1 andbytesv1. -
Custom resolvers used with
HttpConnectormust change to resolving to an iterator ofSocketAddrs instead ofIpAddrs. (b4e24332) -
hyper no longer emits
logrecords automatically. If you need hyper to integrate with aloglogger (as opposed totracing), you can addtracing = { version = "0.1", features = ["log"] }to activate them. (db32e105) -
Removed
http1_writevmethods fromclient::Builder,client::conn::Builder,server::Builder, andserver::conn::Builder.Vectored writes are now enabled based on whether the
AsyncWriteimplementation in use supports them, rather than though adaptive detection. To explicitly disable vectored writes, users may wrap the IO in a newtype that implementsAsyncReadandAsyncWriteand returnsfalsefrom itsAsyncWrite::is_write_vectoredmethod. (d6aadb83) -
The method
Body::on_upgrade()is gone. It is essentially replaced withhyper::upgrade::on(msg). (121c3313) -
All optional features have been disabled by default. (ed2b22a7)
-
The HTTP server code is now an optional feature. To enable the server, add
features = ["server"]to the dependency in yourCargo.toml. (bdb5e5d6) -
The HTTP client of hyper is now an optional feature. To enable the client, add
features = ["client"]to the dependency in yourCargo.toml. (4e55583d) -
This puts all HTTP/1 methods and support behind an
http1cargo feature, which will not be enabled by default. To use HTTP/1, addfeatures = ["http1"]to the hyper dependency in yourCargo.toml.
(2a19ab74)
- This puts all HTTP/2 methods and support behind an
http2cargo feature, which will not be enabled by default. To use HTTP/2, addfeatures = ["http2"]to the hyper dependency in yourCargo.toml.
(b819b428)
v0.13.9 (2020-11-02)
Bug Fixes
- client: fix panic when addrs in ConnectingTcpRemote is empty (#2292) (01103da5, closes #2291)
- http2: reschedule keep alive interval timer once a pong is received (2a938d96, closes #2310)
Features
- client:
v0.13.8 (2020-09-18)
Bug Fixes
Features
- lib: Setting
http1_writev(true)will now force writev queue usage (187c22af, closes #2282) - server: implement
AsRawFdforAddrStream(#2246) (b5d5e214, closes #2245)
v0.13.7 (2020-07-13)
Bug Fixes
- client: don't panic in DNS resolution when task cancelled (#2229) (0d0d3635)
Features
- client: impl tower_service::Service for &Client (#2089) (77c3b5bc)
- http2: configure HTTP/2 frame size in the high-level builders too (#2214) (2354a7ee)
- lib: Move from
logtotracingin a backwards-compatible way (#2204) (9832aef9)
v0.13.6 (2020-05-29)
Features
- body: remove Sync bound for Body::wrap_stream (042c7706)
- http2: allow configuring the HTTP/2 frame size (b6446456)
v0.13.5 (2020-04-17)
Bug Fixes
- server: fix panic in Connection::graceful_shutdown (fce3ddce)
v0.13.4 (2020-03-20)
Bug Fixes
- http1: try to drain connection buffer if user drops Body (d838d54f)
Features
- http2: add HTTP2 keep-alive support for client and server (9a8413d9)
v0.13.3 (2020-03-03)
Features
- client: rename
client::Builderpool options (#2142) (a82fd6c9) - http2: add adaptive window size support using BDP (#2138) (48102d61)
- server: add
poll_peektoAddrStream(#2127) (24d53d3f)
v0.13.2 (2020-01-29)
Bug Fixes
- body: return exactly 0 SizeHint for empty body (#2122) (dc882047)
- client: strip path from Uri before calling Connector (#2109) (ba2a144f)
- http1:
- http2: don't add client content-length if method doesn't require it (fb90d30c)
Features
- service: Implement Clone/Copy on ServiceFn and MakeServiceFn (#2104) (a5720fab)
v0.13.1 (2019-12-13)
Bug Fixes
- http1: fix response with non-chunked transfer-encoding to be close-delimited (cb71d2cd, closes #2058)
Features
- body: implement
HttpBodyforRequestandResponse(4b6099c7, closes #2067) - client: expose
hyper::client::connect::Connecttrait alias (2553ea1a)
v0.13.0 (2019-12-10)
Bug Fixes
- client:
- dependencies: require correct bytes minimum version (#1975) (536b1e18)
- server:
Features
- body:
- client:
- impl tower_service::Service for Client (edbd10ac)
- provide tower::Service support for clients (#1915) (eee2a728)
- change connectors to return an
impl Connection(4d7a2266) - remove
Destinationforhttp::Uriin connectors (319e8aee) - filter remote IP addresses by family of given local IP address (131962c8)
- change
Resolveto beService<Name>(9d9233ce, closes #1903) - change
Connecttrait into an alias forService(d67e49f1, closes #1902) - change
GaiResolverto use a global blocking threadpool (049b5132) - Add connect timeout to HttpConnector (#1972) (4179297a)
- lib:
- rt: introduce
rt::Executortrait (6ae5889f, closes #1944) - server:
- service:
Breaking Changes
- All usage of async traits (
Future,Stream,AsyncRead,AsyncWrite, etc) are updated to newer versions.
(8f4b05ae)
- All usage of
hyper::Chunkshould be replaced withbytes::Bytes(orhyper::body::Bytes).
(5a598757)
- Using a
Bodyas aStream, and constructing one viaBody::wrap_stream, require enabling thestreamfeature.
(511ea388)
- Calls to
GaiResolver::newandHttpConnector::newno longer should pass an integer argument for the number of threads.
(049b5132)
- Connectors no longer return a tuple of
(T, Connected), but a singleT: Connection.
(4d7a2266)
- All usage of
hyper::client::connect::Destinationshould be replaced withhttp::Uri.
(319e8aee)
- All usage of
hyper::body::Payloadshould be replaced withhyper::body::HttpBody.
(c63728eb)
-
Any type passed to the
executorbuilder methods must now implementhyper::rt::Executor.hyper::rt::spawnusage should be replaced withtokio::task::spawn.hyper::rt::runusage should be replaced with#[tokio::main]or managing atokio::runtime::Runtimemanually.
(6ae5889f)
-
The
Resolvetrait is gone. All custom resolvers should implementtower::Serviceinstead.The error type of
HttpConnectorhas been changed away fromstd::io::Error.
(9d9233ce)
- Any manual implementations of
Connectmust instead implementtower::Service<Uri>.
(d67e49f1)
- The server's behavior will now by default close
connections when receiving a read EOF. To allow for clients to close
the read half, call
http1_half_close(true)when configuring a server.
(7e31fd88)
- Passing a
StreamtoServer::builderorHttp::serve_incomingmust be changed to pass anAcceptinstead. Thestreamoptional feature can be enabled, and then a stream can be converted usinghyper::server::accept::from_stream.
(b3e55062)
- Usage of
send_datashould either be changed to async/await or usetry_send_data.
(62a96c07)
v0.12.35 (2019-09-13)
Features
- body: identify aborted body write errors (32869224)
v0.12.34 (2019-09-04)
Bug Fixes
v0.12.33 (2019-09-04)
v0.12.32 (2019-07-08)
Features
- client:
HttpConnector: allow to set socket buffer sizes (386109c4)
v0.12.31 (2019-06-25)
v0.12.30 (2019-06-14)
Bug Fixes
- http1: force always-ready connections to yield after a few spins (8316f96d)
- http2: correctly propagate HTTP2 request cancellation (50198851)
v0.12.29 (2019-05-16)
Bug Fixes
Features
- body: implement
http_body::Bodyforhyper::Body(2d9f3490) - client: Implement
TryFromforDestination(#1810) (d1183a80, closes #1808) - server: add initial window builder methods that take self by-val (#1817) (8b45af7f)
v0.12.28 (2019-04-29)
Bug Fixes
- client:
Features
v0.12.27 (2019-04-10)
Bug Fixes
- http2: fix import of h2::Reason to work on 1.26 (5680d944)
v0.12.26 (2019-04-09)
Bug Fixes
- http2: send a GOAWAY when the user's Service::poll_ready errors (42c5efc0)
- server: prohibit the length headers on successful CONNECT (d1501a0f, closes #1783)
Features
- http2: check
Error::source()for an HTTP2 error code to send in reset (fc18b680)
v0.12.25 (2019-03-01)
Bug Fixes
- client: coerce HTTP_2 requests to HTTP_11 (3a6080b1, closes #1770)
- http2: send INTERNAL_ERROR when user's Service errors (8f926a0d)
Features
- error: implement
Error::sourcewhen available (4cf22dfa, closes #1768) - http2: Add window size config options for Client and Server (7dcd4618, closes #1771)
- server: add
http2_max_concurrent_streamsbuilder option (cbae4294, closes #1772) - service:
v0.12.24 (2019-02-11)
Bug Fixes
- client: fix panic when CONNECT request doesn't have a port (d16b2c30)
Features
- server:
v0.12.23 (2019-01-24)
Bug Fixes
- http2: revert http2 refactor causing a client hang (9aa7e990)
Features
v0.12.22 (2019-01-23)
Bug Fixes
- client: parse IPv6 hosts correctly in HttpConnector (c328c62e)
v0.12.21 (2019-01-15)
Features
- client:
v0.12.20 (2019-01-07)
Bug Fixes
- dependencies: disable unneeded optional tokio features (e5135dd6, closes #1739)
- http2: don't consider an h2 send request error as canceled (cf034e99)
v0.12.19 (2018-12-18)
Bug Fixes
- rt: prevent fallback reactor thread from being created accidentally (1d253b4d)
v0.12.18 (2018-12-11)
Features
- server: add
server::conn::AddrIncoming::bindconstructor (2d5eabde)
v0.12.17 (2018-12-05)
Features
- error: add
Error::is_connectmethod (01f64983) - server:
- service: export
hyper::service::MakeServiceRef(a522c315)
Performance
- http1: implement an adaptive read buffer strategy which helps with throughput and memory management (fd25129d, closes #1708)
v0.12.16 (2018-11-21)
Bug Fixes
Features
- client: add
http1_read_buf_exact_sizeBuilder option (2e7250b6)
v0.12.15 (2018-11-20)
Features
- client: add client::conn::Builder::executor method (95446cc3)
- server: change
NewServicetoMakeServicewith connection context (30870029, closes #1650)
v0.12.14 (2018-11-07)
Bug Fixes
- header: fix panic when parsing header names larger than 64kb (9245e940)
Features
- client: add ALPN h2 support for client connectors (976a77a6)
v0.12.13 (2018-10-26)
Features
v0.12.12 (2018-10-16)
Bug Fixes
- armv7: split record_header_indices loop to work around rustc/LLVM bug (30a4f237)
- http2: add Date header if not present for HTTP2 server responses (37ec724f)
- server: log and ignore connection errors on newly accepted sockets (66a857d8)
v0.12.11 (2018-09-28)
Bug Fixes
- client: allow calling
Destination::set_hostwith IPv6 addresses (af5e4f3e, closes #1661) - server: use provided executor if fallback to HTTP2 (1370a6f8)
v0.12.10 (2018-09-14)
Bug Fixes
- http1: fix title-case option when header names have symbols (ca5e520e)
v0.12.9 (2018-08-28)
Bug Fixes
- http2: allow TE "trailers" request headers (24f11a42, closes #1642)
- server: properly handle keep-alive for HTTP/1.0 (1448e406, closes #1614)
Features
- client: add
max_idle_per_hostconfiguration option (a3c44ded) - server: add
Server::with_graceful_shutdownmethod (168c7d21, closes #1575)
v0.12.8 (2018-08-10)
Bug Fixes
- server: coerce responses with HTTP2 version to HTTP/1.1 when protocol is 1.x (195fbb2a)
Features
- server:
v0.12.7 (2018-07-23)
Bug Fixes
- http1: reduce closed connections when body is dropped (6530a00a)
v0.12.6 (2018-07-11)
Features
- client:
- server: add
Builder::http1_pipeline_flushconfiguration (5b5e3090)
v0.12.5 (2018-06-28)
v0.12.4 (2018-06-28)
Bug Fixes
- client:
v0.12.3 (2018-06-25)
Features
- client: enable CONNECT requests through the
Client(2a3844ac) - http2: quickly cancel when receiving RST_STREAM (ffdb4788)
v0.12.2 (2018-06-19)
Bug Fixes
Features
- body:
- client: add
set_scheme,set_host, andset_portforDestination(27db8b00, closes #1564) - error: add
Error::cause2andError::into_cause(bc5e22f5, closes #1542) - http1: Add higher-level HTTP upgrade support to Client and Server (#1563) (fea29b29, closes #1395)
- http2:
v0.12.1 (2018-06-04)
Bug Fixes
- server: add upgrading process to
poll_without_shutdown()(#1530) (c6e90b7b)
Features
- client: implement
CloneforDestination(15188b7c) - server:
v0.12.0 (2018-06-01)
Features
- lib:
- body:
- client:
- rename
FutureResponsetoResponseFuture(04c74ef5) - support local bind for
HttpConnector(b6a3c85d, closes #1498) - add support for title case header names (#1497) (a02fec8c, closes #1492)
- add support to set
SO_NODELAYon client HTTP sockets (016d79ed, closes #1473) - improve construction of
Clients (fe1578ac) - redesign the
Connecttrait (8c52c2df, closes #1428)
- rename
- error: revamp
hyper::Errortype (5d3c4722, closes #1128, #1130, #1431, #1338) - rt: make tokio runtime optional (d127201e)
- server:
- service: introduce hyper-specific
Service(2dc6202f, closes #1461)
Bug Fixes
- lib: remove deprecated tokio-proto APIs (a37e6b59)
- server: panic on max_buf_size too small (aac250f2)
Breaking Changes
-
Body::is_empty()is gone. Replace withBody::is_end_stream(), from thePayloadtrait.(19f90242)
-
Each payload chunk must implement
Buf, instead of justAsRef<[u8]>.(a3be110a)
-
Replace any references of
hyper::client::FutureResponsetohyper::client::ResponseFuture.(04c74ef5)
-
The
Servicetrait has changed: it has some changed associated types, andcallis now bound to&mut self.The
NewServicetrait has changed: it has some changed associated types, andnew_servicenow returns aFuture.Clientno longer implementsServicefor now.hyper::server::conn::Servenow returnsConnectinginstead ofConnections, sincenew_servicecan now return aFuture. TheConnectingis a future wrapping the new service future, returning aConnectionafterwards. In many cases,Future::flattencan be used.(2dc6202f)
-
The
Serveris no longer created fromHttp::bind, nor is itrun. It is aFuturethat must be polled by anExecutor.The
hyper::server::Httptype has move tohyper::server::conn::Http.(c4974500)
-
Client:new(&handle)andClient::configure()are nowClient::new()andClient::builder().(fe1578ac)
-
Erroris no longer an enum to pattern match over, or to construct. Code will need to be updated accordingly.For body streams or
Services, inference might be unable to determine what error type you mean to return.(5d3c4722)
-
All uses of
Handlenow need to be new-tokioHandle.(27b8db3a)
-
Custom connectors should now implement
Connectdirectly, instead ofService.Calls to
connectno longer takeUris, butDestination. There arescheme,host, andportmethods to query relevant information.The returned future must be a tuple of the transport and
Connected. If no relevant extra information is needed, simply returnConnected::new().(8c52c2df)
-
All code that was generic over the body as
Streammust be adjusted to use aPayloadinstead.hyper::Bodycan still be used as aStream.Passing a custom
impl Streamwill need to either implementPayload, or as an easier option, switch toBody::wrap_stream.Body::pairhas been replaced withBody::channel, which returns ahyper::body::Senderinstead of afutures::sync::mpsc::Sender.(fbc449e4)
-
Method,Request,Response,StatusCode,Version, andUrihave been replaced with types from thehttpcrate.(3cd48b45)
- The variants of
Methodare now uppercase, for instance,Method::Getis nowMethod::GET. - The variants of
StatusCodeare now uppercase, for instance,StatusCode::Okis nowStatusCode::OK. - The variants of
Versionare now uppercase, for instance,HttpVersion::Http11is nowVersion::HTTP_11.
- The variants of
-
The typed headers from
hyper::headerare gone for now.
The http::header module is re-exported as hyper::header.
For example, a before setting the content-length:
use hyper::header::ContentLength;
res.headers_mut().set(ContentLength(15));
And now after, with the http types:
use hyper::header::{CONTENT_LENGTH, HeaderValue};
res.headers_mut().insert(CONTENT_LENGTH, HeaderValue::from_static("15"));
(3cd48b45)
-
The
mimecrate is no longer re-exported ashyper::mime.The typed headers don't exist, and so they do not need the
mimecrate.To continue using
mimefor other purposes, add it directly to yourCargo.tomlas a dependency.(3cd48b45)
-
Removed
compatcargo feature, andcompatrelated API. This was the conversion methods for hyper's types to and fromhttpcrate's types.(3cd48b45)
-
Removed deprecated APIs: (a37e6b59)
- The
server-protocargo feature, which includedimpl ServerProto for Http, and related associated types. client::Config::no_proto()tokio_proto::streaming::Body::from(hyper::Body)hyper::Body::from(tokio_proto::streaming::Body)hyper::Body::from(futures::sync::mpsc::Receiver)Http::no_proto()
- The
v0.11.27 (2018-05-16)
Bug Fixes
- client: prevent pool checkout looping on not-ready connections (ccec79da, closes #1519)
- server: skip SO_REUSEPORT errors (2c48101a, closes #1509)
v0.11.26 (2018-05-05)
Features
- server: add Server::run_threads to run on multiple threads (8b644c1a)
v0.11.25 (2018-04-04)
Bug Fixes
- client: ensure idle connection is pooled before response body finishes (7fe9710a)
v0.11.24 (2018-03-22)
Bug Fixes
- header: remove charset=utf8 from
ContentType::text()(ba789e65)
v0.11.23 (2018-03-22)
Bug Fixes
- server: prevent to output Transfer-encoding when server upgrade (#1465) (eb105679)
Features
- client: introduce lower-level Connection API (1207c2b6, closes #1449)
- header: add
text()andtext_utf8()constructors toContentType(45cf8c57) - server:
v0.11.22 (2018-03-07)
Bug Fixes
- client: return error if Request has
CONNECTmethod (bfcdbd9f) - dependencies: require tokio-core 0.1.11 (49fcb066)
Features
- client: add
Config::set_hostoption (33a385c6)
v0.11.21 (2018-02-28)
Bug Fixes
- client:
v0.11.20 (2018-02-26)
Bug Fixes
- server:
Features
v0.11.19 (2018-02-21)
Bug Fixes
- client:
- uri: make absolute-form uris always have a path (a9413d73)
Features
- client: Client will retry requests on fresh connections (ee61ea9a)
v0.11.18 (2018-02-07)
Bug Fixes
- client: send an
Error::Cancelif a queued request is dropped (88f01793)
Features
- client: add
http1_writevconfiguration option (b0aa6497)
v0.11.17 (2018-02-05)
Bug Fixes
- client: more reliably detect closed pooled connections (#1434) (265ad67c)
- h1: fix hung streaming bodies over HTTPS (73109694)
v0.11.16 (2018-01-30)
Bug Fixes
- client:
- server:
Features
- server: add
Http::max_buf_size()option (d22deb65, closes #1368) - uri: Add a
PartialEq<str>impl forUri(11b49c2c)
Performance
- h1: utilize
writevwhen possible, reducing copies (68377ede)
v0.11.15 (2018-01-22)
Bug Fixes
Features
- client: add
executormethod when configuring aClient(c89019eb)
v0.11.14 (2018-01-16)
Bug Fixes
v0.11.13 (2018-01-12)
Bug Fixes
- client:
- lib: properly handle body streaming errors (7a48d0e8)
v0.11.12 (2018-01-08)
Bug Fixes
v0.11.11 (2018-01-05)
Features
v0.11.10 (2017-12-26)
Bug Fixes
- client:
- conn: don't double shutdown in some cases (7d3abfbc)
v0.11.9 (2017-12-09)
Bug Fixes
Features
- log: improve quality of debug level logs (7b593112)
v0.11.8 (2017-12-06)
Bug Fixes
- client:
- conn: handle when pre-emptive flushing closes the write state (8f938d97, closes #1391)
- lib: fix
no_protodispatcher to flush queue before polling more body (121b5eef) - server: allow TLS shutdown before dropping connections with
no_proto(60d0eaf8, closes #1380)
Features
- headers: Implement
ProxyAuthorization(#1394) (c93cdb29) - server:
v0.11.7 (2017-11-14)
Bug Fixes
Features
- client:
- header: implement
ByteRangeSpec::to_satisfiable_range(bb54e36c) - lib: add support to disable tokio-proto internals (f7532b71)
- server:
v0.11.6 (2017-10-02)
Bug Fixes
- server: fix experimental pipeline flushing (6b4635fd)
v0.11.5 (2017-10-02)
Bug Fixes
- http: avoid infinite recursion when Body::from is called with Cow::Owned. (#1343) (e8d61737)
v0.11.4 (2017-09-28)
Bug Fixes
v0.11.3 (2017-09-28)
Features
- header: add ContentType::xml() constructor (92595e84)
- http: add Body::from(cow) for bytes and strings (425ff71d)
- lib: implement compatibility with http crate (0c7d375b)
- server:
Bug Fixes
Performance
- server: try to read from socket at keep-alive (1a9f2648)
v0.11.2 (2017-07-27)
Bug Fixes
- client: don't assume bodies on 204 and 304 Responses (81c0d185, closes #1242)
- header: fix panic from headers.remove when typed doesn't match (4bd9746a)
- http:
- server:
- uri: fix Uri parsing of IPv6 and userinfo (7081c449, closes #1269)
Features
- headers: export missing header types (c9f4ff33)
- server: Provide reference to Response body (a79fc98e, closes #1216)
- status: add
as_u16()method toStatusCode(5f6f252c)
v0.11.1 (2017-07-03)
Features
- server: Handle 100-continue (6164e764)
v0.11.0 (2017-06-13)
Bug Fixes
- header:
- add length checks to
ETagparsing (643fac1e) - prevent 2 panics in
QualityItemparsing (d80aae55) - Allow IPv6 Addresses in
Hostheader (8541ac72) - Remove raw part when getting mutable reference to typed header (f38717e4, closes #821)
- only add chunked to
TransferEncodingif not present (1b4f8579) - ignore invalid cookies (310d98d5)
- add length checks to
- http:
- server:
- support HTTP/1.1 pipelining (523b890a)
Features
- body:
- client:
- add
HttpConnector.enforce_http(1c34a05a) - add an accessor for the request body (4e26646a)
- Response.status() now returns a
StatusCodeby value (d63b7de4) - add Client::handle (9101817b)
- add Request.set_proxy for HTTP proxy requests (e8714116, closes #1056)
- DNS worker count is configurable (138e1643)
- add keep_alive_timeout to Client (976218ba)
- add
- error: Display for Error shows better info (49e196db, closes #694)
- header:
- add ContentType::octet_stream() constructor (1a353102)
- change
Cookieto be map-like (dd03e723, closes #1145) - add
Cookie::iter()(edc1c0dd) - implement fmt::Display for several headers (e9e7381e)
- add
Headers::append_raw(b4b2fb78) - Add support for Retry-After header (1037bc77)
- add
Encoding::Brotlivariant (f0ab2b6a) - introduce
header::Raw(#869) (50ccdaa7) - add
TEheader struct (#1150) (f1859dfd, closes #1109) - support Opaque origin headers (#1147) (41485997, closes #1065)
- add
HeaderView.raw()(8143c33b) impl Eq for ContentType(bba761ac)- add
Linkheader implementation (592c1e21, closes #650) - add
star,json,text,imageconstructors toAccept(bdc19d52) - Add strict-origin and strict-origin-when-cross-origin referer policy (3593d798)
- support multiple values for Referrer-Policy header (7b558ae8, closes #882)
- add
Warningheader (69894d19, closes #883) Headers::removereturns the Header (9375addb, closes #891)- add
ContentLocationheader (13c5bf66, closes #870) - add
LastEventIdheader (e1542a60) - add `Origin header (01843f88, closes #651)
- Add
ReferrerPolicyheader (3a86b3a2)
- http:
- lib:
- mime: upgrade to mime v0.3 (f273224f, closes #738)
- server:
- status:
- uri:
- version: impl
FromStrforHttpVersion(47f3aa62)
Breaking Changes
- The
Cookieheader is no longer a wrapper over aVec<String>. It must be accessed via itsgetandsetmethods.
(dd03e723)
- Any use of
Quality(num)should change toq(num).
(a4644959)
HttpDateno longer has public fields. Convert betweenHttpDateandSystemTimeas needed.
(316c6fad)
- The
link_extensionsmethods of theLinkheader are removed until fixed.
(011f28cb)
- The
fmt_headermethod has changed to take a different formatter. In most cases, if your header also implementsfmt::Display, you can just callf.fmt_line(self).
(6f02d43a)
- The
Encodingenum has an additional variant,Trailers.
(f1859dfd)
Origin.schemeandOrigin.hostnow returnOptions, since theOrigincould benull.
(41485997)
- If you were explicitly checking the
StatusCode, such as with an equality comparison, you will need to use the value instead of a reference.
(d63b7de4)
- This removes several deprecated methods for converting Headers into strings. Use more specialized methods instead.
(ec91bf41)
-
The
Urltype is no longer used. Any instance in theClientAPI has had it replaced withhyper::Uri.This also means
Error::Urihas changed types tohyper::error::UriError.The type
hyper::header::parsing::HTTP_VALUEhas been made private, as an implementation detail. The functionhttp_percent_encodingshould be used instead.
(4fb7e6eb)
- This makes
Request.remote_addranOption<SocketAddr>, instead ofSocketAddr.
(e04bcc12)
- The
Preferenceheader had a typo in a variant and it's string representation, changePreference::HandlingLenianttoPreference::HandlingLenient. (2fa414fb) Serveris no longer the primary entry point. Instead, anHttptype is created and then eitherbindto receive aServer, or it can be passed to other Tokio things. (f45e9c8e)- The name of
RequestUrihas changed toUri. It is no longer anenum, but an opaque struct with getter methods.
(9036443e)
- This adds a new variant to the
Encodingenum, which can break exhaustive matches.
(f0ab2b6a)
- The fields of the
Hostheader are no longer available. Use the getter methods instead.
(cd9fd522)
- A big sweeping set of breaking changes.
(2d2d5574)
Headers.remove()used to return abool, it now returnsOption<H>. To determine if a a header exists, switch toHeaders.has(). (9375addb)Header::parse_headernow receives&Raw, instead of a&[Vec<u8>].Rawprovides several methods to ease using it, but may require some changes to existing code. (50ccdaa7)- LanguageTag used to be at the crate root, but it is now
in the
hyper::headermodule.
(40745c56)
-
Removes the undocumented
from_u16function. UseStatusCode::try_frominstead.Also makes the
statusmodule private. All imports ofhyper::status::StatusCodeshould behyper::StatusCode.
(f953cafe)
- All usage of
status.class()should change to equivalentstatus.is_*()methods.
(94ee6204)
-
Most uses of
mimewill likely break. There is no moremime!macro, nor aMimeconstructor, norTopLevelandSubLevelenums.Instead, in most cases, a constant exists that can now be used.
For less common mime types, they can be created by parsing a string.
(f273224f)
- To use
RawStatus, you must enable theraw_statuscrate feature.
(acd62cda)
- Some headers used
UniCase, but now useunicase::Ascii. Upgrade code toAscii::new(s).
(c81edd41)
- This breaks a lot of the Client and Server APIs. Check the documentation for how Handlers can be used for asynchronous events.
(d35992d0)
v0.10.9 (2017-04-19)
Features
- server: add local_addr to retrieve resolved address (71f250ad)
v0.10.8 (2017-04-11)
Features
v0.10.7 (2017-04-08)
Bug Fixes
- server: don't dup the listener TCP socket. (d2362331)
v0.10.6 (2017-04-05)
Features
- buffer: add from_parts and into_parts functions (78551dd0)
v0.10.5 (2017-03-01)
Bug Fixes
- http:
v0.10.4 (2017-01-31)
Features
- header: implement fmt::Display for several headers (d5075770)
v0.10.3 (2017-01-30)
Bug Fixes
- header:
Features
- header: add Headers::append_raw (6babbc40)
v0.10.2 (2017-01-23)
Bug Fixes
- header: security fix for header values that include newlines (2603d78f)
- net: set timeouts directly in
accept(f5d4d653)
Breaking Changes
-
This technically will cause code that a calls
SetCookie.fmt_headerto panic, as it is no longer to properly write that method. Most people should not be doing this at all, and all other ways of printing headers should work just fine.The breaking change must occur in a patch version because of the security nature of the fix.
(2603d78f)
v0.10.1 (2017-01-19)
v0.10.0 (2017-01-10)
Features
- client:
- header: remove
cookiedependency (f22701f7) - lib:
Breaking Changes
-
There is no more
hyper::http::h2.(d301c6a1)
-
The
CookieandSetCookieheaders no longer use the cookie crate. New headers can be written for any header, or the ones provided in hyper can be accessed as strings.(f22701f7)
-
There is no longer a
serde-serializationfeature. Look at external crates, likehyper-serde, to fulfill this feature.(7b9817ed)
-
hyper will no longer provide OpenSSL support out of the box. The
hyper::net::Openssland related types are gone. TheClientnow uses anHttpConnectorby default, which will error trying to access HTTPS URLs.TLS support should be added in from other crates, such as hyper-openssl, or similar using different TLS implementations.
(2f48612c)
-
Usage of
with_proxy_configwill need to change to provide a network connector. For the same functionality, ahyper::net::HttpConnectorcan be easily created and passed.(14a4f1c2)
v0.9.14 (2016-12-12)
Features
- headers: add star, json, text, image constructors to Accept (a9fbbd7f)
- server: add 'take_buf' method to BufReader (bbbce5fc)
v0.9.13 (2016-11-27)
Bug Fixes
- client: close Pooled streams on sockopt error (d5ffee2e)
v0.9.12 (2016-11-09)
Features
- error: re-export url::ParseError (30e78ac2)
v0.9.11 (2016-10-31)
Bug Fixes
- headers: Allow IPv6 Addresses in Host header (20f177ab)
Features
- headers:
- server: accept combined certificate files (eeb1f48e)
v0.9.10 (2016-07-11)
Features
v0.9.9 (2016-06-21)
Bug Fixes
Features
v0.9.8 (2016-06-14)
Features
v0.9.7 (2016-06-09)
Bug Fixes
- proxy: fix the 0.9.x build with
--no-default-features --features=security-framework(6caffe9f, closes #819) - server: Request.ssl() works (ce0b62ea)
v0.9.6 (2016-05-23)
Bug Fixes
- client: Manually impl Debug for PooledStream (aa692236)
- server: Switch Ssl to SslServer in bounds (470bc8ec)
v0.9.5 (2016-05-18)
Bug Fixes
Features
- net: Add OpensslClient constructor (3c0e1050)
v0.9.4 (2016-05-09)
Bug Fixes
- warnings: remove unused_code warnings from newest nightlies (e7229480)
Features
- ssl:
v0.9.3 (2016-05-09)
Bug Fixes
v0.9.2 (2016-05-04)
Features
- client:
Performance
- client: don't keep Pool mutex locked during getaddrinfo (5fcc04a6)
v0.9.1 (2016-04-21)
Bug Fixes
- Cargo.toml: update documentation link (b783ddf4)
v0.9.0 (2016-04-21)
Features
- net: Add Ssl impls for security-framework (f37315b2)
Breaking Changes
- The re-exported Url type has breaking changes. (8fa7a989)
v0.8.1 (2016-04-13)
Bug Fixes
Features
- header: add prefer and preference applied headers (6f649301, closes #747)
- net: Split Ssl into SslClient and SslServer (2c86e807, closes #756)
v0.8.0 (2016-03-14)
Bug Fixes
- headers: remove charset from
ContentType::json()convenience method (ec568e9a) - net: fix the typo in
set_write_timeout(7c76fff3)
Features
Breaking Changes
- mime 0.2 depends on serde 0.7, so any instances of using older versions of serde will need to upgrade.
(146df53c)
v0.7.2 (2016-01-04)
Bug Fixes
Features
- headers: allow ExtendedValue structs to be formatted and used as struct members (da0abe89)
v0.7.1 (2015-12-19)
Bug Fixes
- cargo: remove * dependencies for serde and env_logger (4a05bee9)
- server:
Features
- headers: add extended parameter parser to the public API (402fb76b)
v0.7.0 (2015-11-24)
Features
- all: add socket timeouts (fec6e3e8)
- headers:
Breaking Changes
- This adds 2 required methods to the
NetworkStreamtrait,set_read_timeoutandset_write_timeout. Any local implementations will need to add them.
(fec6e3e8)
- LanguageTags api is changed.
(c747f99d)
v0.6.16 (2015-11-16)
Bug Fixes
- response: respond with a 500 if a handler panics (63c6762c)
Features
- headers: Add Access-Control-Expose-Headers (f783e991)
- server: Add hooks for HttpListener and HttpsListener to be started from existing listener (fa0848d4)
Breaking Changes
RequestBuilder<U>should be replaced byRequestBuilder.
(ff4a6070)
v0.6.15 (2015-10-09)
Bug Fixes
Features
- client: add patch method to Client builder interface (03827c31)
v0.6.14 (2015-09-21)
Bug Fixes
- http:
- server: use EmptyWriter for status codes that have no body (9b2998bd)
- timeouts: remove rust #![feature] for socket timeouts (b8729698)
Features
- headers: add PartialEq impl for Headers struct (76cbf384)
v0.6.13 (2015-09-02)
Bug Fixes
- client: EofReader by nature means the connection is closed (32e09a04)
v0.6.12 (2015-09-01)
Bug Fixes
- client: be resilient to invalid response bodies (75c71170, closes #640)
- examples: "cargo test --features serde-serialization" (63608c49)
- http: fix several cases in HttpReader (5c7195ab)
Features
- server: Add Handler per-connection hooks (6b6182e8)
v0.6.11 (2015-08-27)
Bug Fixes
- client: fix panics when some errors occurred inside HttpMessage (ef15257b)
- headers: case insensitive values for Connection header (341f8eae, closes #635)
Breaking Changes
-
This changes the signature of HttpWriter.end(), returning a
EndErrorthat is similar to std::io::IntoInnerError, allowing HttpMessage to retrieve the broken connections and not panic.The breaking change isn't exposed in any usage of the
ClientAPI, but for anyone usingHttpWriterdirectly, since this was technically a public method, that change is breaking.
(ef15257b)
v0.6.10 (2015-08-19)
Bug Fixes
- client: close connection when there is an Error (d32d35bb)
Features
v0.6.9 (2015-08-13)
Bug Fixes
- client:
- nightly: remove feature flag for duration (0455663a)
Features
- headers: Content-Range header (af062ac9)
- net: impl downcast methods for NetworkStream (without + Send) (1a91835a, closes #521)
- server: add Request.ssl() to get underlying ssl stream (7909829f, closes #627)
v0.6.8 (2015-08-03)
Features
- raw-fd: implement FromRawFd/FromRawSocket (664bde58)
v0.6.7 (2015-08-03)
Bug Fixes
- headers: fix broken deserialization of headers (f5f5e1cb)
Features
- net:
Breaking Changes
- Any custom implementation of NetworkStream must now
implement
set_read_timeoutandset_write_timeout, so those will break. Most users who only use the provided streams should work with no changes needed.
Closes #315
(7d1f154c)
v0.6.5 (2015-07-23)
Bug Fixes
- tests: iter.connect() is now iter.join() (d2e8b5dc)
Features
v0.6.4 (2015-07-23)
Features
- http: add optional serialization of common types via
serde(87de1b77)
v0.6.3 (2015-07-08)
Bug Fixes
v0.6.2 (2015-07-06)
Bug Fixes
Features
- client: add url property Response (82ed9092)
- headers: add strict-transport-security header (7c2e5124, closes #589)
Breaking Changes
- Access-Control-Allow-Origin does no longer use Url
(ed458628)
- Technically a break, since
Response::new()takes an additional argument. In practice, the only place that should have been creating Responses directly is inside the Client, so it shouldn't break anyone. If you were creating Responses manually, you'll need to pass a Url argument.
(82ed9092)
v0.6.1 (2015-06-26)
Bug Fixes
- benches: adjust to missing
set_ssl_verifier(eb38a11b) - cargo: fix linking on OSX 10.10 (9af2b66f)
- client: use Ssl instance in creation of SslStream (1a490e25)
v0.6.0 (2015-06-24)
Bug Fixes
- client: check for drained stream in Response::drop (e689f203)
Features
- client:
- error: add private
__Nonexhaustivevariant to Error (7c0421e3) - headers:
- http2:
- langtags: use true language tags in headers (99ff7e62)
- ssl: redesign SSL usage (53bba6eb)
Breaking Changes
- AcceptLanguage and ContentLanguage use LanguageTag now, Language removed from Hyper.
(99ff7e62)
- Server::https was changed to allow any implementation of Ssl. Server in general was also changed. HttpConnector no longer uses SSL; using HttpsConnector instead.
(53bba6eb)
- Connectors and Protocols passed to the
Clientmust now also have aSyncbounds, but this shouldn't break default usage.
(64e47b4b)
- parse_header returns Result instead of Option, related code did also change
(195a89fa)
- Adds a new variant to public Error enum. The proper fix
is to stop matching exhaustively on
hyper::Error.
(7c0421e3)
- A new variant
Http2added to a public enumhyper::Error.
(48e9ca2f)
hyper::client::request::Responseis no longer generic overNetworkStreamtypes. It no longer requires a generic type parameter at all.
(aa297f45)
v0.5.2 (2015-06-01)
Bug Fixes
- buffer: check capacity before resizing (b1686d1b)
v0.5.1 (2015-05-25)
Bug Fixes
Features
- client: implement Default trait for client (be041d91)
- header: add ContentType::form_url_encoded() constructor (2c99d4e9)
- headers: return hyper::Error instead of () from header components (5d669399)
- http: add get_mut method to HttpReader (e64ce8c0)
Breaking Changes
- Error enum extended. Return type of header/shared/ types changed.
(5d669399)
v0.5.0 (2015-05-12)
Bug Fixes
- client:
- mock: adjust ChannelMockConnector connect method to compile (085d7b07)
Features
- header:
- net:
- server: check Response headers for Connection: close in keep_alive loop (49b5b8fd)
Breaking Changes
- Usage of Response.deconstruct() and construct() now use a &mut Headers, instead of the struct proper.
(49b5b8fd)
- If you use deref! from the header module, you'll need to switch to using __hyper__deref!.
(62d96adc)
-
Any custom Connectors will need to change to &self in the connect method. Any Connectors that needed the mutability need to figure out a synchronization strategy.
Request::with_connector() takes a &NetworkConnector instead of &mut. Any uses of with_connector will need to change to passing &C.
(1b318724)
- Adding a new required method to a public trait is a breaking change.
(a5d632b6)
v0.4.0 (2015-05-07)
Bug Fixes
Features
- error: add Ssl variant to hyper::Error (972b3a38, closes #483)
- headers:
- method: implement
AsRef<str>forMethod(c29af729) - server:
Breaking Changes
- Adds a variant to
hyper::Error, which may break any exhaustive matches.
(972b3a38)
- The terms
HttpandErrorhave been removed from the Error type and its variants.HttpErrorshould now be accessed ashyper::Error, and variants likeHttpIoErrorshould be accessed asError::Io.
(9ba074d1)
- Add variant to Access-Control-Allow-Origin enum
(5e341714)
- Upgrade header Protocol changed.
(f47d11b9)
from_one_raw_str()returnsNoneon empty values.
(a6974c99)
v0.3.16 (2015-05-01)
Bug Fixes
Features
- client: add a Connection Pool (1e72a8ab, closes #363, #41)
- headers: Add If-Range header (a39735f1, closes #388)
v0.3.15 (2015-04-29)
Bug Fixes
- headers:
Features
- client:
- headers: Implement Content-Language header field (308880b4, closes #475)
- net: add https_using_context for user-supplied SslContext (1a076d1b)
- server: allow consumer to supply an SslContext (3a1a2427, closes #471)
Breaking Changes
- This removes the trait
IntoBody, and instead usingInto<Body>, as it's more idiomatic. This will only have broken code that had custom implementations ofIntoBody, and can be fixed by changing them toInto<Body>.
(a2aefd9a)
v0.3.14 (2015-04-18)
Bug Fixes
- http: Adjust httparse Request and Response lifetimes. (76550fdb)
v0.3.13 (2015-04-17)
Bug Fixes
- server: JoinHandle type parameter (c694b138)
Features
- debug: add Debug impls for StatusClass, Server, and Listening (0fb92ee7)
v0.3.12 (2015-04-15)
Bug Fixes
- server:
Features
- http: Implement Debug for HttpReader/Writer. (2f606c88)
- log: clean up logging (4f09b002)
- net: make HttpStream implement Debug (7b7f9c25)
v0.3.11 (2015-04-15)
Bug Fixes
- headers: Content-Encoding needs a hyphen. (ca2815ef)
Features
Breaking Changes
AccessControlAllowHeadersandAccessControlRequestHeadersvalues are case insensitive now.AccessControlAllowOriginvariants are nowAnyandValueto match the other headers.
(94f38950)
If-Match,If-None-MatchandVaryitem variant name changed toItems
(38d297b1)
Etagheader field is nowETagheader field
(4434ea6a)
-
For people using the default HttpConnector and Client, everything should continue to just work. If the Client has been used with a generic parameter, it should be removed.
However, there were some breaking changes to the internals of NetworkConnectors. Specifically, they no longer return a NetworkStream, but instead a Into<Box<NetworkStream + Send>>. All implementations of NetworkStream should continue to just work, however.
Possible breakages could come from the stricter usage of Send throughout the Client API.
(139a51f1)
v0.3.10 (2015-04-06)
Bug Fixes
- README: Update to compile example against Rust beta (341f19d3)
v0.3.9 (2015-04-03)
Bug Fixes
- headers: Add CowStr as a temporary hack to build on beta. (8e065563)
v0.3.8 (2015-04-02)
Bug Fixes
- rustup: update to rust beta (0f5858f3)
Breaking Changes
- Removed impl_header!() and impl_list_header!() macros, use new header!() macro.
(262c450f)
v0.3.7 (2015-03-31)
Bug Fixes
- buffer: zero out new capacity when buffer grows (cfdabd70)
Features
- entitytag: Add EntityTag comparison, make EntityTag safe to use (9c21f7f9)
v0.3.6 (2015-03-30)
Bug Fixes
- buffer: get_buf to not return consumed part of buffer (04e3b565, closes #406)
- rustup: get rid of slice pattern, add
Reflectbounds (c9f2c841)
v0.3.5 (2015-03-28)
Bug Fixes
v0.3.4 (2015-03-26)
Bug Fixes
- rustup: static bounds required on Type definition, trivial_casts (eee7a85d)
v0.3.3 (2015-03-25)
Bug Fixes
- rustup:
Features
v0.3.2 (2015-03-20)
Bug Fixes
- benches: removed unused features (104d4903)
- rustup:
Features
- server: use SocketAddrs instead of Ipv4Addrs (5d7be77e)
v0.3.1 (2015-03-18)
Bug Fixes
- header: Fix charset parsing bug. (5a6e176f)
- headers: Fix overflow with empty cookies (99baaa10)
- rustup: update to latest rustc (4fd8a6a9)
Features
Breaking Changes
- Several public functions and types in the
httpmodule have been removed. They have been replaced with 2 methods that handle all of the http1 parsing.
(b87bb20f)
v0.3.0 (2015-03-03)
Features
Breaking Changes
- added requirement that all HeaderFormat implementations must also be fmt::Debug. This likely as easy as slapping #[derive(Debug)] on to any custom headers.
(df756871)
- Check the docs. Everything was touched.
(0fd6fcd7)
v0.2.1 (2015-02-27)
Bug Fixes
- rustup: str.split and associated type changes (1b6e6a04)
Features
v0.2.0 (2015-02-21)
Bug Fixes
- headers: use $crate when referring to hyper modules on macros (e246c3ac, closes #323)
- rustup:
- Send changes (4f5b97fe)
- CowString is gone (98b8c4b1)
- Extend now takes an IntoIterator (598d8f93)
- Add PhantomData markers to phantom type users (1904c456)
- Remove uses of the obsolete &a[] syntax (039e984f)
- Fix signature of IntoCow (234fcdc3)
- update feature flags (b47f9365)
- use module-level thread functions (fc2076cd)
- update lifetime bounds (f4a66b38)
Features
- server: make AcceptorPool::accept() block and allow non'-static data (b0a72d80)
v0.1.13 (2015-02-17)
Bug Fixes
Features
- header: Support arbitrary status codes (73978531)
- headers:
- server: Rewrite the accept loop into a custom thread pool. (3528fb9b)
Breaking Changes
- This removes unregistered status codes from the enum. Use
FromPrimitivemethods to create them now. StatusCode and StatusClass can no longer be casted tou16, useToPrimitivemethods now. For examplestatus.to_u16().unwrap()to get the status code number.
(73978531)
v0.1.12 (2015-02-13)
Bug Fixes
- net: don't stop the server when an SSL handshake fails with EOF (55f12660)
Features
v0.1.11 (2015-02-06)
Bug Fixes
- readme: Make the README client example work (9b5d6aab)
Features
- headers: add IfUnmodifiedSince header (b5543b67)
Breaking Changes
- for any consumers of the Etag header, since the entity tag is now in a tuple.
(28fd5c81)
v0.1.10 (2015-02-03)
Bug Fixes
v0.1.9 (2015-01-28)
Bug Fixes
- headers: Don't display q if q=1 in quality item. (91df2441, closes #281)
- rustup: update io import, Writer::write (f606b603)
Features
- status: add is_<status_class>() methods to StatusCodes (2d55a22e)
v0.1.8 (2015-01-27)
Bug Fixes
- headers:
- log: update to new logging levels (b002b6c3)
Features
Breaking Changes
- Change header
CookietoCookie
(92f43cf8)
v0.1.7 (2015-01-27)
Bug Fixes
- rustup: update to newest fmt trait names and slice syntax (9e3c94d7)
Breaking Changes
- Implementations of Header will need to adjust the header_name method. It no longer takes any arguments.
(8215889e)
v0.1.6 (2015-01-27)
Bug Fixes
- headers: make Schemes, Basic, Protocol public (e43c35c1)
v0.1.5 (2015-01-27)
v0.1.4 (2015-01-27)
Bug Fixes
- imports: Update TypeID import location to "any" (dd2534a6)
v0.1.3 (2015-01-27)
Features
- server: add a deconstruct method to Request. (1014855f)
v0.1.2 (2015-01-27)
Bug Fixes
- server: Increase MAX_HEADER_FIELD_LENGTH to 4k (54238b28)
Features
- net: