aeson 1.4.4.0 → 1.4.5.0
raw patch · 9 files changed
+25/−12 lines, 9 filesdep ~base-compatPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base-compat
API changes (from Hackage documentation)
+ Data.Aeson.Types: (<?>) :: Parser a -> JSONPathElement -> Parser a
+ Data.Aeson.Types: Index :: {-# UNPACK #-} !Int -> JSONPathElement
+ Data.Aeson.Types: Key :: Text -> JSONPathElement
+ Data.Aeson.Types: data JSONPathElement
+ Data.Aeson.Types: type JSONPath = [JSONPathElement]
Files
- Data/Aeson/Types.hs +5/−0
- Data/Aeson/Types/FromJSON.hs +0/−1
- Data/Aeson/Types/Internal.hs +4/−3
- Data/Aeson/Types/ToJSON.hs +0/−1
- aeson.cabal +4/−4
- benchmarks/AesonEncode.hs +1/−1
- benchmarks/Compare/JsonBench.hs +2/−1
- changelog.md +8/−0
- stack-nightly.yaml +1/−1
Data/Aeson/Types.hs view
@@ -136,6 +136,11 @@ , JSONKeyOptions , keyModifier , defaultJSONKeyOptions++ -- * Parsing context+ , (<?>)+ , JSONPath+ , JSONPathElement(..) ) where import Prelude.Compat
Data/Aeson/Types/FromJSON.hs view
@@ -5,7 +5,6 @@ {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-}
Data/Aeson/Types/Internal.hs view
@@ -99,6 +99,7 @@ import Data.Typeable (Typeable) import Data.Vector (Vector) import GHC.Generics (Generic)+import qualified Control.Monad as Monad import qualified Control.Monad.Fail as Fail import qualified Data.HashMap.Strict as H import qualified Data.Scientific as S@@ -152,7 +153,7 @@ fmap _ (Error err) = Error err {-# INLINE fmap #-} -instance Monad IResult where+instance Monad.Monad IResult where return = pure {-# INLINE return #-} @@ -169,7 +170,7 @@ fail err = IError [] err {-# INLINE fail #-} -instance Monad Result where+instance Monad.Monad Result where return = pure {-# INLINE return #-} @@ -288,7 +289,7 @@ -> f r } -instance Monad Parser where+instance Monad.Monad Parser where m >>= g = Parser $ \path kf ks -> let ks' a = runParser (g a) path kf ks in runParser m path kf ks' {-# INLINE (>>=) #-}
Data/Aeson/Types/ToJSON.hs view
@@ -5,7 +5,6 @@ {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE FunctionalDependencies #-} {-# LANGUAGE GADTs #-}-{-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PatternGuards #-}
aeson.cabal view
@@ -1,5 +1,5 @@ name: aeson-version: 1.4.4.0+version: 1.4.5.0 license: BSD3 license-file: LICENSE category: Text, Web, JSON@@ -107,16 +107,16 @@ containers >= 0.4.2.1 && < 0.7, deepseq >= 1.3.0.0 && < 1.5, ghc-prim >= 0.2 && < 0.6,- template-haskell >= 2.7.0.0 && < 2.15,+ template-haskell >= 2.7.0.0 && < 2.16, text >= 1.2.3.0 && < 1.3,- time >= 1.4 && < 1.9+ time >= 1.4 && < 1.10 if impl(ghc >= 8.0) build-depends: bytestring >= 0.10.8.1 -- Compat build-depends:- base-compat >= 0.9.1 && < 0.11,+ base-compat >= 0.9.1 && < 0.12, time-compat >= 1.9.2.2 && < 1.10 if flag(bytestring-builder)
benchmarks/AesonEncode.hs view
@@ -7,7 +7,7 @@ import Prelude.Compat import Control.DeepSeq-import Control.Monad+import Control.Monad (forM_) import Data.Aeson import Data.Attoparsec.ByteString (IResult(..), parseWith) import Data.Char (isDigit)
benchmarks/Compare/JsonBench.hs view
@@ -20,6 +20,7 @@ import Data.Monoid ((<>)) import Data.Text (Text) import Typed.Common (load)+import qualified Control.Monad.Fail as Fail import qualified Data.Aeson as Aeson import qualified Data.BufferBuilder.Json as Json @@ -82,7 +83,7 @@ fruitTable :: [(Text, Fruit)] fruitTable = [("apple", Apple), ("strawberry", Strawberry), ("banana", Banana)] -enumFromJson :: Monad m => String -> [(Text, enum)] -> (json -> m Text) -> json -> m enum+enumFromJson :: Fail.MonadFail m => String -> [(Text, enum)] -> (json -> m Text) -> json -> m enum enumFromJson enumName table extract v = do s <- extract v case lookup s table of
changelog.md view
@@ -1,5 +1,13 @@ For the latest version of this document, please see [https://github.com/bos/aeson/blob/master/changelog.md](https://github.com/bos/aeson/blob/master/changelog.md). +### 1.4.5.0++* Expose `(<?>)`, `JSONPath` and `JSONPathElement(..)` from `Data.Aeson.Types`. Previously only available through internal modules. Thanks to Luke Clifton.++* Support for base-compat 0.11, thanks to Ryan Scott.++* Travis build for GHC 8.8, thanks to Oleg Grenrus.+ ### 1.4.4.0 **New features**:
stack-nightly.yaml view
@@ -1,4 +1,4 @@-resolver: nightly-2019-05-13+resolver: nightly-2019-07-11 packages: - '.' - attoparsec-iso8601