ANN: stack-1.1.0

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

ANN: stack-1.1.0

Emanuel Borsboom

See for installation and upgrade instructions.

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:
      library-profiling: true
      executable-profiling: true
      haddock: true
      haddock-deps: true
      copy-bins: true
      prefetch: true
      force-dirty: true
      keep-going: true
      test: true
        rerun-tests: true
        additional-args: ['-fprof']
        coverage: true
        no-run-tests: true
      bench: true
        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.
  • 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.

Thanks to all our contributors for this release:

And thanks as always to the 150+ contributors to past releases!