First release candidate for Stack 3.7.1

Centered Image

You can download binaries for this pre-release now from Release rc/v3.7.0.1 (release candidate) · commercialhaskell/stack · GitHub . It should be available also via GHCup’s prereleases channel soon.

Please test it and let us know at the Stack repository if you run into any trouble. If all goes well, we hope to release the final version in a couple of weeks.

Changes since v3.5.1:

Other enhancements:

  • Bump to Hpack 0.38.1.
  • The --extra-dep option of Stack’s script command now accepts a YAML value specifying any immutable extra-dep. Previously only an extra-dep in the package index that could be specified by a YAML string (for example, acme-missiles-0.3@rev:0) was accepted.

Bug fixes:

  • stack script --package <pkg-name> now uses GHC’s -package-id option to expose the installed package, rather than GHC’s -package option. For packages with public sub-libraries, -package <pkg> can expose an installed package other than one listed by ghc-pkg list <pkg>.
  • Work around ghc-pkg bug where, on Windows only, it cannot register a package into a package database that is also listed in the GHC_PACKAGE_PATH environment variable. In previous versions of Stack, this affected stack script when copying a pre-compiled package from another package database.
  • On Windows, when decompressing, and extracting, tools from archive files, Stack uses the system temporary directory, rather than the root of the destination drive, if the former is on the destination drive.
9 Likes

Did you mean -package-id instead of -package here?

No, I did mean -package. That sentence is describing the problem that has required Stack to shift to using -package-id to fix. GHC’s -package option no longer behaves as documented. This is the main GHC issue: #25025: GHC and Cabal disagree on the meaning of the term "package" · Issues · Glasgow Haskell Compiler / GHC · GitLab

1 Like

Maybe a positive example for the new feature would be more helpful here than a recapitulation of what already worked. (Maybe having both is best.)

1 Like

Thanks. That is explained in the documentation. For the Change Log, which tends to be terse, because users might not have thought in terms of ‘YAML values’, I wanted to spell out that what was previously accepted was still acceptable (as it was a ‘YAML string’).