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 Pythonboot
and shconfigure
scripts, and ensure that thehappy
andalex
executables are on the PATH. - When auto-detecting
--ghc-build
on Linux, themusl
GHC build only is considered a possible GHC build iflibc.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 thanlts-7.0
ornightly-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
andstack 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 bygit 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’side targets
command, to list only those components. -
stack --verbose
excludes lengthy information about build plan construction in the debug output by default. The newstack --[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 existingcasa-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’sbuild
command 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 ahoogle
executable 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 warnings
withdump-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