- Add
StatusCode::EARLY_HINTSconstant for 103 Early Hints. - Make
StatusCode::from_u16now aconst fn. - Make
Authority::from_staticnow aconst fn. - Make
PathAndQuery::from_staticnow aconst fn. - MSRV increased to 1.57 (allows legible const fn panic messages).
- Fix validation that all characters are UTF-8 in URI path and query.
- Allow most UTF-8 characters in URI path and query.
- Fix
HeaderMap::reserve()to allocate sufficient capacity.
- Add
StatusCode::TOO_EARLYconstant for 425 status. - Loosen
TryFrom<HashMap>forHeaderMapto work with any state generic. - Change
Buildermethods to useTryIntoinstead ofTryFromarguments. - Make
StatusCode::as_u16aconstfunction. - Fix
Methodparsing to allow#$%&'characters. - Fix
HeaderNameparsing to reject"characters. - Fix off by 1 error in
Method::from_bytesthat could cause extra allocations.
- 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_lowercasethat could allow NUL bytes in some cases.
- Implement
CloneforRequest,Response, andExtensions. This breaking change requires that all extensions now implementClone. - Add a default-on
stdfeature. Disabling it currently is not supported. - Fix MIRI warnings in
HeaderMap::iter().
- Fix parsing of
Authorityto handle square brackets in incorrect order. - Fix
HeaderMap::with_capacity()to handle arithmetic overflow.
- Add
HeaderNameconstants forcache-statusandcdn-cache-control. - Implement
HashforPathAndQuery. - Re-export
HeaderNameat crate root.
- Fix internal usage of uninitialized memory to use
MaybeUninitinsideHeaderName.
- MSRV bumped to
1.49. - Add
extend()method toExtensions. - Add
From<Authority>andFrom<PathAndQuery>impls forUri. - Make
HeaderName::from_staticaconst fn.
- Upgrade internal
itoadependency 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_staticaconst fn.
- Fix
Uriparsing to allow{,", and}in paths.
- Upgrade internal (private)
bytesdependency to 1.0.
- Fix (potential double) panic of (
HeaderMap)OccupiedEntry::remove_entryandremove_entry_multwhen multiple values are present. (#446, #449 dekellum) - Safety audits of (priv)
ByteStrand refactor ofAuthority(#408, #414 sbosnick) - Fix
HeaderNameto error instead of panic when input is too long (#432 #433 acfoltzer) - Allow
StatusCodeto encode values 100-999 without error. Use of the unclassified range 600-999 remains discouraged. (#144, #438, #443 quininer dekellum) - Add
Stringand&Stringfallible conversions toPathAndQuery(#450 mkindahl) - Fix
Authority(andUri) to error instead of panic on unbalanced brackets (#435, #445 aeryz)
- Add
extensions_refandextensions_muttorequest::Builderandresponse::Builder.
- Add
Version::HTTP_3constant. - 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::Builderto use by-value methods instead of by-ref. - Change from
HttpTryFromtrait tostd::convert::TryFrom. - Change
HeaderMap::entryto no longer return aResult. - Change
HeaderMap::drainiterator to match the behavior ofIntoIter. - Change
Authority::portto return anOption<Port>instead ofOption<u16>. - Change
Uri::schemeto returnOption<&Scheme>instead ofOption<&str>. - Change
Uri::authorityto returnOption<&Authority>instead ofOption<&str>. - Remove
InvalidUriBytes,InvalidHeaderNameBytes, andInvalidHeaderValueByteserror 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_partandUri::authority_part.
- Fix possible double-free if
header::Drainiterator isstd::mem::forgoten (#357). - Fix possible data race if multiple
header::ValueDrains are iterated on different threads (#362). - Fix
HeaderMap::reservecapacity overflows (#360). - Fix parsing long authority-form
Uris (#351).
- Allow
%in IPv6 addresses inUri(#343).
- Fix compilation of
HeaderNameparsing on WASM targets (#324). - Implement
HttpTryFrom<HashMap>forHeaderMap(#326). - Export
http::header::HeaderValueashttp::HeaderValue.
- Add
Error::inner_ref()to view the kind of error (#303) - Add
headers_ref()andheaders_mut()methods torequest::Builderandresponse::Builder(#293)
- Fix
Urito permit more characters in thepath(#296)
- Fix
Uri::host()to include brackets of IPv6 literals (#292) - Add
scheme_strandport_u16methods toUri(#287) - Add
method_ref,uri_ref, andheaders_reftorequest::Builder(#284)
- Add
Portstruct (#252, #255, #265) - Introduce
Uribuilder (#219) - Empty
Methodno longer considered valid (#262) - Fix
Uriequality 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::DisplayforHeaderName(#249) - Fix
uri::Authorityparsing when there is no host after an@(#248) - Fix
Uriparsing to allow more characters in query strings (#247)
- Fix
HeaderValueparsing 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
PartialEqforMethod(#221) - Reduce size of
HeaderMapby usingBox<[Entry]>instea ofVec(#224) - Reduce size of
Extensionsby storing asOption<Box<AnyMap>>(#227) - Implement
Iterator::size_hintfor most iterators inheader(#226)
- Add
From<uN> for HeaderValuefor most integer types (#218). - Add
Uri::into_parts()inherent method (same asParts::from(uri)) (#214). - Fix converting
Uris in authority-form toPartsand then back intoUri(#216). - Fix
Authorityparsing to reject multiple port sections (#215). - Fix parsing 1 character authority-form
Uris 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
Authoritywith an empty string now returns an error (#164). - Implement
PartialEq<u16>forStatusCode(#153). - Implement
HttpTryFrom<&Uri>forUri(#165). - Implement
FromStrforMethod(#167). - Implement
HttpTryFrom<String>forUri(#171). - Add
into_bodyfns toRequestandResponse(#172). - Fix
Request::options(#177).
- Add PathAndQuery::from_static (#148).
- Impl PartialOrd / PartialEq for Authority and PathAndQuery (#150).
- Add
mapfn toRequestandResponse(#151).
- Add
Schemeassociated 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.