safe-json 1.1.3.0 → 1.1.3.1
raw patch · 4 files changed
+26/−19 lines, 4 filesdep ~aesondep ~timedep ~vectorPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: aeson, time, vector
API changes (from Hackage documentation)
Files
- ChangeLog.md +4/−0
- safe-json.cabal +12/−7
- test/Instances.hs +9/−11
- test/VersionNum.hs +1/−1
ChangeLog.md view
@@ -1,5 +1,9 @@ # Changelog for safe-json +## 1.1.3.1++* Compatibility with GHC 9.2.*, and `time < 0.13`+ ## 1.1.3.0 * Compatibility with `aeson < 2.1` and `text < 2.1` [#33](https://github.com/Vlix/safe-json/pull/33) Thanks to [@ysangkok](https://github.com/ysangkok)
safe-json.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: safe-json-version: 1.1.3.0+version: 1.1.3.1 synopsis: Automatic JSON format versioning description: This library aims to make the updating of JSON formats or contents, while keeping backward compatibility, as painless as possible. The way this is achieved is through versioning and defined migration functions to migrate older (or newer) versions to the one used. .@@ -28,7 +28,7 @@ license-file: LICENSE build-type: Simple tested-with:- GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.2+ GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.2, GHC == 9.2.2 extra-source-files: README ChangeLog.md@@ -73,7 +73,7 @@ , tasty-hunit >=0.9.2 && <0.11 , tasty-quickcheck >=0.8.4 && <0.11 , text >=1.2.3 && <2.1- , time >=1.6.0.1 && <1.10+ , time >=1.6.0.1 && <1.13 , unordered-containers >=0.2.9 && <0.3 , uuid-types >=1.0.3 && <1.1 , vector >=0.12.0.1 && <0.13@@ -100,12 +100,10 @@ OverloadedStrings ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends:- aeson >=1.4.1 && <2.1- , base >=4.9 && <5+ base >=4.9 && <5 , bytestring >=0.10.8.1 && <0.12 , containers >=0.5.7.1 && <0.7 , dlist >=0.8.0.3 && <2- , generic-arbitrary >=0.1.0 && <0.3 , hashable >=1.2.6.1 && <1.5 , quickcheck-instances >=0.3.16 && <0.4 , safe-json@@ -115,9 +113,16 @@ , tasty-quickcheck , temporary >=1.2.1.1 && <1.4 , text >=1.2.3 && <2.1- , time >=1.6.0.1 && <1.10+ , time >=1.6.0.1 && <1.13 , unordered-containers >=0.2.9 && <0.3 , uuid >=1.3.13 && <1.4 , uuid-types >=1.0.3 && <1.1 , vector >=0.12.0.1 && <0.13+ if impl(ghc >= 9.2.0)+ build-depends:+ aeson >=2.0.3.0 && <2.1+ else+ build-depends:+ aeson >=1.4.1 && <2.1+ , generic-arbitrary >=0.1.0 && <0.3 default-language: Haskell2010
test/Instances.hs view
@@ -19,13 +19,11 @@ import Data.Time.Clock.POSIX (posixSecondsToUTCTime) import qualified Data.Vector.Primitive as VP -#if !MIN_VERSION_base(4,13,0) import Test.Tasty.QuickCheck (Arbitrary(..))-#endif #if !MIN_VERSION_aeson(2,0,3) import Test.Tasty.QuickCheck (oneof, resize)+import Test.QuickCheck.Arbitrary.Generic (genericShrink) #endif-import Test.QuickCheck.Arbitrary.Generic import Test.QuickCheck.Instances() instance Arbitrary DotNetTime where@@ -47,6 +45,14 @@ arbitrary = VP.fromList <$> arbitrary shrink = fmap VP.fromList . shrink . VP.toList +#if MIN_VERSION_aeson(2,0,0) && !MIN_VERSION_aeson(2,0,3)+instance Arbitrary v => Arbitrary (KM.KeyMap v) where+ arbitrary = KM.fromList <$> arbitrary++instance Arbitrary K.Key where+ arbitrary = K.fromText <$> arbitrary+#endif+ #if !MIN_VERSION_aeson(2,0,3) instance Arbitrary Value where arbitrary = oneof@@ -80,12 +86,4 @@ String{} `compare` _ = LT Array{} `compare` Object{} = LT _ `compare` _ = GT-#endif--#if MIN_VERSION_aeson(2,0,0) && !MIN_VERSION_aeson(2,0,3)-instance Arbitrary v => Arbitrary (KM.KeyMap v) where- arbitrary = KM.fromList <$> arbitrary--instance Arbitrary K.Key where- arbitrary = K.fromText <$> arbitrary #endif
test/VersionNum.hs view
@@ -9,7 +9,7 @@ numTest :: (Num a, Eq a, Arbitrary a, Show a) => Proxy a -> TestTree numTest p = testGroup "Version's Num instance" $- ($p) <$> [plusTest, minusTest, multTest, negateTest, absSignumTest]+ ($ p) <$> [plusTest, minusTest, multTest, negateTest, absSignumTest] plusTest :: forall a. (Num a, Eq a, Arbitrary a, Show a) => Proxy a -> TestTree plusTest _ = testGroup "Plus laws"