stack v1.7.1 Release Notes

Release Date: 2018-04-27 // about 6 years ago
  • ⬆️ See https://haskellstack.org for installation and upgrade instructions.

    πŸ”„ Changes since v1.6.5:

    πŸš€ Release notes:

    • 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.

    Major changes:

    • ⬆️ Upgrade from Cabal 2.0 to Cabal 2.2

    Behavior changes:

    • 🐧 stack setup no longer uses different GHC configure options on Linux
      0️⃣ 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.

    Other enhancements:

    • 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
      #3669
      for details.
    • Specify User-Agent HTTP request header on every HTTP request.
      πŸ‘€ See #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.
      πŸ‘€ See #3716
    • πŸ‘Œ Improve the error message when an extra-dep from a path or git reference can't be found
      πŸ‘€ See #3808
    • 🏁 Nix integration is now disabled on windows even if explicitly enabled,
      πŸ‘€ since it isn't supported. See
      #3600
    • πŸ— 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.
      πŸ‘€ See #3857
    • πŸ‘Œ Improved error messages for snapshot parse exceptions
    • πŸ‘ 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
      #2310

    πŸ› Bug fixes:

    • The script interpreter's implicit file arguments are now passed before other
      πŸ‘€ arguments. See #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
      #2275.
    • 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
      #3663.
    • πŸ“¦ stack ghci now allows loading multiple packages with the same
      πŸ‘€ module name, as long as they have the same filepath. See
      #3776.
    • 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
      #3589
    • stack ghci now uses correct paths for autogen files with
      #3791
    • πŸ“¦ 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.
    • 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.
      πŸ‘€ See #2944
    • 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
      πŸ‘€ garbage. See
      #3821.

    πŸš€ Thanks to all our contributors for this release:

    • Alexey Kuleshevich
    • Andrei Dziahel
    • Andrew Cowie
    • Daniel Bergey
    • David Baynard
    • Domen KoΕΎar
    • Don Waldhalm
    • Emanuel Borsboom
    • Geoffrey Noel
    • Ivan Kasatenko
    • Jan von Loewenstein
    • Joshua Simmons
    • Kirill Elagin
    • Krishnan Parthasarathi
    • Luke Murphy
    • Matt Spaulding
    • Matthias Braun
    • Maximilian Tagher
    • Michael Sloan
    • Michael Snoyman
    • Mihai Maruseac
    • Mike Pilgrem
    • Mitchell Rosen
    • Nicolas Mattia
    • Niklas HambΓΌchen
    • Oleg Grenrus
    • Reuben D'Netto
    • Robert J. Macomber
    • Sibi Prabakaran
    • silky
    • Simon Hengel
    • Tero LaxstrΓΆm
    • tswelsh
    • Yuji Yamamoto