- Works with GHC 9.0.1.
- URIs with authority component and without path are now rendered without trailing slashes.
- Works with
bytestring-0.11.
- Added
mkURIBsfor parsingByteStringas aURI.
-
Quasi-quoters from
Text.URI.QQnow can be used in pattern context when theViewPatternsextension is enabled. -
Dropped support for GHC 8.2.x.
-
Dropped support for GHC 8.0 and 7.10.
-
Added Template Haskell
Liftinstance for theURItype and its sub-components.
- Allow superfluous
&right after question sign in query parameters.
- Uses Megaparsec 7. Visible API changes amount to an adjustment in
definition of the
ParseExceptiontype.
-
Removed a potentially overlapping instance
Arbitrary (NonEmpty (RText 'PathPiece)). -
Fixed a bug that made it impossible to have empty host names. This allows us to parse URIs like
file:///etc/hosts.
- Added
emptyURI—URIvalue representing the empty URI.
-
Changed the type of
uriPathfield of theURIrecord from[RText 'PathPiece]toMaybe (Bool, NonEmpty (RText 'PathPiece)). This allows us to store whether there is a trailing slash in the path or not. See the updated documentation for more information. -
Added the
relativeTofunction. -
Added the
uriTrailingSlash0-1 traversal inText.URI.Lens.
- Allow Megaparsec 6.4.0.
- Fixed handling of
+in query strings. Now+is parsed as space and serialized as%2bas per RFC 1866 (paragraph 8.2.1). White space in query parameters is serialized as+.
- Fixed implementation of
Text.URI.Lens.queryParamtraversal.
-
Derived
NFDataforParseException. -
Adjusted percent-encoding in renders so it's only used when absolutely necessary. Previously we percent-escaped a bit too much, which, strictly speaking, did not make the renders incorrect, but that didn't look nice either.
- Updated the readme to include “Quick start” instructions and some examples.
-
Changed the type of
uriAuthorityfromMaybe AuthoritytoEither Bool Authority. This allows to know if URI path is absolute or not without duplication of information, i.e. when theAuthoritycomponent is present the path is necessarily absolute, otherwise theBoolvalue tells if it's absolute (True) or relative (False). -
Added
isPathAbsoluteinText.URIand the corresponding getter inText.URI.Lens.
-
Added the
renderStrandrenderStr'functions for efficient rendering toStringandShowS. -
Added the
parserBsthat can consume strictByteStringstreams.
- Initial release.