|
| 1 | +cabal-install and cabal-install-solver 3.10.2.0 changelog and release notes |
| 2 | +--- |
| 3 | + |
| 4 | +## Release 3.10.2.0 is strictly a bug-fix release, with the fixes listed below |
| 5 | + |
| 6 | +- Fix parsing of password-command option [#9002](https://github.com/haskell/cabal/pull/9002) |
| 7 | + |
| 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. |
| 14 | + |
| 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). |
| 18 | + |
| 19 | +- Existence of $XDG_CONFIG_HOME/cabal/config now overrides existence of $HOME/.cabal [#8577](https://github.com/haskell/cabal/issues/8577) |
| 20 | + |
| 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. |
| 26 | + |
| 27 | +- Shorten script-builds paths [#8841](https://github.com/haskell/cabal/issues/8841) [#8898](https://github.com/haskell/cabal/pull/8898) |
| 28 | + |
| 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. |
| 35 | + |
| 36 | +- Don't add `extra-prog-path: ~/.local/bin` when initially creating `~/.config/cabal/config` [#8951](https://github.com/haskell/cabal/issues/8951) |
| 37 | + |
| 38 | +- Use compiler flags for caching project config [#8819](https://github.com/haskell/cabal/pull/8819) |
| 39 | + |
| 40 | + This ensures that cached project configs with conditionals re-execute the conditional logic when the compiler changes. |
| 41 | + |
| 42 | +- Fix default Nix configuration option in generated ~/.cabal/config file [#8878](https://github.com/haskell/cabal/pull/8878) |
| 43 | + |
| 44 | + Fixes the default for ~/.cabal/config file. The nix option should now be commented out by default. |
| 45 | + |
| 46 | +- add base to cabal install --lib default env file [#8903](https://github.com/haskell/cabal/pull/8903) |
| 47 | + |
| 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. |
| 49 | + |
| 50 | +- Do not check PVP on internal targets [#8361](https://github.com/haskell/cabal/issues/8361) [#9004](https://github.com/haskell/cabal/pull/9004) |
| 51 | + |
| 52 | + - `cabal check` will not check for dependencies upper bounds in internal |
| 53 | + targets (i.e. test-suites and benchmarks) |
| 54 | + |
| 55 | +- Add new Hackage root keys to bootstrap set [#9068](https://github.com/haskell/cabal/pull/9068) |
| 56 | + |
| 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. |
| 58 | + |
| 59 | + - Added Hackage root key for Joachim Breitner |
| 60 | + - Added Hackage root key for Mathieu Boespflug |
0 commit comments