@borsboom borsboom released this Jul 25, 2017

Assets 32

See https://haskellstack.org for installation and upgrade instructions.

Behavior changes:

  • stack profile and stack trace now 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 setup allow to control options passed to ghcjs-boot with
    --ghcjs-boot-options (one word at a time) and --[no-]ghcjs-boot-clean
  • stack setup now accepts a --install-cabal VERSION option 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 solver will 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-arguments and benchmark-arguments options.
  • Adds STACK_WORK environment variable, to specify work dir.
    See #3063
  • Can now use relative paths for extra-include-dirs and extra-lib-dirs.
    See #2830
  • Improved bash completion for many options, including --ghc-options,
    --flag, targets, and project executables for exec.
  • --haddock-arguments is actually used now when haddock is invoked
    during documentation generation.
  • --[no-]haddock-hyperlink-source flag added which allows toggling
    of sources being included in Haddock output.
    See #3099
  • stack ghci will 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 -revision to 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 .cabal file, 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-creds configuration 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
  • 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 unpack command 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

Bug fixes:

  • Fixes case where stack build --profile might not cause executables /
    tests / benchmarks to be rebuilt.
    See #2984
  • stack ghci file.hs now loads the file even if it isn't part of
    your project.
  • stack clean --full now 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-watch in cases where a directory is removed
    See #1838
  • Fixes stack dot and stack list-dependencies to use info from the
    package database for wired-in-packages (ghc, base, etc).
    See #3084
  • Fixes stack --docker build when 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 upload no longer reveals your password when you type it on
    MinTTY-based Windows shells, such as Cygwin and MSYS2.
    See #3142
  • stack 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