ANN: stack-1.7 RELEASE CANDIDATE

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

ANN: stack-1.7 RELEASE CANDIDATE

Emanuel Borsboom
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/v1.7.0.3.

You easily upgrade to it using: `stack upgrade --binary-version=1.7.0.3`

## 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
  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:

* `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
  for details.
* Specify User-Agent HTTP request header on every HTTP request.
* `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

Bug fixes:

* When a package contained sublibraries, stack was always recompiling the
  package. This has been fixed now, no recompilation is being done because of
* 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
  garbage. See
* The script interpreter's implicit file arguments are now passed before other
  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

--