diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 13d6d53d..2f0a2ab6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,12 +42,11 @@ jobs: strategy: matrix: ghc_version: - - '9.0' - - '9.2' - '9.4' - '9.6' + - '9.8' include: - - ghc_version: 9.0.1 + - ghc_version: 9.4.1 oldest: true name: ghc_compat_test (${{ matrix.ghc_version }}) diff --git a/.github/workflows/ghc-compat-test.yml b/.github/workflows/ghc-compat-test.yml index 91ac0f2d..8801f0ec 100644 --- a/.github/workflows/ghc-compat-test.yml +++ b/.github/workflows/ghc-compat-test.yml @@ -36,7 +36,6 @@ jobs: run: cabal configure --enable-append --prefer-oldest - --constraint 'aeson-qq >= 0.7.4' - if: ${{ inputs.ghc_version == 'latest-nightly' }} name: Add head.hackage diff --git a/CHANGELOG.md b/CHANGELOG.md index ef06f994..d0d520fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ # Unreleased -* Drop support for GHC 8.10 +# v1.4.2.0 + +* Drop support for GHC 8.10 + 9.0 + 9.2 +* Add support for GHC 9.8 # v1.4.1.0 diff --git a/aeson-schemas.cabal b/aeson-schemas.cabal index 0af717c8..90cb9dff 100644 --- a/aeson-schemas.cabal +++ b/aeson-schemas.cabal @@ -1,11 +1,11 @@ cabal-version: >= 1.10 --- This file has been generated from package.yaml by hpack version 0.35.2. +-- This file has been generated from package.yaml by hpack version 0.36.0. -- -- see: https://github.com/sol/hpack name: aeson-schemas -version: 1.4.1.0 +version: 1.4.2.0 synopsis: Easily consume JSON data on-demand with type-safety description: Parse JSON data easily and safely without defining new data types. Useful for deeply nested JSON data, which is difficult to parse using the default @@ -39,10 +39,9 @@ extra-source-files: test/goldens/getqq_no_operators.golden test/goldens/getqq_ops_after_list.golden test/goldens/getqq_ops_after_tuple.golden - test/goldens/ghc/9.0/getqq_missing_key.golden - test/goldens/ghc/9.2/getqq_missing_key.golden test/goldens/ghc/9.4/getqq_missing_key.golden test/goldens/ghc/9.6/getqq_missing_key.golden + test/goldens/ghc/9.8/getqq_missing_key.golden test/goldens/ghc/9.9/getqq_missing_key.golden test/goldens/README_Quickstart.golden test/goldens/schemaqq_key_with_invalid_character.golden @@ -81,12 +80,12 @@ library ghc-options: -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wnoncanonical-monad-instances -Wunused-packages build-depends: aeson <3 - , base >=4.15 && <5 + , base >=4.17 && <5 , first-class-families <0.9 , hashable <1.5 , megaparsec <10 - , template-haskell <2.21 - , text <2.1 + , template-haskell <2.22 + , text <2.2 , unordered-containers <0.3 default-language: Haskell2010 @@ -121,7 +120,7 @@ test-suite aeson-schemas-test build-depends: QuickCheck , aeson - , aeson-qq + , aeson-qq >=0.8.4 , aeson-schemas , base , deepseq diff --git a/package.yaml b/package.yaml index b9cc3a16..f7c009f6 100644 --- a/package.yaml +++ b/package.yaml @@ -1,5 +1,5 @@ name: aeson-schemas -version: 1.4.1.0 +version: 1.4.2.0 verbatim: cabal-version: '>= 1.10' license: BSD3 @@ -43,12 +43,12 @@ library: - Data.Aeson.Schema.TH.Utils dependencies: - aeson < 3 - - base >= 4.15 && < 5 + - base >= 4.17 && < 5 - first-class-families < 0.9 - hashable < 1.5 - megaparsec < 10 - - template-haskell < 2.21 - - text < 2.1 + - template-haskell < 2.22 + - text < 2.2 - unordered-containers < 0.3 tests: @@ -57,7 +57,7 @@ tests: main: Main.hs dependencies: - aeson - - aeson-qq + - aeson-qq >= 0.8.4 - aeson-schemas - base - deepseq diff --git a/stack.yaml b/stack.yaml index eeafc3ae..fab09edb 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1 +1 @@ -resolver: lts-21.1 +resolver: lts-22.3 diff --git a/stack.yaml.lock b/stack.yaml.lock index 81015318..9e00502a 100644 --- a/stack.yaml.lock +++ b/stack.yaml.lock @@ -6,7 +6,7 @@ packages: [] snapshots: - completed: - sha256: c4381351ba5837a6356fcc0ebeb7a61fdcaf3a085c903a6f730f56b131d5cb58 - size: 639143 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/21/1.yaml - original: lts-21.1 + sha256: 53a2800f7fe0c4628af0e7d5e985707dd3af9863ac3983a43c835dbaa8ed5f35 + size: 714094 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/22/3.yaml + original: lts-22.3 diff --git a/test/goldens/ghc/9.0/getqq_missing_key.golden b/test/goldens/ghc/9.0/getqq_missing_key.golden deleted file mode 100644 index d0635f94..00000000 --- a/test/goldens/ghc/9.0/getqq_missing_key.golden +++ /dev/null @@ -1,6 +0,0 @@ -test/wont-compile/GetMissingKey.hs:17:1: error: - • Key 'missing' does not exist in the following schema: - '[ '( 'Data.Aeson.Schema.Key.NormalKey "foo", - 'Data.Aeson.Schema.Type.SchemaScalar Bool)] - • When checking the inferred type - result :: Data.Aeson.Schema.Internal.SchemaResult (TypeError ...) diff --git a/test/goldens/ghc/9.2/getqq_missing_key.golden b/test/goldens/ghc/9.2/getqq_missing_key.golden deleted file mode 100644 index d0635f94..00000000 --- a/test/goldens/ghc/9.2/getqq_missing_key.golden +++ /dev/null @@ -1,6 +0,0 @@ -test/wont-compile/GetMissingKey.hs:17:1: error: - • Key 'missing' does not exist in the following schema: - '[ '( 'Data.Aeson.Schema.Key.NormalKey "foo", - 'Data.Aeson.Schema.Type.SchemaScalar Bool)] - • When checking the inferred type - result :: Data.Aeson.Schema.Internal.SchemaResult (TypeError ...) diff --git a/test/goldens/ghc/9.8/getqq_missing_key.golden b/test/goldens/ghc/9.8/getqq_missing_key.golden new file mode 100644 index 00000000..7da17e48 --- /dev/null +++ b/test/goldens/ghc/9.8/getqq_missing_key.golden @@ -0,0 +1,18 @@ +test/wont-compile/GetMissingKey.hs:17:15: error: [GHC-64725] + • Key 'missing' does not exist in the following schema: + '[ '(Data.Aeson.Schema.Key.NormalKey "foo", + Data.Aeson.Schema.Type.SchemaScalar Bool)] + • In the second argument of ‘(.)’, namely + ‘Data.Aeson.Schema.Internal.getKey + (Data.Proxy.Proxy :: Data.Proxy.Proxy "missing")’ + In the expression: + (id + . Data.Aeson.Schema.Internal.getKey + (Data.Proxy.Proxy :: Data.Proxy.Proxy "missing")) + o + In an equation for ‘result’: + result + = ((id + . Data.Aeson.Schema.Internal.getKey + (Data.Proxy.Proxy :: Data.Proxy.Proxy "missing")) + o)