v1.5.0
See https://haskellstack.org for installation and upgrade instructions.
Behavior changes:
stack profileandstack tracenow add their extra RTS arguments for
benchmarks and tests to the beginning of the args, instead of the end.
See #2399- Support for Git-based indices has been removed.
Other enhancements:
stack setupallow to control options passed to ghcjs-boot with
--ghcjs-boot-options(one word at a time) and--[no-]ghcjs-boot-cleanstack setupnow accepts a--install-cabal VERSIONoption which
will install a specific version of the Cabal library globally.- Updates to store-0.4.1, which has improved performance and better error
reporting for version tags. A side-effect of this is that all of
stack's binary caches will be invalidated. stack solverwill now warn about unexpected cabal-install versions.
See #3044- Upstream packages unpacked to a temp dir are now deleted as soon as
possible to avoid running out of space in/tmp.
See #3018 - Add short synonyms for
test-argumentsandbenchmark-argumentsoptions. - Adds
STACK_WORKenvironment variable, to specify work dir.
See #3063 - Can now use relative paths for
extra-include-dirsandextra-lib-dirs.
See #2830 - Improved bash completion for many options, including
--ghc-options,
--flag, targets, and project executables forexec. --haddock-argumentsis actually used now whenhaddockis invoked
during documentation generation.--[no-]haddock-hyperlink-sourceflag added which allows toggling
of sources being included in Haddock output.
See #3099stack ghciwill now skip building all local targets, even if they have
downstream deps, as long as it's registered in the DB.- The pvp-bounds feature now supports adding
-revisionto the end of
each value, e.g.pvp-bounds: both-revision. This means that, when
uploading to Hackage, Stack will first upload your tarball with an
unmodified.cabalfile, and then upload a cabal file revision with
the PVP bounds added. This can be useful—especially combined
with the
Stackage no-revisions feature—as
a method to ensure PVP compliance without having to proactively fix
bounds issues for Stackage maintenance. - Expose a
save-hackage-credsconfiguration option - On GHC <= 7.8, filters out spurious linker warnings on windows
See #3127 - Better error messages when creating or building packages which alias
wired-in packages. See
#3172. - MinGW bin folder now is searched for dynamic libraries. See #3126
- When using Nix, nix-shell now depends always on git to prevent runtime errors
while fetching metadata - The
stack unpackcommand now accepts a form where an explicit
Hackage revision hash is specified, e.g.stack unpack foo-1.2.3@gitsha1:deadbeef. Note that this should be considered
experimental, Stack will likely move towards a different hash
format in the future. - Binary "stack upgrade" will now warn if the installed executable is not
on the PATH or shadowed by another entry. - Allow running tests on tarball created by sdist and upload
#717.
Bug fixes:
- Fixes case where
stack build --profilemight not cause executables /
tests / benchmarks to be rebuilt.
See #2984 stack ghci file.hsnow loads the file even if it isn't part of
your project.stack clean --fullnow works when docker is enabled.
See #2010- Fixes an issue where cyclic deps can cause benchmarks or tests to be run
before they are built.
See #2153 - Fixes
stack build --file-watchin cases where a directory is removed
See #1838 - Fixes
stack dotandstack list-dependenciesto use info from the
package database for wired-in-packages (ghc, base, etc).
See #3084 - Fixes
stack --docker buildwhen user is part of libvirt/libvirtd
groups on Ubuntu Yakkety (16.10).
See #3092 - Switching a package between extra-dep and local package now forces
rebuild (previously it wouldn't if versions were the same).
See #2147 stack uploadno longer reveals your password when you type it on
MinTTY-based Windows shells, such as Cygwin and MSYS2.
See #3142stack script's import parser will now properly parse files that
have Windows-style line endings (CRLF)
Thanks to all our contributors for this release:
- Aayush Kapoor
- Albert Netymk
- Alexey Kuleshevich
- Anders Kaseorg
- Arash Rouhani
- Bryan Richter
- Dawei LIU
- Dmitry Nikulin
- Domen Kožar
- Emanuel Borsboom
- Felix Yan
- Ivan Lazar Miljenovic
- James Hamilton
- Luke Murphy
- Marcin Tolysz
- Martin Kolinek
- Mateusz Kowalczyk
- Michael Sloan
- Michael Snoyman
- Niklas Hambüchen
- Noah Doersing
- Omari Norman
- Paolo G. Giarrusso
- Peter Stuart
- Ryan Scott
- Sergey Vinokurov
- Sibi Prabakaran
- Tej Chajed
- Tim Dysinger
- Tomáš Janoušek
- Vassil Keremidchiev