{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreifsfwsjoqtuavpdvigw5fg5prooabdyviqqjlch3jqmpobcxcowjm",
"uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mn4gc5veubs2"
},
"path": "/t/first-release-candidate-for-stack-3-11-1/14179#post_1",
"publishedAt": "2026-05-30T23:03:07.000Z",
"site": "https://discourse.haskell.org",
"tags": [
"Release rc/v3.11.0.1 (release candidate) · commercialhaskell/stack · GitHub",
"prereleases channel"
],
"textContent": "You can download binaries for this pre-release now from Release rc/v3.11.0.1 (release candidate) · commercialhaskell/stack · GitHub. It should be available also via GHCup’s prereleases channel soon.\n\nPlease 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.\n\n**Changes since v3.9.3:**\n\nMajor changes:\n\n * 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.\n\n\n\nBehavior changes:\n\n * 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`.\n * 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`.\n * The `--[no-]keep-ghc-rts` flag of Stack’s `config env` command is now enabled by default, consistent with Stack’s `exec` command.\n * 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.\n\n\n\nOther enhancements:\n\n * Bump to Hpack 0.39.5.\n * 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.\n * Add option `--reach <packages>` to Stack’s `dot` and `ls dependencies` commands, to prune packages that cannot reach any of the specified packages in the dependency graph.\n * 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.\n * 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.\n * In YAML configuration files (`stack.yaml` and `config.yaml`), an `!include <file path>` 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.\n * Stack’s `config set` command raises an error if the target configuration file excludes the key being set and includes an `!include` directive.\n * Stack’s `config set snapshot` command now works with other snapshot values in addition to snapshot synonymns.\n * 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).\n\n\n\nBug fixes:\n\n * Stack’s `dot` and `ls dependencies` commands no longer prune a package with dependencies only because all its direct dependencies are to be pruned.\n * 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.\n * 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.\n * 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.\n * 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.\n * Stack now builds packages that depend directly on packages with the same name as a sublibrary or foreign library of the package.\n\n",
"title": "First release candidate for Stack 3.11.1"
}