|
1 | | -### THIS iS A WIP CHANGELOG FOR 3.16 |
| 1 | +cabal-install 3.14.0.0 changelog and release notes. |
| 2 | +--- |
2 | 3 |
|
3 | | -**It will have to be updated with whatever gets added between 3.14 and 3.16** |
4 | | - |
5 | | - |
6 | | -- Clarify error message when `pkg-config` is not found [#10122](https://github.com/haskell/cabal/pull/10122) |
7 | | - |
8 | | - - The error message when `pkg-config` is not found or querying it fails will no |
9 | | - longer incorrectly claim that the package is missing in the database. |
10 | 4 |
|
11 | 5 | ### Significant changes |
12 | 6 |
|
13 | 7 | - `haddock-project` support for subcomponents [#9821](https://github.com/haskell/cabal/pull/9821) |
14 | 8 |
|
15 | 9 | - `haddock-project` handles sublibraries, test suites and benchmarks. |
16 | | - - `haddock` receives `--package-name` flag whcih allows to set names of |
| 10 | + - `haddock` receives `--package-name` flag which allows to set names of |
17 | 11 | components which are included in the main `index.html` file. |
18 | 12 | - added `--use-unicode` flag to `haddock` and `haddock-project` commands. |
19 | 13 | - The directory structure of `./dist-newstyle` has changed. `haddock` |
|
23 | 17 | support of sublibraries. See |
24 | 18 | https://github.com/haskell/cabal/pull/9821#discussion_r1548557115. |
25 | 19 |
|
| 20 | +- Redefine `build-type: Configure` in terms of `Hooks` [#9969](https://github.com/haskell/cabal/pull/9969) |
| 21 | + |
| 22 | + The `build-type: Configure` is now implemented in terms of `build-type: Hooks` |
| 23 | + rather than in terms of `build-type: Custom`. This moves the `Configure` |
| 24 | + build-type away from the `Custom` issues. Eventually, `build-type: Hooks` will |
| 25 | + no longer imply packages are built in legacy-fallback mode. When that |
| 26 | + happens, `Configure` will also stop implying `legacy-fallback`. |
| 27 | + |
| 28 | + The observable aspect of this change is `runConfigureScript` now having a |
| 29 | + different type, and `autoconfSetupHooks` being exposed from `Distribution.Simple`. |
| 30 | + The former is motivated by internal implementation details, while the latter |
| 31 | + provides the `SetupHooks` value for the `Configure` build type, which can be |
| 32 | + consumed by other `Hooks` clients (e.g. eventually HLS). |
| 33 | + |
26 | 34 | ### Other changes |
27 | 35 |
|
28 | 36 | - Add support for building profiled dynamic way [#4816](https://github.com/haskell/cabal/issues/4816) [#9900](https://github.com/haskell/cabal/pull/9900) |
|
37 | 45 | Support for using `profiling-shared` is guarded behind a constraint |
38 | 46 | which ensures you are using `Cabal >= 3.13`. |
39 | 47 |
|
40 | | - In the cabal file: |
| 48 | + In the `.cabal` file: |
41 | 49 |
|
42 | 50 | * `ghc-prof-shared-options`, for passing options when building in |
43 | 51 | profiling dynamic way |
|
62 | 70 | * `--enable-executable-dynamic --enable-profiling` will automatically turn on building |
63 | 71 | shared profiling libraries (if supported by your compiler). |
64 | 72 |
|
65 | | -- Working directory support for `Cabal` [#9702](https://github.com/haskell/cabal/issues/9702) [#9718](https://github.com/haskell/cabal/pull/9718) |
66 | | - |
67 | | - The `Cabal` library is now able to handle a passed-in working directory, instead |
68 | | - of always relying on the current working directory of the parent process. |
69 | | - |
70 | | - In order to achieve this, the `SymbolicPath` abstraction was fleshed out, and |
71 | | - all fields of `PackageDescription` that, if relative, should be interpreted |
72 | | - with respect to e.g. the package root, use `SymbolicPath` instead of `FilePath`. |
73 | | - |
74 | | - This means that many library functions in `Cabal` take an extra argument of type |
75 | | - `Maybe (SymbolicPath CWD (Dir "Package"))`, which is an optional (relative or |
76 | | - absolute) path to the package root (if relative, relative to the current working |
77 | | - directory). In addition, many functions that used to manipulate `FilePath`s now |
78 | | - manipulate `SymbolicPath`s, require explicit conversion using e.g. `getSymbolicPath`. |
79 | | - |
80 | | - To illustrate with file searching, the `Cabal` library defines: |
81 | | - |
82 | | - ```haskell |
83 | | - findFileCwd |
84 | | - :: forall dir1 dir2 file |
85 | | - . Verbosity |
86 | | - -> Maybe (SymbolicPath CWD (Dir dir1)) |
87 | | - |
88 | | - -> [SymbolicPath dir1 (Dir dir2)] |
89 | | - |
90 | | - -> RelativePath dir2 File |
91 | | - |
92 | | - -> IO (SymbolicPath dir1 File) |
93 | | - ``` |
94 | | - |
95 | | - See Note [Symbolic paths] in `Distribution.Utils.Path` for further information |
96 | | - on the design of this API. |
97 | | - |
98 | 73 | - `curl` transport now supports Basic authentication [#10089](https://github.com/haskell/cabal/pull/10089) |
99 | 74 |
|
100 | 75 | - The `curl` HTTP transport previously only supported the HTTP Digest |
|
151 | 126 | * `documentation: true` or `--enable-documentation` now implies `-haddock` for |
152 | 127 | GHC. |
153 | 128 |
|
154 | | -- Redefine `build-type: Configure` in terms of `Hooks` [#9969](https://github.com/haskell/cabal/pull/9969) |
| 129 | +- Bug fix - Don't pass `--coverage-for` for non-dependency libs of testsuite [#10046](https://github.com/haskell/cabal/issues/10046) [#10250](https://github.com/haskell/cabal/pull/10250) |
155 | 130 |
|
156 | | - The `build-type: Configure` is now implemented in terms of `build-type: Hooks` |
157 | | - rather than in terms of `build-type: Custom`. This moves the `Configure` |
158 | | - build-type away from the `Custom` issues. Eventually, `build-type: Hooks` will |
159 | | - no longer imply packages are built in legacy-fallback mode. When that |
160 | | - happens, `Configure` will also stop implying `legacy-fallback`. |
| 131 | +- Added `--all` and `--haddock-all` switches to `haddock-project` subcommand [#10051](https://github.com/haskell/cabal/issues/10051) [#10163](https://github.com/haskell/cabal/pull/10163) |
161 | 132 |
|
162 | | - The observable aspect of this change is `runConfigureScript` now having a |
163 | | - different type, and `autoconfSetupHooks` being exposed from `Distribution.Simple`. |
164 | | - The former is motivated by internal implementation details, while the latter |
165 | | - provides the `SetupHooks` value for the `Configure` build type, which can be |
166 | | - consumed by other `Hooks` clients (e.g. eventually HLS). |
| 133 | +- Clarify error message when `pkg-config` is not found [#10122](https://github.com/haskell/cabal/pull/10122) |
167 | 134 |
|
168 | | -- Bug fix - Don't pass `--coverage-for` for non-dependency libs of testsuite [#10046](https://github.com/haskell/cabal/issues/10046) [#10250](https://github.com/haskell/cabal/pull/10250) |
| 135 | + - The error message when `pkg-config` is not found or querying it fails will no |
| 136 | + longer incorrectly claim that the package is missing in the database. |
169 | 137 |
|
170 | | -- Added `--all` and `--haddock-all` switches to `haddock-project` subcommand [#10051](https://github.com/haskell/cabal/issues/10051) [#10163](https://github.com/haskell/cabal/pull/10163) |
| 138 | +- Update the SPDX License List to version 3.25 |
| 139 | + |
| 140 | + The LicenseId and LicenseExceptionId types are updated to reflect the SPDX |
| 141 | + License List version 3.25 (2024-08-19). |
0 commit comments