diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index da02c3a23e..dd872e3145 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -352,10 +352,10 @@ 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 (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). +primarily ones in Stackage snapshot LTS Haskell 24.55 (for GHC 9.10.3), +`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' executable that it compiles from Haskell source code. The executable compiles diff --git a/cabal.project b/cabal.project index bff0e92d82..308292e9d8 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.43/cabal.config. +-- https://www.stackage.org/lts-24.55/cabal.config. -- with-compiler: ghc-9.10.3 import: cabal.config diff --git a/doc/commands/build_command.md b/doc/commands/build_command.md index 1961ae9dad..54efdafe5e 100644 --- a/doc/commands/build_command.md +++ b/doc/commands/build_command.md @@ -1282,7 +1282,7 @@ Examples: the most recent Stackage Nightly snapshot: ~~~text - stack --snapshot nightly install Agda-2.6.3 + stack --snapshot nightly install Agda-2.8.0 ~~~ Alternatively, Stack can be used to unpack the package from the package diff --git a/doc/commands/list_command.md b/doc/commands/list_command.md index 454bab3907..aa1a2ca2a2 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.43 list base unix Win32 acme-missiles pantry +stack --snapshot lts-24.55 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.43 list base unix Win32 pantry +stack --snapshot lts-24.55 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.43 list +stack --snapshot lts-24.55 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 42ee05187a..05ba190058 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.43 MyScript.hs +stack script --snapshot lts-24.55 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.43 script --package acme-missiles --compile MyScript.hs -- "Don't panic!" "Duck and cover!" +stack --snapshot lts-24.55 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.43 + -- snapshot lts-24.55 -- 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.43 + --snapshot lts-24.55 -} {-# LANGUAGE OverloadedStrings #-} diff --git a/doc/configure/yaml/include.md b/doc/configure/yaml/include.md index 3f9411e340..2688afe1d4 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.43 +lts-24.55 ~~~ -the following project-level configuration file would use `lts-24.43` as the +the following project-level configuration file would use `lts-24.55` 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.43 +snapshot: lts-24.55 ~~~ ## 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.43 +snapshot: lts-24.55 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.43 +snapshot: lts-24.55 <<: !include shared-config.yaml ~~~ This is equivalent to: ~~~yaml -snapshot: lts-24.43 +snapshot: lts-24.55 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.43 +snapshot: lts-24.55 <<: !include shared-config.yaml ~~~ diff --git a/doc/configure/yaml/non-project.md b/doc/configure/yaml/non-project.md index e1afbdd44c..ddc40e49ea 100644 --- a/doc/configure/yaml/non-project.md +++ b/doc/configure/yaml/non-project.md @@ -317,7 +317,7 @@ can be used to override the compiler (and, implicitly, its boot packages) for a Stackage snapshot, like this: ~~~yaml -snapshot: lts-24.43 +snapshot: lts-24.55 compiler: ghc-9.10.2 compiler-check: match-exact ~~~ diff --git a/doc/configure/yaml/project.md b/doc/configure/yaml/project.md index 4593d2b247..88821ac35d 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.43 # A Stackage LTS Haskell snapshot +snapshot: lts-24.55 # A Stackage LTS Haskell snapshot ~~~ or ~~~yaml -snapshot: nightly-2026-05-29 # A Stackage Nightly snapshot +snapshot: nightly-2026-08-20 # 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 cc50c5fa9a..31897632c9 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.43` + installed that version). For example, to use `snapshot: lts-24.55` (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 b93d186dd5..7e44fba289 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.43 +snapshot: lts-24.55 # Overwrites the version of GHC (and, implicitly, its boot packages) specified # in the snapshot (optional): compiler: ghc-9.10.2 @@ -80,36 +80,36 @@ custom snapshot, due to Stack sharing snapshot packages whenever possible. ### Overriding the compiler -The following snapshot specification will be identical to `lts-24.43`, but +The following snapshot specification will be identical to `lts-24.55`, 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.43 # GHC 9.10.3 +snapshot: lts-24.55 # GHC 9.10.3 compiler: ghc-9.10.2 ~~~ ### Dropping packages -The following snapshot specification will be identical to `lts-24.43`, but +The following snapshot specification will be identical to `lts-24.55`, 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.43 +snapshot: lts-24.55 drop-packages: - text ~~~ ### Hiding packages -The following snapshot specification will be identical to `lts-24.43`, but the +The following snapshot specification will be identical to `lts-24.55`, 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.43 +snapshot: lts-24.55 hidden: - text ~~~ @@ -120,11 +120,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.43`, but +The following snapshot specification will be identical to `lts-24.55`, but provides `-O1` as a ghc-option for `text`: ~~~yaml -snapshot: lts-24.43 +snapshot: lts-24.55 packages: - text-2.1.2 ghc-options: @@ -143,11 +143,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.43`, but +following snapshot specification will be identical to `lts-24.55`, but it enables the `developer` Cabal flag: ~~~yaml -snapshot: lts-24.43 +snapshot: lts-24.55 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 3aba0a5895..0f79aef76e 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.43 # GHC 9.10.3 +snapshot: lts-24.55 # 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.43 # GHC 9.10.3 +snapshot: lts-24.55 # 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 c5f26e5ca2..92518a1cbc 100644 --- a/doc/topics/lock_files.md +++ b/doc/topics/lock_files.md @@ -49,7 +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-24.43 +snapshot: lts-24.55 extra-deps: - acme-missiles-0.3 ~~~ @@ -66,7 +66,7 @@ extra-deps: sha256: 614bc0cca76937507ea0a5ccc17a504c997ce458d7f2f9e43b15a10c8eaeb033 ~~~ -The `lts-24.43` information is also incomplete. While we assume in general that +The `lts-24.55` 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: @@ -134,7 +134,7 @@ snapshots: sha256: 3c412a7c13dba6d3d808455a458e0776c58b6cf99b8a7961a2f5e55589d6f1d6 size: 729011 url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/24/43.yaml - original: lts-24.43 + original: lts-24.55 ~~~ ## Creation procedure diff --git a/doc/topics/scripts.md b/doc/topics/scripts.md index 86a070f2f1..17715f1642 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.43 --package turtle +-- stack script --snapshot lts-24.55 --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.43 snapshot -(`--snapshot lts-24.43`) and ensuring the +command with the options of a LTS Haskell 24.55 snapshot +(`--snapshot lts-24.55`) 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.43` provides `turtle-1.6.2`). +snapshot (`lts-24.55` 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.43 + --snapshot lts-24.55 -- +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.43 -- MyScript.hs arg1 arg2 +RTS -s -RTS +stack script --snapshot lts-24.55 -- 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.43 + --snapshot lts-24.55 --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.43 + --snapshot lts-24.55 --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.43 + --snapshot lts-24.55 --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.43 --package acme-missiles --no-run --compile -- Script.hs` +`stack script --snapshot lts-24.55 --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.43 + --snapshot lts-24.55 --package base --package turtle -- @@ -304,7 +304,7 @@ it. Here is an example: {- stack exec ghci --install-ghc - --snapshot lts-24.43 + --snapshot lts-24.55 --package turtle -} ~~~ diff --git a/doc/topics/snapshot_location.md b/doc/topics/snapshot_location.md index c8f67cfa44..efa62fbf13 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.43 + snapshot: lts-24.55 ~~~ ??? 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-05-29 + snapshot: nightly-2026-08-20 ~~~ ??? info "Expansion of `nightly-YYYY-MM-DD`" diff --git a/doc/topics/stack_yaml_vs_cabal_package_file.md b/doc/topics/stack_yaml_vs_cabal_package_file.md index 8d3b435d37..16a5e39eb4 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.43` you are +, you will see a list of 3,442 packages at +specific version numbers. When you then specify `snapshot: lts-24.55` 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 fa90eca480..7cf70edb81 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.43`, as is currently the latest LTS) +* The appropriate value (`lts-24.55`, 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 56454e60f2..6d7fb9c8b8 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.43. +Using the latest snapshot lts-24.55. 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 62f34b7a24..722ba5afa3 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.43 +snapshot: lts-24.55 ~~~ By adding those two files (one to describe a package, the other to configure the diff --git a/doc/tutorial/project_configuration.md b/doc/tutorial/project_configuration.md index a8af000d03..fe68c44713 100644 --- a/doc/tutorial/project_configuration.md +++ b/doc/tutorial/project_configuration.md @@ -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.43](https://www.stackage.org/lts-24.43), which implies +use [LTS Haskell 24.55](https://www.stackage.org/lts-24.55), 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 010b81ba79..754a6d522e 100644 --- a/etc/scripts/build-stack-installer.hs +++ b/etc/scripts/build-stack-installer.hs @@ -1,5 +1,5 @@ {- stack script - --snapshot lts-24.43 + --snapshot lts-24.55 --package nsis -} {-# LANGUAGE OverloadedStrings #-} diff --git a/etc/scripts/release-linux-aarch64.hs b/etc/scripts/release-linux-aarch64.hs index 06f95c8d20..d9eaa98fb8 100644 --- a/etc/scripts/release-linux-aarch64.hs +++ b/etc/scripts/release-linux-aarch64.hs @@ -1,5 +1,5 @@ {- stack script - --snapshot lts-24.43 + --snapshot lts-24.55 --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.43 does not include boot packages +-- the snapshot. Stackage LTS Haskell 24.55 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 0f17e7898d..f53f5a9906 100644 --- a/etc/scripts/release.hs +++ b/etc/scripts/release.hs @@ -1,5 +1,5 @@ {- stack script - --snapshot lts-24.43 + --snapshot lts-24.55 --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.43 does not include boot packages +-- the snapshot. Stackage LTS Haskell 24.55 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 94d7af0974..5a5aa66426 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.43 +snapshot: lts-24.55 diff --git a/src/Stack/Init.hs b/src/Stack/Init.hs index f156cc390c..2dfb5eea2c 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.43" - , "snapshot: nightly-2026-05-29" + , "snapshot: lts-24.55" + , "snapshot: nightly-2026-08-20" , "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 776fefe793..cef75f06f1 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.43\"" )) + <> OA.help "E.g. \"nightly\" or \"lts-24.55\"" )) ( 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.43\"" )) + <> OA.help "E.g. \"nightly\" or \"lts-24.55\"" )) ( OA.progDesc "Change the snapshot of the current project, using the \ \(deprecated) resolver key." )) diff --git a/stack.yaml b/stack.yaml index 2ad3044e6a..b6055cbd5c 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,54 +1,52 @@ -snapshot: lts-24.43 # GHC 9.10.3 +snapshot: lts-24.55 # GHC 9.10.3 extra-deps: -# lts-24.43 specifies Cabal-3.12.1.0 +# lts-24.55 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 specifies crypton-1.0.6 +# lts-24.55 specifies crypton-1.0.6 - crypton-1.1.4@sha256:500174e81f6ad6b4c23a4e773771b934834ab3b953ef544cc6163eb952196c64,15142 -# lts-24.43 excludes crypton-asn1-encoding +# lts-24.55 excludes crypton-asn1-encoding - crypton-asn1-encoding-0.10.0@sha256:45494a1723a047a815d0d620481c1028dca28a4ea5cf2554868687da90753961,2497 -# lts-24.43 excludes crypton-asn1-parse +# lts-24.55 excludes crypton-asn1-parse - crypton-asn1-parse-0.10.0@sha256:4a2cfc4980957d1a279ef69137ee5f665c247ccd8bb962812d5b071d543893fb,1359 -# lts-24.43 excludes crypton-asn1-types +# lts-24.55 excludes crypton-asn1-types - crypton-asn1-types-0.4.1@sha256:02f3ec473011b3da92f7bf738bea19cadf88a6470b25a6cb5042216c7549c912,1326 -# lts-24.48 specifies crypton-conduit-0.2.3 +# lts-24.55 specifies crypton-conduit-0.2.3 - crypton-conduit-0.3.0@sha256:20946683890fa9fd2519c6c734039d413888ccd9b64692db9aa390388ea58921,2016 -# lts-24.43 specifies crypton-connection-0.4.5 +# lts-24.55 specifies crypton-connection-0.4.5 - crypton-connection-0.4.6@sha256:a3764a44de9f43b1e9f590009ebbea1401fc3911e3ba41ce4d9b93d9f2a8d22e,1599 -# lts-24.43 specifies crypton-x509-1.7.7 +# lts-24.55 specifies crypton-x509-1.7.7 - crypton-x509-1.9.1@sha256:6ed60424bd0664695db63cfda2052172bf6842b560dfb6f48478448c6f39ec65,2010 -# lts-24.43 specifies crypton-x509-store-1.6.14 +# lts-24.55 specifies crypton-x509-store-1.6.14 - crypton-x509-store-1.9.0@sha256:9746160b993c24c175e560e27051dfe4616c6413014712776f1297e2ca8bba8a,1700 -# lts-24.43 specifies crypton-x509-system-1.6.8 +# lts-24.55 specifies crypton-x509-system-1.6.8 - crypton-x509-system-1.9.0@sha256:ccdc92bf98d7693c63dc680ff665b6487a28a701003dbee6695a6dbd38244392,1539 -# lts-24.43 specifies crypton-x509-validation-1.6.14 +# lts-24.55 specifies crypton-x509-validation-1.6.14 - crypton-x509-validation-1.9.1@sha256:7fd1231e0ce13be7bbb95a348da58919174d341572309ff4471e39c3b3f4e68a,2113 -# lts-24.43 specifies hi-file-parser-0.1.8.0 -- hi-file-parser-0.1.9.0@sha256:a6f4cce3c5cfdd5c88f1145bad6fd0932ba5084591142956c30ee47a1d78eac5,3245 -# lts-24.43 specifies hpke-0.0.0 -- hpke-0.1.0@sha256:fb107670a0aeb91b4626e0b1dff4e7ec3342e48931cc994938d95af1a23f645d,1801 -# lts-24.43 specifies hpack-0.38.3 +# lts-24.55 specifies hpack-0.38.3 - hpack-0.39.6@sha256:3dcd46245401aec2239ff63680880f04817635c7df00ee8ebe2bea9b57393891,5263 -# lts-24.43 provides http-client-tls-0.3.6.4 +# lts-24.55 specifies hpke-0.0.0 +- hpke-0.1.0@sha256:fb107670a0aeb91b4626e0b1dff4e7ec3342e48931cc994938d95af1a23f645d,1801 +# lts-24.55 provides http-client-tls-0.3.6.4 - http-client-tls-0.4.0@sha256:39fc60a864134946c773953fb96a836cd769b3af6fa03a4bfc547168a15e541d,2117 -# lts-24.43 provides http-download-0.2.1.0 +# lts-24.55 provides http-download-0.2.1.0 - http-download-0.2.2.0@sha256:cfe4722fcbad837db43b5758a49b6ea54b9fd475b1825b622e25f96a8406a4d0,1812 -# lts-24.43 excludes mlkem +# lts-24.55 excludes mlkem - mlkem-0.2.2.0@sha256:c16cb61190e915593767e716dd08957607f6045a01d7c3a1313fbd74eb31c75d,4759 -# lts-24.43 specifies open-browser-0.4.0.0 +# lts-24.55 specifies open-browser-0.4.0.0 - open-browser-0.5.1.0@sha256:0dc8dc33b9bba0e025e444355f6c2d806f62a4656446961c3647165f80f0d278,1959 -# lts-24.43 specifies pantry-0.10.1 +# lts-24.55 specifies pantry-0.10.1 - pantry-0.11.4@sha256:9885d02c58e8725179146352b6d3f57395d3f1337c7713dc1409c61c9c21bb09,7668 -# lts-24.43 specifies persistent-2.17.1.0 +# lts-24.55 specifies persistent-2.17.1.0 - persistent-2.18.1.0@sha256:6a111b26c3e710f1e080a7543cf93766c4cc53ac560dbaa0d4b7ddc98a2f7b1d,7096 -# lts-24.43 excludes ram +# lts-24.55 excludes ram - ram-0.22.0@sha256:f6ce64a025929eb6ce42deeb80d072960a9ea2d83b9b9b28de668cc2b623127c,2814 -# lts-24.43 provides static-bytes-0.1.1 +# lts-24.55 provides static-bytes-0.1.1 - static-bytes-0.2.0@sha256:d61293dd0e810b78716e841462defadefc8698f8cfd59b899bb1b1abe34c4939,1617 -# lts-24.43 excludes time-hourglass +# lts-24.55 excludes time-hourglass - time-hourglass-0.3.0@sha256:ee02356fe24919ec43ae17fc0007398c2fd0bbe822833b2d7a9c849537b90580,3114 -# lts-24.43 specifies tls-2.1.8 +# lts-24.55 specifies tls-2.1.8 - tls-2.4.3@sha256:b69bad4c980463bebe216e3b1f88443884daff19878e2fec45661358abdbe6e8,7391 docker: diff --git a/stack.yaml.lock b/stack.yaml.lock index ac60d02d7e..fe20acc0df 100644 --- a/stack.yaml.lock +++ b/stack.yaml.lock @@ -89,12 +89,12 @@ packages: original: hackage: crypton-x509-validation-1.9.1@sha256:7fd1231e0ce13be7bbb95a348da58919174d341572309ff4471e39c3b3f4e68a,2113 - completed: - hackage: hi-file-parser-0.1.9.0@sha256:a6f4cce3c5cfdd5c88f1145bad6fd0932ba5084591142956c30ee47a1d78eac5,3245 + hackage: hpack-0.39.6@sha256:3dcd46245401aec2239ff63680880f04817635c7df00ee8ebe2bea9b57393891,5263 pantry-tree: - sha256: fb6b131cdaa2bff3f069aaa4148710e85ff5535fb20666d17855853f6f8b4145 - size: 3117 + sha256: c8839695b53b682930d9a359357d1c6b7ded84a1e16d5b75ab7c77c99c3561f8 + size: 3799 original: - hackage: hi-file-parser-0.1.9.0@sha256:a6f4cce3c5cfdd5c88f1145bad6fd0932ba5084591142956c30ee47a1d78eac5,3245 + hackage: hpack-0.39.6@sha256:3dcd46245401aec2239ff63680880f04817635c7df00ee8ebe2bea9b57393891,5263 - completed: hackage: hpke-0.1.0@sha256:fb107670a0aeb91b4626e0b1dff4e7ec3342e48931cc994938d95af1a23f645d,1801 pantry-tree: @@ -102,13 +102,6 @@ packages: size: 1320 original: hackage: hpke-0.1.0@sha256:fb107670a0aeb91b4626e0b1dff4e7ec3342e48931cc994938d95af1a23f645d,1801 -- completed: - hackage: hpack-0.39.6@sha256:3dcd46245401aec2239ff63680880f04817635c7df00ee8ebe2bea9b57393891,5263 - pantry-tree: - sha256: c8839695b53b682930d9a359357d1c6b7ded84a1e16d5b75ab7c77c99c3561f8 - size: 3799 - original: - hackage: hpack-0.39.6@sha256:3dcd46245401aec2239ff63680880f04817635c7df00ee8ebe2bea9b57393891,5263 - completed: hackage: http-client-tls-0.4.0@sha256:39fc60a864134946c773953fb96a836cd769b3af6fa03a4bfc547168a15e541d,2117 pantry-tree: @@ -181,7 +174,7 @@ packages: hackage: tls-2.4.3@sha256:b69bad4c980463bebe216e3b1f88443884daff19878e2fec45661358abdbe6e8,7391 snapshots: - completed: - sha256: 3c412a7c13dba6d3d808455a458e0776c58b6cf99b8a7961a2f5e55589d6f1d6 - size: 729011 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/24/43.yaml - original: lts-24.43 + sha256: 1c2140555bdf61c30a893b3ec1033987d01eda75ce82a1dda033e8fb6f8b322c + size: 732456 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/24/55.yaml + original: lts-24.55 diff --git a/tests/integration/lib/StackTest.hs b/tests/integration/lib/StackTest.hs index 52e0e6e75f..b3cb474250 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.43" +defaultSnapshotArg = "--snapshot=lts-24.55" -- | 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 626cbb71a6..df0fa96fd4 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.43 +snapshot: lts-24.55 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 5490d5880f..a57c6e7a52 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.43 +snapshot: lts-24.55 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 5bb59ca11d..6a6f9b1438 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.43 +snapshot: lts-24.55 packages: [] diff --git a/tests/integration/tests/4101-dependency-tree/files/stack.yaml b/tests/integration/tests/4101-dependency-tree/files/stack.yaml index 2438be841e..40339ada61 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.43 +snapshot: lts-24.55 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 5490d5880f..a57c6e7a52 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.43 +snapshot: lts-24.55 diff --git a/tests/integration/tests/4783-doctest-deps/files/snapshot.yaml b/tests/integration/tests/4783-doctest-deps/files/snapshot.yaml index 313cfca96f..b24da14542 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.43 +snapshot: lts-24.55 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 f012c6363b..fd9bf2829f 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.43 config env` +eval `stack --snapshot lts-24.55 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 e60f7dd9d9..86cd254c5e 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.43 +snapshot: lts-24.55 packages: - . diff --git a/tests/integration/tests/drop-packages/files/stack.yaml b/tests/integration/tests/drop-packages/files/stack.yaml index 9d4c5b23af..b3de94c11e 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.43 +snapshot: lts-24.55 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 ce50d6afd4..2e3fa9a074 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.43 +snapshot: lts-24.55 # 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 ef232fb00d..6b5fa87b62 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.43"] - stack ["init", "--snapshot", "lts-24.43", "--omit-packages"] + stackErr ["init", "--snapshot", "lts-24.55"] + stack ["init", "--snapshot", "lts-24.55", "--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 461c9c454c..d2f16944af 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.43 +snapshot: lts-24.55 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 cd87ad3af7..9c0e813553 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.43"] $ \snapshot -> do + for_ ["lts-20.26", "lts-24.55"] $ \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 4785f281bc..87a5b85164 100644 --- a/tests/integration/tests/upload/files/stack.yaml +++ b/tests/integration/tests/upload/files/stack.yaml @@ -1,3 +1,3 @@ -snapshot: lts-24.43 +snapshot: lts-24.55 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 5490d5880f..a57c6e7a52 100644 --- a/tests/integration/tests/watched-files/files/stack.yaml +++ b/tests/integration/tests/watched-files/files/stack.yaml @@ -1 +1 @@ -snapshot: lts-24.43 +snapshot: lts-24.55 diff --git a/tests/unit/Stack/ConfigSpec.hs b/tests/unit/Stack/ConfigSpec.hs index d336947360..1cfd740091 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.43\n" ++ + "snapshot: lts-24.55\n" ++ "packages: ['.']\n" buildOptsConfig :: String buildOptsConfig = - "snapshot: lts-24.43\n" ++ + "snapshot: lts-24.55\n" ++ "packages: ['.']\n" ++ "build:\n" ++ " semaphore: true\n" ++ @@ -106,7 +106,7 @@ buildOptsConfig = buildOptsHaddockForHackageConfig :: String buildOptsHaddockForHackageConfig = - "snapshot: lts-24.43\n" ++ + "snapshot: lts-24.55\n" ++ "packages: ['.']\n" ++ "build:\n" ++ " haddock: true\n" ++ @@ -122,24 +122,24 @@ buildOptsHaddockForHackageConfig = hpackConfig :: String hpackConfig = - "snapshot: lts-24.43\n" ++ + "snapshot: lts-24.55\n" ++ "with-hpack: /usr/local/bin/hpack\n" ++ "packages: ['.']\n" resolverConfig :: String resolverConfig = - "resolver: lts-24.43\n" ++ + "resolver: lts-24.55\n" ++ "packages: ['.']\n" snapshotConfig :: String snapshotConfig = - "snapshot: lts-24.43\n" ++ + "snapshot: lts-24.55\n" ++ "packages: ['.']\n" resolverSnapshotConfig :: String resolverSnapshotConfig = - "resolver: lts-24.43\n" ++ - "snapshot: lts-24.43\n" ++ + "resolver: lts-24.55\n" ++ + "snapshot: lts-24.55\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 43) + project.snapshot `shouldBe` RSLSynonym (LTS 24 55) it "parses snapshot using 'snapshot'" $ inTempDir $ do loadProject snapshotConfig $ \project -> - project.snapshot `shouldBe` RSLSynonym (LTS 24 43) + project.snapshot `shouldBe` RSLSynonym (LTS 24 55) it "throws if both 'resolver' and 'snapshot' are present" $ inTempDir $ do loadProject resolverSnapshotConfig (const (pure ()))