Haskell Stack

commercialhaskell·commercialhaskell.stack

Stack is a cross-platform program for developing Haskell projects. It is aimed at Haskellers both new and experienced.

winget install --id commercialhaskell.stack --exact --source winget

Latest 3.11.1·June 13, 2026

Release Notes

See https://haskellstack.org/ for installation and upgrade instructions. Changes since v3.9.3: Major changes:

  • On 64-bit Windows, the default msys-environment configuration option is now CLANG64, rather than MINGW64 (which remains an option). The MSYS2 project deprecated the latter environment on 15 March 2026. The GHC project has used the former toolchain from GHC 9.4.1. No default is provided for 32-bit Windows, rather than MINGW32 (which remains an option). The MSYS2 project ceased to actively support it on 17 May 2020. 32-bit Windows is not supported by the GHC project from GHC 8.12. Behavior changes:
  • Stack's default Nix integration now includes the cacert Nix package, in order to support Stack's use of crypton-x509-system >= 1.6.8.
  • Following a change to the Stackage project's server API, the default value of the urls key includes recent-snapshots: https://stackage.org/api/v1/snapshots.
  • The --[no-]keep-ghc-rts flag of Stack's config env command is now enabled by default, consistent with Stack's exec command.
  • On Windows, in the Stack environment, the MSYS2 usr/local/bin directory (if it exists) is now searched before the MSYS2 usr/bin directory, rather than after. Other enhancements:
  • Bump to Hpack 0.39.6.
  • Experimental: Add flag --[no-]semaphore (default: disabled) to Stack's build command, to allow GHC to use a system semaphore to perform compilation in parallel when possible. Supported, by default, by GHC 9.10.1 or later. The option is considered experiemental because, on Linux only, musl and non-musl semaphores are incompatible.
  • Add option --reach to Stack's dot and ls dependencies commands, to prune packages that cannot reach any of the specified packages in the dependency graph.
  • Add option --test-suite-timeout-grace=SECONDS to Stack's build command to request termination of a timed-out test suite process and, after the specified grace period, force termination. Used together with the existing --test-suite-timeout=SECONDS option.
  • In YAML configuration files, the recent-snapshots key is introduced (under the urls key), to specify the URL used by Stack's ls snapshots remote command.
  • In YAML configuration files (stack.yaml and config.yaml), an !include directive is now supported. This allows common configuration to be shared across multiple files. For example, a project that maintains multiple project-level configuration files for testing against different snapshots can use !include to avoid duplicating shared settings.
  • Stack's config set command raises an error if the target configuration file excludes the key being set and includes an !include directive.
  • Stack's config set snapshot command now works with other snapshot values in addition to snapshot synonymns.
  • Add Stack's config compiler-tools command to create (when applicable) the compiler tools directory for the specified compiler version (implies Stack's config build-files command). Bug fixes:
  • Stack's dot and ls dependencies commands no longer prune a package with dependencies only because all its direct dependencies are to be pruned.
  • After March 2026, Hackage requires Stack's user agent to be set when applying digest authentication to a request. Stack's upload command now does that, re-establishing authentication by Hackage username and password.
  • Stack 3.9.3 and earlier fail to construct a build plan if project package A depends on project package B and package B's executables (only) depend on package A and the name of A is before that of B, alphabetically. That bug is fixed.
  • Stack's config set commands will recreate the global-project directory contents, if Stack needs to consult its project-level configuration file and there is no file.
  • The output of Stack's path --bin-path command is now consistent with the Stack environment in Stack's exec command and includes the bin directory of Stack's local install root directory.
  • Stack now builds packages that depend directly on packages with the same name as a sublibrary or foreign library of the package.
  • On Windows, Stack's build command now accepts a build directory that is a long path. Thanks to all our contributors for this release:
  • Bryan Richter
  • Ching Pei Yang
  • Dan Burton
  • David Vollbracht
  • Mike Pilgrem
  • Olivier Benz

Installer type: nullsoft

ArchitectureScopeDownloadSHA256
x64DownloadCBAFD92B9FB1AC87B5F06C6BBA08D47D54503BCD48EC78BC6E9923B44FF3805C

Details

Homepage
https://haskellstack.org/
License
BSD-3-Clause
Publisher
commercialhaskell
Support
https://docs.haskellstack.org/en/stable/README/
Copyright
Copyright (c) 2015-2022, Stack contributors
Moniker
stack

Tags

cabal-buildhaskellstackstackage

Older versions (16)

3.9.3
ArchitectureScopeDownloadSHA256
x64Download33748F15040DDF8B3DEF306696BC083E20B3057A9D768D2A9CC06E9D0942B3A3
3.9.1
ArchitectureScopeDownloadSHA256
x64Download8F4B57F4662359DA22E0BCDAC4DD9836169B9BCE4EE16B8D7FF4E255D0D217AD
3.7.1
ArchitectureScopeDownloadSHA256
x64DownloadAD90D79BC3293810CB6C8A96AA297315E01F041097099C0168108B5F3B1F9606
3.5.1
ArchitectureScopeDownloadSHA256
x64Download9DBA91C621596D40DF3FE414DB451F988849258D6E8EE455D7A02D2DC1B59A4F
3.3.1
ArchitectureScopeDownloadSHA256
x64Download5E62E580B347525A2D74B82CAEEE342B72E46085CCDCBA46B88988706D48EF2F
3.1.1
ArchitectureScopeDownloadSHA256
x64Download74D70A644F192577C6F2DBB4E4B100310709F6C4C7385C6AB4C9F59931307807
2.15.7
ArchitectureScopeDownloadSHA256
x64DownloadCD11145E0620353661236E8A438AAD526321CC82F1D9AB4AAA412E6EC4AF12C1
2.13.1
ArchitectureScopeDownloadSHA256
x64Download4B620C74F509172801960A6479FEF82D5DE05D869F85FFAC77178A783258F945
2.11.1
ArchitectureScopeDownloadSHA256
x64Download5921C8AF8D042BD6CC1427AB086FE50C7DF97B913A8D20C1D2191787B4E63D4C
2.9.3
ArchitectureScopeDownloadSHA256
x64Download56888E2E0C7591190F4251D287AFF43F5E968C352741F4C5576445EA3F96F9DC
2.7.5
ArchitectureScopeDownloadSHA256
x64Download25FC234845C8CD770FB1AE09D9CEAF7A48C7E8272E40FB01E70395F7A4D06E5F
2.7.3
ArchitectureScopeDownloadSHA256
x64Download79938B626CE4BB1590B818691BF17069512AA5DFEEACD930E6371ABF7F57EDCB
2.7.1
ArchitectureScopeDownloadSHA256
x64Download00F8FFE06D286389414E90032F13BEA2ED480EBFFB493E248C8089D2AF68B9EE
2.5.1
ArchitectureScopeDownloadSHA256
x64Download8CEC211DD8024ACA7F65B8FAA788C2AFCD7AEB2FCB24EE69044CC70232304DBC
2.3.3
ArchitectureScopeDownloadSHA256
x64DownloadC644DE916387B6105820B1C5FF906216FCCB6D7A33ADE9840ACC5C5A31B9DD4D
2.3.1
ArchitectureScopeDownloadSHA256
x64Download9A15514B285B3BDBCE0D1271509CF10071DE8E123D34EBF5A332C00F637C40B1