Merge pull request #10525 from 9999years/field-stanza-names
[cabal.git] / release-notes / cabal-install-3.10.2.0.md
blob52dc5de7b8ffe05986fefbf19ebe0815dd91cfc5
1 cabal-install and cabal-install-solver 3.10.2.0 changelog and release notes
2 ---
4 ## Release 3.10.2.0 is strictly a bug-fix release, with the fixes listed below
6 - Fix parsing of password-command option [#9002](https://github.com/haskell/cabal/pull/9002)
8   The password-command option did not parse its value correctly.
9   Quotes were ignored, making many kinds of commands impossible to
10   express (e.g.  `sh -c "foo | bar"`).  Also, `cabal user-config`
11   treated the argument list as a *list of option values*, rather than a
12   *value that is a list*.  As a consequence, `cabal user-config
13   update` corrupted the value in the config file.
15   Fixed these issues by parsing the command as a space separated list
16   of tokens (which may be enclosed in double quotes), and treating the
17   parsed list-of-token as one value (not multiple).
19 - Existence of $XDG_CONFIG_HOME/cabal/config now overrides existence of $HOME/.cabal [#8577](https://github.com/haskell/cabal/issues/8577)
21   To avoid pre-XDG backwards compatibility from triggering due to other
22   tools accidentally creating a $HOME/.cabal directory, the presence of
23   $XDG_CONFIG_HOME/cabal/config now disables pre-XDG backwards
24   compatibility.  Presumably $XDG_CONFIG_HOME/cabal/config will never be
25   created by accident.
27 - Shorten script-builds paths [#8841](https://github.com/haskell/cabal/issues/8841) [#8898](https://github.com/haskell/cabal/pull/8898)
29   - Use Base64 hash truncated to 26 chars for script-build cache directories.
30   - Use the cache directory as the dist directory.
31   - Use script-<your-sanitized-script-name> as the component name instead of cabal-script-<...>.
32   - Use cabal-script-<your-actual-script-name> for the executable name.
33   - This change is incompatible with previous cabal versions in terms of cache location,
34     you should manually remove your old caches once you no longer need them.
36 - Don't add `extra-prog-path: ~/.local/bin` when initially creating `~/.config/cabal/config` [#8951](https://github.com/haskell/cabal/issues/8951)
38 - Use compiler flags for caching project config [#8819](https://github.com/haskell/cabal/pull/8819)
40   This ensures that cached project configs with conditionals re-execute the conditional logic when the compiler changes.
42 - Fix default Nix configuration option in generated ~/.cabal/config file [#8878](https://github.com/haskell/cabal/pull/8878)
44   Fixes the default for ~/.cabal/config file. The nix option should now be commented out by default.
46 - add base to cabal install --lib default env file [#8903](https://github.com/haskell/cabal/pull/8903)
48   This adds base by default to the env file created by `cabal install --lib`. Further it ensures that packagedbs have been created before adding them to the env file.
50 - Do not check PVP on internal targets [#8361](https://github.com/haskell/cabal/issues/8361) [#9004](https://github.com/haskell/cabal/pull/9004)
52   - `cabal check` will not check for dependencies upper bounds in internal
53     targets (i.e. test-suites and benchmarks)
55 - Add new Hackage root keys to bootstrap set [#9068](https://github.com/haskell/cabal/pull/9068)
57   The two new [Hackage root keyholders](https://github.com/haskell-infra/hackage-root-keys/tree/master/root-keys) were added to the bootstrap set.
59   - Added Hackage root key for Joachim Breitner
60   - Added Hackage root key for Mathieu Boespflug