From 5be9c0850c37916223fc475af2a9ef03b9643719 Mon Sep 17 00:00:00 2001 From: Brandon Chinn Date: Tue, 26 Dec 2023 15:31:30 +0000 Subject: [PATCH 1/7] Bump stack resolver --- stack.yaml | 2 +- stack.yaml.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) 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 From f6c8981a00ff43da4a65e855eeab8bbf64777be8 Mon Sep 17 00:00:00 2001 From: Brandon Chinn Date: Tue, 26 Dec 2023 15:31:41 +0000 Subject: [PATCH 2/7] Support template-haskell 2.21 --- aeson-schemas.cabal | 4 ++-- package.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/aeson-schemas.cabal b/aeson-schemas.cabal index 0af717c8..8dcca5e9 100644 --- a/aeson-schemas.cabal +++ b/aeson-schemas.cabal @@ -1,6 +1,6 @@ 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 @@ -85,7 +85,7 @@ library , first-class-families <0.9 , hashable <1.5 , megaparsec <10 - , template-haskell <2.21 + , template-haskell <2.22 , text <2.1 , unordered-containers <0.3 default-language: Haskell2010 diff --git a/package.yaml b/package.yaml index b9cc3a16..df6e9f1f 100644 --- a/package.yaml +++ b/package.yaml @@ -47,7 +47,7 @@ library: - first-class-families < 0.9 - hashable < 1.5 - megaparsec < 10 - - template-haskell < 2.21 + - template-haskell < 2.22 - text < 2.1 - unordered-containers < 0.3 From 65fdb27a629320826d36e23cf7f27cc432f8c009 Mon Sep 17 00:00:00 2001 From: Brandon Chinn Date: Tue, 26 Dec 2023 15:41:49 +0000 Subject: [PATCH 3/7] Support text 2.2 --- aeson-schemas.cabal | 2 +- package.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/aeson-schemas.cabal b/aeson-schemas.cabal index 8dcca5e9..56c1eff2 100644 --- a/aeson-schemas.cabal +++ b/aeson-schemas.cabal @@ -86,7 +86,7 @@ library , hashable <1.5 , megaparsec <10 , template-haskell <2.22 - , text <2.1 + , text <2.2 , unordered-containers <0.3 default-language: Haskell2010 diff --git a/package.yaml b/package.yaml index df6e9f1f..9d181836 100644 --- a/package.yaml +++ b/package.yaml @@ -48,7 +48,7 @@ library: - hashable < 1.5 - megaparsec < 10 - template-haskell < 2.22 - - text < 2.1 + - text < 2.2 - unordered-containers < 0.3 tests: From 2f170a69e2492653faf63d0581cbb8d61a011f2b Mon Sep 17 00:00:00 2001 From: Brandon Chinn Date: Tue, 26 Dec 2023 15:44:27 +0000 Subject: [PATCH 4/7] Add support for GHC 9.8 --- .github/workflows/ci.yml | 1 + CHANGELOG.md | 1 + aeson-schemas.cabal | 1 + test/goldens/ghc/9.8/getqq_missing_key.golden | 18 ++++++++++++++++++ 4 files changed, 21 insertions(+) create mode 100644 test/goldens/ghc/9.8/getqq_missing_key.golden diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 13d6d53d..7135d424 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -46,6 +46,7 @@ jobs: - '9.2' - '9.4' - '9.6' + - '9.8' include: - ghc_version: 9.0.1 oldest: true diff --git a/CHANGELOG.md b/CHANGELOG.md index ef06f994..329166bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # Unreleased * Drop support for GHC 8.10 +* Add support for GHC 9.8 # v1.4.1.0 diff --git a/aeson-schemas.cabal b/aeson-schemas.cabal index 56c1eff2..d766ba7c 100644 --- a/aeson-schemas.cabal +++ b/aeson-schemas.cabal @@ -43,6 +43,7 @@ extra-source-files: 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 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) From 6f4a93c1c67dbd44aac5c69d44b55bb3b14da03f Mon Sep 17 00:00:00 2001 From: Brandon Chinn Date: Tue, 26 Dec 2023 15:45:02 +0000 Subject: [PATCH 5/7] Drop support for GHC 9.0 + 9.2 --- .github/workflows/ci.yml | 4 +--- CHANGELOG.md | 2 +- aeson-schemas.cabal | 4 +--- package.yaml | 2 +- test/goldens/ghc/9.0/getqq_missing_key.golden | 6 ------ test/goldens/ghc/9.2/getqq_missing_key.golden | 6 ------ 6 files changed, 4 insertions(+), 20 deletions(-) delete mode 100644 test/goldens/ghc/9.0/getqq_missing_key.golden delete mode 100644 test/goldens/ghc/9.2/getqq_missing_key.golden diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7135d424..2f0a2ab6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,13 +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/CHANGELOG.md b/CHANGELOG.md index 329166bc..3e7d2e11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Unreleased -* Drop support for GHC 8.10 +* 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 d766ba7c..fb0648c6 100644 --- a/aeson-schemas.cabal +++ b/aeson-schemas.cabal @@ -39,8 +39,6 @@ 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 @@ -82,7 +80,7 @@ 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 diff --git a/package.yaml b/package.yaml index 9d181836..535ee654 100644 --- a/package.yaml +++ b/package.yaml @@ -43,7 +43,7 @@ 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 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 ...) From 43856e30fb89d2616e4572b896872c44b6f1d8f1 Mon Sep 17 00:00:00 2001 From: Brandon Chinn Date: Tue, 26 Dec 2023 17:28:53 +0000 Subject: [PATCH 6/7] Set lower-bound for aeson-qq --- .github/workflows/ghc-compat-test.yml | 1 - aeson-schemas.cabal | 2 +- package.yaml | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) 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/aeson-schemas.cabal b/aeson-schemas.cabal index fb0648c6..875d4f90 100644 --- a/aeson-schemas.cabal +++ b/aeson-schemas.cabal @@ -120,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 535ee654..e58774a9 100644 --- a/package.yaml +++ b/package.yaml @@ -57,7 +57,7 @@ tests: main: Main.hs dependencies: - aeson - - aeson-qq + - aeson-qq >= 0.8.4 - aeson-schemas - base - deepseq From 15c874e4d417de477cc9e4ab51c501ec4620e655 Mon Sep 17 00:00:00 2001 From: Brandon Chinn Date: Tue, 26 Dec 2023 15:47:48 +0000 Subject: [PATCH 7/7] Bump version --- CHANGELOG.md | 2 ++ aeson-schemas.cabal | 2 +- package.yaml | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e7d2e11..d0d520fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # Unreleased +# v1.4.2.0 + * Drop support for GHC 8.10 + 9.0 + 9.2 * Add support for GHC 9.8 diff --git a/aeson-schemas.cabal b/aeson-schemas.cabal index 875d4f90..90cb9dff 100644 --- a/aeson-schemas.cabal +++ b/aeson-schemas.cabal @@ -5,7 +5,7 @@ cabal-version: >= 1.10 -- 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 diff --git a/package.yaml b/package.yaml index e58774a9..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