See https://haskellstack.org/ for installation and upgrade instructions.
Changes since v2.9.3:
Behavior changes:
- Add flag
--[no-]-only-local-binto Stack’supgradecommand for a binary upgrade. If the Stack executable ismy-stack, the default ismy-stack upgrade --only-local-binwhere previously it was, effectively,my-stack upgrade --no-only-local-bin. If the Stack executable isstack, the default isstack upgrade --no-only-local-bin, the same behaviour as previously. - Use
$XDG_CACHE_HOME/stack/ghci-script, rather than<temp>/haskell-stack-ghci(where<temp>is the directory yielded by thetemporarypackage’sSystem.IO.Temp.getCanonicalTemporaryDirectory), as the base location for GHCi script files generated bystack ghciorstack repl. See #5203 - Drop support for
Cabalversions before 1.22 and, consequently, GHC versions before 7.10. -
stack ghciandstack replnow take into account the values ofdefault-languagekeys in Cabal files, like they take into account the values ofdefault-extensionskeys. - Removed
--ghc-paths,--global-stack-rootand--local-bin-pathflags forstack path, deprecated in Stack 1.1.0 in favour of--programs,--stack-rootandlocal-binrespectively. - On Windows,
stack upgradealways renames the file of the running Stack executable (adding extension.old) before attempting to write to the original file name. - On Windows,
stack upgradedoes not offersudocommand alternatives if attempting to write to the original file name of the running Stack exectuable results in a ‘Permission’ error.
Other enhancements:
- Add options of the form
--PROG-option=<argument>tostack build, wherePROGis a program recognised by the Cabal library and one ofalex,ar,c2hs,cpphs,gcc,greencard,happy,hsc2hs,hscolour,ld,pkg-config,stripandtar. If Cabal uses the program during the configuration step, the argument is passed to it. - By default all
--PROG-optionoptions are applied to all local packages. This behaviour can be changed with new configuration optionapply-prog-options. - Add flag
--[no-]use-roottostack script(default disabled). Used with--compileor--optimize, when enabled all compilation outputs (including the executable) are written to a script-specific location in thescriptsdirectory of the Stack root rather than the script’s directory, avoiding clutter of the latter directory. - Better error message if the value of the
STACK_WORKenvironment variable or--work-diroption is not a valid relative path. - Stack will use the value of the
GH_TOKEN, orGITHUB_TOKEN, environment variable as credentials to authenticate its GitHub REST API requests. -
stack uninstallalso shows how to uninstall Stack-supplied tools.
Bug fixes:
- Fix incorrect warning if
allow-newer-depsare specified butallow-newerisfalse. See #6068. -
stack buildwith--file-watchor--file-watch-polloutputs ‘pretty’ error messages, as intended. See #5978. -
stack buildunregisters any local packages for the sub libraries of a local package that is to be unregistered. See #6046. - The warning that sublibrary dependency is not supported is no longer triggered by internal libraries.
Thanks to all our contributors for this release:
- Chris Wendt
- Illia Bobyr
- Jens Petersen
- Max Taldykin
- MaxHearnden
- Mike Pilgrem
- Phil de Joux
- theophilebatoz