<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><p style="box-sizing: border-box; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); margin-top: 0px !important;" class="">See <a href="https://haskellstack.org/" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">https://haskellstack.org</a> for installation and upgrade instructions.</p><p style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class="">Note: we are releasing a bit earlier than planned due to <a href="https://github.com/commercialhaskell/stack/issues/3624" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3624</a>. As such, not all the binaries have been built yet, but the commonly used 64-bit binaries of Linux static, macOS, and Windows are available.</p><p style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class="">In addition, the Windows installer and binary has not been codesigned (we are awaiting validation of a new codesign certificate), and you may see a "Windows Defender SmartScreen prevented an unrecognized app from starting" warning when you try to run them. If so, click on <span style="box-sizing: border-box; font-weight: 600;" class="">More info</span>, and then click on the <span style="box-sizing: border-box; font-weight: 600;" class="">Run anyway</span> button that appears.</p><h4 style="box-sizing: border-box; margin-top: 24px; margin-bottom: 16px; font-size: 16px; line-height: 1.25; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class="">Changes since v1.5.1</h4><p style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class="">Major changes:</p><ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class=""><li style="box-sizing: border-box;" class="">Complete overhaul of how snapshots are defined, the <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">packages</code> and<br style="box-sizing: border-box;" class=""><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">extra-deps</code> fields, and a number of related items. For full<br style="box-sizing: border-box;" class="">details, please see<br style="box-sizing: border-box;" class=""><a href="https://www.fpcomplete.com/blog/2017/07/stacks-new-extensible-snapshots" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">the writeup on these changes</a>. <a href="https://github.com/commercialhaskell/stack/pull/3249" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">PR #3249</a>,<br style="box-sizing: border-box;" class="">see the PR description for a number of related issues.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Upgraded to version 2.0 of the Cabal library.</li></ul><p style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class="">Behavior changes:</p><ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class=""><li style="box-sizing: border-box;" class="">The <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">--install-ghc</code> flag is now on by default. For example, if you<br style="box-sizing: border-box;" class="">run <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack build</code> in a directory requiring a GHC that you do not<br style="box-sizing: border-box;" class="">currently have, Stack will automatically download and install that<br style="box-sizing: border-box;" class="">GHC. You can explicitly set <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">install-ghc: false</code> or pass the flag<br style="box-sizing: border-box;" class=""><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">--no-install-ghc</code> to regain the previous behavior.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class=""><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack ghci</code> no longer loads modules grouped by package. This is<br style="box-sizing: border-box;" class="">always an improvement for plain ghci - it makes loading faster and<br style="box-sizing: border-box;" class="">less noisy. For intero, this has the side-effect that it will no<br style="box-sizing: border-box;" class="">longer load multiple packages that depend on TH loading relative<br style="box-sizing: border-box;" class="">paths. TH relative paths will still work when loading a single<br style="box-sizing: border-box;" class="">package into intero. See<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3309" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3309</a></li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Setting GHC options for a package via <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">ghc-options:</code> in your<br style="box-sizing: border-box;" class=""><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack.yaml</code> will promote it to a local package, providing for more<br style="box-sizing: border-box;" class="">consistency with flags and better reproducibility. See:<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/849" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#849</a></li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">The <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">package-indices</code> setting with Hackage no longer works with the<br style="box-sizing: border-box;" class=""><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">00-index.tar.gz</code> tarball, but must use the <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">01-index.tar.gz</code> file<br style="box-sizing: border-box;" class="">to allow revised packages to be found.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Options passsed via <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">--ghci-options</code> are now passed to the end of the<br style="box-sizing: border-box;" class="">invocation of ghci, instead of the middle. This allows using <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">+RTS</code><br style="box-sizing: border-box;" class="">without an accompanying <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">-RTS</code>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">When auto-detecting <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">--ghc-build</code>, <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">tinfo6</code> is now preferred over<br style="box-sizing: border-box;" class=""><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">standard</code> if both versions of libtinfo are installed</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Addition of <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack build --copy-compiler-tool</code>, to allow tools like<br style="box-sizing: border-box;" class="">intero to be installed globally for a particular compiler.<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/2643" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#2643</a></li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Stack will ask before saving hackage credentials to file. This new<br style="box-sizing: border-box;" class="">prompt can be avoided by using the <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">save-hackage-creds</code> setting. Please<br style="box-sizing: border-box;" class="">see <a href="https://github.com/commercialhaskell/stack/issues/2159" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#2159</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">The <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">GHCRTS</code> environment variable will no longer be passed through to<br style="box-sizing: border-box;" class="">every program stack runs. Instead, it will only be passed through<br style="box-sizing: border-box;" class="">commands like <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">exec</code>, <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">runghc</code>, <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">script</code>, <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">ghci</code>, etc.<br style="box-sizing: border-box;" class="">See <a href="https://github.com/commercialhaskell/stack/issues/3444" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3444</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class=""><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">ghc-options:</code> for specific packages will now come after the options<br style="box-sizing: border-box;" class="">specified for all packages / particular sets of packages. See<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3573" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3573</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">The <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">pvp-bounds</code> feature is no longer fully functional, due to some<br style="box-sizing: border-box;" class="">issues with the Cabal library's printer. See<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3550" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3550</a>.</li></ul><p style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class="">Other enhancements:</p><ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class=""><li style="box-sizing: border-box;" class="">The <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">with-hpack</code> configuration option specifies an Hpack executable to use<br style="box-sizing: border-box;" class="">instead of the Hpack bundled with Stack. Please<br style="box-sizing: border-box;" class="">see <a href="https://github.com/commercialhaskell/stack/issues/3179" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3179</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">It's now possible to skip tests and benchmarks using <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">--skip</code><br style="box-sizing: border-box;" class="">flag</li><li style="box-sizing: border-box; margin-top: 0.25em;" class=""><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">GitSHA1</code> is now <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">StaticSHA256</code> and is implemented using the <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">StaticSize 64 ByteString</code> for improved performance.<br style="box-sizing: border-box;" class="">See <a href="https://github.com/commercialhaskell/stack/issues/3006" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3006</a></li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Dependencies via HTTP(S) archives have been generalized to allow<br style="box-sizing: border-box;" class="">local file path archives, as well as to support setting a<br style="box-sizing: border-box;" class="">cryptographic hash (SHA256) of the contents for better<br style="box-sizing: border-box;" class="">reproducibility.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Allow specifying <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">--git-branch</code> when upgrading</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">When running <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack upgrade</code> from a file which is different from the<br style="box-sizing: border-box;" class="">default executable path (e.g., on POSIX systems,<br style="box-sizing: border-box;" class=""><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">~/.local/bin/stack</code>), it will now additionally copy the new<br style="box-sizing: border-box;" class="">executable over the currently running <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack</code> executable. If<br style="box-sizing: border-box;" class="">permission is denied (such as in <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">/usr/local/bin/stack</code>), the user<br style="box-sizing: border-box;" class="">will be prompted to try again using <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">sudo</code>. This is intended to<br style="box-sizing: border-box;" class="">assist with the user experience when the <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">PATH</code> environment variable<br style="box-sizing: border-box;" class="">has not been properly configured, see<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3232" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3232</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class=""><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack setup</code> for ghcjs will now install <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">alex</code> and <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">happy</code> if<br style="box-sizing: border-box;" class="">they are not present. See<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3232" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3109</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Added <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack ghci --only-main</code> flag, to skip loading / importing<br style="box-sizing: border-box;" class="">all but main modules. See the ghci documentation page<br style="box-sizing: border-box;" class="">for further info.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Allow GHC's colored output to show through. GHC colors output<br style="box-sizing: border-box;" class="">starting with version 8.2.1, for older GHC this does nothing.<br style="box-sizing: border-box;" class="">Sometimes GHC's heuristics would work fine even before this change,<br style="box-sizing: border-box;" class="">for example in <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack ghci</code>, but this override's GHC's heuristics<br style="box-sizing: border-box;" class="">when they're broken by our collecting and processing GHC's output.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Extended the <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">ghc-options</code> field to support <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">$locals</code>, <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">$targets</code>,<br style="box-sizing: border-box;" class="">and <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">$everything</code>. See:<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3329" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3329</a></li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Better error message for case that <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack ghci</code> file targets are<br style="box-sizing: border-box;" class="">combined with invalid package targets. See:<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3342" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3342</a></li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">For profiling now uses <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">-fprof-auto -fprof-cafs</code> instead of<br style="box-sizing: border-box;" class="">the deprecated <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">-auto-all -caf-all</code>. See:<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3360" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3360</a></li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Better descriptions are now available for <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack upgrade --help</code>. See:<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3070" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3070</a></li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">When using Nix, nix-shell now depends always on gcc to prevent build errors<br style="box-sizing: border-box;" class="">when using the FFI. As ghc depends on gcc anyway, this doesn't increase the<br style="box-sizing: border-box;" class="">dependency footprint.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class=""><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">--cwd DIR</code> can now be passed to <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack exec</code> in order to execute the<br style="box-sizing: border-box;" class="">program in a different directory. See:<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3264" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3264</a></li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Plan construction will detect if you add an executable-only package<br style="box-sizing: border-box;" class="">as a library dependency, resulting in much clearer error<br style="box-sizing: border-box;" class="">messages. See:<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/2195" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#2195</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Addition of <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">--ghc-options</code> to <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack script</code> to pass options directly<br style="box-sizing: border-box;" class="">to GHC. See:<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3454" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3454</a></li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Add hpack <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">package.yaml</code> to build Stack itself</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Add <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">ignore-revision-mismatch</code> setting. See:<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3520" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3520</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Log when each individual test suite finishes. See:<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3552" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3552</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Avoid spurious rebuilds when using <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">--file-watch</code> by not watching files for<br style="box-sizing: border-box;" class="">executable, test and benchmark components that aren't a target. See:<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3483" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3483</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Stack will now try to detect the width of the running terminal<br style="box-sizing: border-box;" class="">(only on POSIX for the moment) and use that to better display<br style="box-sizing: border-box;" class="">output messages. Work is ongoing, so some messages will not<br style="box-sizing: border-box;" class="">be optimal yet. The terminal width can be overriden with the<br style="box-sizing: border-box;" class="">new <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">--terminal-width</code> command-line option (this works even on<br style="box-sizing: border-box;" class="">non-POSIX).</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Passing non local packages as targets to <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack ghci</code> will now<br style="box-sizing: border-box;" class="">cause them to be used as <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">-package</code> args along with package<br style="box-sizing: border-box;" class="">hiding.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Detect when user changed .cabal file instead of package.yaml. This<br style="box-sizing: border-box;" class="">was implemented upstream in hpack. See<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3383" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3383</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Automatically run <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">autoreconf -i</code> as necessary when a <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">configure</code><br style="box-sizing: border-box;" class="">script is missing. See<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3534" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3534</a></li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">GHC bindists can now be identified by their SHA256 checksum in addition to<br style="box-sizing: border-box;" class="">their SHA1 checksum, allowing for more security in download.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">For filesystem setup-info paths, it's no longer assumed that the<br style="box-sizing: border-box;" class="">directory is writable, instead a temp dir is used. See<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3188" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3188</a>.</li></ul><p style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class="">Bug fixes:</p><ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class=""><li style="box-sizing: border-box;" class=""><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack hoogle</code> correctly generates Hoogle databases. See:<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3362" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3362</a></li><li style="box-sizing: border-box; margin-top: 0.25em;" class=""><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack --docker-help</code> is now clearer about --docker implying<br style="box-sizing: border-box;" class="">system-ghc: true, rather than both --docker and --no-docker.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class=""><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack haddock</code> now includes package names for all modules in the<br style="box-sizing: border-box;" class="">Haddock index page. See:<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/2886" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#2886</a></li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Fixed an issue where Stack wouldn't detect missing Docker images<br style="box-sizing: border-box;" class="">properly with newer Docker versions.<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/pull/3171" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3171</a></li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Previously, cabal files with just test-suite could cause build to fail<br style="box-sizing: border-box;" class="">(<a href="https://github.com/commercialhaskell/stack/issues/2862" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#2862</a>)</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">If an invalid snapshot file has been detected (usually due to<br style="box-sizing: border-box;" class="">mismatched hashes), Stack will delete the downloaded file and<br style="box-sizing: border-box;" class="">recommend either retrying or filing an issue upstream. See<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3319" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3319</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Modified the flag parser within Stack to match the behavior of<br style="box-sizing: border-box;" class="">Cabal's flag parser, which allows multiple sequential dashes. See<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3345" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3345</a></li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Now clears the hackage index cache if it is older than the<br style="box-sizing: border-box;" class="">downloaded index. Fixes potential issue if stack was interrupted when<br style="box-sizing: border-box;" class="">updating index.<br style="box-sizing: border-box;" class="">See <a href="https://github.com/commercialhaskell/stack/issues/3033" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3033</a></li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">The Stack install script now respects the <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">-d</code> option.<br style="box-sizing: border-box;" class="">See <a href="https://github.com/commercialhaskell/stack/pull/3366" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3366</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class=""><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack script</code> can now handle relative paths to source files.<br style="box-sizing: border-box;" class="">See <a href="https://github.com/commercialhaskell/stack/issues/3372" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3372</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Fixes explanation of why a target is needed by the build plan, when the<br style="box-sizing: border-box;" class="">target is an extra dependency from the commandline.<br style="box-sizing: border-box;" class="">See <a href="https://github.com/commercialhaskell/stack/issues/3378" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3378</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Previously, if you delete a yaml file from ~/.stack/build-plan, it would<br style="box-sizing: border-box;" class="">trust the etag and not re-download. Fixed in this version.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Invoking <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack --docker</code> in parallel now correctly locks the sqlite database.<br style="box-sizing: border-box;" class="">See <a href="https://github.com/commercialhaskell/stack/issues/3400" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3400</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class=""><a href="http://docs.haskellstack.org" class="">docs.haskellstack.org</a> RTD documentation search is replaced by the mkdocs<br style="box-sizing: border-box;" class="">search. Please see<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3376" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3376</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class=""><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack clean</code> now works with nix. See<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3376" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3468</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class=""><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack build --only-dependencies</code> no longer builds local project packages<br style="box-sizing: border-box;" class="">that are depended on. See<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3476" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3476</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Properly handle relative paths stored in the precompiled cache files. See<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3431" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3431</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">In some cases, Cabal does not realize that it needs to reconfigure, and must<br style="box-sizing: border-box;" class="">be told to do so automatically. This would manifest as a "shadowed<br style="box-sizing: border-box;" class="">dependency" error message. We now force a reconfigure whenever a dependency is<br style="box-sizing: border-box;" class="">built, even if the package ID remained the same. See<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/2781" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#2781</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">When <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">--pvp-bounds</code> is enabled for sdist or upload, internal<br style="box-sizing: border-box;" class="">dependencies could cause errors when uploaded to hackage. This is<br style="box-sizing: border-box;" class="">fixed, see <a href="https://github.com/commercialhaskell/stack/issues/3290" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3290</a></li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Fixes a bug where nonexistent hackage versions would cause stack to<br style="box-sizing: border-box;" class="">suggest the same package name, without giving version info. See<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3562" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3562</a></li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Fixes a bug that has existed since 1.5.0, where<br style="box-sizing: border-box;" class=""><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">stack setup --upgrade-cabal</code> would say that Cabal is already the latest<br style="box-sizing: border-box;" class="">version, when it wasn't.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Ensure that an <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">extra-dep</code> from a local directory is not treated as<br style="box-sizing: border-box;" class="">a <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;" class="">$locals</code> for GHC options purposes. See<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3574" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3574</a>.</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Building all executables only happens once instead of every<br style="box-sizing: border-box;" class="">time. See<br style="box-sizing: border-box;" class=""><a href="https://github.com/commercialhaskell/stack/issues/3229" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration: none;" class="">#3229</a> for<br style="box-sizing: border-box;" class="">more info.</li></ul><p style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class="">Thanks to all our contributors for this release:</p><ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); margin-bottom: 0px !important;" class=""><li style="box-sizing: border-box;" class="">Aaron McDaid</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Adam McCullough</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Alexey Zabelin</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Andy</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Ashley Towns</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Chris Done</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Chris Martin</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">d-dorazio</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Deni Bertovic</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Dmitry Ivanov</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Echo Nolan</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Emanuel Borsboom</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Felix Yan</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Filippo Vitale</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Gábor Lipták</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Ivan Lazar Miljenovic</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Joshua Simmons</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Judah Jacobson</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Khan Thompson</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Lizao Li</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Luke Murphy</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Martin Kolinek</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Mathieu Boespflug</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Matt Audesse</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Matthias Heinzel</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Michael Sloan</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Michael Snoyman</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">mrkkrp</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Neil Mitchell</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Oleg Grenrus</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">OvermindDL1</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Paolo G. Giarrusso</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Rafe</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Reuben D'Netto</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Roman Cheplyaka</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Samuli Thomasson</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Schlueter</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Scott Fleischman</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Shea Levy</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Simon Jakobi</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Tom Sydney Kerckhove</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">tswelsh</li><li style="box-sizing: border-box; margin-top: 0.25em;" class="">Walter Franzini</li></ul><div class=""><br class=""></div></body></html>