This is the second release candidate for stack-1.7 (the first was short-lived and never widely announced).
Binaries for supported platforms are available here: https://github.com/commercialhaskell/stack/releases/tag/v18.104.22.168.
You easily upgrade to it using: `stack upgrade --binary-version=22.214.171.124`
## Changes since v1.6.5:
* aarch64 (64-bit ARM) bindists are now available for the first time.
* Statically linked Linux bindists are no longer available, due to difficulty with GHC 8.2.2 on Alpine Linux.
* 32-bit Linux GMP4 bindists for CentOS 6 are no longer available, since GHC 8.2.2 is no longer being built for that platform.
* Upgrade from Cabal 2.0 to Cabal 2.2
* `stack setup` no longer uses different GHC configure options on Linux
distributions that use GCC with PIE enabled by default. GHC detects
this itself since ghc-8.0.2, and Stack's attempted workaround for older
versions caused more problems than it solved.
* `stack new` no longer initializes a project if the project template contains
a stack.yaml file.
* `stack unpack` now supports a `--to /target/directory` option to
specify where to unpack the package into
* `stack hoogle` now supports a new flag `--server` that launches local
Hoogle server on port 8080. See
* A new sub command `ls` has been introduced to stack to view
local and remote snapshots present in the system. Use `stack ls
snapshots --help` to get more details about it.
* `list-dependencies` has been deprecated. The functionality has
to accessed through the new `ls dependencies` interface. See
* Specify User-Agent HTTP request header on every HTTP request.
See [#3628](https://github.com/commercialhaskell/stack/issues/3628) for details.
* `stack setup` looks for GHC bindists and installations by any OS key
that is compatible (rather than only checking a single one). This is
relevant on Linux where different distributions may have different
combinations of libtinfo 5/6, ncurses 5/6, and gmp 4/5, and will allow
simpifying the setup-info metadata YAML for future GHC releases.
* The build progress bar reports names of packages currently building.
* `stack setup --verbose` causes verbose output of GHC configure process.
* Improve the error message when an `extra-dep` from a path or git reference can't be found
* Nix integration is now disabled on windows even if explicitly enabled,
since it isn't supported. See
* `stack build` now supports a new flag `--keep-tmp-files` to retain intermediate
files and directories for the purpose of debugging.
It is best used with ghc's equivalent flag,
i.e. `stack build --keep-tmp-files --ghc-options=-keep-tmp-files`.
* Improved error messages for snapshot parse exceptions
* When a package contained sublibraries, stack was always recompiling the
package. This has been fixed now, no recompilation is being done because of
sublibraries. See [#3899](https://github.com/commercialhaskell/stack/issues/3899).
* The `get-stack.sh` install script now matches manual instructions
when it comes to Debian/Fedora/CentOS install dependencies.
* Compile Cabal-simple with gmp when using Nix.
* `stack ghci` now replaces the stack process with ghci. This improves
signal handling behavior. In particular, handling of Ctrl-C. To make
this possible, the generated files are now left behind after exit.
The paths are based on hashing file contents, and it's stored in the
system temporary directory, so this shouldn't result in too much
* The script interpreter's implicit file arguments are now passed before other
arguments. See [#3658](https://github.com/commercialhaskell/stack/issues/3658).
In particular, this makes it possible to pass `-- +RTS ... -RTS` to specify
RTS arguments used when running the script.
* Don't ignore the template `year` parameter in config files, and clarify the
surrounding documentation. See
* Benchmarks used to be run concurrently with other benchmarks
and build steps. This is non-ideal because CPU usage of other processes
may interfere with benchmarks. It also prevented benchmark output from
being displayed by default. This is now fixed. See
* `stack ghci` now allows loading multiple packages with the same
module name, as long as they have the same filepath. See
* `stack ghci` no longer always adds a dependency on `base`. It is
now only added when there are no local targets. This allows it to
be to load code that uses replacements for `base`. See
* `stack ghci` now uses correct paths for autogen files with
|Free forum by Nabble||Edit this page|