1740 lines
80 KiB
Markdown
1740 lines
80 KiB
Markdown
### v0.11.17 (2018-02-05)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:** more reliably detect closed pooled connections (#1434) ([265ad67c](https://github.com/hyperium/hyper/commit/265ad67c86379841a5aa821543a01648ccc8c26c))
|
|
* **h1:** fix hung streaming bodies over HTTPS ([73109694](https://github.com/hyperium/hyper/commit/731096947d0704de58b75d17e05af956bcb21bd9))
|
|
|
|
|
|
### v0.11.16 (2018-01-30)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:**
|
|
* check for dead connections in Pool ([44af2738](https://github.com/hyperium/hyper/commit/44af273853f82b81591b813d13627e143a14a6b7), closes [#1429](https://github.com/hyperium/hyper/issues/1429))
|
|
* error on unsupport 101 responses, ignore other 1xx codes ([22774222](https://github.com/hyperium/hyper/commit/227742221fa7830a14c18becbbc6137d97b57729))
|
|
* **server:**
|
|
* send 400 responses on parse errors before closing connection ([7cb72d20](https://github.com/hyperium/hyper/commit/7cb72d2019bffbc667b9ad2d8cbc19c1a513fcf7))
|
|
* error if Response code is 1xx ([44c34ce9](https://github.com/hyperium/hyper/commit/44c34ce9adc888916bd67656cc54c35f7908f536))
|
|
|
|
|
|
#### Features
|
|
|
|
* **server:** add `Http::max_buf_size()` option ([d22deb65](https://github.com/hyperium/hyper/commit/d22deb6572c279e11773b6bcb862415c08f19c2e), closes [#1368](https://github.com/hyperium/hyper/issues/1368))
|
|
* **uri:** Add a `PartialEq<str>` impl for `Uri` ([11b49c2c](https://github.com/hyperium/hyper/commit/11b49c2cc84695e966e9d9a0b05781853b28d7a8))
|
|
|
|
#### Performance
|
|
|
|
- **h1:** utilize `writev` when possible, reducing copies ([68377ede](https://github.com/hyperium/hyper/commit/68377ede))
|
|
|
|
### v0.11.15 (2018-01-22)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **lib:** properly handle HTTP/1.0 remotes ([36e66a50](https://github.com/hyperium/hyper/commit/36e66a50546347c6f9b74c6d3c26e8b910483a4b), closes [#1304](https://github.com/hyperium/hyper/issues/1304))
|
|
|
|
|
|
#### Features
|
|
|
|
* **client:** add `executor` method when configuring a `Client` ([c89019eb](https://github.com/hyperium/hyper/commit/c89019eb100d00b5235d3b9a0d0b672ab0ef8ddc))
|
|
|
|
|
|
### v0.11.14 (2018-01-16)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **tokio-proto:** return end-of-body frame correctly for tokio-proto ([14e4c741](https://github.com/hyperium/hyper/commit/14e4c741dc48a386d7bdc6f8e9e279e60f172722), closes [#1414](https://github.com/hyperium/hyper/issues/1414))
|
|
|
|
|
|
### v0.11.13 (2018-01-12)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:**
|
|
* change connection errors to debug log level ([2fe90f25](https://github.com/hyperium/hyper/commit/2fe90f256420ff668966290ac96686ce061453e4), closes [#1412](https://github.com/hyperium/hyper/issues/1412))
|
|
* don't error on read before writing request ([7976023b](https://github.com/hyperium/hyper/commit/7976023b594ec6784e40a147d3baec99a947b118))
|
|
* **lib:** properly handle body streaming errors ([7a48d0e8](https://github.com/hyperium/hyper/commit/7a48d0e8b4ad465c0205ddfb116b6bd60dbdec71))
|
|
|
|
|
|
### v0.11.12 (2018-01-08)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **server:** add remote_addr back to Request when using Http::bind ([fa7f4377](https://github.com/hyperium/hyper/commit/fa7f4377c1d783ca860820aefc41d0eab73be14c), closes [#1410](https://github.com/hyperium/hyper/issues/1410))
|
|
|
|
|
|
### v0.11.11 (2018-01-05)
|
|
|
|
|
|
#### Features
|
|
|
|
* **client:** replace default dispatcher ([0892cb27](https://github.com/hyperium/hyper/commit/0892cb27777858737449a012bc6ea08ee080e5b7))
|
|
* **server:** change default dispatcher ([6ade21aa](https://github.com/hyperium/hyper/commit/6ade21aa7f16dfeb6c0c53fe39c3f168f5f8aec1))
|
|
|
|
|
|
### v0.11.10 (2017-12-26)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:**
|
|
* fix panic when request body is empty string ([bfb0f84d](https://github.com/hyperium/hyper/commit/bfb0f84d372ec4251a20d16a1ac514a4177e2a3b))
|
|
* close connections when Response Future or Body is dropped ([ef400812](https://github.com/hyperium/hyper/commit/ef4008121e4faa9383fe4661ebd05de5efe7ee9c), closes [#1397](https://github.com/hyperium/hyper/issues/1397))
|
|
* properly close idle connections after timeout ([139dc7ab](https://github.com/hyperium/hyper/commit/139dc7ab2be271cd58b909db16c6ddbe5109f133), closes [#1397](https://github.com/hyperium/hyper/issues/1397))
|
|
* **conn:** don't double shutdown in some cases ([7d3abfbc](https://github.com/hyperium/hyper/commit/7d3abfbcf33946cb8831103c3b55f9966fa9469d))
|
|
|
|
|
|
### v0.11.9 (2017-12-09)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:** detect valid eof after reading a body ([15fdd53d](https://github.com/hyperium/hyper/commit/15fdd53d4cb1cd0fef41c4bed509020f44512a00), closes [#1396](https://github.com/hyperium/hyper/issues/1396))
|
|
|
|
|
|
#### Features
|
|
|
|
* **log:** improve quality of debug level logs ([7b593112](https://github.com/hyperium/hyper/commit/7b5931122a07f2a766d3e103001bcb5ee1f983f3))
|
|
|
|
|
|
### v0.11.8 (2017-12-06)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:**
|
|
* return error instead of unmatched response when idle ([95e0164e](https://github.com/hyperium/hyper/commit/95e0164e8f0f03742f71868cb2828bcd4bfa5cfc))
|
|
* remove idle connections when read eof is found ([cecef9d4](https://github.com/hyperium/hyper/commit/cecef9d402b76af12e6415519deb2b604f77b195))
|
|
* always wait on reads for pooled connections ([9f212410](https://github.com/hyperium/hyper/commit/9f212410026c780ea2a76ba81705ed137022260d))
|
|
* don't leak connections with no keep-alive ([d2aa5d86](https://github.com/hyperium/hyper/commit/d2aa5d862c95168f4e71cc65155c2dc41f306f36), closes [#1383](https://github.com/hyperium/hyper/issues/1383))
|
|
* **conn:** handle when pre-emptive flushing closes the write state ([8f938d97](https://github.com/hyperium/hyper/commit/8f938d97e7f25ca9e8c9ae65f756f952753d9bf7), closes [#1391](https://github.com/hyperium/hyper/issues/1391))
|
|
* **lib:** fix `no_proto` dispatcher to flush queue before polling more body ([121b5eef](https://github.com/hyperium/hyper/commit/121b5eef19e65acfecb8261d865554e173f2fc78))
|
|
* **server:** allow TLS shutdown before dropping connections with `no_proto` ([60d0eaf8](https://github.com/hyperium/hyper/commit/60d0eaf8916f7cb5073105778f25dff21bd504bb), closes [#1380](https://github.com/hyperium/hyper/issues/1380))
|
|
|
|
|
|
#### Features
|
|
|
|
* **headers:** Implement `ProxyAuthorization` (#1394) ([c93cdb29](https://github.com/hyperium/hyper/commit/c93cdb290875cb86900e84c333725aefa4d7fad5))
|
|
* **server:**
|
|
* Allow keep alive to be turned off for a connection (#1390) ([eb9590e3](https://github.com/hyperium/hyper/commit/eb9590e3da65299928938ae8bb830dfb008fdadd), closes [#1365](https://github.com/hyperium/hyper/issues/1365))
|
|
* add `Http.serve_incoming` to wrap generic accept steams ([e4864a2b](https://github.com/hyperium/hyper/commit/e4864a2bea59b40fb07e6d18329f75817803a3f3))
|
|
|
|
|
|
### v0.11.7 (2017-11-14)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:**
|
|
* drop in-use connections when they finish if Client is dropped ([b1765dd1](https://github.com/hyperium/hyper/commit/b1765dd168b24912fbd36682f1f6df70eeb1acd5))
|
|
* don't read extra bytes on idle connections ([7c4b814e](https://github.com/hyperium/hyper/commit/7c4b814e6b95bdb22b11e027b2da16c5abb8399f))
|
|
* **server:** GET requests with no body have None instead of Empty ([8bf79648](https://github.com/hyperium/hyper/commit/8bf7964875205155e3018902a6e8facee6c145b6), closes [#1373](https://github.com/hyperium/hyper/issues/1373))
|
|
|
|
|
|
#### Features
|
|
|
|
* **client:**
|
|
* skip dns resolution when host is a valid ip addr ([b1785c66](https://github.com/hyperium/hyper/commit/b1785c662bc75f7bbd36a242c379d120ff7c6cd2))
|
|
* allow custom executors for HttpConnector ([ed497bf5](https://github.com/hyperium/hyper/commit/ed497bf5e6f1d651e3b30fd42c10245c560aff5b))
|
|
* add names to DNS threads ([e0de55da](https://github.com/hyperium/hyper/commit/e0de55daa2ec241f97fc5ed14f5ec933bde110d7))
|
|
* **header:** implement `ByteRangeSpec::to_satisfiable_range` ([bb54e36c](https://github.com/hyperium/hyper/commit/bb54e36c90dc9c2ca876cd7f2c7dc7250d217552))
|
|
* **lib:** add support to disable tokio-proto internals ([f7532b71](https://github.com/hyperium/hyper/commit/f7532b71d141ebe41172dbb863d58d519e387a4e))
|
|
* **server:**
|
|
* add `const_service` and `service_fn` helpers ([fe38aa4b](https://github.com/hyperium/hyper/commit/fe38aa4bc1c8fdcaefb0d839239c14620a7b8f0a))
|
|
* add `server::Serve` that can use a shared Handle ([39cf6ef7](https://github.com/hyperium/hyper/commit/39cf6ef7d26b3d829ec19fb1db176e8221170cb3))
|
|
* allow creating Server with shared Handle ([0844dede](https://github.com/hyperium/hyper/commit/0844dede191d720e0336ee4aca63af2255abe458))
|
|
|
|
|
|
### v0.11.6 (2017-10-02)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **server:** fix experimental pipeline flushing ([6b4635fd](https://github.com/hyperium/hyper/commit/6b4635fd13f5fe91ad6d388c5e66394627ad7ba2))
|
|
|
|
|
|
### v0.11.5 (2017-10-02)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **http:** avoid infinite recursion when Body::from is called with Cow::Owned. (#1343) ([e8d61737](https://github.com/hyperium/hyper/commit/e8d6173734b0fb43bf7401fdbe43258d913a6284))
|
|
|
|
|
|
### v0.11.4 (2017-09-28)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:** fix panic in Pool ([0fbc215f](https://github.com/hyperium/hyper/commit/0fbc215f), closes [#1339](https://github.com/hyperium/hyper/issues/1339))
|
|
|
|
|
|
### v0.11.3 (2017-09-28)
|
|
|
|
|
|
#### Features
|
|
|
|
* **header:** add ContentType::xml() constructor ([92595e84](https://github.com/hyperium/hyper/commit/92595e84))
|
|
* **http:** add Body::from(cow) for bytes and strings ([425ff71d](https://github.com/hyperium/hyper/commit/425ff71d))
|
|
* **lib:** implement compatibility with http crate ([0c7d375b](https://github.com/hyperium/hyper/commit/0c7d375b))
|
|
* **server:**
|
|
* add experimental pipeline flush aggregation option to Http ([dd54f20b](https://github.com/hyperium/hyper/commit/dd54f20b))
|
|
* remove unneeded Send + Sync from Server ([16e834d3](https://github.com/hyperium/hyper/commit/16e834d3))
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:**
|
|
* cleanup dropped pending Checkouts from Pool ([3b91fc65](https://github.com/hyperium/hyper/commit/3b91fc65), closes [#1315](https://github.com/hyperium/hyper/issues/1315))
|
|
* return Version errors if unsupported ([41c47241](https://github.com/hyperium/hyper/commit/41c47241), closes [#1283](https://github.com/hyperium/hyper/issues/1283))
|
|
* **http:** log errors passed to tokio at debug level ([971864c4](https://github.com/hyperium/hyper/commit/971864c4), closes [#1278](https://github.com/hyperium/hyper/issues/1278))
|
|
* **lib:**
|
|
* Export hyper::RawStatus if the raw_status feature is enabled ([627c4e3d](https://github.com/hyperium/hyper/commit/627c4e3d))
|
|
* remove logs that contain request and response data ([207fca63](https://github.com/hyperium/hyper/commit/207fca63), closes [#1281](https://github.com/hyperium/hyper/issues/1281))
|
|
|
|
#### Performance
|
|
|
|
* **server:** try to read from socket at keep-alive ([1a9f2648](https://github.com/hyperium/hyper/commit/1a9f2648))
|
|
|
|
|
|
### v0.11.2 (2017-07-27)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:** don't assume bodies on 204 and 304 Responses ([81c0d185](https://github.com/hyperium/hyper/commit/81c0d185bdb2cb11e0fba231e3259097f492dd7d), closes [#1242](https://github.com/hyperium/hyper/issues/1242))
|
|
* **header:** fix panic from headers.remove when typed doesn't match ([4bd9746a](https://github.com/hyperium/hyper/commit/4bd9746a0fa56ddc578ec5a8044e6c37390f3770))
|
|
* **http:**
|
|
* allow zero-length chunks when no body is allowed ([9b47e186](https://github.com/hyperium/hyper/commit/9b47e1861a6bd766f21c88b95ecfc9b45fad874d))
|
|
* fix encoding when buffer is full ([fc5b9cce](https://github.com/hyperium/hyper/commit/fc5b9cce3176776e4c916cd1b907b1649a538f00))
|
|
* skip zero length chunks when encoding ([d6da3f7b](https://github.com/hyperium/hyper/commit/d6da3f7b40550b425f760d0d331807feff9114fd))
|
|
* **server:**
|
|
* improve detection of when a Response can have a body ([673e5cb1](https://github.com/hyperium/hyper/commit/673e5cb1a3dadea178e51677fa660a1258610ae8), closes [#1257](https://github.com/hyperium/hyper/issues/1257))
|
|
* reject Requests with invalid body lengths ([14cbd400](https://github.com/hyperium/hyper/commit/14cbd40071816ec04dd1921e599c1d5cca883898))
|
|
* do not automatically set ContentLength for 204 and 304 Responses ([c4c89a22](https://github.com/hyperium/hyper/commit/c4c89a22f8f1ebc74a13a6ee75a8209081dcb535))
|
|
* **uri:** fix Uri parsing of IPv6 and userinfo ([7081c449](https://github.com/hyperium/hyper/commit/7081c4498e707c1240c7e672d39ba4948fffb558), closes [#1269](https://github.com/hyperium/hyper/issues/1269))
|
|
|
|
|
|
#### Features
|
|
|
|
* **headers:** export missing header types ([c9f4ff33](https://github.com/hyperium/hyper/commit/c9f4ff33821df1bff557dfddac1ba3fc6255ee62))
|
|
* **server:** Provide reference to Response body ([a79fc98e](https://github.com/hyperium/hyper/commit/a79fc98e36eac485803b1ab97f35c60198fd72cb), closes [#1216](https://github.com/hyperium/hyper/issues/1216))
|
|
* **status:** add `as_u16()` method to `StatusCode` ([5f6f252c](https://github.com/hyperium/hyper/commit/5f6f252c603c642be8037682c1bf7e7ed2392a53))
|
|
|
|
|
|
### v0.11.1 (2017-07-03)
|
|
|
|
|
|
#### Features
|
|
|
|
* **server:** Handle 100-continue ([6164e764](https://github.com/hyperium/hyper/commit/6164e76405935065aeb912f94ba94230e0bac60f))
|
|
|
|
|
|
## v0.11.0 (2017-06-13)
|
|
|
|
#### Bug Fixes
|
|
|
|
* **header:**
|
|
* add length checks to `ETag` parsing ([643fac1e](https://github.com/hyperium/hyper/commit/643fac1e01102524e44ead188e865830ebdfb1f4))
|
|
* prevent 2 panics in `QualityItem` parsing ([d80aae55](https://github.com/hyperium/hyper/commit/d80aae55b1af0420bfcdecb2c8515b48e3e0e641))
|
|
* Allow IPv6 Addresses in `Host` header ([8541ac72](https://github.com/hyperium/hyper/commit/8541ac72d7ec80a36171115501e49dd47bcb1d0d))
|
|
* Remove raw part when getting mutable reference to typed header ([f38717e4](https://github.com/hyperium/hyper/commit/f38717e422a80e04ca95fcd5e5c5d54b7197bed2), closes [#821](https://github.com/hyperium/hyper/issues/821))
|
|
* only add chunked to `TransferEncoding` if not present ([1b4f8579](https://github.com/hyperium/hyper/commit/1b4f85799737a537d8ebfb6afd0423b97238ab8b))
|
|
* ignore invalid cookies ([310d98d5](https://github.com/hyperium/hyper/commit/310d98d50b929b8bde898cbb1137df95da5e0840))
|
|
* **http:**
|
|
* Chunked decoder reads last `\r\n` ([bffde8c8](https://github.com/hyperium/hyper/commit/bffde8c841353e05e9aea267ca94848ccdeeb394))
|
|
* make Chunked decoder resilient in an async world ([8672ec5a](https://github.com/hyperium/hyper/commit/8672ec5a366e698bd32679d64dce925b3fa11fc6))
|
|
* **server:**
|
|
* support HTTP/1.1 pipelining ([523b890a](https://github.com/hyperium/hyper/commit/523b890a19e9325938adf42456eea6191fcb8029))
|
|
|
|
#### Features
|
|
|
|
* **body:**
|
|
* implement Extend and IntoIterator for Chunk ([78512bdb](https://github.com/hyperium/hyper/commit/78512bdb184903061ea02f1101c99a097483cb69))
|
|
* add Default trait to Body ([f61708ba](https://github.com/hyperium/hyper/commit/f61708ba81fc03a4797688afd5bcec87e8f98eef))
|
|
* implement `Default` for `Body` ([6faa653f](https://github.com/hyperium/hyper/commit/6faa653f0dfaa5220e76a60fcd264511686dfd08))
|
|
* implement `Default` for `Chunk` ([f5567db4](https://github.com/hyperium/hyper/commit/f5567db4dcc04a769725d0b9ccb6a81bc3026acc))
|
|
* **client:**
|
|
* add `HttpConnector.enforce_http` ([1c34a05a](https://github.com/hyperium/hyper/commit/1c34a05a85078421078f2cb266dccc5dfce8a9f0))
|
|
* add an accessor for the request body ([4e26646a](https://github.com/hyperium/hyper/commit/4e26646aa7b46d5739d3978126bb70e8c47cde1d))
|
|
* Response.status() now returns a `StatusCode` by value ([d63b7de4](https://github.com/hyperium/hyper/commit/d63b7de44f813696f8ec595d2f8f901526c1720e))
|
|
* add Client::handle ([9101817b](https://github.com/hyperium/hyper/commit/9101817b0fd61d7bcccfaa8933e64d6e3787395d))
|
|
* add Request.set_proxy for HTTP proxy requests ([e8714116](https://github.com/hyperium/hyper/commit/e871411627cab5caf00d8ee65328da9ff05fc53d), closes [#1056](https://github.com/hyperium/hyper/issues/1056))
|
|
* DNS worker count is configurable ([138e1643](https://github.com/hyperium/hyper/commit/138e1643e81669cae9dbe215197abd0e07f0c1e7))
|
|
* add keep_alive_timeout to Client ([976218ba](https://github.com/hyperium/hyper/commit/976218badc4a067e45a9d15af7e4eb5f2a4adc09))
|
|
* **error:** Display for Error shows better info ([49e196db](https://github.com/hyperium/hyper/commit/49e196db1c91b2fb5f7ab05d99b9c7bc997195f2), closes [#694](https://github.com/hyperium/hyper/issues/694))
|
|
* **header:**
|
|
* add ContentType::octet_stream() constructor ([1a353102](https://github.com/hyperium/hyper/commit/1a35310273732acbf8e8498ebb5dbad3d61386cb))
|
|
* change `Cookie` to be map-like ([dd03e723](https://github.com/hyperium/hyper/commit/dd03e7239238e6c0753cf2502a0534e2c9770d9e), closes [#1145](https://github.com/hyperium/hyper/issues/1145))
|
|
* add `Cookie::iter()` ([edc1c0dd](https://github.com/hyperium/hyper/commit/edc1c0dd01b24ee32250dff51268ad60fff9293d))
|
|
* implement fmt::Display for several headers ([e9e7381e](https://github.com/hyperium/hyper/commit/e9e7381ece21588076bb712d5c508f50cd740591))
|
|
* add `Headers::append_raw` ([b4b2fb78](https://github.com/hyperium/hyper/commit/b4b2fb782e51b2b932e52fab6add7c23a369f1fb))
|
|
* Add support for Retry-After header ([1037bc77](https://github.com/hyperium/hyper/commit/1037bc773256ca05c4311a781e96fbdcaac877fe))
|
|
* add `Encoding::Brotli` variant ([f0ab2b6a](https://github.com/hyperium/hyper/commit/f0ab2b6aedb909d37698365d1fcc34ce749304b5))
|
|
* introduce `header::Raw` (#869) ([50ccdaa7](https://github.com/hyperium/hyper/commit/50ccdaa7e7db574ec9890c220765ffd2da5e493b))
|
|
* add `TE` header struct (#1150) ([f1859dfd](https://github.com/hyperium/hyper/commit/f1859dfd7abfc124dd986edc413f754f76c76e8b), closes [#1109](https://github.com/hyperium/hyper/issues/1109))
|
|
* support Opaque origin headers (#1147) ([41485997](https://github.com/hyperium/hyper/commit/414859978b47dc8ebd0df264afc4e113b8a1909e), closes [#1065](https://github.com/hyperium/hyper/issues/1065))
|
|
* add `HeaderView.raw()` ([8143c33b](https://github.com/hyperium/hyper/commit/8143c33bad9146414f14197c39f6d5326d0f0212))
|
|
* `impl Eq for ContentType` ([bba761ac](https://github.com/hyperium/hyper/commit/bba761ac547b59c885aceea5b9e52bf52e8747b5))
|
|
* add `Link` header implementation ([592c1e21](https://github.com/hyperium/hyper/commit/592c1e21256d3ba2aeba6cdc2b62d8c1ebfa1dbf), closes [#650](https://github.com/hyperium/hyper/issues/650))
|
|
* add `star`, `json`, `text`, `image` constructors to `Accept` ([bdc19d52](https://github.com/hyperium/hyper/commit/bdc19d52bf5ec2e63b785de31bfe0ad3ba4d2550))
|
|
* Add strict-origin and strict-origin-when-cross-origin referer policy ([3593d798](https://github.com/hyperium/hyper/commit/3593d7987a92518736e130586499d97afa3e5b04))
|
|
* support multiple values for Referrer-Policy header ([7b558ae8](https://github.com/hyperium/hyper/commit/7b558ae87a826ca7383c0034d4ca95fc61aeac4c), closes [#882](https://github.com/hyperium/hyper/issues/882))
|
|
* add `Warning` header ([69894d19](https://github.com/hyperium/hyper/commit/69894d19947f01ad4ff54ce0283429758acba9ff), closes [#883](https://github.com/hyperium/hyper/issues/883))
|
|
* `Headers::remove` returns the Header ([9375addb](https://github.com/hyperium/hyper/commit/9375addba03505f2515d493364f9b1beb8b9b99a), closes [#891](https://github.com/hyperium/hyper/issues/891))
|
|
* add `ContentLocation` header ([13c5bf66](https://github.com/hyperium/hyper/commit/13c5bf66c305c08a2a1af26e48115b667d141b18), closes [#870](https://github.com/hyperium/hyper/issues/870))
|
|
* add `LastEventId` header ([e1542a60](https://github.com/hyperium/hyper/commit/e1542a609f99da770a65500333d922c58e39d179))
|
|
* add `Origin header ([01843f88](https://github.com/hyperium/hyper/commit/01843f882265a894c7051dc2ecf5cf09f2c2e8e7), closes [#651](https://github.com/hyperium/hyper/issues/651))
|
|
* Add `ReferrerPolicy` header ([3a86b3a2](https://github.com/hyperium/hyper/commit/3a86b3a2b25be1c088cf7d39bb431b2e624d4191))
|
|
* **http:**
|
|
* add Into<Bytes> for Chunk ([fac3d70c](https://github.com/hyperium/hyper/commit/fac3d70c0b716157ba689ae2b8a0089b6afc9bdc))
|
|
* use the bytes crate for Chunk and internally ([65b3e08f](https://github.com/hyperium/hyper/commit/65b3e08f6904634294ff2d105f2551cafe7e754d))
|
|
* allow specifying custom body streams ([1b1311a7](https://github.com/hyperium/hyper/commit/1b1311a7d36b000c9c2c509971ee759da8765711))
|
|
* **lib:**
|
|
* add `raw_status` feature in Cargo.toml ([acd62cda](https://github.com/hyperium/hyper/commit/acd62cda446e4c647716a2d595342360dc24a080))
|
|
* remove extern Url type usage ([4fb7e6eb](https://github.com/hyperium/hyper/commit/4fb7e6ebc6b1d429dcce4bc18139bd443fffa6ee))
|
|
* export Method::Put at top level ([5c890321](https://github.com/hyperium/hyper/commit/5c890321ee2da727a814c18d4ee2df5eddd6720e))
|
|
* redesign API to use Futures and Tokio ([2d2d5574](https://github.com/hyperium/hyper/commit/2d2d5574a698e74e5102d39b9a9ab750860d92d1))
|
|
* switch to non-blocking (asynchronous) IO ([d35992d0](https://github.com/hyperium/hyper/commit/d35992d0198d733c251e133ecc35f2bca8540d96))
|
|
* **mime:** upgrade to mime v0.3 ([f273224f](https://github.com/hyperium/hyper/commit/f273224f21eedd2f466f12fe30fd24e83c35922c), closes [#738](https://github.com/hyperium/hyper/issues/738))
|
|
* **server:**
|
|
* make Http default its body type to hyper::Chunk ([dc97dd77](https://github.com/hyperium/hyper/commit/dc97dd77f45486d9cb9a22a1859809c5af5579e2))
|
|
* make Http compatible with TcpServer ([e04bcc12](https://github.com/hyperium/hyper/commit/e04bcc12a7e081f75482cdca1e4f4c4f597ad2ce), closes [#1036](https://github.com/hyperium/hyper/issues/1036))
|
|
* add path() and query() to Request ([8b3c1206](https://github.com/hyperium/hyper/commit/8b3c1206846cb96be780923952eafe0dde7850bf), closes [#896](https://github.com/hyperium/hyper/issues/896), [#897](https://github.com/hyperium/hyper/issues/897))
|
|
* **status:**
|
|
* add `StatusCode::try_from(u16)`. ([f953cafe](https://github.com/hyperium/hyper/commit/f953cafe27d1c5de0c8b859e485225cfc2c18629))
|
|
* remove deprecated `StatusClass` ([94ee6204](https://github.com/hyperium/hyper/commit/94ee6204ae32b8c431c00fdc03dc75eee573c69c))
|
|
* impl Into<u16> for StatusCode ([c42f18db](https://github.com/hyperium/hyper/commit/c42f18db05e47fc24e8a8ece76cbc782b7558e8b))
|
|
* **uri:**
|
|
* redesign `RequestUri` type into `Uri` ([9036443e](https://github.com/hyperium/hyper/commit/9036443e6bd61b948ebe622588d2765e22e2b179), closes [#1000](https://github.com/hyperium/hyper/issues/1000))
|
|
* add `is_absolute` method to `Uri` ([154ab29c](https://github.com/hyperium/hyper/commit/154ab29c0d2b50d7bcac0f7918abf2f7a1628112))
|
|
* **version:** impl `FromStr` for `HttpVersion` ([47f3aa62](https://github.com/hyperium/hyper/commit/47f3aa6247a3211ae499b30584dca6acb43d2204))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* The `Cookie` header is no longer a wrapper over a
|
|
`Vec<String>`. It must be accessed via its `get` and `set` methods.
|
|
|
|
([dd03e723](https://github.com/hyperium/hyper/commit/dd03e7239238e6c0753cf2502a0534e2c9770d9e))
|
|
* Any use of `Quality(num)` should change to `q(num)`.
|
|
|
|
([a4644959](https://github.com/hyperium/hyper/commit/a4644959b0f980d94898d6c2e3cb1763aac73a5e))
|
|
* `HttpDate` no longer has public fields. Convert between
|
|
`HttpDate` and `SystemTime` as needed.
|
|
|
|
([316c6fad](https://github.com/hyperium/hyper/commit/316c6fad3026ba5ff5f6b9f31aca4d4f74b144e0))
|
|
* The `link_extensions` methods of the `Link` header are
|
|
removed until fixed.
|
|
|
|
([011f28cb](https://github.com/hyperium/hyper/commit/011f28cb18d285401bc8bea2b0f0dbdf80089d97))
|
|
* The `fmt_header` method has changed to take a different
|
|
formatter. In most cases, if your header also implements
|
|
`fmt::Display`, you can just call `f.fmt_line(self)`.
|
|
|
|
([6f02d43a](https://github.com/hyperium/hyper/commit/6f02d43ae0d80971a32617e316498b81acf38ca2))
|
|
* The `Encoding` enum has an additional variant, `Trailers`.
|
|
|
|
([f1859dfd](https://github.com/hyperium/hyper/commit/f1859dfd7abfc124dd986edc413f754f76c76e8b))
|
|
* `Origin.scheme` and `Origin.host` now return `Option`s, since the `Origin` could be `null`.
|
|
|
|
([41485997](https://github.com/hyperium/hyper/commit/414859978b47dc8ebd0df264afc4e113b8a1909e))
|
|
* 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](https://github.com/hyperium/hyper/commit/d63b7de44f813696f8ec595d2f8f901526c1720e))
|
|
* This removes several deprecated methods for converting
|
|
Headers into strings. Use more specialized methods instead.
|
|
|
|
([ec91bf41](https://github.com/hyperium/hyper/commit/ec91bf418b1f285bac9231d4bee0dd96742e565a))
|
|
* The `Url` type is no longer used. Any instance in the
|
|
`Client` API has had it replaced with `hyper::Uri`.
|
|
|
|
This also means `Error::Uri` has changed types to
|
|
`hyper::error::UriError`.
|
|
|
|
The type `hyper::header::parsing::HTTP_VALUE` has been made private,
|
|
as an implementation detail. The function `http_percent_encoding`
|
|
should be used instead.
|
|
|
|
([4fb7e6eb](https://github.com/hyperium/hyper/commit/4fb7e6ebc6b1d429dcce4bc18139bd443fffa6ee))
|
|
* This makes `Request.remote_addr` an
|
|
`Option<SocketAddr>`, instead of `SocketAddr`.
|
|
|
|
([e04bcc12](https://github.com/hyperium/hyper/commit/e04bcc12a7e081f75482cdca1e4f4c4f597ad2ce))
|
|
* The `Preference` header had a typo in a variant and it's string representation,
|
|
change `Preference::HandlingLeniant` to `Preference::HandlingLenient`.
|
|
([2fa414fb](https://github.com/hyperium/hyper/commit/2fa414fb5fe6dbc922da25cca9960652edf32591))
|
|
* `Server` is no longer the primary entry point. Instead,
|
|
an `Http` type is created and then either `bind` to receive a `Server`,
|
|
or it can be passed to other Tokio things.
|
|
([f45e9c8e](https://github.com/hyperium/hyper/commit/f45e9c8e4fcacc2bd7fed84ef0df6d2fcf8c1134))
|
|
* The name of `RequestUri` has changed to `Uri`. It is no
|
|
longer an `enum`, but an opaque struct with getter methods.
|
|
|
|
([9036443e](https://github.com/hyperium/hyper/commit/9036443e6bd61b948ebe622588d2765e22e2b179))
|
|
* This adds a new variant to the `Encoding` enum, which
|
|
can break exhaustive matches.
|
|
|
|
([f0ab2b6a](https://github.com/hyperium/hyper/commit/f0ab2b6aedb909d37698365d1fcc34ce749304b5))
|
|
* The fields of the `Host` header are no longer
|
|
available. Use the getter methods instead.
|
|
|
|
([cd9fd522](https://github.com/hyperium/hyper/commit/cd9fd522074bfe530c30c878e49e6ac1bd881f1f))
|
|
* A big sweeping set of breaking changes.
|
|
|
|
([2d2d5574](https://github.com/hyperium/hyper/commit/2d2d5574a698e74e5102d39b9a9ab750860d92d1))
|
|
* `Headers.remove()` used to return a `bool`,
|
|
it now returns `Option<H>`. To determine if a a header exists,
|
|
switch to `Headers.has()`.
|
|
([9375addb](https://github.com/hyperium/hyper/commit/9375addba03505f2515d493364f9b1beb8b9b99a))
|
|
* `Header::parse_header` now receives `&Raw`, instead of
|
|
a `&[Vec<u8>]`. `Raw` provides several methods to ease using it, but
|
|
may require some changes to existing code.
|
|
([50ccdaa7](https://github.com/hyperium/hyper/commit/50ccdaa7e7db574ec9890c220765ffd2da5e493b))
|
|
* LanguageTag used to be at the crate root, but it is now
|
|
in the `hyper::header` module.
|
|
|
|
([40745c56](https://github.com/hyperium/hyper/commit/40745c5671daf8ac7eb342ff0e1e7c801a7171c4))
|
|
* Removes the undocumented `from_u16` function. Use
|
|
`StatusCode::try_from` instead.
|
|
|
|
Also makes the `status` module private. All imports of
|
|
`hyper::status::StatusCode` should be `hyper::StatusCode`.
|
|
|
|
([f953cafe](https://github.com/hyperium/hyper/commit/f953cafe27d1c5de0c8b859e485225cfc2c18629))
|
|
* All usage of `status.class()` should change to
|
|
equivalent `status.is_*()` methods.
|
|
|
|
([94ee6204](https://github.com/hyperium/hyper/commit/94ee6204ae32b8c431c00fdc03dc75eee573c69c))
|
|
* Most uses of `mime` will likely break. There is no more
|
|
`mime!` macro, nor a `Mime` constructor, nor `TopLevel` and `SubLevel`
|
|
enums.
|
|
|
|
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](https://github.com/hyperium/hyper/commit/f273224f21eedd2f466f12fe30fd24e83c35922c))
|
|
* To use `RawStatus`, you must enable the `raw_status`
|
|
crate feature.
|
|
|
|
([acd62cda](https://github.com/hyperium/hyper/commit/acd62cda446e4c647716a2d595342360dc24a080))
|
|
* Some headers used `UniCase`, but now use
|
|
`unicase::Ascii`. Upgrade code to `Ascii::new(s)`.
|
|
|
|
([c81edd41](https://github.com/hyperium/hyper/commit/c81edd41d783f67eca7a50d83b40c8a7cedf333c))
|
|
* This breaks a lot of the Client and Server APIs.
|
|
Check the documentation for how Handlers can be used for asynchronous
|
|
events.
|
|
|
|
([d35992d0](https://github.com/hyperium/hyper/commit/d35992d0198d733c251e133ecc35f2bca8540d96))
|
|
|
|
|
|
### v0.10.9 (2017-04-19)
|
|
|
|
|
|
#### Features
|
|
|
|
* **server:** add local_addr to retrieve resolved address ([71f250ad](https://github.com/hyperium/hyper/commit/71f250ad46e9ae0cac108e1de6dc15289da26a56))
|
|
|
|
|
|
### v0.10.8 (2017-04-11)
|
|
|
|
|
|
#### Features
|
|
|
|
* **client:**
|
|
* introduce `PooledStream::<S>::get_ref` ([a54ce30f](https://github.com/hyperium/hyper/commit/a54ce30f902772168bbd8dc90f26bb08cecde6ec))
|
|
* introduce Response::get_ref ([5ef0ec2c](https://github.com/hyperium/hyper/commit/5ef0ec2cd2841e78508a61949a207187be914265))
|
|
|
|
|
|
### v0.10.7 (2017-04-08)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **server:** don't dup the listener TCP socket. ([d2362331](https://github.com/hyperium/hyper/commit/d23623317820696c910ce43262d5276e8e24c066))
|
|
|
|
|
|
### v0.10.6 (2017-04-05)
|
|
|
|
|
|
#### Features
|
|
|
|
* **buffer:** add from_parts and into_parts functions ([78551dd0](https://github.com/hyperium/hyper/commit/78551dd040e2ab46e833af355c92fe87aa026244))
|
|
|
|
|
|
### v0.10.5 (2017-03-01)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **http:**
|
|
* Consume entire chunked encoding message ([4147fcd0](https://github.com/hyperium/hyper/commit/4147fcd0d688b6d5b8d6b32f26c147819321a390))
|
|
* fix returning EarlyEof if supplied buffer is zero-len ([1e740fbc](https://github.com/hyperium/hyper/commit/1e740fbcc3fb60af2fe8d2227457fa29582151c3))
|
|
|
|
|
|
### v0.10.4 (2017-01-31)
|
|
|
|
|
|
#### Features
|
|
|
|
* **header:** implement fmt::Display for several headers ([d5075770](https://github.com/hyperium/hyper/commit/d50757707b1c628f398fb0583aa3dd02111ae658))
|
|
|
|
|
|
### v0.10.3 (2017-01-30)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **header:**
|
|
* deprecate HeaderFormatter ([282466e1](https://github.com/hyperium/hyper/commit/282466e1c00879cf9dde1ed62c3d436e99bfba85))
|
|
* enable SetCookie.fmt_header when only 1 cookie ([7611c307](https://github.com/hyperium/hyper/commit/7611c3071475afa2b0b80bbba2a0a7223a3d5920))
|
|
|
|
|
|
#### Features
|
|
|
|
* **header:** add Headers::append_raw ([6babbc40](https://github.com/hyperium/hyper/commit/6babbc40fb86a29ad76083a2a386182c40c0f335))
|
|
|
|
|
|
### v0.10.2 (2017-01-23)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **header:** security fix for header values that include newlines ([2603d78f](https://github.com/hyperium/hyper/commit/2603d78f59d284953553b7ef48c3ea4baa085cd1))
|
|
* **net:** set timeouts directly in `accept` ([f5d4d653](https://github.com/hyperium/hyper/commit/f5d4d653e35ed20bbbb0b13847b3b9f1cfe9575f))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* This technically will cause code that a calls
|
|
`SetCookie.fmt_header` to 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](https://github.com/hyperium/hyper/commit/2603d78f59d284953553b7ef48c3ea4baa085cd1))
|
|
|
|
|
|
### v0.10.1 (2017-01-19)
|
|
|
|
|
|
## v0.10.0 (2017-01-10)
|
|
|
|
#### Features
|
|
|
|
* **client:**
|
|
* change ProxyConfig to allow HTTPS proxies ([14a4f1c2](https://github.com/hyperium/hyper/commit/14a4f1c2f735efe7b638e9078710ca32dc1e360a))
|
|
* remove experimental HTTP2 support ([d301c6a1](https://github.com/hyperium/hyper/commit/d301c6a1708c7d408b7f03ac46674a5f0edd3253))
|
|
* **header:** remove `cookie` dependency ([f22701f7](https://github.com/hyperium/hyper/commit/f22701f7e7258ad4a26645eba47a3d374e452e86))
|
|
* **lib:**
|
|
* remove SSL dependencies ([2f48612c](https://github.com/hyperium/hyper/commit/2f48612c7e141a9d612d7cb9d524b2f460561f56))
|
|
* remove `serde-serialization` feature ([7b9817ed](https://github.com/hyperium/hyper/commit/7b9817edcf4451bd033e55467c75577031bfe740))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* There is no more `hyper::http::h2`.
|
|
|
|
([d301c6a1](https://github.com/hyperium/hyper/commit/d301c6a1708c7d408b7f03ac46674a5f0edd3253))
|
|
* The `Cookie` and `SetCookie` headers 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](https://github.com/hyperium/hyper/commit/f22701f7e7258ad4a26645eba47a3d374e452e86))
|
|
* There is no longer a `serde-serialization` feature.
|
|
Look at external crates, like `hyper-serde`, to fulfill this feature.
|
|
|
|
([7b9817ed](https://github.com/hyperium/hyper/commit/7b9817edcf4451bd033e55467c75577031bfe740))
|
|
* hyper will no longer provide OpenSSL support out of the
|
|
box. The `hyper::net::Openssl` and related types are gone. The `Client`
|
|
now uses an `HttpConnector` by 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](https://github.com/hyperium/hyper/commit/2f48612c7e141a9d612d7cb9d524b2f460561f56))
|
|
* Usage of `with_proxy_config` will need to change to
|
|
provide a network connector. For the same functionality, a
|
|
`hyper::net::HttpConnector` can be easily created and passed.
|
|
|
|
([14a4f1c2](https://github.com/hyperium/hyper/commit/14a4f1c2f735efe7b638e9078710ca32dc1e360a))
|
|
|
|
|
|
### v0.9.14 (2016-12-12)
|
|
|
|
|
|
#### Features
|
|
|
|
* **headers:** add star, json, text, image constructors to Accept ([a9fbbd7f](https://github.com/hyperium/hyper/commit/a9fbbd7fdbcbec51ef560e9882a8fefa64a93b54))
|
|
* **server:** add 'take_buf' method to BufReader ([bbbce5fc](https://github.com/hyperium/hyper/commit/bbbce5fc8bca0bcc34df4a4a9223432085fba2ff))
|
|
|
|
|
|
### v0.9.13 (2016-11-27)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:** close Pooled streams on sockopt error ([d5ffee2e](https://github.com/hyperium/hyper/commit/d5ffee2ec801274ac271273289084b7251b4ce89))
|
|
|
|
|
|
### v0.9.12 (2016-11-09)
|
|
|
|
|
|
#### Features
|
|
|
|
* **error:** re-export url::ParseError ([30e78ac2](https://github.com/hyperium/hyper/commit/30e78ac212ed3085a5217e8d7f641c2f161ddc87))
|
|
|
|
|
|
### v0.9.11 (2016-10-31)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **headers:** Allow IPv6 Addresses in Host header ([20f177ab](https://github.com/hyperium/hyper/commit/20f177abec12397f23adf43f6b726daee1a731cf))
|
|
|
|
|
|
#### Features
|
|
|
|
* **headers:**
|
|
* Add strict-origin and strict-origin-when-cross-origin referer policy ([1be4e769](https://github.com/hyperium/hyper/commit/1be4e7693f7d27c049f35fefb9fffead2581b1f4))
|
|
* support multiple values for Referrer-Policy header ([dc476657](https://github.com/hyperium/hyper/commit/dc4766573af9bd31d57fede5b9ef0ffa56fe44ab), closes [#882](https://github.com/hyperium/hyper/issues/882))
|
|
* add last-event-id header ([2277987f](https://github.com/hyperium/hyper/commit/2277987f3c25380353db606ca7baaf0c854095cd))
|
|
* **server:** accept combined certificate files ([eeb1f48e](https://github.com/hyperium/hyper/commit/eeb1f48e17f4c71162ce90f88bda3dc37b489cc7))
|
|
|
|
|
|
### v0.9.10 (2016-07-11)
|
|
|
|
|
|
#### Features
|
|
|
|
* **headers:**
|
|
* add origin header ([64881ae0](https://github.com/hyperium/hyper/commit/64881ae05458f06261b2e7d0f790184678cc42b9))
|
|
* Add Referrer-Policy header ([b76a02cc](https://github.com/hyperium/hyper/commit/b76a02cc446f2a3935006035fd73f5f7a47ec428))
|
|
|
|
|
|
### v0.9.9 (2016-06-21)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **headers:** Remove raw part when getting mutable reference to typed header ([63b61524](https://github.com/hyperium/hyper/commit/63b615249443b8f897018f21473c2f1f8e43663c), closes [#821](https://github.com/hyperium/hyper/issues/821))
|
|
|
|
|
|
#### Features
|
|
|
|
* **error:** Display for Error shows better info ([5620fbf9](https://github.com/hyperium/hyper/commit/5620fbf98f1fd43482a9ffa3c98f2f38b42fd4b0), closes [#694](https://github.com/hyperium/hyper/issues/694))
|
|
|
|
|
|
### v0.9.8 (2016-06-14)
|
|
|
|
|
|
#### Features
|
|
|
|
* **client:** enable use of custom TLS wrapper for proxied connections ([0476196c](https://github.com/hyperium/hyper/commit/0476196c320765a66f730c56048998980b173caf), closes [#824](https://github.com/hyperium/hyper/issues/824))
|
|
|
|
|
|
### v0.9.7 (2016-06-09)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **proxy:** fix the 0.9.x build with `--no-default-features --features=security-framework` ([6caffe9f](https://github.com/hyperium/hyper/commit/6caffe9fb302da99ce8cf0c8027c06b8c6de782d), closes [#819](https://github.com/hyperium/hyper/issues/819))
|
|
* **server:** Request.ssl() works ([ce0b62ea](https://github.com/hyperium/hyper/commit/ce0b62eae7688987b722599be8e8b2ff6764b224))
|
|
|
|
|
|
### v0.9.6 (2016-05-23)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:** Manually impl Debug for PooledStream ([aa692236](https://github.com/hyperium/hyper/commit/aa692236a851d29abec63b6a0d61d957cea5fd26))
|
|
* **server:** Switch Ssl to SslServer in bounds ([470bc8ec](https://github.com/hyperium/hyper/commit/470bc8ec396bfc9ead6782f72e6de58268767a5a))
|
|
|
|
|
|
### v0.9.5 (2016-05-18)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **windows:** disable openssl cert validation for Windows ([c89aca81](https://github.com/hyperium/hyper/commit/c89aca812bf863aadb52326f534a65c1d3cf31d6), closes [#794](https://github.com/hyperium/hyper/issues/794))
|
|
|
|
|
|
#### Features
|
|
|
|
* **net:** Add OpensslClient constructor ([3c0e1050](https://github.com/hyperium/hyper/commit/3c0e105011fc8a4fc639370836aa6a2e576b6f0e))
|
|
|
|
|
|
### v0.9.4 (2016-05-09)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **warnings:** remove unused_code warnings from newest nightlies ([e7229480](https://github.com/hyperium/hyper/commit/e7229480ea669bbe62fe644e312ba06cdca45b1c))
|
|
|
|
|
|
#### Features
|
|
|
|
* **ssl:**
|
|
* enable hostname verification by default for OpenSSL ([01160abd](https://github.com/hyperium/hyper/commit/01160abd92956e5f995cc45790df7a2b86c8989f), closes [#472](https://github.com/hyperium/hyper/issues/472))
|
|
* use secure ciphers by default in openssl ([54bf6ade](https://github.com/hyperium/hyper/commit/54bf6adeee1c3a231925f3efa7e38f875bc2d4d5))
|
|
|
|
### v0.9.3 (2016-05-09)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:** fix panic in Pool::connect ([e51bafe2](https://github.com/hyperium/hyper/commit/e51bafe2e4f2a1efc36790232bef488c91131d0b), closes [#780](https://github.com/hyperium/hyper/issues/780))
|
|
|
|
|
|
### v0.9.2 (2016-05-04)
|
|
|
|
|
|
#### Features
|
|
|
|
* **client:**
|
|
* proper proxy and tunneling in Client ([f36c6b25](https://github.com/hyperium/hyper/commit/f36c6b25), closes [#774](https://github.com/hyperium/hyper/issues/774))
|
|
* add Proxy support ([25010fc1](https://github.com/hyperium/hyper/commit/25010fc1), closes [#531](https://github.com/hyperium/hyper/issues/531))
|
|
|
|
#### Performance
|
|
|
|
* **client:** don't keep Pool mutex locked during getaddrinfo ([5fcc04a6](https://github.com/hyperium/hyper/commit/5fcc04a6))
|
|
|
|
|
|
### v0.9.1 (2016-04-21)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **Cargo.toml:** update documentation link ([b783ddf4](https://github.com/hyperium/hyper/commit/b783ddf455ee93cc38510f3179ffe18733c797c1))
|
|
|
|
|
|
## v0.9.0 (2016-04-21)
|
|
|
|
|
|
#### Features
|
|
|
|
* **net:** Add Ssl impls for security-framework ([f37315b2](https://github.com/hyperium/hyper/commit/f37315b2708e092eaf5177a6960df9f7bf11eb5c))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* The re-exported Url type has breaking changes.
|
|
([8fa7a989](https://github.com/hyperium/hyper/commit/8fa7a9896809ef2a24994993b91981105a520f26))
|
|
|
|
|
|
### v0.8.1 (2016-04-13)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **headers:** correctly handle repeated headers ([70c69142](https://github.com/hyperium/hyper/commit/70c6914217a9b48880e61b7fb59acd15c6e1421e), closes [#683](https://github.com/hyperium/hyper/issues/683))
|
|
|
|
|
|
#### Features
|
|
|
|
* **header:** add prefer and preference applied headers ([6f649301](https://github.com/hyperium/hyper/commit/6f6493010a9c190b29aceb3c10c65785923a85f5), closes [#747](https://github.com/hyperium/hyper/issues/747))
|
|
* **net:** Split Ssl into SslClient and SslServer ([2c86e807](https://github.com/hyperium/hyper/commit/2c86e8078ec01db2283e1fee1461db4c7bf76d3f), closes [#756](https://github.com/hyperium/hyper/issues/756))
|
|
|
|
|
|
## v0.8.0 (2016-03-14)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **headers:** remove charset from `ContentType::json()` convenience method ([ec568e9a](https://github.com/hyperium/hyper/commit/ec568e9a551018b3353b6754eb2fcd729c7ea3c6))
|
|
* **net:** fix the typo in `set_write_timeout` ([7c76fff3](https://github.com/hyperium/hyper/commit/7c76fff3aaf0f0a300e76622acb56eaf1e2cb474))
|
|
|
|
|
|
#### Features
|
|
|
|
* **client:** Implement Debug for Client ([8c7ef7fd](https://github.com/hyperium/hyper/commit/8c7ef7fd937616798780d43f80a6b46507bc3433))
|
|
* **status:** add HTTP statuses 421 and 451 ([93fd5a87](https://github.com/hyperium/hyper/commit/93fd5a87bddc5bfe29f35f86d44d3f46c81ff5fa))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* mime 0.2 depends on serde 0.7, so any instances of
|
|
using older versions of serde will need to upgrade.
|
|
|
|
([146df53c](https://github.com/hyperium/hyper/commit/146df53caf2a70cd15f97710738ba8d350040c12))
|
|
|
|
|
|
### v0.7.2 (2016-01-04)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **buffer:** fix incorrect resizing of BufReader ([3a18e72b](https://github.com/hyperium/hyper/commit/3a18e72be67152834f6967c6d208f214288178ee), closes [#715](https://github.com/hyperium/hyper/issues/715))
|
|
|
|
|
|
#### Features
|
|
|
|
* **headers:** allow ExtendedValue structs to be formatted and used as struct members ([da0abe89](https://github.com/hyperium/hyper/commit/da0abe8988a61281b447a554b65ea8fd5d54f81b))
|
|
|
|
|
|
### v0.7.1 (2015-12-19)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **cargo:** remove * dependencies for serde and env_logger ([4a05bee9](https://github.com/hyperium/hyper/commit/4a05bee9abdc426bbd904fe356b771e492dc8f43))
|
|
* **server:**
|
|
* Flush 100-continue messages ([92ff50f2](https://github.com/hyperium/hyper/commit/92ff50f2e57fa2cb8a55b3d6d9fa43ef9a1b5526), closes [#704](https://github.com/hyperium/hyper/issues/704))
|
|
* Removed check for GET/HEAD request when parsing body ([0b05c590](https://github.com/hyperium/hyper/commit/0b05c5903e86327cc9cb4cac39217e496851fce3), closes [#698](https://github.com/hyperium/hyper/issues/698))
|
|
|
|
|
|
#### Features
|
|
|
|
* **headers:** add extended parameter parser to the public API ([402fb76b](https://github.com/hyperium/hyper/commit/402fb76bb2f3dab101509e4703743ab075ae41be))
|
|
|
|
|
|
## v0.7.0 (2015-11-24)
|
|
|
|
|
|
#### Features
|
|
|
|
* **all:** add socket timeouts ([fec6e3e8](https://github.com/hyperium/hyper/commit/fec6e3e873eb79bd17d1c072d2ca3c7b91624f9c))
|
|
* **headers:**
|
|
* Add Content-Disposition header ([7623ecc2](https://github.com/hyperium/hyper/commit/7623ecc26466e2e072eb2b03afc5e6c16d8e9bc9), closes [#561](https://github.com/hyperium/hyper/issues/561))
|
|
* Add Access-Control-Allow-Credentials header ([19348b89](https://github.com/hyperium/hyper/commit/19348b892be4687e2c0e48b3d01562562340aa1f), closes [#655](https://github.com/hyperium/hyper/issues/655))
|
|
* re-export CookiePair and CookieJar ([799698ca](https://github.com/hyperium/hyper/commit/799698ca87bc8f2f5446e9cb1301e5976657db6b))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* This adds 2 required methods to the `NetworkStream`
|
|
trait, `set_read_timeout` and `set_write_timeout`. Any local
|
|
implementations will need to add them.
|
|
|
|
([fec6e3e8](https://github.com/hyperium/hyper/commit/fec6e3e873eb79bd17d1c072d2ca3c7b91624f9c))
|
|
* LanguageTags api is changed.
|
|
|
|
([c747f99d](https://github.com/hyperium/hyper/commit/c747f99d2137e03b5f4393ee3731f6ebeab9ee6e))
|
|
|
|
|
|
### v0.6.16 (2015-11-16)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **response:** respond with a 500 if a handler panics ([63c6762c](https://github.com/hyperium/hyper/commit/63c6762c15ec790f54391a71794315599ae0ced8))
|
|
|
|
|
|
#### Features
|
|
|
|
* **headers:** Add Access-Control-Expose-Headers ([f783e991](https://github.com/hyperium/hyper/commit/f783e9913b988f3d5c28707e2291145999756dbe))
|
|
* **server:** Add hooks for HttpListener and HttpsListener to be started from existing listener ([fa0848d4](https://github.com/hyperium/hyper/commit/fa0848d4216aa81e7b7619b7ce0a650356ee7ab7))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* `RequestBuilder<U>` should be replaced by `RequestBuilder`.
|
|
|
|
([ff4a6070](https://github.com/hyperium/hyper/commit/ff4a6070573955d1623d51a3d5302a17eed8f8d6))
|
|
|
|
|
|
### v0.6.15 (2015-10-09)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **server:** use a timeout for Server keep-alive ([cdaa2547](https://github.com/hyperium/hyper/commit/cdaa2547ed18dfb0e3b8ed2ca15cfda1f98fa9fc), closes [#368](https://github.com/hyperium/hyper/issues/368))
|
|
|
|
|
|
#### Features
|
|
|
|
* **client:** add patch method to Client builder interface ([03827c31](https://github.com/hyperium/hyper/commit/03827c3156b5c0a7c865c5846aca2c1ce7a9f4ce))
|
|
|
|
|
|
### v0.6.14 (2015-09-21)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **http:**
|
|
* Add a stream enum that makes it impossible to lose a stream ([be4e7181](https://github.com/hyperium/hyper/commit/be4e7181456844180963d0e5234656c319ce92a6))
|
|
* Make sure not to lose the stream when CL is invalid ([a36e44af](https://github.com/hyperium/hyper/commit/a36e44af7d4e665a122c1498011ff10035f7376f))
|
|
* **server:** use EmptyWriter for status codes that have no body ([9b2998bd](https://github.com/hyperium/hyper/commit/9b2998bddc3c033e4fc4e6a9b7d18504339ded3f))
|
|
* **timeouts:** remove rust #![feature] for socket timeouts ([b8729698](https://github.com/hyperium/hyper/commit/b872969880be502b681def26d6b9780cc90ac74b))
|
|
|
|
|
|
#### Features
|
|
|
|
* **headers:** add PartialEq impl for Headers struct ([76cbf384](https://github.com/hyperium/hyper/commit/76cbf384231e602d888e49932bf9c4fafdd88051))
|
|
|
|
|
|
### v0.6.13 (2015-09-02)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:** EofReader by nature means the connection is closed ([32e09a04](https://github.com/hyperium/hyper/commit/32e09a04292b0247456a8fb9003a75a6abaa998e))
|
|
|
|
|
|
### v0.6.12 (2015-09-01)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:** be resilient to invalid response bodies ([75c71170](https://github.com/hyperium/hyper/commit/75c71170206db3119d9b298ea5cf3ee860803124), closes [#640](https://github.com/hyperium/hyper/issues/640))
|
|
* **examples:** "cargo test --features serde-serialization" ([63608c49](https://github.com/hyperium/hyper/commit/63608c49c0168634238a119eb64ea1074df1b7e6))
|
|
* **http:** fix several cases in HttpReader ([5c7195ab](https://github.com/hyperium/hyper/commit/5c7195ab4a213bf0016f2185a63a6341e4cef4de))
|
|
|
|
|
|
#### Features
|
|
|
|
* **server:** Add Handler per-connection hooks ([6b6182e8](https://github.com/hyperium/hyper/commit/6b6182e8c4c81f634becebe7b45dc21bff59a286))
|
|
|
|
|
|
### v0.6.11 (2015-08-27)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:** fix panics when some errors occurred inside HttpMessage ([ef15257b](https://github.com/hyperium/hyper/commit/ef15257b733d40bc3a7c598f61918f91385585f9))
|
|
* **headers:** case insensitive values for Connection header ([341f8eae](https://github.com/hyperium/hyper/commit/341f8eae6eb33e2242be09541807cdad9afc732e), closes [#635](https://github.com/hyperium/hyper/issues/635))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* This changes the signature of HttpWriter.end(),
|
|
returning a `EndError` that 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 `Client` API,
|
|
but for anyone using `HttpWriter` directly, since this was technically
|
|
a public method, that change is breaking.
|
|
|
|
([ef15257b](https://github.com/hyperium/hyper/commit/ef15257b733d40bc3a7c598f61918f91385585f9))
|
|
|
|
|
|
### v0.6.10 (2015-08-19)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:** close connection when there is an Error ([d32d35bb](https://github.com/hyperium/hyper/commit/d32d35bbea947172224082e1f9b711022ce75e30))
|
|
|
|
|
|
#### Features
|
|
|
|
* **uri:** implement fmt::Display for RequestUri () ([80931cf4](https://github.com/hyperium/hyper/commit/80931cf4c31d291125700ed3f9be5b3cb015d797), closes [#629](https://github.com/hyperium/hyper/issues/629))
|
|
|
|
|
|
### v0.6.9 (2015-08-13)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:**
|
|
* improve keep-alive of bodyless Responses ([67c284a9](https://github.com/hyperium/hyper/commit/67c284a96a006f888f43d8af929516465de76dea))
|
|
* improve HttpReader selection for client Responses ([31f117ea](https://github.com/hyperium/hyper/commit/31f117ea08c01889016fd45e7084e9a049c53f7a), closes [#436](https://github.com/hyperium/hyper/issues/436))
|
|
* **nightly:** remove feature flag for duration ([0455663a](https://github.com/hyperium/hyper/commit/0455663a98d7969c23d64d0b775799342507ef8e))
|
|
|
|
|
|
#### Features
|
|
|
|
* **headers:** Content-Range header ([af062ac9](https://github.com/hyperium/hyper/commit/af062ac954d5b90275138880ce2f5013d6664b5a))
|
|
* **net:** impl downcast methods for NetworkStream (without + Send) ([1a91835a](https://github.com/hyperium/hyper/commit/1a91835abaa804aabf2e9bb45e9ab087274b8a18), closes [#521](https://github.com/hyperium/hyper/issues/521))
|
|
* **server:** add Request.ssl() to get underlying ssl stream ([7909829f](https://github.com/hyperium/hyper/commit/7909829f98bd9a2f454430f89b6143b977aedb35), closes [#627](https://github.com/hyperium/hyper/issues/627))
|
|
|
|
|
|
### v0.6.8 (2015-08-03)
|
|
|
|
|
|
#### Features
|
|
|
|
* **raw-fd:** implement FromRawFd/FromRawSocket ([664bde58](https://github.com/hyperium/hyper/commit/664bde58d8a6b2d6ce5624ed96b8d6d68214a782))
|
|
|
|
|
|
### v0.6.7 (2015-08-03)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **headers:** fix broken deserialization of headers ([f5f5e1cb](https://github.com/hyperium/hyper/commit/f5f5e1cb2d01a22f170432e73b9c5757380cc18b))
|
|
|
|
|
|
#### Features
|
|
|
|
* **net:**
|
|
* Implement NetworkConnector for closure to be more flexible ([abdd4c5d](https://github.com/hyperium/hyper/commit/abdd4c5d632059ebef9bbee95032c9500620212e))
|
|
* add socket timeouts to Server and Client ([7d1f154c](https://github.com/hyperium/hyper/commit/7d1f154cb7b4db4a029b52857c377000a3f23419), closes [#315](https://github.com/hyperium/hyper/issues/315))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* Any custom implementation of NetworkStream must now
|
|
implement `set_read_timeout` and `set_write_timeout`, so those will
|
|
break. Most users who only use the provided streams should work with
|
|
no changes needed.
|
|
|
|
Closes #315
|
|
|
|
([7d1f154c](https://github.com/hyperium/hyper/commit/7d1f154cb7b4db4a029b52857c377000a3f23419))
|
|
|
|
|
|
### v0.6.5 (2015-07-23)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **tests:** iter.connect() is now iter.join() ([d2e8b5dc](https://github.com/hyperium/hyper/commit/d2e8b5dc3d2e6f0386656f4a5926acb848d4a61d))
|
|
|
|
|
|
#### Features
|
|
|
|
* **status:**
|
|
* implement `Hash` for `StatusCode` ([d84f291a](https://github.com/hyperium/hyper/commit/d84f291abc0a64e270143eee943a76a7aebec029))
|
|
* implement `Hash` for `StatusCode` ([aa85f609](https://github.com/hyperium/hyper/commit/aa85f609b5136cb2a9b23408a2b125c6a8a20f37))
|
|
|
|
|
|
### v0.6.4 (2015-07-23)
|
|
|
|
|
|
#### Features
|
|
|
|
* **http:** add optional serialization of common types via `serde` ([87de1b77](https://github.com/hyperium/hyper/commit/87de1b77bcd5533c70a6ab9379121001acc5d366))
|
|
|
|
|
|
### v0.6.3 (2015-07-08)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **lint:** change deny(missing_docs) to only apply for tests ([5994a6f8](https://github.com/hyperium/hyper/commit/5994a6f8b4e48c9ab766e425dba210bdac59b00b), closes [#600](https://github.com/hyperium/hyper/issues/600))
|
|
|
|
|
|
### v0.6.2 (2015-07-06)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **http:** no longer keep alive for Http1.0 if no Connection header ([ddecb262](https://github.com/hyperium/hyper/commit/ddecb262b39b90e594a95ba16c4dc8085930677e), closes [#596](https://github.com/hyperium/hyper/issues/596))
|
|
|
|
|
|
#### Features
|
|
|
|
* **client:** add url property Response ([82ed9092](https://github.com/hyperium/hyper/commit/82ed9092e30385de004912582a7838e037497c82))
|
|
* **headers:** add strict-transport-security header ([7c2e5124](https://github.com/hyperium/hyper/commit/7c2e5124e6678a5806f980902031e6f01652d218), closes [#589](https://github.com/hyperium/hyper/issues/589))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* Access-Control-Allow-Origin does no longer use Url
|
|
|
|
([ed458628](https://github.com/hyperium/hyper/commit/ed458628e54bd241b45f50fb0cf55a84ffb12205))
|
|
* 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](https://github.com/hyperium/hyper/commit/82ed9092e30385de004912582a7838e037497c82))
|
|
|
|
|
|
### v0.6.1 (2015-06-26)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **benches:** adjust to missing `set_ssl_verifier` ([eb38a11b](https://github.com/hyperium/hyper/commit/eb38a11b9ab401d6b909077f92507fa872349d13))
|
|
* **cargo:** fix linking on OSX 10.10 ([9af2b66f](https://github.com/hyperium/hyper/commit/9af2b66fe4003706517d95ed94013af9cd365b24))
|
|
* **client:** use Ssl instance in creation of SslStream ([1a490e25](https://github.com/hyperium/hyper/commit/1a490e25c321bdd173d47ed7a7a704039746fb29))
|
|
|
|
|
|
## v0.6.0 (2015-06-24)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:** check for drained stream in Response::drop ([e689f203](https://github.com/hyperium/hyper/commit/e689f20376d3e078f5d380902d39f8ae9c043486))
|
|
|
|
|
|
#### Features
|
|
|
|
* **client:**
|
|
* impl Sync for Client ([64e47b4b](https://github.com/hyperium/hyper/commit/64e47b4bbd0433065a059804adeb2b4a2d72f327), closes [#254](https://github.com/hyperium/hyper/issues/254))
|
|
* implement Protocol trait for HTTP/1.1 ([dccdf8d6](https://github.com/hyperium/hyper/commit/dccdf8d65a9b900daec34555d3b97c2c3c678067))
|
|
* add `Protocol` trait ([3417303a](https://github.com/hyperium/hyper/commit/3417303a4a9aa4809729d53f0d018338e876da51))
|
|
* implement HttpMessage for HTTP/1.1 ([ecb713f8](https://github.com/hyperium/hyper/commit/ecb713f8494b13bdba91258b1507e8f7ce62b8d9))
|
|
* add `HttpMessage` trait ([289fd02b](https://github.com/hyperium/hyper/commit/289fd02b55a42748cbce8de428939208713a765d))
|
|
* **error:** add private `__Nonexhaustive` variant to Error ([7c0421e3](https://github.com/hyperium/hyper/commit/7c0421e3fc1d5a8b4868b57acca87abd685f3430))
|
|
* **headers:**
|
|
* add bearer token support ([edf6ac20](https://github.com/hyperium/hyper/commit/edf6ac2074d11694ded275807a66df3a8a8e33a6))
|
|
* add `Range` header ([05c31998](https://github.com/hyperium/hyper/commit/05c319984630b31d18dfbfa9b7567f6c7613d7f8))
|
|
* **http2:**
|
|
* implement message API for HTTP/2 ([f0fe2c5a](https://github.com/hyperium/hyper/commit/f0fe2c5a83bd4e654a4ff684f75a1b602f8f38fc))
|
|
* add new error variant for HTTP/2 ([48e9ca2f](https://github.com/hyperium/hyper/commit/48e9ca2f70f6c6475f1579ae9212af7b4ca87e88))
|
|
* add dependency on `solicit` ([3122ffef](https://github.com/hyperium/hyper/commit/3122ffefc2d56ffc03a6fcc264086df0c9d74083))
|
|
* **langtags:** use true language tags in headers ([99ff7e62](https://github.com/hyperium/hyper/commit/99ff7e62573865a1fc431db26b6a18c43b9127de))
|
|
* **ssl:** redesign SSL usage ([53bba6eb](https://github.com/hyperium/hyper/commit/53bba6eb7f34e61e5c8a835281d625436532de8f))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* AcceptLanguage and ContentLanguage use LanguageTag now,
|
|
Language removed from Hyper.
|
|
|
|
([99ff7e62](https://github.com/hyperium/hyper/commit/99ff7e62573865a1fc431db26b6a18c43b9127de))
|
|
* 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](https://github.com/hyperium/hyper/commit/53bba6eb7f34e61e5c8a835281d625436532de8f))
|
|
* Connectors and Protocols passed to the `Client` must
|
|
now also have a `Sync` bounds, but this shouldn't break default usage.
|
|
|
|
([64e47b4b](https://github.com/hyperium/hyper/commit/64e47b4bbd0433065a059804adeb2b4a2d72f327))
|
|
* parse_header returns Result instead of Option, related
|
|
code did also change
|
|
|
|
([195a89fa](https://github.com/hyperium/hyper/commit/195a89fa918a83c9dcab47a4b09edb464d4e8006))
|
|
* Adds a new variant to public Error enum. The proper fix
|
|
is to stop matching exhaustively on `hyper::Error`.
|
|
|
|
([7c0421e3](https://github.com/hyperium/hyper/commit/7c0421e3fc1d5a8b4868b57acca87abd685f3430))
|
|
* A new variant `Http2` added to a public enum
|
|
`hyper::Error`.
|
|
|
|
([48e9ca2f](https://github.com/hyperium/hyper/commit/48e9ca2f70f6c6475f1579ae9212af7b4ca87e88))
|
|
* `hyper::client::request::Response` is no longer generic
|
|
over `NetworkStream` types. It no longer requires a generic type
|
|
parameter at all.
|
|
|
|
([aa297f45](https://github.com/hyperium/hyper/commit/aa297f45322d66980bb2b51c413b15dfd51533ea))
|
|
|
|
|
|
### v0.5.2 (2015-06-01)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **buffer:** check capacity before resizing ([b1686d1b](https://github.com/hyperium/hyper/commit/b1686d1b22aa95a17088f99054d577bbb2aef9dc))
|
|
|
|
|
|
### v0.5.1 (2015-05-25)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:** don't close stream until EOF ([a5e6174e](https://github.com/hyperium/hyper/commit/a5e6174efd57afb1df7113c64f4e7718a3a94187), closes [#543](https://github.com/hyperium/hyper/issues/543))
|
|
|
|
|
|
#### Features
|
|
|
|
* **client:** implement Default trait for client ([be041d91](https://github.com/hyperium/hyper/commit/be041d915a55fa1b5088e112b81727b864949976))
|
|
* **header:** add ContentType::form_url_encoded() constructor ([2c99d4e9](https://github.com/hyperium/hyper/commit/2c99d4e9068b30ecb6d4eac4d364924fb253fdcd))
|
|
* **headers:** return hyper::Error instead of () from header components ([5d669399](https://github.com/hyperium/hyper/commit/5d669399b6ca5ec7d0f01b9d30513cd1cc4cc47b))
|
|
* **http:** add get_mut method to HttpReader ([e64ce8c0](https://github.com/hyperium/hyper/commit/e64ce8c05e847b2396e4b7e2bb656240e9806ed8))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* Error enum extended. Return type of header/shared/
|
|
types changed.
|
|
|
|
([5d669399](https://github.com/hyperium/hyper/commit/5d669399b6ca5ec7d0f01b9d30513cd1cc4cc47b))
|
|
|
|
|
|
## v0.5.0 (2015-05-12)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:**
|
|
* don't call close() inside Request ([3334fca2](https://github.com/hyperium/hyper/commit/3334fca278e662b2755e41045ce641238514bea9), closes [#519](https://github.com/hyperium/hyper/issues/519))
|
|
* keep the underlying connector when setting an SSL verifier ([f4556d55](https://github.com/hyperium/hyper/commit/f4556d554faa2a1170fec0af5b4076c31e7c3600), closes [#495](https://github.com/hyperium/hyper/issues/495))
|
|
* **mock:** adjust ChannelMockConnector connect method to compile ([085d7b07](https://github.com/hyperium/hyper/commit/085d7b0752d7fc0134e99e9eec2a67cc66b319b3))
|
|
|
|
|
|
#### Features
|
|
|
|
* **header:**
|
|
* add ContentType::json(), plaintext(), html(), jpeg(), and png() constructors ([b6114ecd](https://github.com/hyperium/hyper/commit/b6114ecd2e65bd59e79a67a45913adaf0f1552f0))
|
|
* add Connection::close() and ::keep_alive() constructors ([c2938fb4](https://github.com/hyperium/hyper/commit/c2938fb45f9c1fff2a1235d82b7741531de21445))
|
|
* export __hyper__tm! macro so test modules work with header! ([f64fb10b](https://github.com/hyperium/hyper/commit/f64fb10bc87bb4b5a5291d09364ad6c725a842d8))
|
|
* **net:**
|
|
* remove mut requirement for NetworkConnector.connect() ([1b318724](https://github.com/hyperium/hyper/commit/1b318724a5fd425366daddf15c5964d7c3cbc240))
|
|
* add `set_ssl_verifier` method to `NetworkConnector` trait ([a5d632b6](https://github.com/hyperium/hyper/commit/a5d632b6ea53d0988d6383dd734d0b5e6245ba2b))
|
|
* **server:** check Response headers for Connection: close in keep_alive loop ([49b5b8fd](https://github.com/hyperium/hyper/commit/49b5b8fdfe256ead8f3aa3d489bc4b299c190a9a))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* Usage of Response.deconstruct() and construct() now use
|
|
a &mut Headers, instead of the struct proper.
|
|
|
|
([49b5b8fd](https://github.com/hyperium/hyper/commit/49b5b8fdfe256ead8f3aa3d489bc4b299c190a9a))
|
|
* If you use deref! from the header module, you'll need
|
|
to switch to using __hyper__deref!.
|
|
|
|
([62d96adc](https://github.com/hyperium/hyper/commit/62d96adc6b852b3836b47fc2e154bbdbab9ad7f6))
|
|
* 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](https://github.com/hyperium/hyper/commit/1b318724a5fd425366daddf15c5964d7c3cbc240))
|
|
* Adding a new required method to a public trait is a
|
|
breaking change.
|
|
|
|
([a5d632b6](https://github.com/hyperium/hyper/commit/a5d632b6ea53d0988d6383dd734d0b5e6245ba2b))
|
|
|
|
|
|
## v0.4.0 (2015-05-07)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **net:** ignore NotConnected error in NetworkStream.close ([6be60052](https://github.com/hyperium/hyper/commit/6be60052c627b7e498d973465b4a3ee7efc40665), closes [#508](https://github.com/hyperium/hyper/issues/508))
|
|
|
|
|
|
#### Features
|
|
|
|
* **error:** add Ssl variant to hyper::Error ([972b3a38](https://github.com/hyperium/hyper/commit/972b3a388ac3af98ba038927c551b92be3a68d62), closes [#483](https://github.com/hyperium/hyper/issues/483))
|
|
* **headers:**
|
|
* Allow `null` value in Access-Control-Allow-Origin ([5e341714](https://github.com/hyperium/hyper/commit/5e3417145ced116147ef1e890b4f1e7c775ad173))
|
|
* Parse Upgrade header protocols further ([f47d11b9](https://github.com/hyperium/hyper/commit/f47d11b97bb4a4bf67c3f9aa47c203babf4a9c72), closes [#480](https://github.com/hyperium/hyper/issues/480))
|
|
* Add From header field ([ce9c4af1](https://github.com/hyperium/hyper/commit/ce9c4af1e0a46abc9f7908c2cb0659a2ecab137c))
|
|
* Add Accept-Ranges header field ([2dbe3f9b](https://github.com/hyperium/hyper/commit/2dbe3f9b9a3fc9f04346712e55f40dabaf72d9a8))
|
|
* **method:** implement `AsRef<str>` for `Method` ([c29af729](https://github.com/hyperium/hyper/commit/c29af729726ae782bece5e790bce02b0d3ab9ef9))
|
|
* **server:**
|
|
* add Response.send to write a sized body ([d5558b68](https://github.com/hyperium/hyper/commit/d5558b687d32d0affb9aaa7185227a4e294f5454), closes [#446](https://github.com/hyperium/hyper/issues/446))
|
|
* dropping a Response will write out to the underlying stream ([a9dcc59c](https://github.com/hyperium/hyper/commit/a9dcc59cd9846609a5733678f66353655c075279))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* Adds a variant to `hyper::Error`, which may break any
|
|
exhaustive matches.
|
|
|
|
([972b3a38](https://github.com/hyperium/hyper/commit/972b3a388ac3af98ba038927c551b92be3a68d62))
|
|
* The terms `Http` and `Error` have been removed from the Error
|
|
type and its variants. `HttpError` should now be accessed as `hyper::Error`,
|
|
and variants like `HttpIoError` should be accessed as `Error::Io`.
|
|
|
|
([9ba074d1](https://github.com/hyperium/hyper/commit/9ba074d150a55a749161317405fe8b28253c5a9d))
|
|
* Add variant to Access-Control-Allow-Origin enum
|
|
|
|
([5e341714](https://github.com/hyperium/hyper/commit/5e3417145ced116147ef1e890b4f1e7c775ad173))
|
|
* Upgrade header Protocol changed.
|
|
|
|
([f47d11b9](https://github.com/hyperium/hyper/commit/f47d11b97bb4a4bf67c3f9aa47c203babf4a9c72))
|
|
* `from_one_raw_str()` returns `None` on empty values.
|
|
|
|
([a6974c99](https://github.com/hyperium/hyper/commit/a6974c99d39fcbaf3fb9ed38428b21e0301f3602))
|
|
|
|
|
|
### v0.3.16 (2015-05-01)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **header:**
|
|
* make test_module of header! optional ([a5ce9c59](https://github.com/hyperium/hyper/commit/a5ce9c59fa61410551b07252364564a2bb13bb86), closes [#490](https://github.com/hyperium/hyper/issues/490))
|
|
* exporting test_header! macro ([2bc5a779](https://github.com/hyperium/hyper/commit/2bc5a779bdc3fce67e06c398ac8702fcbea93dab))
|
|
* **http:** keep raw reason phrase in RawStatus ([8cdb9d5d](https://github.com/hyperium/hyper/commit/8cdb9d5d3b0972629e8843d3c1db58dbbbaf49cf), closes [#497](https://github.com/hyperium/hyper/issues/497))
|
|
|
|
|
|
#### Features
|
|
|
|
* **client:** add a Connection Pool ([1e72a8ab](https://github.com/hyperium/hyper/commit/1e72a8ab3a0092bb863686ad2e65646710706c1b), closes [#363](https://github.com/hyperium/hyper/issues/363), [#41](https://github.com/hyperium/hyper/issues/41))
|
|
* **headers:** Add If-Range header ([a39735f1](https://github.com/hyperium/hyper/commit/a39735f1d3d1a314969b5b0085e8f77f0c10c863), closes [#388](https://github.com/hyperium/hyper/issues/388))
|
|
|
|
|
|
### v0.3.15 (2015-04-29)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **headers:**
|
|
* Do not parse empty values in list headers. ([093a29ba](https://github.com/hyperium/hyper/commit/093a29bab7eb27e78bb10506478ac486e8d61671))
|
|
* Fix formatting of 0 qualites and formatting of empty list header fields. ([621ef521](https://github.com/hyperium/hyper/commit/621ef521f6723ba2d59beff05ff39ae8fd6df2c3))
|
|
|
|
|
|
#### Features
|
|
|
|
* **client:**
|
|
* remove Clone requirement for NetworkStream in Client ([60d92c29](https://github.com/hyperium/hyper/commit/60d92c296a445b352679919c03c5ed2a2a297e16))
|
|
* accept &String as Body in RequestBuilder ([a2aefd9a](https://github.com/hyperium/hyper/commit/a2aefd9a5689d4816f7c054bd6c32aa5c6fe3087))
|
|
* accept &String for a Url in RequestBuilder ([8bc179fb](https://github.com/hyperium/hyper/commit/8bc179fb517735a7c1d5cd1d7f5598bb82914dc6))
|
|
* **headers:** Implement Content-Language header field ([308880b4](https://github.com/hyperium/hyper/commit/308880b455df4dbb5d32817b5c0320c2a88139e3), closes [#475](https://github.com/hyperium/hyper/issues/475))
|
|
* **net:** add https_using_context for user-supplied SslContext ([1a076d1b](https://github.com/hyperium/hyper/commit/1a076d1bc7e8fb9c58904b0cec879dcf0fbce97b))
|
|
* **server:** allow consumer to supply an SslContext ([3a1a2427](https://github.com/hyperium/hyper/commit/3a1a24270dd13e22ef59120d66d327528949d5e0), closes [#471](https://github.com/hyperium/hyper/issues/471))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* This removes the trait `IntoBody`, and instead using
|
|
`Into<Body>`, as it's more idiomatic. This will only have broken code
|
|
that had custom implementations of `IntoBody`, and can be fixed by
|
|
changing them to `Into<Body>`.
|
|
|
|
([a2aefd9a](https://github.com/hyperium/hyper/commit/a2aefd9a5689d4816f7c054bd6c32aa5c6fe3087))
|
|
|
|
|
|
### v0.3.14 (2015-04-18)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **http:** Adjust httparse Request and Response lifetimes. ([76550fdb](https://github.com/hyperium/hyper/commit/76550fdb20bb812e92a1fc3f3a7eaaf4a689348b))
|
|
|
|
|
|
### v0.3.13 (2015-04-17)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **server:** JoinHandle type parameter ([c694b138](https://github.com/hyperium/hyper/commit/c694b1385bd294e7c8e0398ee75e3a054ced5006))
|
|
|
|
|
|
#### Features
|
|
|
|
* **debug:** add Debug impls for StatusClass, Server, and Listening ([0fb92ee7](https://github.com/hyperium/hyper/commit/0fb92ee735136a07c832124df521b96a6779bd39))
|
|
|
|
|
|
### v0.3.12 (2015-04-15)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **server:**
|
|
* handle keep-alive closing ([d9187713](https://github.com/hyperium/hyper/commit/d9187713b2eaa628eb34f68c8a7201a6cf8e010d), closes [#437](https://github.com/hyperium/hyper/issues/437))
|
|
* join on thread when Listening drops ([68d4d63c](https://github.com/hyperium/hyper/commit/68d4d63c2a0289b72ec1442d13e1212a0479c50b), closes [#447](https://github.com/hyperium/hyper/issues/447))
|
|
* Use thread::spawn instead of thread::scoped. ([e8649567](https://github.com/hyperium/hyper/commit/e864956734af72bab07a3e01c9665bc1b7c96e5e))
|
|
|
|
|
|
#### Features
|
|
|
|
* **http:** Implement Debug for HttpReader/Writer. ([2f606c88](https://github.com/hyperium/hyper/commit/2f606c88bd91e5e36dee4c6db00c3117b1adf067))
|
|
* **log:** clean up logging ([4f09b002](https://github.com/hyperium/hyper/commit/4f09b002ffb2d076fc8fb01d9b9e0464216b2b41))
|
|
* **net:** make HttpStream implement Debug ([7b7f9c25](https://github.com/hyperium/hyper/commit/7b7f9c257d0e2d515bf336c567f12a625471e477))
|
|
|
|
|
|
### v0.3.11 (2015-04-15)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **headers:** Content-Encoding needs a hyphen. ([ca2815ef](https://github.com/hyperium/hyper/commit/ca2815effda2a5b27f781b7bc35105aa81121bae))
|
|
|
|
|
|
#### Features
|
|
|
|
* **client:** remove generic parameter for Connector ([139a51f1](https://github.com/hyperium/hyper/commit/139a51f1c31b80cdddf643e984bbbfbb3d3e8c96), closes [#379](https://github.com/hyperium/hyper/issues/379))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* `AccessControlAllowHeaders` and `AccessControlRequestHeaders` values
|
|
are case insensitive now. `AccessControlAllowOrigin` variants are now `Any` and
|
|
`Value` to match the other headers.
|
|
|
|
([94f38950](https://github.com/hyperium/hyper/commit/94f38950ddf9a97fdc4f44e42aada4ed8f4d9b43))
|
|
* `If-Match`, `If-None-Match` and `Vary` item variant name changed to `Items`
|
|
|
|
([38d297b1](https://github.com/hyperium/hyper/commit/38d297b16e5d14d533947988f770f03b49d47a17))
|
|
* `Etag` header field is now `ETag` header field
|
|
|
|
([4434ea6a](https://github.com/hyperium/hyper/commit/4434ea6a7d57d367c0a541c82f6289ffbda5fb6c))
|
|
* 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](https://github.com/hyperium/hyper/commit/139a51f1c31b80cdddf643e984bbbfbb3d3e8c96))
|
|
|
|
|
|
### v0.3.10 (2015-04-06)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **README:** Update to compile example against Rust beta ([341f19d3](https://github.com/hyperium/hyper/commit/341f19d3266c6de9a9a90c94f718124792766630))
|
|
|
|
|
|
### v0.3.9 (2015-04-03)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **headers:** Add CowStr as a temporary hack to build on beta. ([8e065563](https://github.com/hyperium/hyper/commit/8e0655637e80c5377c01da4dbca6fb627e6d4225))
|
|
|
|
|
|
### v0.3.8 (2015-04-02)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **rustup:** update to rust beta ([0f5858f3](https://github.com/hyperium/hyper/commit/0f5858f37974731243d47710364776fdd73376fe))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* Removed impl_header!() and impl_list_header!() macros,
|
|
use new header!() macro.
|
|
|
|
([262c450f](https://github.com/hyperium/hyper/commit/262c450f908dbf27754daff0784f0f20145036dd))
|
|
|
|
|
|
### v0.3.7 (2015-03-31)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **buffer:** zero out new capacity when buffer grows ([cfdabd70](https://github.com/hyperium/hyper/commit/cfdabd70ecc3f5290ae1e6f7e5dfd50310d8658d))
|
|
|
|
|
|
#### Features
|
|
|
|
* **entitytag:** Add EntityTag comparison, make EntityTag safe to use ([9c21f7f9](https://github.com/hyperium/hyper/commit/9c21f7f953a5163792e71fb186cab391c45d1bb4))
|
|
|
|
|
|
### v0.3.6 (2015-03-30)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **buffer:** get_buf to not return consumed part of buffer ([04e3b565](https://github.com/hyperium/hyper/commit/04e3b5651561f087fee7c0345fe77d217d3ad35a), closes [#406](https://github.com/hyperium/hyper/issues/406))
|
|
* **rustup:** get rid of slice pattern, add `Reflect` bounds ([c9f2c841](https://github.com/hyperium/hyper/commit/c9f2c841ff0e68dead38e762ed5f8c0f42255bc4))
|
|
|
|
|
|
### v0.3.5 (2015-03-28)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **http:** read more before triggering TooLargeError ([cb59f609](https://github.com/hyperium/hyper/commit/cb59f609c61a097d5d9fa728b9df33d79922573b), closes [#389](https://github.com/hyperium/hyper/issues/389))
|
|
|
|
|
|
### v0.3.4 (2015-03-26)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **rustup:** static bounds required on Type definition, trivial_casts ([eee7a85d](https://github.com/hyperium/hyper/commit/eee7a85d3c3a3f51a1c3c12496c0e45ea312524e))
|
|
|
|
|
|
### v0.3.3 (2015-03-25)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **rustup:**
|
|
* rustc 1.0.0-nightly (123a754cb 2015-03-24) ([3e456f00](https://github.com/hyperium/hyper/commit/3e456f00f9991b1c723a232fc9c76fe8c0539858))
|
|
* 1.0.0-nightly (e2fa53e59 2015-03-20) ([f547080d](https://github.com/hyperium/hyper/commit/f547080df53076711b52a016b990c5be56f42ede))
|
|
|
|
|
|
#### Features
|
|
|
|
* **headers:** Implementing content-encoding header ([2983e8de](https://github.com/hyperium/hyper/commit/2983e8dea21f02a31012a25b0a302a128768030a), closes [#391](https://github.com/hyperium/hyper/issues/391))
|
|
|
|
|
|
### v0.3.2 (2015-03-20)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **benches:** removed unused features ([104d4903](https://github.com/hyperium/hyper/commit/104d49036ff40c730ec8bef8012f19ccbee4aaae))
|
|
* **rustup:**
|
|
* rustc 1.0.0-nightly (ea8b82e90) ([8181de25](https://github.com/hyperium/hyper/commit/8181de253aecfe81123e166a141ebfc8430ec4a4))
|
|
* adapt to current rustc ([1f0bc951](https://github.com/hyperium/hyper/commit/1f0bc951c9ee40cab622a72d614d4c45d889ccd3), closes [#381](https://github.com/hyperium/hyper/issues/381))
|
|
|
|
|
|
#### Features
|
|
|
|
* **server:** use SocketAddrs instead of Ipv4Addrs ([5d7be77e](https://github.com/hyperium/hyper/commit/5d7be77e4ac0d5c1d852c1208abc77a913c4f4d1))
|
|
|
|
|
|
### v0.3.1 (2015-03-18)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **header:** Fix charset parsing bug. ([5a6e176f](https://github.com/hyperium/hyper/commit/5a6e176f50fe667fbdc4c933c81d2db5ba5c571d))
|
|
* **headers:** Fix overflow with empty cookies ([99baaa10](https://github.com/hyperium/hyper/commit/99baaa10157f6c69ef1795a97e0db8bd794011f6))
|
|
* **rustup:** update to latest rustc ([4fd8a6a9](https://github.com/hyperium/hyper/commit/4fd8a6a9dc0dc969b36f3d3ad51cee177545f883))
|
|
|
|
|
|
#### Features
|
|
|
|
* **server:** add Expect 100-continue support ([0b716943](https://github.com/hyperium/hyper/commit/0b7169432b5f51efe5c167be418c2c50220e46a5), closes [#369](https://github.com/hyperium/hyper/issues/369))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* Several public functions and types in the `http` module
|
|
have been removed. They have been replaced with 2 methods that handle
|
|
all of the http1 parsing.
|
|
|
|
([b87bb20f](https://github.com/hyperium/hyper/commit/b87bb20f0c25891c30ef2399da2721596fbc1fcf))
|
|
|
|
|
|
## v0.3.0 (2015-03-03)
|
|
|
|
|
|
#### Features
|
|
|
|
* **headers:**
|
|
* add enum for Charset ([180d9a92](https://github.com/hyperium/hyper/commit/180d9a92d92541aa415c918a2265bd6b33d39655))
|
|
* add AcceptCharset header ([235089a1](https://github.com/hyperium/hyper/commit/235089a1034dc93ca62f47dcab0a93f1d49c72dd))
|
|
* add q function to ease creating Quality values ([d68773c7](https://github.com/hyperium/hyper/commit/d68773c79f998813bbd1bf50a0dbc2bc01ee0470))
|
|
* adds re-parsing ability when getting typed headers ([df756871](https://github.com/hyperium/hyper/commit/df756871edf4143135644c211106c5a8f8f5adb0))
|
|
* **hyper:** switch to std::io, std::net, and std::path. ([0fd6fcd7](https://github.com/hyperium/hyper/commit/0fd6fcd7c7f30c4317678a3b0968cc08ae9c0a71), closes [#347](https://github.com/hyperium/hyper/issues/347))
|
|
|
|
|
|
#### 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](https://github.com/hyperium/hyper/commit/df756871edf4143135644c211106c5a8f8f5adb0))
|
|
* Check the docs. Everything was touched.
|
|
|
|
([0fd6fcd7](https://github.com/hyperium/hyper/commit/0fd6fcd7c7f30c4317678a3b0968cc08ae9c0a71))
|
|
|
|
|
|
### v0.2.1 (2015-02-27)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **rustup:** str.split and associated type changes ([1b6e6a04](https://github.com/hyperium/hyper/commit/1b6e6a040fa26a8b3855ac46ccbcd5ee78065c71))
|
|
|
|
|
|
#### Features
|
|
|
|
* **headers:** add remove_raw method and corresponding test ([4f576780](https://github.com/hyperium/hyper/commit/4f576780c24ff3f943d5f821730ba65f4cdf8d4a), closes [#326](https://github.com/hyperium/hyper/issues/326))
|
|
|
|
|
|
## v0.2.0 (2015-02-21)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **headers:** use $crate when referring to hyper modules on macros ([e246c3ac](https://github.com/hyperium/hyper/commit/e246c3ace8395cb5d281b841a416c503db1054ee), closes [#323](https://github.com/hyperium/hyper/issues/323))
|
|
* **rustup:**
|
|
* Send changes ([4f5b97fe](https://github.com/hyperium/hyper/commit/4f5b97fefcea650214ca26c1aa197cd73683742f))
|
|
* CowString is gone ([98b8c4b1](https://github.com/hyperium/hyper/commit/98b8c4b13723d8fa1b4f1ba42a06bb533bf13694))
|
|
* Extend now takes an IntoIterator ([598d8f93](https://github.com/hyperium/hyper/commit/598d8f93e4a79dcc5ff58fbdc27e6b1a859786d1))
|
|
* Add PhantomData markers to phantom type users ([1904c456](https://github.com/hyperium/hyper/commit/1904c4561f00a345714beadfa077016306b2c05d))
|
|
* Remove uses of the obsolete &a[] syntax ([039e984f](https://github.com/hyperium/hyper/commit/039e984f6878d724d47f7e9fe7db765495ae2f10))
|
|
* Fix signature of IntoCow ([234fcdc3](https://github.com/hyperium/hyper/commit/234fcdc3a25deb06240848d601be9e68930a73e6))
|
|
* update feature flags ([b47f9365](https://github.com/hyperium/hyper/commit/b47f936525dde91b3456078ecf8d0c11917cc6b7))
|
|
* use module-level thread functions ([fc2076cd](https://github.com/hyperium/hyper/commit/fc2076cd53c37ea244a0b89d7dd4b1eb8aeeb1d3))
|
|
* update lifetime bounds ([f4a66b38](https://github.com/hyperium/hyper/commit/f4a66b38cb9e35bfec0bbc3c97e5298fc8ad8409))
|
|
|
|
|
|
#### Features
|
|
|
|
* **server:** make AcceptorPool::accept() block and allow non'-static data ([b0a72d80](https://github.com/hyperium/hyper/commit/b0a72d80d0e894220da6aa5ea29d71b278df596d))
|
|
|
|
|
|
### v0.1.13 (2015-02-17)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **server:** Drain requests on drop. ([3d0f423e](https://github.com/hyperium/hyper/commit/3d0f423eb26c4f14aaf9f8a909b307f661a3c5d6), closes [#197](https://github.com/hyperium/hyper/issues/197), [#309](https://github.com/hyperium/hyper/issues/309))
|
|
|
|
|
|
#### Features
|
|
|
|
* **header:** Support arbitrary status codes ([73978531](https://github.com/hyperium/hyper/commit/7397853148b8221c0eb8315ae2e5f195ad2e642c))
|
|
* **headers:**
|
|
* Implement PartialOrd for QualityItem ([2859d7ef](https://github.com/hyperium/hyper/commit/2859d7ef4ecadc3927fa46292ebbb225da597690), closes [#314](https://github.com/hyperium/hyper/issues/314))
|
|
* add AcceptLanguage header ([20a585e3](https://github.com/hyperium/hyper/commit/20a585e30bbb060a91839de7e95fd75a95d03d93))
|
|
* add IfMatch header ([5df06d44](https://github.com/hyperium/hyper/commit/5df06d4465fae01ef08b926f1f3be9f32a0f5c80))
|
|
* **server:** Rewrite the accept loop into a custom thread pool. ([3528fb9b](https://github.com/hyperium/hyper/commit/3528fb9b015a0959268452d5b42d5544c7b98a6a))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* This removes unregistered status codes from the enum. Use
|
|
`FromPrimitive` methods to create them now. StatusCode and StatusClass can no
|
|
longer be casted to `u16`, use `ToPrimitive` methods now.
|
|
For example `status.to_u16().unwrap()` to get the status code number.
|
|
|
|
([73978531](https://github.com/hyperium/hyper/commit/7397853148b8221c0eb8315ae2e5f195ad2e642c))
|
|
|
|
|
|
### v0.1.12 (2015-02-13)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **net:** don't stop the server when an SSL handshake fails with EOF ([55f12660](https://github.com/hyperium/hyper/commit/55f12660891812d13a59e799b0ab5b185926479a))
|
|
|
|
|
|
#### Features
|
|
|
|
* **headers:** Add `If-None-Match` header field ([318b067a](https://github.com/hyperium/hyper/commit/318b067a06ecb42f0fba51928675d3b4291c7643), closes [#238](https://github.com/hyperium/hyper/issues/238))
|
|
|
|
|
|
### v0.1.11 (2015-02-06)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **readme:** Make the README client example work ([9b5d6aab](https://github.com/hyperium/hyper/commit/9b5d6aab7e68cf776618151e9e69e34fd66aba6c))
|
|
|
|
|
|
#### Features
|
|
|
|
* **headers:** add IfUnmodifiedSince header ([b5543b67](https://github.com/hyperium/hyper/commit/b5543b67525e3d6ebc655d7e1736c8ade5b6dbb0))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* for any consumers of the Etag header, since the entity
|
|
tag is now in a tuple.
|
|
|
|
([28fd5c81](https://github.com/hyperium/hyper/commit/28fd5c81f54bb0ea3eda43a4014c736d00b4b07d))
|
|
|
|
|
|
### v0.1.10 (2015-02-03)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **headers:** add limit to maximum header size that should be parsed ([f18a8fb7](https://github.com/hyperium/hyper/commit/f18a8fb76f15f36dec329683abb66be203ab2e7e), closes [#256](https://github.com/hyperium/hyper/issues/256))
|
|
* **rustup:**
|
|
* update FromStr ([742081c8](https://github.com/hyperium/hyper/commit/742081c8cfeeb59908a653316a6377d05ffaa55c))
|
|
* fix unused_feature warning in example server ([05a3a6b7](https://github.com/hyperium/hyper/commit/05a3a6b70badc28da33ff65e8c15003f87738e07))
|
|
* switch to unstable features ([3af8b687](https://github.com/hyperium/hyper/commit/3af8b687d4a6ef462eb74b1f5a1cbb8f191902fd))
|
|
|
|
|
|
### v0.1.9 (2015-01-28)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **headers:** Don't display q if q=1 in quality item. ([91df2441](https://github.com/hyperium/hyper/commit/91df2441a0bb8c032b6fc5ccff50ed0eb98f2194), closes [#281](https://github.com/hyperium/hyper/issues/281))
|
|
* **rustup:** update io import, Writer::write ([f606b603](https://github.com/hyperium/hyper/commit/f606b6039d15a0b6e46f5154a9c5482866497a0c))
|
|
|
|
|
|
#### Features
|
|
|
|
* **status:** add is_<status_class>() methods to StatusCodes ([2d55a22e](https://github.com/hyperium/hyper/commit/2d55a22e738fb7f37a271be4fc3cf2ebdb9b5345))
|
|
|
|
|
|
### v0.1.8 (2015-01-27)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **headers:**
|
|
* make ConnectionHeader unicase ([e06e7d9a](https://github.com/hyperium/hyper/commit/e06e7d9a7ece9588b673b06df6aec4663595df30))
|
|
* make Protocol search websocket unicase ([65c70180](https://github.com/hyperium/hyper/commit/65c7018046eb556085ca47a28c980ec901980643))
|
|
* **log:** update to new logging levels ([b002b6c3](https://github.com/hyperium/hyper/commit/b002b6c3f09775e5d6759bbd07dacdee318c2915))
|
|
|
|
|
|
#### Features
|
|
|
|
* **headers:** Add `Pragma` header field ([767c95d2](https://github.com/hyperium/hyper/commit/767c95d2b9709b496b35d0d691ff7a1f6d35cbed), closes [#237](https://github.com/hyperium/hyper/issues/237))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* Change header `Cookie` to `Cookie`
|
|
|
|
([92f43cf8](https://github.com/hyperium/hyper/commit/92f43cf873ddceca9518195af6dad1ff6ac79e11))
|
|
|
|
|
|
### v0.1.7 (2015-01-27)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **rustup:** update to newest fmt trait names and slice syntax ([9e3c94d7](https://github.com/hyperium/hyper/commit/9e3c94d764522f900731fdbdee857639901037fe))
|
|
|
|
|
|
#### Breaking Changes
|
|
|
|
* Implementations of Header will need to adjust the
|
|
header_name method. It no longer takes any arguments.
|
|
|
|
([8215889e](https://github.com/hyperium/hyper/commit/8215889eda537d09da82a7ed12a1766bf4fd3bfe))
|
|
|
|
|
|
### v0.1.6 (2015-01-27)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **headers:** make Schemes, Basic, Protocol public ([e43c35c1](https://github.com/hyperium/hyper/commit/e43c35c1ca86c0ff1278ccfe3d2cff43222627b2))
|
|
|
|
|
|
### v0.1.5 (2015-01-27)
|
|
|
|
|
|
### v0.1.4 (2015-01-27)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **imports:** Update TypeID import location to "any" ([dd2534a6](https://github.com/hyperium/hyper/commit/dd2534a6863f8b3940d2776e6b6a8e48988b9b88))
|
|
|
|
|
|
### v0.1.3 (2015-01-27)
|
|
|
|
|
|
#### Features
|
|
|
|
* **server:** add a deconstruct method to Request. ([1014855f](https://github.com/hyperium/hyper/commit/1014855faec62ba00acdff6263c86e7dfa5fb047))
|
|
|
|
|
|
### v0.1.2 (2015-01-27)
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **server:** Increase MAX_HEADER_FIELD_LENGTH to 4k ([54238b28](https://github.com/hyperium/hyper/commit/54238b28e4899e76bb3d7c2dfd8d9bc6fd489b6c))
|
|
|
|
|
|
#### Features
|
|
|
|
* **net:**
|
|
* Move SSL verification to unboxed closures ([bca9a53c](https://github.com/hyperium/hyper/commit/bca9a53c66c967affb8e245f26507494db39c35e))
|
|
* Allow more generic SSL verification () ([af577851](https://github.com/hyperium/hyper/commit/af5778510d1d8422fcb04873f7c726a67f15f5eb), closes [#244](https://github.com/hyperium/hyper/issues/244))
|
|
|
|
|
|
### 0.1.1 (2015-01-13)
|
|
|
|
#### Features
|
|
|
|
* **server:**: Add TLS/SSL support serverside ([c6eef681](c6eef6812458e10de582530d7f2c5bce5156b73c), closes [#1](https://github.com/hyperium/hyper/issues/1))
|
|
|
|
|
|
#### Bug Fixes
|
|
|
|
* **headers:**
|
|
* fix fmt_header outputs of several headers ([aa266653](https://github.com/hyperium/hyper/commit/aa26665367bde895ce02ad2a8e1a372f00719852), closes [#246](https://github.com/hyperium/hyper/issues/246))
|
|
* don't use Show to write UserAgent header ([c8e334aa](https://github.com/hyperium/hyper/commit/c8e334aaebb5522a86d47f7e3c33836d2061cb65))
|
|
|