diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dfd3b23ee..afd4719ad 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,10 +17,6 @@ jobs: cabal: - "latest" ghc: - - "8.10.7" - - "9.0.2" - - "9.2.8" - - "9.4.8" - "9.6.6" - "9.8.2" - "9.10.3" @@ -64,13 +60,10 @@ jobs: # ghc must match each snapshot's compiler exactly, since we build # with --system-ghc against the GHC provisioned by the setup action. plan: - - { resolver: "--stack-yaml ./stack-8.10.yaml", ghc: "8.10.7" } - - { resolver: "--stack-yaml ./stack-9.0.yaml", ghc: "9.0.2" } - - { resolver: "--stack-yaml ./stack-9.2.yaml", ghc: "9.2.8" } - - { resolver: "--stack-yaml ./stack-9.4.yaml", ghc: "9.4.8" } - { resolver: "--stack-yaml ./stack-9.6.yaml", ghc: "9.6.6" } - { resolver: "--stack-yaml ./stack-9.8.yaml", ghc: "9.8.4" } - { resolver: "--stack-yaml ./stack-9.10.yaml", ghc: "9.10.3" } + - { resolver: "--stack-yaml ./stack-9.12.yaml", ghc: "9.12.4" } steps: - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 diff --git a/.hgignore b/.hgignore deleted file mode 100644 index 427cb183d..000000000 --- a/.hgignore +++ /dev/null @@ -1,11 +0,0 @@ -syntax: regexp -~$ -\#.*\#$ -\.\# -\.DS_Store$ -\.cabal-sandbox/ -\.hpc/ -\.tix$ -cabal\.sandbox\.config$ -dist/ -\.stack-work/ diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index d2e276380..000000000 --- a/.travis.yml +++ /dev/null @@ -1,32 +0,0 @@ -sudo: required - -os: linux -dist: xenial - -env: - - GHCVER=8.0.2 - - GHCVER=8.2.2 - - GHCVER=8.4.4 - - GHCVER=8.6.5 - -cache: - directories: - - $HOME/.ghc - - $HOME/.cabal - -before_install: - - sudo add-apt-repository -y ppa:hvr/ghc - - sudo apt-get update - - sudo apt-get install alex-3.1.7 happy-1.19.5 cabal-install-3.0 ghc-$GHCVER - - export PATH=/opt/cabal/bin:/opt/ghc/$GHCVER/bin:/opt/alex/3.1.7/bin:/opt/happy/1.19.5/bin:$PATH - -install: - - cabal-3.0 update - -script: - - cabal-3.0 configure --enable-tests - - cabal-3.0 build - - cabal-3.0 test --test-show-details=streaming - - cabal-3.0 check - - cabal-3.0 haddock - - cabal-3.0 sdist diff --git a/CHANGELOG.md b/CHANGELOG.md index 57954c745..ff1d8914d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,9 @@ +## Unreleased + +* Raise the minimum supported GHC to 9.6 (`base >= 4.18`). Older compilers + are no longer tested in CI. + ## 2.4.0 * Add a `reset` function to the diff --git a/prometheus.cabal b/prometheus.cabal index db57a7874..d48d4ac66 100644 --- a/prometheus.cabal +++ b/prometheus.cabal @@ -10,6 +10,7 @@ maintainer: luke@bitnomial.com, opensource@bitnomial.com copyright: Bitnomial, Inc. (c) 2016-2023 category: Metrics, Monitoring, Web, System build-type: Simple +tested-with: GHC == 9.6.6, GHC == 9.8.2, GHC == 9.8.4, GHC == 9.10.3, GHC == 9.12.4 cabal-version: >=1.10 description: @@ -88,7 +89,7 @@ library , System.Metrics.Prometheus.Registry , System.Metrics.Prometheus.RegistryT - build-depends: base >= 4.9 && < 5 + build-depends: base >= 4.18 && < 5 , atomic-primops >= 0.8 && < 0.9 , bytestring >= 0.10 && < 0.13 , containers >= 0.5 && < 0.8 diff --git a/src/System/Metrics/Prometheus/Concurrent/Registry.hs b/src/System/Metrics/Prometheus/Concurrent/Registry.hs index 123791433..6f1e69ab3 100644 --- a/src/System/Metrics/Prometheus/Concurrent/Registry.hs +++ b/src/System/Metrics/Prometheus/Concurrent/Registry.hs @@ -9,7 +9,6 @@ module System.Metrics.Prometheus.Concurrent.Registry ( sample, ) where -import Control.Applicative ((<$>)) import Control.Concurrent.MVar ( MVar, modifyMVarMasked, diff --git a/src/System/Metrics/Prometheus/Concurrent/RegistryT.hs b/src/System/Metrics/Prometheus/Concurrent/RegistryT.hs index 3b2b9208f..446fa8a5c 100644 --- a/src/System/Metrics/Prometheus/Concurrent/RegistryT.hs +++ b/src/System/Metrics/Prometheus/Concurrent/RegistryT.hs @@ -2,7 +2,6 @@ module System.Metrics.Prometheus.Concurrent.RegistryT where -import Control.Applicative ((<$>)) import Control.Monad.IO.Class (MonadIO, liftIO) import Control.Monad.Trans.Class (MonadTrans) import Control.Monad.Trans.Reader ( diff --git a/src/System/Metrics/Prometheus/Encode/Text.hs b/src/System/Metrics/Prometheus/Encode/Text.hs index f18a5d3b7..4b1f36055 100644 --- a/src/System/Metrics/Prometheus/Encode/Text.hs +++ b/src/System/Metrics/Prometheus/Encode/Text.hs @@ -9,7 +9,6 @@ import Data.List ( intersperse, ) import qualified Data.Map as Map -import Data.Monoid ((<>)) import System.Metrics.Prometheus.Encode.Text.Histogram (encodeHistogram) import System.Metrics.Prometheus.Encode.Text.MetricId ( diff --git a/src/System/Metrics/Prometheus/Encode/Text/Histogram.hs b/src/System/Metrics/Prometheus/Encode/Text/Histogram.hs index 97889b2fe..943841c71 100644 --- a/src/System/Metrics/Prometheus/Encode/Text/Histogram.hs +++ b/src/System/Metrics/Prometheus/Encode/Text/Histogram.hs @@ -7,7 +7,6 @@ module System.Metrics.Prometheus.Encode.Text.Histogram ( import Data.ByteString.Builder (Builder) import Data.List (intersperse) import qualified Data.Map as Map -import Data.Monoid ((<>)) import System.Metrics.Prometheus.Encode.Text.MetricId ( encodeDouble, diff --git a/src/System/Metrics/Prometheus/Encode/Text/MetricId.hs b/src/System/Metrics/Prometheus/Encode/Text/MetricId.hs index 7b6326e7b..f7ea06fcc 100644 --- a/src/System/Metrics/Prometheus/Encode/Text/MetricId.hs +++ b/src/System/Metrics/Prometheus/Encode/Text/MetricId.hs @@ -20,7 +20,6 @@ import Data.ByteString.Builder ( intDec, ) import Data.List (intersperse) -import Data.Monoid ((<>)) import Data.Text (Text, replace) import Data.Text.Encoding (encodeUtf8) import Data.Text.Lazy (toStrict) diff --git a/src/System/Metrics/Prometheus/Http/Scrape.hs b/src/System/Metrics/Prometheus/Http/Scrape.hs index be1bf7686..a6a1790bc 100644 --- a/src/System/Metrics/Prometheus/Http/Scrape.hs +++ b/src/System/Metrics/Prometheus/Http/Scrape.hs @@ -7,7 +7,6 @@ module System.Metrics.Prometheus.Http.Scrape ( prometheusApp, ) where -import Control.Applicative ((<$>)) import Control.Monad.IO.Class ( MonadIO, liftIO, diff --git a/src/System/Metrics/Prometheus/Metric/Counter.hs b/src/System/Metrics/Prometheus/Metric/Counter.hs index 70d8148f4..2800a72a8 100644 --- a/src/System/Metrics/Prometheus/Metric/Counter.hs +++ b/src/System/Metrics/Prometheus/Metric/Counter.hs @@ -9,7 +9,6 @@ module System.Metrics.Prometheus.Metric.Counter ( set, ) where -import Control.Applicative ((<$>)) import Control.Monad (when) import Data.Atomics.Counter (AtomicCounter, incrCounter, newCounter, writeCounter) diff --git a/src/System/Metrics/Prometheus/Metric/Gauge.hs b/src/System/Metrics/Prometheus/Metric/Gauge.hs index 3c0852e2c..fdea3080e 100644 --- a/src/System/Metrics/Prometheus/Metric/Gauge.hs +++ b/src/System/Metrics/Prometheus/Metric/Gauge.hs @@ -11,7 +11,6 @@ module System.Metrics.Prometheus.Metric.Gauge ( modifyAndSample, ) where -import Control.Applicative ((<$>)) import Data.IORef (IORef, atomicModifyIORef', newIORef) diff --git a/src/System/Metrics/Prometheus/Metric/Histogram.hs b/src/System/Metrics/Prometheus/Metric/Histogram.hs index d1db1649f..4e227dab2 100644 --- a/src/System/Metrics/Prometheus/Metric/Histogram.hs +++ b/src/System/Metrics/Prometheus/Metric/Histogram.hs @@ -12,7 +12,6 @@ module System.Metrics.Prometheus.Metric.Histogram ( reset, ) where -import Control.Applicative ((<$>)) import Control.Monad (void) import Data.Bool (bool) import Data.IORef ( diff --git a/src/System/Metrics/Prometheus/MetricId.hs b/src/System/Metrics/Prometheus/MetricId.hs index 58d2c9438..0df301b86 100644 --- a/src/System/Metrics/Prometheus/MetricId.hs +++ b/src/System/Metrics/Prometheus/MetricId.hs @@ -7,8 +7,6 @@ import Data.Bifunctor (first) import Data.Char (isDigit) import Data.Map (Map) import qualified Data.Map as Map -import Data.Monoid (Monoid) -import Data.Semigroup (Semigroup) import Data.String (IsString (..)) import Data.Text (Text) import qualified Data.Text as Text diff --git a/src/System/Metrics/Prometheus/Registry.hs b/src/System/Metrics/Prometheus/Registry.hs index b39a5899b..17438c889 100644 --- a/src/System/Metrics/Prometheus/Registry.hs +++ b/src/System/Metrics/Prometheus/Registry.hs @@ -1,5 +1,3 @@ -{-# LANGUAGE DeriveDataTypeable #-} - module System.Metrics.Prometheus.Registry ( Registry, RegistrySample (..), @@ -12,11 +10,9 @@ module System.Metrics.Prometheus.Registry ( sample, ) where -import Control.Applicative ((<$>)) import Control.Exception (Exception, throw) import Data.Map (Map) import qualified Data.Map as Map -import Data.Typeable (Typeable) import System.Metrics.Prometheus.Metric ( Metric (..), @@ -42,7 +38,7 @@ newtype Registry = Registry {unRegistry :: Map MetricId Metric} newtype RegistrySample = RegistrySample {unRegistrySample :: Map MetricId MetricSample} -newtype KeyError = KeyError MetricId deriving (Show, Typeable) +newtype KeyError = KeyError MetricId deriving (Show) instance Exception KeyError diff --git a/src/System/Metrics/Prometheus/RegistryT.hs b/src/System/Metrics/Prometheus/RegistryT.hs index 5f34cbe5c..da93d72b7 100644 --- a/src/System/Metrics/Prometheus/RegistryT.hs +++ b/src/System/Metrics/Prometheus/RegistryT.hs @@ -2,7 +2,6 @@ module System.Metrics.Prometheus.RegistryT where -import Control.Applicative ((<$>)) import Control.Monad.IO.Class (MonadIO, liftIO) import Control.Monad.Trans.Class (MonadTrans) import Control.Monad.Trans.State.Strict ( diff --git a/stack-8.10.yaml b/stack-8.10.yaml deleted file mode 100644 index 68e5260b0..000000000 --- a/stack-8.10.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -resolver: lts-18.28 -flags: {} -packages: - - '.' -extra-deps: [] diff --git a/stack-9.0.yaml b/stack-9.0.yaml deleted file mode 100644 index 3be543604..000000000 --- a/stack-9.0.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -resolver: lts-19.33 -flags: {} -packages: - - "." -extra-deps: [] diff --git a/stack-9.2.yaml b/stack-9.12.yaml similarity index 61% rename from stack-9.2.yaml rename to stack-9.12.yaml index 287d01ca2..b17394ba9 100644 --- a/stack-9.2.yaml +++ b/stack-9.12.yaml @@ -1,5 +1,5 @@ --- -resolver: lts-20.26 +resolver: nightly-2026-10-09 flags: {} packages: - "." diff --git a/stack-9.4.yaml b/stack-9.4.yaml deleted file mode 100644 index 58ac959cd..000000000 --- a/stack-9.4.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -resolver: lts-21.25 -flags: {} -packages: - - "." -extra-deps: []