v2.9.3
See https://haskellstack.org/ for installation and upgrade instructions.
Changes since v2.9.1:
Behavior changes:
- In YAML configuration files, the
package-indexkey is introduced which takes precedence over the existingpackage-indiceskey. The latter is deprecated. - In YAML configuration files, the
hackage-securitykey of thepackage-indexkey or thepackage-indicesitem can be omitted, and the Hackage Security configuration for the item will default to that for the official Hackage server. See #5870. - Add the
stack config set package-index download-prefixcommand to set the location of Stack's package index in YAML configuration files. stack setupwith the--no-install-ghcflag warns that the flag and the command are inconsistent and now takes no action. Previously the flag was silently ignored.- To support the Haskell Foundation's Haskell Error Index initiative, all Stack error messages generated by Stack itself begin with an unique code in the form
[S-nnnn], wherennnnis a four-digit number. - Test suite executables that seek input on the standard input channel (
stdin) will not throw an exception. Previously, they would thow an exception, consistent with Cabal's 'exitcode-stdio-1.0' test suite interface specification. Pass the flag--no-tests-allow-stdintostack buildto enforce Cabal's specification. See #5897
Other enhancements:
- Help documentation for
stack upgradewarns that if GHCup is used to install Stack, only GHCup should be used to upgrade Stack. That is because GHCup uses an executable namedstackto manage versions of Stack, that Stack will likely overwrite on upgrade. - Add
stack ls dependencies cabalcommand, which lists dependencies in the format of exact Cabal constraints. - Add
STACK_XDGenvironment variable to use the XDG Base Directory Specification for the Stack root and Stack's global YAML configuration file, if the Stack root location is not set on the command line or by using theSTACK_ROOTenvironment variable. - Add
stack path --global-config, to yield the full path of Stack's user-specific global YAML configuration file (config.yaml). - Add an experimental option,
allow-newer-deps, which allows users to specify a subset of dependencies for which version bounds should be ignored (allow-newer-deps: ['foo', 'bar']). This field has no effect unlessallow-neweris enabled.
Bug fixes:
- Fix ambiguous module name
Distribution.PackageDescription, if compilingStackSetupShimwithCabal-syntax-3.8.1.0in package database. See #5886. - In YAML configuration files, if the
package-indiceskey (or thehackage-securitykey of its item) is omitted, the expiration of timestamps
is now ignored, as intended. See Pantry #63
Thanks to all our contributors for this release:
- drlkf
- Felix Paulusma
- Fraser Murray
- Mike Pilgrem
- Phil de Joux
- theophilebatoz