github commercialhaskell/stack rc/v4.1.0.1
rc/v4.1.0.1 (release candidate)

pre-releaseone hour ago

Release notes:

  • The change in major version from 3.x to 4.1 marks the introduction of Stack's support for GHC's Backpack module system for cross-package use.

Changes since v3.11.1:

Major changes:

  • Stack now supports GHC's Backpack module system for cross-package use. (Private Backpack, where signatures and implementations are in the same package, was already supported.) When a package uses signatures and mixins to depend on an abstract interface provided by another package, Stack automatically creates the extra instantiation build steps that Cabal requires. This includes support for explicit renaming, multiple instantiations of the same indefinite package, transitive signature chains, sub-library signatures, and indefinite package from Hackage or snapshots. See the Backpack topic for details.

Behavior changes:

  • When Stack's Nix integration is enabled and a shell-file is not specified, Stack sets LANG=C.UTF-8 (rather than en_US.UTF-8, which may not be available if Stack has been built from source).
  • With Nix integration, Stack uses nix-instantiate before nix-shell, enabling Stack to catch and report when the Nix expression cannot be evaluated by Nix. The nix-instantiate-options option is added, accordingly.
  • Stack's build command now warns if --force-dirty is specified but no local packages will be built.

Other enhancements:

  • Add option --query ITEM, which can be specified multiple times, to Stack's ls dependencies text command (the default ls dependencies command), to cause Stack to filter out from the results all packages other than those queried. Like the existing --filter ITEM option, an item is either a package name or $locals for all project packages.

Bug fixes:

  • If snapshot locations are cyclic, Stack reports an error rather than going round in circles.

Don't miss a new stack release

NewReleases is sending notifications on new releases.