[ANN] Stack 2.13.1

See https://haskellstack.org/ for installation and upgrade instructions.

Release notes:

  • Further to the release notes for Stack 2.3.1, the -static suffix has been removed from the statically linked Linux/x86_64 binaries.
  • The binaries for Linux/Aarch64 are now statically linked.
  • Binaries are now provided for macOS/AArch64.

Changes since v2.11.1:

Behavior changes:

  • Build artefacts are placed in .stack-work/dist/<platform>/<GHC_version> (hashed to a shorter path on Windows), rather than .stack-work/dist/<platform>/<Cabal_version>. This allows build artifacts to be distinguished by GHC version.
  • By default, the stack build progress bar is capped to a length equal to the terminal width.
  • When building GHC from source, Stack no longer uses Hadrian’s deprecated --configure \ -c flag and, instead, seeks to run GHC’s Python boot and sh configure scripts, and ensure that the happy and alex executables are on the PATH.
  • When auto-detecting --ghc-build on Linux, the musl GHC build only is considered a possible GHC build if libc.musl-x86_64.so.1 is found in \lib or \lib64.
  • No longer supports Cabal versions older than 1.24.0.0. This means projects using snapshots earlier than lts-7.0 or nightly-2016-05-26 will no longer build.
  • When unregistering many packages in a single step, Stack can now do that efficiently. Stack no longer uses GHC-supplied ghc-pkg unregister (which is, currently, slower).
  • stack hpc report, stack list, stack templates and stack uninstall output their information to the standard output stream rather than to the standard error stream. Logging is still to the standard error stream.
  • stack upgrade no longer assumes that binary upgrade is not supported on a AArch64 machine architecture.

Other enhancements:

  • Bump to Hpack 0.36.0.
  • Depend on pantry-0.9.2, for support for long filenames and directory names in archives created by git archive.
  • Avoid the duplicate resolving of usage files when parsing *.hi files into a set of modules and a collection of resolved usage files. See #6123.
  • Add composable component type flags --exes, --tests and --benchmarks to Stack’s ide targets command, to list only those components.
  • stack --verbose excludes lengthy information about build plan construction in the debug output by default. The new stack --[no-]plan-in-log flag enables or disables the inclusion of the information in the debug output.
  • In YAML configuration files, the casa key is introduced, which takes precedence over the existing casa-repo-prefix key. The latter is deprecated. The new key also allows Stack’s use of a Casa (content-addressable storage archive) server to be disabled and the maximum number of keys per request to be configured. The defaults are unchanged.
  • Add option --progress-bar=<format> to Stack’s build command to configure the format of the progress bar, where <format> is one of none, count-only (only the package count), capped (capped to a length equal to the terminal width) and full (the previous format).

Bug fixes:

  • Restore stack sdist --pvp-bounds lower (broken with Stack 2.9.1).
  • Restore building of Stack with Cabal flag disable-git-info (broken with Stack 2.11.1).
  • With stack hoogle, avoid the message Minimum version is hoogle-5.0. Found acceptable hoogle-<x.y.z> in your index, requiring its installation. when a hoogle executable has already been found on the PATH.
  • Stack’s sanity check on a selected GHC now passes GHC flag -hide-all-packages, stopping GHC from looking for a package environment in default locations.
  • Restore Stack script files without extensions (broken with Stack 2.11.1).
  • Restore message suffix due to warnings with dump-logs: warning (broken with Stack 2.11.1).
  • On Windows, the local-programs-path directory can now be on a different drive to the system temporary directory and MSYS2 will still be installed.

Thanks to all our contributors for this release:

  • Andrei Dziahel
  • Charles Taylor
  • David Hewson
  • Jens Petersen
  • Markus Schirp
  • Mike Pilgrem
  • Olivier Benz
  • Phil de Joux
  • Simon Hengel
10 Likes

Thank you

Can now be built from latest Stackage Nightly btw.

3 Likes

The action haskell-actions/setup (“dash-no-slash”) will install version 2.13.1 of Stack by default now: Release v2.4.9 · haskell-actions/setup · GitHub

2 Likes