- Add methods to allow trying to allocate in the
HeaderMap
, returning an error if oversize instead of panicking. - Add
Extensions::get_or_insert()
method. - Implement
From<Uri>
foruri::Builder
. - Fix
HeaderName::from_lowercase
that could allow NUL bytes in some cases.
- Implement
Clone
forRequest
,Response
, andExtensions
. This breaking change requires that all extensions now implementClone
. - Add a default-on
std
feature. Disabling it currently is not supported. - Fix MIRI warnings in
HeaderMap::iter()
.
- Fix parsing of
Authority
to handle square brackets in incorrect order. - Fix
HeaderMap::with_capacity()
to handle arithmetic overflow.
- Add
HeaderName
constants forcache-status
andcdn-cache-control
. - Implement
Hash
forPathAndQuery
. - Re-export
HeaderName
at crate root.
- Fix internal usage of uninitialized memory to use
MaybeUninit
insideHeaderName
.
- MSRV bumped to
1.49
. - Add
extend()
method toExtensions
. - Add
From<Authority>
andFrom<PathAndQuery>
impls forUri
. - Make
HeaderName::from_static
aconst fn
.
- Upgrade internal
itoa
dependency to 1.0.
- Add
is_empty()
andlen()
methods toExtensions
. - Add
version_ref()
method torequest::Builder
. - Implement
TryFrom<Vec<u8>>
andTryFrom<String>
forAuthority
,Uri
,PathAndQuery
, andHeaderName
. - Make
HeaderValue::from_static
aconst fn
.
- Fix
Uri
parsing to allow{
,"
, and}
in paths.
- Upgrade internal (private)
bytes
dependency to 1.0.
- Fix (potential double) panic of (
HeaderMap
)OccupiedEntry::remove_entry
andremove_entry_mult
when multiple values are present. (#446, #449 dekellum) - Safety audits of (priv)
ByteStr
and refactor ofAuthority
(#408, #414 sbosnick) - Fix
HeaderName
to error instead of panic when input is too long (#432 #433 acfoltzer) - Allow
StatusCode
to encode values 100-999 without error. Use of the unclassified range 600-999 remains discouraged. (#144, #438, #443 quininer dekellum) - Add
String
and&String
fallible conversions toPathAndQuery
(#450 mkindahl) - Fix
Authority
(andUri
) to error instead of panic on unbalanced brackets (#435, #445 aeryz)
- Add
extensions_ref
andextensions_mut
torequest::Builder
andresponse::Builder
.
- Add
Version::HTTP_3
constant. - Add
HeaderValue::from_maybe_shared
,HeaderValue::from_maybe_shared_unchecked
,Uri::from_maybe_shared
,Authority::from_maybe_shared
, andPathAndQuery::from_maybe_shared
. - Change
request::Builder
,response::Builder
, anduri::Builder
to use by-value methods instead of by-ref. - Change from
HttpTryFrom
trait tostd::convert::TryFrom
. - Change
HeaderMap::entry
to no longer return aResult
. - Change
HeaderMap::drain
iterator to match the behavior ofIntoIter
. - Change
Authority::port
to return anOption<Port>
instead ofOption<u16>
. - Change
Uri::scheme
to returnOption<&Scheme>
instead ofOption<&str>
. - Change
Uri::authority
to returnOption<&Authority>
instead ofOption<&str>
. - Remove
InvalidUriBytes
,InvalidHeaderNameBytes
, andInvalidHeaderValueBytes
error types. - Remove
HeaderValue::from_shared
,HeaderValue::from_shared_unchecked
,Uri::from_shared
,Authority::from_shared
,Scheme::from_shared
, andPathAndQuery::from_shared
. - Remove
Authority::port_part
. - Remove
Uri::scheme_part
andUri::authority_part
.
- Fix possible double-free if
header::Drain
iterator isstd::mem::forgot
en (#357). - Fix possible data race if multiple
header::ValueDrain
s are iterated on different threads (#362). - Fix
HeaderMap::reserve
capacity overflows (#360). - Fix parsing long authority-form
Uri
s (#351).
- Allow
%
in IPv6 addresses inUri
(#343).
- Fix compilation of
HeaderName
parsing on WASM targets (#324). - Implement
HttpTryFrom<HashMap>
forHeaderMap
(#326). - Export
http::header::HeaderValue
ashttp::HeaderValue
.
- Add
Error::inner_ref()
to view the kind of error (#303) - Add
headers_ref()
andheaders_mut()
methods torequest::Builder
andresponse::Builder
(#293)
- Fix
Uri
to permit more characters in thepath
(#296)
- Fix
Uri::host()
to include brackets of IPv6 literals (#292) - Add
scheme_str
andport_u16
methods toUri
(#287) - Add
method_ref
,uri_ref
, andheaders_ref
torequest::Builder
(#284)
- Add
Port
struct (#252, #255, #265) - Introduce
Uri
builder (#219) - Empty
Method
no longer considered valid (#262) - Fix
Uri
equality when terminating question mark is present (#270) - Allow % character in userinfo (#269)
- Support additional tokens for header names (#271)
- Export
http::headers::{IterMut, ValuesMut}
(#278)
- impl
fmt::Display
forHeaderName
(#249) - Fix
uri::Authority
parsing when there is no host after an@
(#248) - Fix
Uri
parsing to allow more characters in query strings (#247)
- Fix
HeaderValue
parsing to allow HTABs (#244)
- Add
From<&Self>
forHeaderValue
,Method
, andStatusCode
(#238) - Add
Uri::from_static
(#240)
impl HttpTryFrom<String>
for HeaderValue (#236)
- Fix double percent encoding (#233)
- Add additional HttpTryFrom impls (#234)
- Add fuller set of
PartialEq
forMethod
(#221) - Reduce size of
HeaderMap
by usingBox<[Entry]>
instea ofVec
(#224) - Reduce size of
Extensions
by storing asOption<Box<AnyMap>>
(#227) - Implement
Iterator::size_hint
for most iterators inheader
(#226)
- Add
From<uN> for HeaderValue
for most integer types (#218). - Add
Uri::into_parts()
inherent method (same asParts::from(uri)
) (#214). - Fix converting
Uri
s in authority-form toParts
and then back intoUri
(#216). - Fix
Authority
parsing to reject multiple port sections (#215). - Fix parsing 1 character authority-form
Uri
s into illegal forms (#220).
- Add
HeaderName::from_static()
constructor (#195). - Add
Authority::from_static()
constructor (#186). - Implement
From<HeaderName>
forHeaderValue
(#184). - Fix duplicate keys when iterating over
header::Keys
(#201).
- Add websocket handshake related header constants (#162).
- Parsing
Authority
with an empty string now returns an error (#164). - Implement
PartialEq<u16>
forStatusCode
(#153). - Implement
HttpTryFrom<&Uri>
forUri
(#165). - Implement
FromStr
forMethod
(#167). - Implement
HttpTryFrom<String>
forUri
(#171). - Add
into_body
fns toRequest
andResponse
(#172). - Fix
Request::options
(#177).
- Add PathAndQuery::from_static (#148).
- Impl PartialOrd / PartialEq for Authority and PathAndQuery (#150).
- Add
map
fn toRequest
andResponse
(#151).
- Add
Scheme
associated consts for common protos.
- Add Uri accessor for scheme part.
- Fix Uri parsing bug (#134)
- Provide Uri accessors for parts (#129)
- Add Request builder helpers. (#123)
- Misc performance improvements (#126)
- Initial release.