stack v1.2.0 Release Notes
-
๐ Release notes:
On many Un*x systems, Stack can now be installed with a simple one-liner:
wget -qO- https://get.haskellstack.org/ | sh
The fix for #2175 entails that stack must perform a full clone of a large Git repo of Hackage meta-information. The total download size is about 200 MB. Please be aware of this when upgrading your stack installation.
โฌ๏ธ If you use Mac OS X, you may want to delay upgrading to macOS Sierra as there are reports of GHC panics when building some packages (including Stack itself). See #2577
๐ This version of Stack does not build on ARM or PowerPC systems (see store#37). Please stay with version 1.1.2 for now on those architectures. This will be rectified soon!
We are now releasing a statically linked Stack binary for 64-bit Linux. Please try it and let us know if you run into any trouble on your platform.
๐ We are planning some changes to our Linux releases, including dropping our Ubuntu, Debian, CentOS, and Fedora package repositories and switching to statically linked binaries. We would value your feedback in #2534.
Major changes:
- โ Add
stack hoogle
command. #55 - ๐ Support for absolute file path in
url
field ofsetup-info
or--ghc-bindist
- โ Add support for rendering GHCi scripts targeting different GHCi like applications #2457
Behavior changes:
- โ Remove
stack ide start
andstack ide load-targets
commands. #2178 - ๐ Support .buildinfo files in
stack ghci
. #2242 - ๐ Support -ferror-spans syntax in GHC error messages.
- Avoid unpacking ghc to
/tmp
#996 - ๐ง The Linux
gmp4
GHC bindist is no longer considered a full-fledged GHC variant and can no longer be specified using theghc-variant
option, and instead is treated more like a slightly different platform.
Other enhancements:
- ๐ฆ Use the
store
package for binary serialization of most caches. - ๐ณ Only require minor version match for Docker stack exe. This way, we can make patch releases for version bounds and similar build issues without needing to upload new binaries for Docker.
- Stack/Nix: Passes the right ghc derivation as an argument to the
shell.nix
when a customshell.nix
is used See #2243 - Stack/Nix: Sets
LD_LIBRARY_PATH
so packages using C libs for Template Haskell can work (See e.g. this HaskellR issue) - ๐ง Parse CLI arguments and configuration files into less permissive types, improving error messages for bad inputs. #2267
- โ Add the ability to explicitly specify a gcc executable. #593
- Nix: No longer uses LTS mirroring in nixpkgs. Gives to nix-shell a derivation
like
haskell.compiler.ghc801
See #2259 - Perform some subprocesses during setup concurrently, slightly speeding up most commands. #2346
stack setup
no longer unpacks to the system temp dir on posix systems. #996stack setup
detects libtinfo6 and ncurses6 and can download alternate GHC bindists #257 #2302.- ๐ง
stack setup
detects Linux ARMv7 downloads appropriate GHC bindist #2103 - Custom
stack
binaries list dependency versions in output for--version
. See #2222 and #2450. - ๐จ Use a pretty printer to output dependency resolution errors. #1912
- โ Remove the
--os
flag #2227 - โ Add 'netbase' and 'ca-certificates' as dependency for .deb packages. #2293.
- โ Add
stack ide targets
command. - โจ Enhance debug logging with subprocess timings.
- ๐จ Pretty-print YAML parse errors #2374
- Clarify confusing
stack setup
output #2314 - โ Delete
Stack.Types
multimodule to improve build times #2405 - โ Remove spurious newlines in build logs #2418
- ๐ฆ Interpreter: Provide a way to hide implicit packages #1208
- Check executability in exec lookup #2489
๐ Bug fixes:
- ๐ Fix cabal warning about use of a deprecated cabal flag #2350
- ๐ Support most executable extensions on Windows #2225
- Detect resolver change in
stack solver
#2252 - ๐ Fix a bug in docker image creation where the wrong base image was selected #2376
- Ignore special entries when unpacking tarballs #2361
- ๐ Fixes src directory pollution of
style.css
andhighlight.js
with GHC 8's haddock #2429 - ๐ Handle filepaths with spaces in
stack ghci
#2266 - ๐ฆ Apply ghc-options to snapshot packages #2289
- stack sdist: Fix timestamp in tarball #2394
- ๐ Allow global Stack arguments with a script #2316
- ๐ฆ Inconsistency between ToJSON and FromJSON instances of PackageLocation #2412
- Perform Unicode normalization on filepaths #1810
- Solver: always keep ghc wired-in as hard constraints #2453
- ๐ Support OpenBSD's tar where possible, require GNU tar for xz support #2283
- ๐ Fix using --coverage with Cabal-1.24 #2424
- ๐ When marking exe installed, remove old version #2373
- Stop truncating all-cabal-hashes git repo #2175
- ๐ Handle non-ASCII filenames on Windows #2491
- ๐ฆ Avoid using multiple versions of a package in script interpreter by passing package-id to ghc/runghc #1957
- Only pre-load compiler version when using nix integration #2459
- ๐ Solver: parse cabal errors also on Windows #2502
- ๐ Allow exec and ghci commands in interpreter mode.
Scripts can now automatically open in the repl by using
exec ghci
instead ofrunghc
in the shebang command. #2510 - ๐ฆ Now consider a package to be dirty when an extra-source-file is changed. See #2040