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 as dist dirs) - before it would only ignore .git, .stack-work, and dist.
    • 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 with stack 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, the stack path --global-stack-root flag and the global-stack-root field in the output of stack path are being deprecated and replaced with the stack-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 into upload and sdist)
    • ๐Ÿ“ฆ 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 for add.

    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 build pkg-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 to git 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 to gpg #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 with InvalidRelFile 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.