stack v1.0.4 Release Notes

  • Major changes:

    • Some notable changes in stack init:
      • Overall it should now be able to initialize almost all existing cabal packages out of the box as long as the package itself is consistently defined.
      • Choose the best possible snapshot and add extra dependencies on top of a snapshot resolver rather than a compiler resolver - #1583
      • Automatically omit a package (--omit-packages) when it is compiler incompatible or when there are packages with conflicting dependency requirements - #1674.
      • Some more changes for a better user experience. Please refer to the doc guide for details.
    • โž• Add support for hpack, alternative package description format #1679

    Other enhancements:

    • ๐Ÿณ Docker: pass ~/.ssh and SSH auth socket into container, so that git repos work #1358.
    • ๐Ÿณ Docker: strip suffix from docker --version. #1653
    • ๐Ÿณ Docker: pass USER and PWD environment variables into container.
    • โœ… On each run, stack will test the stack root directory (~/.stack), and the project and package work directories (.stack-work) for whether they are owned by the current user and abort if they are not. This precaution can be disabled with the --allow-different-user flag or allow-different-user option in the global config (~/.stack/config.yaml). #471
    • โž• Added stack clean --full option for full working dir cleanup.
    • ๐Ÿ‘ YAML config: support Zip archives.
    • ๐Ÿ— Redownload build plan if parsing fails #1702.
    • Give mustache templates access to a 'year' tag #1716.
    • Have "stack ghci" warn about module name aliasing.
    • โž• Add "stack ghci --load-local-deps".
    • ๐Ÿ— Build Setup.hs with -rtsopts #1687.
    • stack init accepts a list of directories.
    • โž• Add flag infos to DependencyPlanFailures (for better error output in case of flags) #713
    • stack new --bare complains for overwrites, and add --force option #1597.

    ๐Ÿ› Bug fixes:

    • ๐Ÿ“ฆ Previously, stack ghci would fail with cannot satisfy -package-id when the implicit build step changes the package key of some dependency.
    • ๐Ÿ›  Fix: Building with ghcjs: "ghc-pkg: Prelude.chr: bad argument: 2980338" #1665.
    • ๐Ÿ›  Fix running test / bench with --profile / --trace.
    • ๐Ÿ›  Fix: build progress counter is no longer visible #1685.
    • ๐Ÿ‘‰ Use "-RTS" w/ profiling to allow extra args #1772.
    • ๐Ÿ›  Fix withUnpackedTarball7z to find name of srcDir after unpacking (fixes stack setup fails for ghcjs project on windows) #1774.
    • โž• Add space before auto-generated bench opts (makes profiling options work uniformly for applications and benchmark suites) #1771.
    • ๐Ÿ”Œ Don't try to find plugin if it resembles flag.
    • ๐Ÿ“ฆ Setup.hs changes cause package dirtiness #1711.
    • Send "stack templates" output to stdout #1792.