Skip to content

v1.1.0

Compare
Choose a tag to compare
@borsboom borsboom released this 04 May 09:37

See haskellstack.org 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:
  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.
  • 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!