network-uri 2.6.2.0 → 2.6.3.0
raw patch · 6 files changed
+57/−12 lines, 6 filesdep ~basedep ~parsecdep ~template-haskell
Dependency ranges changed: base, parsec, template-haskell
Files
- CHANGELOG.md +27/−7
- Network/URI.hs +14/−3
- Network/URI/Lens.hs +6/−0
- Network/URI/Static.hs +5/−0
- network-uri.cabal +2/−2
- tests/uri-bench.hs +3/−0
CHANGELOG.md view
@@ -1,13 +1,33 @@+# network-uri-2.6.3.0 (2020-02-18)+* Add official support for SafeHaskell+ NOTE: This is the first version whose SafeHaskell properties have become an+ intentional part of the API contract; previous versions were merely+ accidentally safe-inferred (or not depending on various factors; in other+ words, this was a fragile property).+* Derive `Lift` instances using `DeriveLift` extension, when available.+ # network-uri-2.6.2.0 (2020-01-30)-* Merge network-uri-static (Network.URI.Static) into this package+* Mark the modules as Safe for SafeHaskell.++# network-uri-2.6.2.0 (2020-01-30)+* Merge network-uri-static (Network.URI.Static) into this+ package, which offers a way to parse URI strings at compile time. * Add `Lens`es for the `URI` types-* Optimize `isReserved` and related character-class functions * Add `Generic` instances for the `URI` type * Add `Lift` instances for the `URI` type--# network-uri-2.6.2.0 (2019-??-??)+* Optimize `isReserved` and related character-class functions. * Start to add some benchmarks for performance analysis-* Correctly parse IPv6 addresses in URIs+* Fix a bug: Correctly parse IPv6 addresses in URIs. * Add `rectify` which normalizes a URI if it is missing certain- separator characters required by the module, which some users find- inconvenient.+ separator characters required by the module. Some users found adding+ those characters inconvenient when building a URI from parts.+* Add `nullURIAuth` and `uriAuthToString`, paralleling `nullURI` and `uriToString`.++# network-uri-2.6.0.3+* Fix a bug with IPv4 address parsing.++# network-uri-2.6.0.2+* Implement Generic and NFData.++# network-uri-2.6.0.0+* Initial release: Module split off from `network`.
Network/URI.hs view
@@ -1,9 +1,15 @@ {-# LANGUAGE RecordWildCards, CPP #-}-#if __GLASGOW_HASKELL__ < 800-{-# LANGUAGE TemplateHaskell #-}+#if __GLASGOW_HASKELL__ >= 800+{-# LANGUAGE DeriveLift, StandaloneDeriving #-} #else-{-# LANGUAGE TemplateHaskellQuotes #-}+{-# LANGUAGE TemplateHaskell #-} #endif+#if MIN_VERSION_template_haskell(2,12,0) && MIN_VERSION_parsec(3,13,0)+{-# LANGUAGE Safe #-}+#elif __GLASGOW_HASKELL__ >= 702+{-# LANGUAGE Trustworthy #-}+#endif+ -------------------------------------------------------------------------------- -- | -- Module : Network.URI@@ -1370,11 +1376,16 @@ -- Lift instances to support Network.URI.Static ------------------------------------------------------------ +#if __GLASGOW_HASKELL__ >= 800+deriving instance Lift URI+deriving instance Lift URIAuth+#else instance Lift URI where lift (URI {..}) = [| URI {..} |] instance Lift URIAuth where lift (URIAuth {..}) = [| URIAuth {..} |]+#endif ------------------------------------------------------------ -- Deprecated functions
Network/URI/Lens.hs view
@@ -1,4 +1,10 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE Rank2Types #-}+#if __GLASGOW_HASKELL__ > 704+{-# LANGUAGE Safe #-}+#elif __GLASGOW_HASKELL__ > 702+{-# LANGUAGE Trustworthy #-}+#endif -- | Network uri lenses module Network.URI.Lens ( uriRegNameLens
Network/URI/Static.hs view
@@ -3,6 +3,11 @@ #else {-# LANGUAGE RecordWildCards, TemplateHaskellQuotes, ViewPatterns #-} #endif+#if MIN_VERSION_template_haskell(2,12,0)+{-# LANGUAGE Safe #-}+#elif __GLASGOW_HASKELL__ >= 702+{-# LANGUAGE Trustworthy #-}+#endif module Network.URI.Static ( -- * Absolute URIs
network-uri.cabal view
@@ -1,5 +1,5 @@ name: network-uri-version: 2.6.2.0+version: 2.6.3.0 synopsis: URI manipulation description: This package provides facilities for parsing and unparsing URIs, and creating@@ -67,7 +67,7 @@ build-depends: base >= 3 && < 5, deepseq >= 1.1 && < 1.5,- parsec >= 3.0 && < 3.2+ parsec >= 3.1.12.0 && < 3.2 build-depends: template-haskell default-extensions: CPP, DeriveDataTypeable if impl(ghc < 7.6)
tests/uri-bench.hs view
@@ -53,4 +53,7 @@ bench "isReserved a" $ nf isReserved 'a' , bench "isReserved :" $ nf isReserved ':' ]+ ,+ bench "parseURI" $+ nf parseURI "http://foo@bar.quix.gov/flip/flop?a=b&c=d" ]