[ANN] First release candidate for stack-3.3.1

You can download binaries for this pre-release from Release rc/v3.3.0.1 (release candidate) · commercialhaskell/stack · GitHub.

Please test it and let us know at the Stack repository if you run into any trouble. If all goes well, we hope to release the final version in a couple of weeks.

Changes since v3.1.1:

Behavior changes:

  • Stack interprets consecutive line ends in the value of the user-message project-specific configuration option as a single blank line. Previously all line ends were interpreted as white space.
  • Stack no longer supports Docker versions before Docker 1.9.1 and, consequently, if a Docker container is not being run ‘detached’, its standard input channel will always be kept open. (Before Docker 1.9.1 the use of an interactive container could hang in certain circumstances.)
  • On Windows, Stack will always warn (message S-8432) if there is a space character in Stack’s ‘programs’ path, as GHC 9.4.1 and later do not work if there is a space in the path to the ghc executable. S-8432 now presents as a warning and not an error.
  • Stack respects the --no-run-tests and --no-run-benchmarks flags when determining build actions. Previously Stack respected the flags when executing the run test suites or run benchmarks actions for each targeted project package.

Other enhancements:

  • Consider GHC 9.10 to be a tested compiler and remove warnings.
  • Consider Cabal 3.12 to be a tested library and remove warnings.
  • Add flags --run-tests and --run-benchmarks (the existing defaults) to Stack’s build command, which take precedence over the existing no-run-tests and no-run-benchmarks configuration options, respectively.
  • In configuration files, the notify-if-no-run-tests and notify-if-no-run-benchmarks keys are introduced, to allow the exisitng notification to be muted if unwanted.

Bug fixes:

  • Stack’s in-app messages refer to https://haskellstack.org as currently structured. (Most URLs in older Stack versions are redirected.)
  • Stack’s upgrade command only treats the current running Stack executable as ‘stack’ if the executable file is named stack or, on Windows, stack.exe. Previously only how it was invoked was considered.
  • stack test --no-run-tests --dry-run no longer reports that Stack would test project packages with test suites and stack bench --no-run-benchmarks --dry-run no longer reports that Stack would benchmark project packages with benchmarks.
  • StackSetupShim compiles with Cabal >= 3.14.0.0.
9 Likes