See https://haskellstack.org/ for installation and upgrade instructions.
Release notes:
- Further to the release notes for Stack 2.3.1, the
-staticsuffix 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 buildprogress bar is capped to a length equal to the terminal width. - When building GHC from source, Stack no longer uses Hadrian’s deprecated
--configure\-cflag and, instead, seeks to run GHC’s Pythonbootand shconfigurescripts, and ensure that thehappyandalexexecutables are on the PATH. - When auto-detecting
--ghc-buildon Linux, themuslGHC build only is considered a possible GHC build iflibc.musl-x86_64.so.1is found in\libor\lib64. - No longer supports Cabal versions older than
1.24.0.0. This means projects using snapshots earlier thanlts-7.0ornightly-2016-05-26will 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 templatesandstack uninstalloutput their information to the standard output stream rather than to the standard error stream. Logging is still to the standard error stream. -
stack upgradeno 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 bygit archive. - Avoid the duplicate resolving of usage files when parsing
*.hifiles into a set of modules and a collection of resolved usage files. See #6123. - Add composable component type flags
--exes,--testsand--benchmarksto Stack’side targetscommand, to list only those components. -
stack --verboseexcludes lengthy information about build plan construction in the debug output by default. The newstack --[no-]plan-in-logflag enables or disables the inclusion of the information in the debug output. - In YAML configuration files, the
casakey is introduced, which takes precedence over the existingcasa-repo-prefixkey. 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’sbuildcommand to configure the format of the progress bar, where<format>is one ofnone,count-only(only the package count),capped(capped to a length equal to the terminal width) andfull(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 messageMinimum version is hoogle-5.0. Found acceptable hoogle-<x.y.z> in your index, requiring its installation.when ahoogleexecutable has already been found on thePATH. - 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 warningswithdump-logs: warning(broken with Stack 2.11.1). - On Windows, the
local-programs-pathdirectory 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