stack v1.1.0 Release Notes
-
๐ Release notes:
- โ Added Ubuntu 16.04 LTS (xenial) Apt repo.
- No longer uploading new versions to Fedora 21 repo.
Behavior changes:
- ๐ Snapshot packages are no longer built with executable profiling. See #1179.
stack init
now ignores symlinks when searching for cabal files. It also now ignores any directory that begins with.
(as well asdist
dirs) - before it would only ignore.git
,.stack-work
, anddist
.- The stack executable is no longer built with
-rtsopts
. Before, when-rtsopts
was enabled, stack would process+RTS
options even when intended for some other program, such as when used withstack exec -- prog +RTS
. See #2022. - ๐ The
stack path --ghc-paths
option is deprecated and renamed to--programs
.--compiler
is added, which points directly at the compiler used in the current project.--compiler-bin
points to the compiler's bin dir. - For consistency with the
$STACK_ROOT
environment variable, thestack path --global-stack-root
flag and theglobal-stack-root
field in the output ofstack path
are being deprecated and replaced with thestack-root
flag and output field. Additionally, the stack root can now be specified via the--stack-root
command-line flag. See #1148. - ๐
stack sig
GPG-related sub-commands were removed (folded intoupload
andsdist
) - ๐ฆ GPG signing of packages while uploading to Hackage is now the default. Use
upload --no-signature
if you would rather not contribute your package signature. If you don't yet have a GPG keyset, read this blog post on GPG keys. We can add a stack.yaml config setting to disable signing if some people desire it. We hope that people will sign. Later we will be adding GPG signature verification options. - ๐
stack build pkg-1.2.3
will now build even if the snapshot has a different package version - it is treated as an extra-dep.stack build local-pkg-1.2.3
is an error even if the version number matches the local package #2028. - ๐ Having a
nix:
section no longer implies enabling nix build. This allows the user to globally configure whether nix is used (unless the project overrides the default explicitly). See #1924. - โ Remove deprecated valid-wanted field.
- ๐ณ Docker: mount home directory in container #1949.
- ๐ Deprecate
--local-bin-path
instead--local-bin
. stack image
: allow absolute source paths foradd
.
Other enhancements:
- ๐ฆ
stack haddock --open [PACKAGE]
opens the local haddocks in the browser. - ๐ Fix too much rebuilding when enabling/disabling profiling flags.
- ๐
stack build pkg-1.0
will now buildpkg-1.0
even if the snapshot specifies a different version (it introduces a temporary extra-dep) - ๐ Experimental support for
--split-objs
added #1284. - ๐ฆ
git
packages with submodules are supported by passing the--recursive
flag togit clone
. - When using hpack, only regenerate cabal files when hpack files change.
- hpack files can now be used in templates
stack ghci
now runs ghci as a separate process #1306- ๐ฆ Retry when downloading snapshots and package indices
- ๐ Many build options are configurable now in
stack.yaml
:build: library-profiling: true executable-profiling: true haddock: true haddock-deps: true copy-bins: true prefetch: true force-dirty: true keep-going: true test: true test-arguments: rerun-tests: true additional-args: ['-fprof'] coverage: true no-run-tests: true bench: true benchmark-opts: benchmark-arguments: -O2 no-run-benchmarks: true reconfigure: true cabal-verbose: true
- ๐ A number of URLs are now configurable, useful for firewalls. See #1794.
- Suggest causes when executables are missing.
- ๐ Allow
--omit-packages
even without--solver
. - ๐ Improve the generated stack.yaml.
- ๐ Improve ghci results after :load Main module collision with main file path.
- Only load the hackage index if necessary #1883, #1892.
- ๐ฆ init: allow local packages to be deps of deps #1965.
- ๐จ Always use full fingerprints from GPG #1952.
- 0๏ธโฃ Default to using
gpg2
and fall back togpg
#1976. - โ Add a flag for --verbosity silent.
- โ Add
haddock --open
flag #1396.
๐ Bug fixes:
- ๐ฆ Package tarballs would fail to unpack. #1884.
- ๐ Fixed errant warnings about missing modules, after deleted and removed from cabal file #921 #1805.
- ๐ฆ Now considers a package to dirty when the hpack file is changed #1819.
- ๐ Nix: cancelling a stack build now exits properly rather than dropping into a nix-shell #1778.
- ๐ง
allow-newer: true
now causes--exact-configuration
to be passed to Cabal. See #1579. - ๐ฆ
stack solver
no longer fails withInvalidRelFile
for relative package paths including..
. See #1954. - ๐ Ignore emacs lock files when finding .cabal #1897.
- ๐ Use lenient UTF-8 decode for build output #1945.
- โก๏ธ Clear index cache whenever index updated #1962.
- ๐ Fix: Building a container image drops a .stack-work dir in the current working (sub)directory #1975.
- ๐ Fix: Rebuilding when disabling profiling #2023.