See https://haskellstack.org/ for installation and upgrade instructions.
Changes since v2.9.3:
Behavior changes:
- Add flag
--[no-]-only-local-bin
to Stack’supgrade
command for a binary upgrade. If the Stack executable ismy-stack
, the default ismy-stack upgrade --only-local-bin
where 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 thetemporary
package’sSystem.IO.Temp.getCanonicalTemporaryDirectory
), as the base location for GHCi script files generated bystack ghci
orstack repl
. See #5203 - Drop support for
Cabal
versions before 1.22 and, consequently, GHC versions before 7.10. -
stack ghci
andstack repl
now take into account the values ofdefault-language
keys in Cabal files, like they take into account the values ofdefault-extensions
keys. - Removed
--ghc-paths
,--global-stack-root
and--local-bin-path
flags forstack path
, deprecated in Stack 1.1.0 in favour of--programs
,--stack-root
andlocal-bin
respectively. - On Windows,
stack upgrade
always renames the file of the running Stack executable (adding extension.old
) before attempting to write to the original file name. - On Windows,
stack upgrade
does not offersudo
command 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
, wherePROG
is a program recognised by the Cabal library and one ofalex
,ar
,c2hs
,cpphs
,gcc
,greencard
,happy
,hsc2hs
,hscolour
,ld
,pkg-config
,strip
andtar
. If Cabal uses the program during the configuration step, the argument is passed to it. - By default all
--PROG-option
options are applied to all local packages. This behaviour can be changed with new configuration optionapply-prog-options
. - Add flag
--[no-]use-root
tostack script
(default disabled). Used with--compile
or--optimize
, when enabled all compilation outputs (including the executable) are written to a script-specific location in thescripts
directory 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_WORK
environment variable or--work-dir
option 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 uninstall
also shows how to uninstall Stack-supplied tools.
Bug fixes:
- Fix incorrect warning if
allow-newer-deps
are specified butallow-newer
isfalse
. See #6068. -
stack build
with--file-watch
or--file-watch-poll
outputs ‘pretty’ error messages, as intended. See #5978. -
stack build
unregisters 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