diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bc4af1a287..b343ccabe6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -351,10 +351,10 @@ compatibility with a range of versions of GHC that a library package (such as Stack aims to depend on well-known packages. The specific versions on which it depends at any time are specified by `package.yaml` and `stack.yaml`. It does not aim to be compatible with more than one version of the `Cabal` package at -any time. At the time of writing (January 2026) the package versions are -primarily ones in Stackage snapshot LTS Haskell 24.37 (for GHC 9.10.3), the -latest version of `Cabal` released on Hackage (`Cabal-3.16.0.0`), -`pantry-0.11.2`, `persistent-2.18.0.0` and the latest version of packages in +any time. At the time of writing (May 2026) the package versions are +primarily ones in Stackage snapshot LTS Haskell 24.43 (for GHC 9.10.3), the +latest version of `Cabal` released on Hackage (`Cabal-3.16.1.0`), +`pantry-0.11.2`, `persistent-2.18.1.0` and the latest version of packages in the `tls` family (which reduce dependencies on unmaintained packages). A Stack executable makes use of Cabal (the library) through a small 'Setup' diff --git a/cabal.config b/cabal.config index f965ed41a0..ce8f2cd816 100644 --- a/cabal.config +++ b/cabal.config @@ -1,41 +1,41 @@ constraints: - , Cabal ==3.16.0.0 - , Cabal-syntax ==3.16.0.0 + , Cabal ==3.16.1.0 + , Cabal-syntax ==3.16.1.0 , Glob ==0.10.2 - , OneTuple ==0.4.2 + , OneTuple ==0.4.3 , QuickCheck ==2.15.0.1 , StateVar ==1.2.2 , Win32 ==2.14.1.0 - , aeson ==2.2.3.0 + , aeson ==2.2.5.0 , aeson-warning-parser ==0.1.1 - , alex ==3.5.4.0 + , alex ==3.5.4.2 , annotated-wl-pprint ==0.7.0 - , ansi-terminal ==1.1.4 + , ansi-terminal ==1.1.5 , ansi-terminal-types ==1.1.3 , appar ==0.1.8 , array ==0.5.8.0 , assoc ==1.1.1 - , async ==2.2.5 + , async ==2.2.6 , atomic-counter ==0.1.2.4 , attoparsec ==0.14.4 , attoparsec-aeson ==2.2.2.0 , auto-update ==0.2.6 , base ==4.20.2.0 - , base-orphans ==0.9.3 + , base-orphans ==0.9.4 , base16 ==1.0 , base16-bytestring ==1.0.2.0 , base64 ==1.0 , base64-bytestring ==1.2.1.0 , basement ==0.0.16 - , bifunctors ==5.6.2 + , bifunctors ==5.6.3 , binary ==0.8.9.3 - , bitvec ==1.1.5.0 + , bitvec ==1.1.6.0 , blaze-builder ==0.4.4.1 , blaze-html ==0.9.2.0 , blaze-markup ==0.8.3.0 , byteorder ==1.0.4 , bytestring ==0.12.2.0 - , casa-client ==0.0.3 + , casa-client ==0.0.4 , casa-types ==0.0.3 , case-insensitive ==1.2.1.0 , cborg ==0.2.10.0 @@ -43,17 +43,17 @@ constraints: , character-ps ==0.1 , clock ==0.8.4 , cmdargs ==0.10.22 - , colour ==2.3.6 - , comonad ==5.0.9 + , colour ==2.3.7 + , comonad ==5.0.10 , companion ==0.1.0 , conduit ==1.3.6.1 , conduit-combinators ==1.3.0 , conduit-extra ==1.3.8 , containers ==0.7 - , contravariant ==1.5.5 + , contravariant ==1.5.6 , cookie ==0.5.1 , cryptohash-sha256 ==0.11.102.1 - , crypton ==1.0.4 + , crypton ==1.0.6 , crypton-asn1-encoding ==0.10.0 , crypton-asn1-parse ==0.10.0 , crypton-asn1-types ==0.4.1 @@ -65,14 +65,14 @@ constraints: , crypton-x509-store ==1.8.0 , crypton-x509-system ==1.8.0 , crypton-x509-validation ==1.8.0 - , data-default ==0.8.0.1 + , data-default ==0.8.0.2 , data-default-class ==0.2.0.0 , data-fix ==0.3.4 , deepseq ==1.5.0.0 , digest ==0.0.2.1 , directory ==1.3.8.5 , directory-ospath-streaming ==0.2.2 - , distributive ==0.6.2.1 + , distributive ==0.6.3 , dlist ==1.0 , easy-file ==0.2.5 , ech-config ==0.0.1 @@ -82,12 +82,11 @@ constraints: , extra ==1.8.1 , fast-logger ==3.2.6 , file-embed ==0.0.16.0 - , file-io ==0.1.5 - , filelock ==0.1.1.8 + , file-io ==0.1.6 + , filelock ==0.1.1.9 , filepath ==1.5.4.0 , fsnotify ==0.4.4.0 - , generic-deriving ==1.14.6 - , generically ==0.1.1 + , generic-deriving ==1.14.7 , ghc-bignum ==1.3 , ghc-boot ==9.10.3 , ghc-boot-th ==9.10.3 @@ -99,25 +98,25 @@ constraints: , half ==0.3.3 , happy ==2.1.7 , happy-lib ==2.1.7 - , hashable ==1.5.0.0 + , hashable ==1.5.1.0 , haskell-src-exts ==1.23.1 , haskell-src-meta ==0.8.15 , hi-file-parser ==0.1.8.0 - , hpack ==0.38.3 + , hpack ==0.39.5 , hpc ==0.7.0.2 , hpke ==0.0.0 - , http-api-data ==0.6.2 + , http-api-data ==0.6.3 , http-client ==0.7.19 , http-client-tls ==0.3.6.4 , http-conduit ==2.3.9.1 , http-download ==0.2.1.0 , http-types ==0.12.4 - , indexed-traversable ==0.1.4 - , indexed-traversable-instances ==0.1.2 + , indexed-traversable ==0.1.5 + , indexed-traversable-instances ==0.1.2.1 , infer-license ==0.2.0 , integer-conversion ==0.1.1 , integer-gmp ==1.1 - , integer-logarithms ==1.0.4 + , integer-logarithms ==1.0.5 , iproute ==1.7.15 , libyaml ==0.1.4 , libyaml-clib ==0.2.5 @@ -128,7 +127,7 @@ constraints: , microlens ==0.4.14.0 , microlens-mtl ==0.2.1.0 , microlens-th ==0.4.3.17 - , mime-types ==0.1.2.0 + , mime-types ==0.1.2.2 , mintty ==0.1.4 , monad-control ==1.0.3.1 , monad-logger ==0.3.42 @@ -139,26 +138,26 @@ constraints: , mustache ==2.4.3.1 , neat-interpolation ==0.5.1.4 , network ==3.2.8.0 - , network-byte-order ==0.1.7 + , network-byte-order ==0.1.8 , network-uri ==2.6.4.2 , old-locale ==1.0.0.7 - , old-time ==1.1.0.4 + , old-time ==1.1.1.0 , open-browser ==0.4.0.0 , optparse-applicative ==0.18.1.0 , optparse-simple ==0.1.1.4 , os-string ==2.0.7 , pantry ==0.11.2 , parsec ==3.1.18.0 - , parser-combinators ==1.3.0 + , parser-combinators ==1.3.1 , path ==0.9.6 , path-io ==1.8.2 , path-pieces ==0.2.1 - , persistent ==2.18.0.0 + , persistent ==2.18.1.0 , persistent-sqlite ==2.13.3.1 , persistent-template ==2.12.0.0 , pretty ==1.1.3.6 - , prettyprinter ==1.7.1 - , prettyprinter-ansi-terminal ==1.1.3 + , prettyprinter ==1.7.2 + , prettyprinter-ansi-terminal ==1.1.4 , primitive ==0.9.1.0 , process ==1.6.26.1 , project-template ==0.2.1.0 @@ -173,18 +172,18 @@ constraints: , rts ==1.0.2 , safe ==0.3.21 , safe-exceptions ==0.1.7.4 - , scientific ==0.3.8.0 + , scientific ==0.3.8.1 , semaphore-compat ==1.0.0 - , semialign ==1.3.1 - , semigroupoids ==6.0.1 + , semialign ==1.3.1.1 + , semigroupoids ==6.0.2 , serialise ==0.2.6.1 , silently ==1.2.5.4 , split ==0.2.5 - , splitmix ==0.1.3.1 + , splitmix ==0.1.3.2 , stack ==3.10.0 , static-bytes ==0.1.1 , stm ==2.5.3.1 - , stm-chans ==3.0.0.9 + , stm-chans ==3.0.0.11 , streaming-commons ==0.2.3.1 , strict ==0.5.1 , string-interpolate ==0.3.4.0 @@ -192,28 +191,28 @@ constraints: , tagged ==0.8.9 , tar ==0.6.4.0 , tar-conduit ==0.4.1 - , tasty ==1.5.3 + , tasty ==1.5.4 , template-haskell ==2.22.0.0 , temporary ==1.3 , text ==2.1.3 , text-conversions ==0.3.1.1 - , text-iso8601 ==0.1.1 + , text-iso8601 ==0.1.1.1 , text-metrics ==0.3.3 - , text-short ==0.1.6 - , th-abstraction ==0.7.1.0 - , th-compat ==0.1.6 + , text-short ==0.1.6.1 + , th-abstraction ==0.7.2.0 + , th-compat ==0.1.7 , th-expand-syns ==0.4.12.0 - , th-lift ==0.8.6 + , th-lift ==0.8.7 , th-lift-instances ==0.1.20 - , th-orphans ==0.13.16 + , th-orphans ==0.13.17 , th-reify-many ==0.1.10 , these ==1.2.1 , time ==1.12.2 - , time-compat ==1.9.8 + , time-compat ==1.9.9 , time-hourglass ==0.3.0 , tls ==2.2.2 , transformers ==0.6.1.1 - , transformers-base ==0.4.6 + , transformers-base ==0.4.6.1 , transformers-compat ==0.7.2 , typed-process ==0.2.13.0 , unix ==2.8.6.0 @@ -223,8 +222,8 @@ constraints: , unliftio-core ==0.2.1.0 , unordered-containers ==0.2.20.1 , utf8-string ==1.0.2 - , uuid-types ==1.0.6 - , vault ==0.3.1.5 + , uuid-types ==1.0.6.1 + , vault ==0.3.1.6 , vector ==0.13.2.0 , vector-algorithms ==0.9.1.0 , vector-stream ==0.1.0.1 @@ -232,4 +231,4 @@ constraints: , yaml ==0.11.11.2 , zip-archive ==0.4.3.2 , zlib ==0.7.1.1 - , zlib-clib ==1.3.1 + , zlib-clib ==1.3.2 diff --git a/cabal.project b/cabal.project index 91b417ea97..bff0e92d82 100644 --- a/cabal.project +++ b/cabal.project @@ -33,7 +33,7 @@ -- specified by the snapshot specifed in Stack's project-level YAML -- configuration file (`stack.yaml`). The relevant version of GHC can be -- confirmed by reviewing the snapshot on Stackage. For example, at: --- https://www.stackage.org/lts-24.37/cabal.config. +-- https://www.stackage.org/lts-24.43/cabal.config. -- with-compiler: ghc-9.10.3 import: cabal.config diff --git a/doc/commands/list_command.md b/doc/commands/list_command.md index dad5cabee5..454bab3907 100644 --- a/doc/commands/list_command.md +++ b/doc/commands/list_command.md @@ -45,17 +45,17 @@ Error: [S-4926] tasty, retry, path, pretty, pasty, xattr, alloy, para, pappy and alure. -stack --snapshot lts-24.37 list base unix Win32 acme-missiles pantry +stack --snapshot lts-24.43 list base unix Win32 acme-missiles pantry Error: [S-4926] * Package does not appear in snapshot (directly or indirectly): acme-missiles. -stack --snapshot lts-24.37 list base unix Win32 pantry +stack --snapshot lts-24.43 list base unix Win32 pantry base-4.20.2.0 unix-2.8.7.0 Win32-2.14.1.0 pantry-0.10.1 -stack --snapshot lts-24.37 list +stack --snapshot lts-24.43 list AC-Angle-1.0 ALUT-2.4.0.3 ... diff --git a/doc/commands/script_command.md b/doc/commands/script_command.md index 92eb1c4027..42ee05187a 100644 --- a/doc/commands/script_command.md +++ b/doc/commands/script_command.md @@ -49,7 +49,7 @@ A snapshot must be specified on the command line, using the `--snapshot` option. For example: ~~~text -stack script --snapshot lts-24.37 MyScript.hs +stack script --snapshot lts-24.43 MyScript.hs ~~~ An immutable extra-dep can be added to the snapshot on the command line with the @@ -211,7 +211,7 @@ main = do can be compiled and run, with arguments, with: ~~~text -stack --snapshot lts-24.37 script --package acme-missiles --compile MyScript.hs -- "Don't panic!" "Duck and cover!" +stack --snapshot lts-24.43 script --package acme-missiles --compile MyScript.hs -- "Don't panic!" "Duck and cover!" ~~~ `acme-missiles-0.3` (the most recent version in the package index) will be used. @@ -231,7 +231,7 @@ snapshot as an extra-dep. The `stack script` command is specified using Stack's ~~~haskell {- stack script - -- snapshot lts-24.37 + -- snapshot lts-24.43 -- extra-dep acme-missiles-0.2 -- package acme-missiles -} @@ -333,7 +333,7 @@ A Haskell source file `MyScript.hs`, as follows: ~~~haskell {- stack script - --snapshot lts-24.37 + --snapshot lts-24.43 -} {-# LANGUAGE OverloadedStrings #-} diff --git a/doc/configure/yaml/include.md b/doc/configure/yaml/include.md index 2e56c60f26..3f9411e340 100644 --- a/doc/configure/yaml/include.md +++ b/doc/configure/yaml/include.md @@ -28,10 +28,10 @@ A value for a key can be provided by an included file. For example, given a file `snapshot.yaml` in the project directory with the content: ~~~yaml -lts-24.37 +lts-24.43 ~~~ -the following project-level configuration file would use `lts-24.37` as the +the following project-level configuration file would use `lts-24.43` as the snapshot: ~~~yaml @@ -42,7 +42,7 @@ The included file replaces the `!include` directive with its content, so this is equivalent to: ~~~yaml -snapshot: lts-24.37 +snapshot: lts-24.43 ~~~ ## Including a sequence @@ -59,7 +59,7 @@ directory with the content: the following project-level configuration file would use those as extra-deps: ~~~yaml -snapshot: lts-24.37 +snapshot: lts-24.43 extra-deps: !include extra-deps.yaml ~~~ @@ -83,14 +83,14 @@ flags: the following project-level configuration file would merge those options: ~~~yaml -snapshot: lts-24.37 +snapshot: lts-24.43 <<: !include shared-config.yaml ~~~ This is equivalent to: ~~~yaml -snapshot: lts-24.37 +snapshot: lts-24.43 ghc-options: "$everything": -Wall flags: @@ -101,7 +101,7 @@ flags: The `!include` directive can also be placed on the line after the merge key: ~~~yaml -snapshot: lts-24.37 +snapshot: lts-24.43 <<: !include shared-config.yaml ~~~ diff --git a/doc/configure/yaml/non-project.md b/doc/configure/yaml/non-project.md index 0a45b26f96..3c5faa5b06 100644 --- a/doc/configure/yaml/non-project.md +++ b/doc/configure/yaml/non-project.md @@ -309,7 +309,7 @@ can be used to override the compiler (and, implicitly, its boot packages) for a Stackage snapshot, like this: ~~~yaml -snapshot: lts-24.37 +snapshot: lts-24.43 compiler: ghc-9.10.2 compiler-check: match-exact ~~~ diff --git a/doc/configure/yaml/project.md b/doc/configure/yaml/project.md index 7eea35ce90..4593d2b247 100644 --- a/doc/configure/yaml/project.md +++ b/doc/configure/yaml/project.md @@ -39,13 +39,13 @@ snapshot defines a GHC version, the package version of packages available for installation, and various settings like build flags. For example: ~~~yaml -snapshot: lts-24.37 # A Stackage LTS Haskell snapshot +snapshot: lts-24.43 # A Stackage LTS Haskell snapshot ~~~ or ~~~yaml -snapshot: nightly-2026-04-18 # A Stackage Nightly snapshot +snapshot: nightly-2026-05-29 # A Stackage Nightly snapshot ~~~ For further information about how to specify the location of a snapshot, see the diff --git a/doc/topics/Stack_and_VS_Code.md b/doc/topics/Stack_and_VS_Code.md index 259138b0e6..cc50c5fa9a 100644 --- a/doc/topics/Stack_and_VS_Code.md +++ b/doc/topics/Stack_and_VS_Code.md @@ -150,7 +150,7 @@ VS Code with the 'Haskell' extension can be configured in a number of ways: Each time that a snapshot is used that references a different version of GHC, then GHCup must be used to install it (if GHCup has not already - installed that version). For example, to use `snapshot: lts-24.37` + installed that version). For example, to use `snapshot: lts-24.43` (GHC 9.10.3), the command `ghcup install ghc 9.10.3` must have been used to install GHC 9.10.3. That may be a minor inconvenience for some people, as one the primary benefits of Stack over other tools for building diff --git a/doc/topics/custom_snapshot.md b/doc/topics/custom_snapshot.md index 225b7a5446..cd6e2958e4 100644 --- a/doc/topics/custom_snapshot.md +++ b/doc/topics/custom_snapshot.md @@ -29,7 +29,7 @@ available in snapshots to ensure reproducibility. ~~~yaml # Inherits a specific GHC version and, implicitly, its boot packages and # specific versions of a set of other packages: -snapshot: lts-24.37 +snapshot: lts-24.43 # Overwrites the version of GHC (and, implicitly, its boot packages) specified # in the snapshot (optional): compiler: ghc-9.10.2 @@ -75,36 +75,36 @@ custom snapshot, due to Stack sharing snapshot packages whenever possible. ### Overriding the compiler -The following snapshot specification will be identical to `lts-24.37`, but +The following snapshot specification will be identical to `lts-24.43`, but instead use `ghc-9.10.2` and its boot packages instead of `ghc-9.10.3` and its boot packages: ~~~yaml -snapshot: lts-24.37 # GHC 9.10.3 +snapshot: lts-24.43 # GHC 9.10.3 compiler: ghc-9.10.2 ~~~ ### Dropping packages -The following snapshot specification will be identical to `lts-24.37`, but +The following snapshot specification will be identical to `lts-24.43`, but without the `text` package in our snapshot. Removing this package will cause all the packages that depend on `text` to be unbuildable, but they will still be present in the snapshot. ~~~yaml -snapshot: lts-24.37 +snapshot: lts-24.43 drop-packages: - text ~~~ ### Hiding packages -The following snapshot specification will be identical to `lts-24.37`, but the +The following snapshot specification will be identical to `lts-24.43`, but the `text` package will be hidden when registering. This will affect, for example, the import parser in the script command. ~~~yaml -snapshot: lts-24.37 +snapshot: lts-24.43 hidden: - text ~~~ @@ -115,11 +115,11 @@ In order to specify GHC options for a package, you use the same syntax as the [ghc-options](../configure/yaml/non-project.md#ghc-options) key for build configuration. -The following snapshot specification will be identical to `lts-24.37`, but +The following snapshot specification will be identical to `lts-24.43`, but provides `-O1` as a ghc-option for `text`: ~~~yaml -snapshot: lts-24.37 +snapshot: lts-24.43 packages: - text-2.1.2 ghc-options: @@ -138,11 +138,11 @@ packages in the `packages` list, rather than all packages in the snapshot. In order to specify Cabal flags for a package, you use the same syntax as the [flags](../configure/yaml/project.md#flags) key for build configuration. The -following snapshot specification will be identical to `lts-24.37`, but +following snapshot specification will be identical to `lts-24.43`, but it enables the `developer` Cabal flag: ~~~yaml -snapshot: lts-24.37 +snapshot: lts-24.43 packages: - text-2.1.2 flags: diff --git a/doc/topics/haskell_and_c_code.md b/doc/topics/haskell_and_c_code.md index 9878ac550f..3aba0a5895 100644 --- a/doc/topics/haskell_and_c_code.md +++ b/doc/topics/haskell_and_c_code.md @@ -83,7 +83,7 @@ executables: The project's `stack.yaml` file only needs to identify a snapshot: ~~~yaml -snapshot: lts-24.37 # GHC 9.10.3 +snapshot: lts-24.43 # GHC 9.10.3 ~~~ This example project can be built with Stack in the normal way (`stack build`), @@ -221,7 +221,7 @@ The `include-dirs` key will cause the specified directory (again, The project's `stack.yaml` file only needs to identify a snapshot: ~~~yaml -snapshot: lts-24.37 # GHC 9.10.3 +snapshot: lts-24.43 # GHC 9.10.3 ~~~ This example project can be built with Stack in the normal way (`stack build`), diff --git a/doc/topics/lock_files.md b/doc/topics/lock_files.md index 2bfb41d974..c5f26e5ca2 100644 --- a/doc/topics/lock_files.md +++ b/doc/topics/lock_files.md @@ -49,9 +49,7 @@ Relevant to this discussion, Stack's project-level configuration file Some of this information can be incomplete. Consider this `stack.yaml` file: ~~~yaml -snapshot: lts-19.22 -packages: -- . +snapshot: lts-24.43 extra-deps: - acme-missiles-0.3 ~~~ @@ -68,15 +66,15 @@ extra-deps: sha256: 614bc0cca76937507ea0a5ccc17a504c997ce458d7f2f9e43b15a10c8eaeb033 ~~~ -The `lts-19.22` information is also incomplete. While we assume in general that +The `lts-24.43` information is also incomplete. While we assume in general that Haskell LTS snapshots never change, there is nothing that prohibits that from happening. Instead, the complete version of that key is: ~~~yaml -snapshot: -- url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/19/22.yaml - size: 619399 - sha256: 5098594e71bdefe0c13e9e6236f12e3414ef91a2b89b029fd30e8fc8087f3a07 +snapshots: +- url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/24/43.yaml + size: 729011 + sha256: 3c412a7c13dba6d3d808455a458e0776c58b6cf99b8a7961a2f5e55589d6f1d6 ~~~ Users do not particularly feel like writing all of that. Therefore, it is common @@ -84,9 +82,9 @@ to see _incomplete_ information in a `stack.yaml` file. ## Recursive snapshot layers -Snapshot files can be _recursive_, where `stack.yaml` refers to `foo.yaml`, -which refers to `bar.yaml`, which refers to `baz.yaml`. A local snapshot file -can refer to a remote snapshot file (available via an HTTP(S) URL). +Snapshot files can be _recursive_, where `stack.yaml` refers to +`mySnapshotA.yaml`, which refers to `mySnapshotB.yaml`, which refers to a remote +snapshot file (available via an HTTP(S) URL). We need to encode information from _all_ of these snapshot layers and the `stack.yaml` file in the lock file, to ensure that we can detect if anything @@ -116,35 +114,27 @@ The lock file contains the following information: It looks like the following: ~~~yaml -# Lock file, some message about the file being auto-generated -snapshots: - # Starts with the snapshot specified in stack.yaml, - # then continues with the snapshot specified in each - # subsequent snapshot file - - original: - foo.yaml # raw content specified in a snapshot file - completed: - file: foo.yaml - sha256: XXXX - size: XXXX - - original: - lts-13.9 - completed: - size: 496662 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/13/9.yaml - sha256: 83de9017d911cf7795f19353dba4d04bd24cd40622b7567ff61fc3f7223aa3ea +# This file was autogenerated by Stack. +# You should not edit this file by hand. +# For more information, please see the documentation at: +# https://docs.haskellstack.org/en/stable/topics/lock_files packages: -- original: https://hackage.haskell.org/package/acme-missiles-0.3.tar.gz - completed: - size: 1442 - url: https://hackage.haskell.org/package/acme-missiles-0.3.tar.gz - name: acme-missiles - version: '0.3' - sha256: e563d8b524017a06b32768c4db8eff1f822f3fb22a90320b7e414402647b735b +# Listed in the order that they are encountered in the layers of snapshots, +# starting at the lowest layer: +- completed: + hackage: acme-missiles-0.3@sha256:2ba66a092a32593880a87fb00f3213762d7bca65a687d45965778deb8694c5d1,613 pantry-tree: - size: 226 sha256: 614bc0cca76937507ea0a5ccc17a504c997ce458d7f2f9e43b15a10c8eaeb033 + size: 226 + original: + hackage: acme-missiles-0.3 +snapshots: +- completed: + sha256: 3c412a7c13dba6d3d808455a458e0776c58b6cf99b8a7961a2f5e55589d6f1d6 + size: 729011 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/24/43.yaml + original: lts-24.43 ~~~ ## Creation procedure diff --git a/doc/topics/scripts.md b/doc/topics/scripts.md index 7c88e61dd2..86a070f2f1 100644 --- a/doc/topics/scripts.md +++ b/doc/topics/scripts.md @@ -19,7 +19,7 @@ An example will be easiest to understand. Consider the Haskell source file ~~~haskell #!/usr/bin/env stack --- stack script --snapshot lts-24.37 --package turtle +-- stack script --snapshot lts-24.43 --package turtle {-# LANGUAGE OverloadedStrings #-} import Turtle (echo) main = echo "Hello World!" @@ -78,11 +78,11 @@ able to reuse everything already built). The second line of the source code is the Stack interpreter options comment. In this example, it specifies the [`stack script`](../commands/script_command.md) -command with the options of a LTS Haskell 24.37 snapshot -(`--snapshot lts-24.37`) and ensuring the +command with the options of a LTS Haskell 24.43 snapshot +(`--snapshot lts-24.43`) and ensuring the [`turtle`](https://hackage.haskell.org/package/turtle) package is available (`--package turtle`). The version of the package will be that in the specified -snapshot (`lts-24.37` provides `turtle-1.6.2`). +snapshot (`lts-24.43` provides `turtle-1.6.2`). ## Arguments and interpreter options and arguments @@ -117,7 +117,7 @@ For example, the command `stack MyScript.hs arg1 arg2` with `MyScript.hs`: ~~~haskell #!/usr/bin/env stack {- stack script - --snapshot lts-24.37 + --snapshot lts-24.43 -- +RTS -s -RTS -} @@ -133,7 +133,7 @@ main = do is equivalent to the following command at the command line: ~~~text -stack script --snapshot lts-24.37 -- MyScript.hs arg1 arg2 +RTS -s -RTS +stack script --snapshot lts-24.43 -- MyScript.hs arg1 arg2 +RTS -s -RTS ~~~ where `+RTS -s -RTS` are some of GHC's @@ -164,7 +164,7 @@ options, or by providing a comma or space separated list. For example: ~~~haskell #!/usr/bin/env stack {- stack script - --snapshot lts-24.37 + --snapshot lts-24.43 --package turtle --package "stm async" --package http-client,http-conduit @@ -180,7 +180,7 @@ each. For example: ~~~haskell #!/usr/bin/env stack {- stack script - --snapshot lts-24.37 + --snapshot lts-24.43 --extra-dep acme-missiles-0.3@rev:0 --extra-dep "{git: git@github.com:yesodweb/wai, commit: '2f8a8e1b771829f4a8a77c0111352ce45a14c30f', subdirs: [auto-update, wai]}" -} @@ -227,7 +227,7 @@ which makes use of the joke package ~~~haskell {- stack script - --snapshot lts-24.37 + --snapshot lts-24.43 --package acme-missiles -} import Acme.Missiles (launchMissiles) @@ -238,7 +238,7 @@ main = launchMissiles The command `stack --script-no-run-compile Script.hs` then behaves as if the command -`stack script --snapshot lts-24.37 --package acme-missiles --no-run --compile -- Script.hs` +`stack script --snapshot lts-24.43 --package acme-missiles --no-run --compile -- Script.hs` had been given. `Script.hs` is compiled (without optimisation) and the resulting executable is not run: no missiles are launched in the process! @@ -280,7 +280,7 @@ those curious, here is an example with {- stack runghc --install-ghc - --snapshot lts-24.37 + --snapshot lts-24.43 --package base --package turtle -- @@ -304,7 +304,7 @@ it. Here is an example: {- stack exec ghci --install-ghc - --snapshot lts-24.37 + --snapshot lts-24.43 --package turtle -} ~~~ diff --git a/doc/topics/snapshot_location.md b/doc/topics/snapshot_location.md index 4022cfb4e0..e0b1718f67 100644 --- a/doc/topics/snapshot_location.md +++ b/doc/topics/snapshot_location.md @@ -32,7 +32,7 @@ There are four ways to specify a snapshot location: * **Stackage LTS Haskell snapshots**, for example: ~~~yaml - snapshot: lts-24.37 + snapshot: lts-24.43 ~~~ ??? info "Expansion of `lts-X.Y`" @@ -52,7 +52,7 @@ There are four ways to specify a snapshot location: * **Stackage Nightly snapshots**, for example: ~~~yaml - snapshot: nightly-2026-04-18 + snapshot: nightly-2026-05-29 ~~~ ??? info "Expansion of `nightly-YYYY-MM-DD`" @@ -95,7 +95,7 @@ There are four ways to specify a snapshot location: 3. Via a **URL** pointing to a snapshot configuration file, for example: ~~~yaml - snapshot: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2025/8/17.yaml` + snapshot: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2026/5/29.yaml` ~~~ For safer, more reproducible builds, you can optionally specify a URL @@ -103,9 +103,9 @@ There are four ways to specify a snapshot location: ~~~yaml snapshot: - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/12/0.yaml - size: 499143 - sha256: 781ea577595dff08b9c8794761ba1321020e3e1ec3297fb833fe951cce1bee11 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/24/43.yaml + size: 729011 + sha256: 3c412a7c13dba6d3d808455a458e0776c58b6cf99b8a7961a2f5e55589d6f1d6 ~~~ `size` is the number of bytes in the file and `sha256` is the file's SHA256 diff --git a/doc/topics/stack_yaml_vs_cabal_package_file.md b/doc/topics/stack_yaml_vs_cabal_package_file.md index 070cae979a..8d3b435d37 100644 --- a/doc/topics/stack_yaml_vs_cabal_package_file.md +++ b/doc/topics/stack_yaml_vs_cabal_package_file.md @@ -64,8 +64,8 @@ requires that you have chosen a specific version for each package available. The most common means by which this set of packages is defined is via a snapshot provided by Stackage. For example, if you go to the page -, you will see a list of 3,427 packages at -specific version numbers. When you then specify `snapshot: lts-24.37` you are +, you will see a list of 3,427 packages at +specific version numbers. When you then specify `snapshot: lts-24.43` you are telling Stack to use those package versions in resolving dependencies down to specific versions of packages. diff --git a/doc/tutorial/building_your_project.md b/doc/tutorial/building_your_project.md index a09942bb10..fa90eca480 100644 --- a/doc/tutorial/building_your_project.md +++ b/doc/tutorial/building_your_project.md @@ -249,7 +249,7 @@ With that out of the way, let us dig a little bit more into these snapshots. We mentioned the LTS snapshots, and you can get information about it at [https://www.stackage.org/lts](https://www.stackage.org/lts), including: -* The appropriate value (`lts-24.37`, as is currently the latest LTS) +* The appropriate value (`lts-24.43`, as is currently the latest LTS) * The GHC version used * A full list of all packages versions available in this snapshot * The ability to perform a Hoogle search on the packages in this snapshot diff --git a/doc/tutorial/executing_commands.md b/doc/tutorial/executing_commands.md index e363e13227..56454e60f2 100644 --- a/doc/tutorial/executing_commands.md +++ b/doc/tutorial/executing_commands.md @@ -34,7 +34,7 @@ yields output like: Writing the configuration file for the implicit global project to: .../global-project/stack.yaml. Note: You can change the snapshot via the snapshot key there. -Using the latest snapshot lts-24.37. +Using the latest snapshot lts-24.43. I installed the stm package via --package stm ~~~ diff --git a/doc/tutorial/hello_world_example.md b/doc/tutorial/hello_world_example.md index f952c38f6f..5036b23cfa 100644 --- a/doc/tutorial/hello_world_example.md +++ b/doc/tutorial/hello_world_example.md @@ -59,7 +59,7 @@ creating manually a Stack project-level configuration file named `stack.yaml` in `my-project`, with the contents: ~~~yaml -snapshot: lts-24.37 +snapshot: lts-24.43 ~~~ By adding those two files (one to describe a package, the other to configure the diff --git a/doc/tutorial/multi-package_projects.md b/doc/tutorial/multi-package_projects.md index dc0ddd9735..31c47a358a 100644 --- a/doc/tutorial/multi-package_projects.md +++ b/doc/tutorial/multi-package_projects.md @@ -37,10 +37,10 @@ Using the Cabal packages: Selecting the best among 14 snapshots... -Note: Matches https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/24/25.yaml +Note: Matches https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/24/43.yaml -Selected the snapshot https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/24/25.yaml. -Initialising Stack's project-level configuration file using snapshot https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/24/25.yaml. +Selected the snapshot https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/24/43.yaml. +Initialising Stack's project-level configuration file using snapshot https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/24/43.yaml. Considered 2 user packages. Writing configuration to stack.yaml. Stack's project-level configuration file has been initialised. @@ -51,7 +51,7 @@ should be something like this: ~~~yaml snapshot: - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/24/25.yaml + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/24/43.yaml packages: - packageA diff --git a/doc/tutorial/project_configuration.md b/doc/tutorial/project_configuration.md index 23a7ba6589..a8af000d03 100644 --- a/doc/tutorial/project_configuration.md +++ b/doc/tutorial/project_configuration.md @@ -35,7 +35,7 @@ those comments, the contents will look something like this: ~~~yaml snapshot: - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/24/9.yaml + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/24/43.yaml packages: - . ~~~ @@ -44,7 +44,7 @@ The key [`snapshot`](../configure/yaml/project.md#snapshot) is a project-specific configuration option. Its value tells Stack *how* to build your package: which version of GHC (and, implicitly, its boot packages) to use; which versions of other package dependencies to use, and so on. Our value here says to -use [LTS Haskell 24.37](https://www.stackage.org/lts-24.37), which implies +use [LTS Haskell 24.43](https://www.stackage.org/lts-24.43), which implies GHC 9.10.3 (which is why `stack build` installs that version of GHC if it is not already available to Stack). There are a number of values you can use for `snapshot`, which we will cover later. diff --git a/etc/scripts/build-stack-installer.hs b/etc/scripts/build-stack-installer.hs index 6e601cf01e..010b81ba79 100644 --- a/etc/scripts/build-stack-installer.hs +++ b/etc/scripts/build-stack-installer.hs @@ -1,5 +1,5 @@ {- stack script - --snapshot lts-24.37 + --snapshot lts-24.43 --package nsis -} {-# LANGUAGE OverloadedStrings #-} diff --git a/etc/scripts/release-linux-aarch64.hs b/etc/scripts/release-linux-aarch64.hs index 750d2dad1f..06f95c8d20 100644 --- a/etc/scripts/release-linux-aarch64.hs +++ b/etc/scripts/release-linux-aarch64.hs @@ -1,5 +1,5 @@ {- stack script - --snapshot lts-24.37 + --snapshot lts-24.43 --ghc-options -Wall -} @@ -7,7 +7,7 @@ -- interpreter options comment, Stack deduces the required packages from the -- module imports, being: Cabal, base, bytestring, directory, extra, process, -- shake, tar, zip-archive and zlib. These are either GHC boot packages or in --- the snapshot. Stackage LTS Haskell 24.37 does not include boot packages +-- the snapshot. Stackage LTS Haskell 24.43 does not include boot packages -- directly. As GHC 9.10.3 boot packages Cabal and Cabal-syntax expose modules -- with the same names, the language extension PackageImports is required. diff --git a/etc/scripts/release.hs b/etc/scripts/release.hs index a0ace5f5a9..0f17e7898d 100644 --- a/etc/scripts/release.hs +++ b/etc/scripts/release.hs @@ -1,5 +1,5 @@ {- stack script - --snapshot lts-24.37 + --snapshot lts-24.43 --ghc-options -Wall -} @@ -7,7 +7,7 @@ -- interpreter options comment, Stack deduces the required packages from the -- module imports, being: Cabal, base, bytestring, directory, extra, process, -- shake, tar, zip-archive and zlib. These are either GHC boot packages or in --- the snapshot. Stackage LTS Haskell 24.37 does not include boot packages +-- the snapshot. Stackage LTS Haskell 24.43 does not include boot packages -- directly. As GHC 9.10.3 boot packages Cabal and Cabal-syntax expose modules -- with the same names, the language extension PackageImports is required. diff --git a/etc/scripts/stack.yaml b/etc/scripts/stack.yaml index 590b0311bc..94d7af0974 100644 --- a/etc/scripts/stack.yaml +++ b/etc/scripts/stack.yaml @@ -6,4 +6,4 @@ # build-stack-installer.hs. The work around is to build the package required for # that script using the same Stack configuration as used by the script. -snapshot: lts-24.37 +snapshot: lts-24.43 diff --git a/src/Stack/Init.hs b/src/Stack/Init.hs index 40b26659a6..f156cc390c 100644 --- a/src/Stack/Init.hs +++ b/src/Stack/Init.hs @@ -437,8 +437,8 @@ renderStackYaml p ignoredPackages dupPackages = , "A snapshot dictates the compiler version and the set of packages" , "to be used for project dependencies. For example:" , "" - , "snapshot: lts-24.37" - , "snapshot: nightly-2026-04-18" + , "snapshot: lts-24.43" + , "snapshot: nightly-2026-05-29" , "snapshot: ghc-9.10.3" , "" , "The location of a snapshot can be provided as a file or url. Stack assumes" diff --git a/src/Stack/Options/ConfigSetParser.hs b/src/Stack/Options/ConfigSetParser.hs index 6c730b862d..776fefe793 100644 --- a/src/Stack/Options/ConfigSetParser.hs +++ b/src/Stack/Options/ConfigSetParser.hs @@ -36,7 +36,7 @@ configCmdSetParser = <$> OA.argument readAbstractSnapshot ( OA.metavar "SNAPSHOT" - <> OA.help "E.g. \"nightly\" or \"lts-24.37\"" )) + <> OA.help "E.g. \"nightly\" or \"lts-24.43\"" )) ( OA.progDesc "Change the snapshot of the current project." )) , OA.command "resolver" @@ -45,7 +45,7 @@ configCmdSetParser = <$> OA.argument readAbstractSnapshot ( OA.metavar "SNAPSHOT" - <> OA.help "E.g. \"nightly\" or \"lts-24.37\"" )) + <> OA.help "E.g. \"nightly\" or \"lts-24.43\"" )) ( OA.progDesc "Change the snapshot of the current project, using the \ \(deprecated) resolver key." )) diff --git a/stack.yaml b/stack.yaml index 26339dc97d..158c56cd66 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,32 +1,30 @@ -snapshot: lts-24.37 # GHC 9.10.3 +snapshot: lts-24.43 # GHC 9.10.3 extra-deps: -# lts-24.37 specifies Cabal-3.12.1.0 -- Cabal-3.16.0.0@sha256:9972c2bd263168a20bd990962a68d4fd024f50c30a00519a6b942e8871d1bd67,14455 -- Cabal-syntax-3.16.0.0@sha256:6a35036763557301876c5b7a448de4f1cb54fe1e223ff6c4c0c1fdd6df635a65,7509 -# lts-24.37 does not include crypton-asn1-* +# lts-24.43 specifies Cabal-3.12.1.0 +- Cabal-3.16.1.0@sha256:39873317ab895194547c3fd72c91cdb97c800a49b2656920854747ee466627ca,14459 +- Cabal-syntax-3.16.1.0@sha256:17cf54d07d7aa65ea24ba4045912b8a8af065f10e429fd1811d43810b313c504,7778 +# lts-24.43 does not include crypton-asn1-* - crypton-asn1-encoding-0.10.0@sha256:45494a1723a047a815d0d620481c1028dca28a4ea5cf2554868687da90753961,2497 - crypton-asn1-parse-0.10.0@sha256:4a2cfc4980957d1a279ef69137ee5f665c247ccd8bb962812d5b071d543893fb,1359 - crypton-asn1-types-0.4.1@sha256:02f3ec473011b3da92f7bf738bea19cadf88a6470b25a6cb5042216c7549c912,1326 -# lts-24.37 specifies crypton-x509-1.7.7 +# lts-24.43 specifies crypton-x509-1.7.7 - crypton-x509-1.8.0@sha256:d4822ba8dcb19ee3233fc98152f5afda383ac952770a1d07f1d01168e9fcdbc2,2006 -# lts-24.37 specifies crypton-x509-store-1.6.14 +# lts-24.43 specifies crypton-x509-store-1.6.14 - crypton-x509-store-1.8.0@sha256:075ba50a3daa0fdbb493481a665926e1ced2135c6b4ed56f97398aa855f0aecb,1674 -# lts-24.37 specifies crypton-x509-system-1.6.8 +# lts-24.43 specifies crypton-x509-system-1.6.8 - crypton-x509-system-1.8.0@sha256:76bab32c7d9cb3ea356a905f85829c70967fb6f9b4b890f00d67dc54130d45ca,1521 -# lts-24.37 specifies crypton-x509-validation-1.6.14 +# lts-24.43 specifies crypton-x509-validation-1.6.14 - crypton-x509-validation-1.8.0@sha256:63acb2df06f28c3ffdddaf6d9402105b9026796036aa10d7347ae4f7db51c36b,2018 -# lts-24.37 specifies hpack-0.38.3 +# lts-24.43 specifies hpack-0.38.3 - hpack-0.39.5@sha256:c214f49ed3df75ce75201709927fa27e08f642023ed4b4ca8cc43604e5199ced,5263 -# lts-24.37 specifies pantry-0.10.1 +# lts-24.43 specifies pantry-0.10.1 - pantry-0.11.2@sha256:bc14e75f512deb22e0d9d645e62eb63b319d1732bfed6509491601215ecbd307,7896 -# lts-24.37 specifies persistent-2.17.1.0 -- persistent-2.18.0.0@sha256:baa3e0959cf10bbd1da462efeb61d4f073d0cc924a149325494ba5ce29bc17a4,7096 -# lts-24.37 specifies rio-prettyprint-0.1.8.0 -- rio-prettyprint-0.1.9.0@sha256:f48afbfe28ed7be4d1a1bb96705669593dd5df12f28ed908516c6dfc4e0becbb,1375 -# lts-24.37 does not include time-hourglass +# lts-24.43 specifies persistent-2.17.1.0 +- persistent-2.18.1.0@sha256:6a111b26c3e710f1e080a7543cf93766c4cc53ac560dbaa0d4b7ddc98a2f7b1d,7096 +# lts-24.43 does not include time-hourglass - time-hourglass-0.3.0@sha256:ee02356fe24919ec43ae17fc0007398c2fd0bbe822833b2d7a9c849537b90580,3114 -# lts-24.37 specifies tls-2.1.8 +# lts-24.43 specifies tls-2.1.8 - tls-2.2.2@sha256:95f5acd4ce76cbd6bdc46b737370dcbd93c59cf1cd1934a30e55c61c1dc140e9,7283 docker: diff --git a/stack.yaml.lock b/stack.yaml.lock index 1a119f0797..bd75109783 100644 --- a/stack.yaml.lock +++ b/stack.yaml.lock @@ -5,19 +5,19 @@ packages: - completed: - hackage: Cabal-3.16.0.0@sha256:9972c2bd263168a20bd990962a68d4fd024f50c30a00519a6b942e8871d1bd67,14455 + hackage: Cabal-3.16.1.0@sha256:39873317ab895194547c3fd72c91cdb97c800a49b2656920854747ee466627ca,14459 pantry-tree: - sha256: ddc689c4070a034cacd73c39c1df2673ed16e0b38b5ca476fc6ef2aa87b6f40f + sha256: b6ac49163659ec305805fc0d2c0564c35fac7132f4c5be6689d0c80a6405ecf0 size: 12139 original: - hackage: Cabal-3.16.0.0@sha256:9972c2bd263168a20bd990962a68d4fd024f50c30a00519a6b942e8871d1bd67,14455 + hackage: Cabal-3.16.1.0@sha256:39873317ab895194547c3fd72c91cdb97c800a49b2656920854747ee466627ca,14459 - completed: - hackage: Cabal-syntax-3.16.0.0@sha256:6a35036763557301876c5b7a448de4f1cb54fe1e223ff6c4c0c1fdd6df635a65,7509 + hackage: Cabal-syntax-3.16.1.0@sha256:17cf54d07d7aa65ea24ba4045912b8a8af065f10e429fd1811d43810b313c504,7778 pantry-tree: - sha256: 4de976261238dd4045dd3addebf6a006d4aff3873ee680bac7af83dcbf068280 + sha256: 1db24d3ca877095a7c4f99fda3c58155a33d8041dfe9faa886420c43572330a3 size: 11238 original: - hackage: Cabal-syntax-3.16.0.0@sha256:6a35036763557301876c5b7a448de4f1cb54fe1e223ff6c4c0c1fdd6df635a65,7509 + hackage: Cabal-syntax-3.16.1.0@sha256:17cf54d07d7aa65ea24ba4045912b8a8af065f10e429fd1811d43810b313c504,7778 - completed: hackage: crypton-asn1-encoding-0.10.0@sha256:45494a1723a047a815d0d620481c1028dca28a4ea5cf2554868687da90753961,2497 pantry-tree: @@ -82,19 +82,12 @@ packages: original: hackage: pantry-0.11.2@sha256:bc14e75f512deb22e0d9d645e62eb63b319d1732bfed6509491601215ecbd307,7896 - completed: - hackage: persistent-2.18.0.0@sha256:baa3e0959cf10bbd1da462efeb61d4f073d0cc924a149325494ba5ce29bc17a4,7096 + hackage: persistent-2.18.1.0@sha256:6a111b26c3e710f1e080a7543cf93766c4cc53ac560dbaa0d4b7ddc98a2f7b1d,7096 pantry-tree: - sha256: 41480a227b9c2ff72b29a8f6a8fddb4888bc656be052ad58f2fef508378089f3 + sha256: bddc723b5069ed2dbf2eee6e01f8eaac00e324eee3520c32ced3044072372172 size: 7184 original: - hackage: persistent-2.18.0.0@sha256:baa3e0959cf10bbd1da462efeb61d4f073d0cc924a149325494ba5ce29bc17a4,7096 -- completed: - hackage: rio-prettyprint-0.1.9.0@sha256:f48afbfe28ed7be4d1a1bb96705669593dd5df12f28ed908516c6dfc4e0becbb,1375 - pantry-tree: - sha256: c840f1193718b7af6c004fc62a67919e223b56cc1658a168c8e490e53a632aa0 - size: 779 - original: - hackage: rio-prettyprint-0.1.9.0@sha256:f48afbfe28ed7be4d1a1bb96705669593dd5df12f28ed908516c6dfc4e0becbb,1375 + hackage: persistent-2.18.1.0@sha256:6a111b26c3e710f1e080a7543cf93766c4cc53ac560dbaa0d4b7ddc98a2f7b1d,7096 - completed: hackage: time-hourglass-0.3.0@sha256:ee02356fe24919ec43ae17fc0007398c2fd0bbe822833b2d7a9c849537b90580,3114 pantry-tree: @@ -111,7 +104,7 @@ packages: hackage: tls-2.2.2@sha256:95f5acd4ce76cbd6bdc46b737370dcbd93c59cf1cd1934a30e55c61c1dc140e9,7283 snapshots: - completed: - sha256: 655e468f774beee1badf07dc4c45fb50288d5c66ce7bef6f487b7f92891a90b0 - size: 728965 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/24/37.yaml - original: lts-24.37 + sha256: 3c412a7c13dba6d3d808455a458e0776c58b6cf99b8a7961a2f5e55589d6f1d6 + size: 729011 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/24/43.yaml + original: lts-24.43 diff --git a/tests/integration/lib/StackTest.hs b/tests/integration/lib/StackTest.hs index 744d6f5c76..52e0e6e75f 100644 --- a/tests/integration/lib/StackTest.hs +++ b/tests/integration/lib/StackTest.hs @@ -278,7 +278,7 @@ isMacOSX = os == "darwin" -- the main @stack.yaml@. -- defaultSnapshotArg :: String -defaultSnapshotArg = "--snapshot=lts-24.37" +defaultSnapshotArg = "--snapshot=lts-24.43" -- | Remove a file and ignore any warnings about missing files. removeFileIgnore :: HasCallStack => FilePath -> IO () diff --git a/tests/integration/tests/1265-extensible-snapshots/files/snapshot-modify-lts.yaml b/tests/integration/tests/1265-extensible-snapshots/files/snapshot-modify-lts.yaml index 6f217b4bac..626cbb71a6 100644 --- a/tests/integration/tests/1265-extensible-snapshots/files/snapshot-modify-lts.yaml +++ b/tests/integration/tests/1265-extensible-snapshots/files/snapshot-modify-lts.yaml @@ -1,6 +1,6 @@ name: snapshot-modify-lts -snapshot: lts-24.37 +snapshot: lts-24.43 packages: - acme-missiles-0.3 diff --git a/tests/integration/tests/32-unlisted-module/files/stack.yaml b/tests/integration/tests/32-unlisted-module/files/stack.yaml index c292f63385..5490d5880f 100644 --- a/tests/integration/tests/32-unlisted-module/files/stack.yaml +++ b/tests/integration/tests/32-unlisted-module/files/stack.yaml @@ -1 +1 @@ -snapshot: lts-24.37 +snapshot: lts-24.43 diff --git a/tests/integration/tests/3685-config-yaml-for-allow-newer/files/stack.yaml b/tests/integration/tests/3685-config-yaml-for-allow-newer/files/stack.yaml index 776ef68d10..5bb59ca11d 100644 --- a/tests/integration/tests/3685-config-yaml-for-allow-newer/files/stack.yaml +++ b/tests/integration/tests/3685-config-yaml-for-allow-newer/files/stack.yaml @@ -1,3 +1,3 @@ -snapshot: lts-24.37 +snapshot: lts-24.43 packages: [] diff --git a/tests/integration/tests/4101-dependency-tree/files/stack.yaml b/tests/integration/tests/4101-dependency-tree/files/stack.yaml index 743bc66c45..2438be841e 100644 --- a/tests/integration/tests/4101-dependency-tree/files/stack.yaml +++ b/tests/integration/tests/4101-dependency-tree/files/stack.yaml @@ -1,4 +1,4 @@ -snapshot: lts-24.37 +snapshot: lts-24.43 packages: - . diff --git a/tests/integration/tests/4105-test-coverage-of-internal-lib/files/stack.yaml b/tests/integration/tests/4105-test-coverage-of-internal-lib/files/stack.yaml index c292f63385..5490d5880f 100644 --- a/tests/integration/tests/4105-test-coverage-of-internal-lib/files/stack.yaml +++ b/tests/integration/tests/4105-test-coverage-of-internal-lib/files/stack.yaml @@ -1 +1 @@ -snapshot: lts-24.37 +snapshot: lts-24.43 diff --git a/tests/integration/tests/4783-doctest-deps/files/snapshot.yaml b/tests/integration/tests/4783-doctest-deps/files/snapshot.yaml index 8637adcee0..313cfca96f 100644 --- a/tests/integration/tests/4783-doctest-deps/files/snapshot.yaml +++ b/tests/integration/tests/4783-doctest-deps/files/snapshot.yaml @@ -1,6 +1,6 @@ name: mySnapshot -snapshot: lts-24.37 +snapshot: lts-24.43 packages: - acme-dont-1.1@sha256:8264ad3e5113d3e0417b46e71d5a9c0914a1f03b5b81319cc329f1dc0f49b96c,602 diff --git a/tests/integration/tests/620-env-command/files/run.sh b/tests/integration/tests/620-env-command/files/run.sh index 134e7e4c5a..f012c6363b 100644 --- a/tests/integration/tests/620-env-command/files/run.sh +++ b/tests/integration/tests/620-env-command/files/run.sh @@ -2,5 +2,5 @@ set -euxo pipefail -eval `stack --snapshot lts-24.37 config env` +eval `stack --snapshot lts-24.43 config env` ghc Main.hs diff --git a/tests/integration/tests/6867-timeout-grace/files/stack.yaml b/tests/integration/tests/6867-timeout-grace/files/stack.yaml index 53317c86d3..e60f7dd9d9 100644 --- a/tests/integration/tests/6867-timeout-grace/files/stack.yaml +++ b/tests/integration/tests/6867-timeout-grace/files/stack.yaml @@ -1,3 +1,3 @@ -snapshot: lts-24.37 +snapshot: lts-24.43 packages: - . diff --git a/tests/integration/tests/drop-packages/files/stack.yaml b/tests/integration/tests/drop-packages/files/stack.yaml index 86308b6f48..9d4c5b23af 100644 --- a/tests/integration/tests/drop-packages/files/stack.yaml +++ b/tests/integration/tests/drop-packages/files/stack.yaml @@ -1,4 +1,4 @@ -snapshot: lts-24.37 +snapshot: lts-24.43 drop-packages: - unliftio-core diff --git a/tests/integration/tests/hpack-repo/files/stack.yaml b/tests/integration/tests/hpack-repo/files/stack.yaml index a3f1d38792..ce50d6afd4 100644 --- a/tests/integration/tests/hpack-repo/files/stack.yaml +++ b/tests/integration/tests/hpack-repo/files/stack.yaml @@ -1,4 +1,4 @@ -snapshot: lts-24.37 +snapshot: lts-24.43 # At this commit, the validity package is described only by a package.yaml file extra-deps: diff --git a/tests/integration/tests/init-omit-packages/Main.hs b/tests/integration/tests/init-omit-packages/Main.hs index f43e79bb4c..ef232fb00d 100644 --- a/tests/integration/tests/init-omit-packages/Main.hs +++ b/tests/integration/tests/init-omit-packages/Main.hs @@ -7,8 +7,8 @@ import System.IO ( readFile ) main :: IO () main = do - stackErr ["init", "--snapshot", "lts-24.37"] - stack ["init", "--snapshot", "lts-24.37", "--omit-packages"] + stackErr ["init", "--snapshot", "lts-24.43"] + stack ["init", "--snapshot", "lts-24.43", "--omit-packages"] contents <- lines <$> readFile "stack.yaml" unless ("#- bad" `elem` contents) $ error "commented out 'bad' package was expected" diff --git a/tests/integration/tests/mutable-deps/files/stack.yaml b/tests/integration/tests/mutable-deps/files/stack.yaml index df1f84c742..461c9c454c 100644 --- a/tests/integration/tests/mutable-deps/files/stack.yaml +++ b/tests/integration/tests/mutable-deps/files/stack.yaml @@ -1,4 +1,4 @@ -snapshot: lts-24.37 +snapshot: lts-24.43 extra-deps: - ./filepath-1.5.4.0 diff --git a/tests/integration/tests/nice-resolver-names/Main.hs b/tests/integration/tests/nice-resolver-names/Main.hs index 48a2d755de..cd87ad3af7 100644 --- a/tests/integration/tests/nice-resolver-names/Main.hs +++ b/tests/integration/tests/nice-resolver-names/Main.hs @@ -12,7 +12,7 @@ import StackTest main :: IO () main = do - for_ ["lts-20.26", "lts-24.37"] $ \snapshot -> do + for_ ["lts-20.26", "lts-24.43"] $ \snapshot -> do stack ["init", "--force", "--snapshot", snapshot] str <- readFile "stack.yaml" case mapMaybe (stripPrefix "snapshot: ") $ lines str of diff --git a/tests/integration/tests/upload/files/stack.yaml b/tests/integration/tests/upload/files/stack.yaml index f4adc04431..4785f281bc 100644 --- a/tests/integration/tests/upload/files/stack.yaml +++ b/tests/integration/tests/upload/files/stack.yaml @@ -1,3 +1,3 @@ -snapshot: lts-24.37 +snapshot: lts-24.43 hackage-base-url: http://localhost:12415/ diff --git a/tests/integration/tests/watched-files/files/stack.yaml b/tests/integration/tests/watched-files/files/stack.yaml index c292f63385..5490d5880f 100644 --- a/tests/integration/tests/watched-files/files/stack.yaml +++ b/tests/integration/tests/watched-files/files/stack.yaml @@ -1 +1 @@ -snapshot: lts-24.37 +snapshot: lts-24.43 diff --git a/tests/unit/Stack/ConfigSpec.hs b/tests/unit/Stack/ConfigSpec.hs index 9bfe980c9b..d336947360 100644 --- a/tests/unit/Stack/ConfigSpec.hs +++ b/tests/unit/Stack/ConfigSpec.hs @@ -53,12 +53,12 @@ import Test.Hspec sampleConfig :: String sampleConfig = - "snapshot: lts-24.37\n" ++ + "snapshot: lts-24.43\n" ++ "packages: ['.']\n" buildOptsConfig :: String buildOptsConfig = - "snapshot: lts-24.37\n" ++ + "snapshot: lts-24.43\n" ++ "packages: ['.']\n" ++ "build:\n" ++ " semaphore: true\n" ++ @@ -106,7 +106,7 @@ buildOptsConfig = buildOptsHaddockForHackageConfig :: String buildOptsHaddockForHackageConfig = - "snapshot: lts-24.37\n" ++ + "snapshot: lts-24.43\n" ++ "packages: ['.']\n" ++ "build:\n" ++ " haddock: true\n" ++ @@ -122,24 +122,24 @@ buildOptsHaddockForHackageConfig = hpackConfig :: String hpackConfig = - "snapshot: lts-24.37\n" ++ + "snapshot: lts-24.43\n" ++ "with-hpack: /usr/local/bin/hpack\n" ++ "packages: ['.']\n" resolverConfig :: String resolverConfig = - "resolver: lts-24.37\n" ++ + "resolver: lts-24.43\n" ++ "packages: ['.']\n" snapshotConfig :: String snapshotConfig = - "snapshot: lts-24.37\n" ++ + "snapshot: lts-24.43\n" ++ "packages: ['.']\n" resolverSnapshotConfig :: String resolverSnapshotConfig = - "resolver: lts-24.37\n" ++ - "snapshot: lts-24.37\n" ++ + "resolver: lts-24.43\n" ++ + "snapshot: lts-24.43\n" ++ "packages: ['.']\n" stackDotYaml :: Path Rel File @@ -189,11 +189,11 @@ spec = beforeAll setup $ do it "parses snapshot using 'resolver'" $ inTempDir $ do loadProject resolverConfig $ \project -> - project.snapshot `shouldBe` RSLSynonym (LTS 24 37) + project.snapshot `shouldBe` RSLSynonym (LTS 24 43) it "parses snapshot using 'snapshot'" $ inTempDir $ do loadProject snapshotConfig $ \project -> - project.snapshot `shouldBe` RSLSynonym (LTS 24 37) + project.snapshot `shouldBe` RSLSynonym (LTS 24 43) it "throws if both 'resolver' and 'snapshot' are present" $ inTempDir $ do loadProject resolverSnapshotConfig (const (pure ()))