[ANN] First release candidate for stack-2.13.1

You can download binaries for this pre-release from: Release rc/v2.13.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.

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.

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).

Other enhancements:

  • Bump to Hpack 0.35.5.
  • 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).
8 Likes