1 cabal-install and cabal-install-solver 3.10.2.0 changelog and release notes
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
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