You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: release-notes/Cabal-3.12.0.0.md
+15-15Lines changed: 15 additions & 15 deletions
Original file line number
Diff line number
Diff line change
@@ -55,7 +55,7 @@ Cabal and Cabal-syntax 3.12.0.0 changelog and release notes
55
55
`filterPackageChecksById`, this can be used by third-party
56
56
tools to filter warnings.
57
57
58
-
- Add support for `GHC2024` [#9736](https://github.com/haskell/cabal/issues/9736)
58
+
- Add support for `GHC2024` [#9736](https://github.com/haskell/cabal/issues/9736) [#9791](https://github.com/haskell/cabal/pull/9791)
59
59
60
60
Support for the `GHC2024` language edition, introduced by GHC 9.10, has been
61
61
added. It can now be used in the `default-language` and `other-languages`
@@ -73,14 +73,18 @@ Cabal and Cabal-syntax 3.12.0.0 changelog and release notes
73
73
If you are dealing with a custom setup, you have to invoke
74
74
`./Setup repl --repl-multi-file`.
75
75
76
+
- Label error messages with codes (following GHC, Stack)
77
+
78
+
As with GHC and Stack, Cabal and cabal-install now generate warnings and errors prefixed with error codes of the form `[Cabal-xxxxx]`. These will be documented on https://errors.haskell.org, although very few are as yet.
79
+
76
80
### Other changes
77
81
78
-
- `cabal init` should not suggest Cabal < 2.0 [#8680](https://github.com/haskell/cabal/issues/8680)
82
+
- `cabal init` should not suggest Cabal < 2.0 [#8680](https://github.com/haskell/cabal/issues/8680) [#8700](https://github.com/haskell/cabal/pull/8700)
79
83
80
84
'cabal init' no longer suggests users to set cabal-version to less than
81
85
2.0.
82
86
83
-
- Remove Distribution.Utils.TempTestDir module from Cabal library [#9453](https://github.com/haskell/cabal/issues/9453) [#9454](https://github.com/haskell/cabal/pull/9454)
87
+
- Remove `Distribution.Utils.TempTestDir` module from Cabal library [#9453](https://github.com/haskell/cabal/issues/9453) [#9454](https://github.com/haskell/cabal/pull/9454)
84
88
85
89
This library was only used by internal tests, and now lives in the
86
90
`Cabal-tests` library which is shared across test components.
@@ -106,7 +110,7 @@ Cabal and Cabal-syntax 3.12.0.0 changelog and release notes
106
110
107
111
- `checkPackage` signature has been simplified,
108
112
you do not need to pass a specific configuration of the package, since
109
-
we do not flatten GenericPackageDescription any more.
113
+
we do not flatten `GenericPackageDescription` any more.
110
114
- `checkPackageFileNames` has been removed,
111
115
use `checkPackageFiles` instead.
112
116
- `checkPackageFilesGPD` has been introduced,
@@ -118,7 +122,7 @@ Cabal and Cabal-syntax 3.12.0.0 changelog and release notes
118
122
119
123
GHC plugins now can store custom data in the 'extra-compilation-artifacts' directory which gets installed with the package.
120
124
121
-
- Add option to ./Setup repl to write repl arguments to file [#8726](https://github.com/haskell/cabal/pull/8726)
125
+
- Add option to `./Setup repl` to write repl arguments to file [#8726](https://github.com/haskell/cabal/pull/8726)
122
126
123
127
The `./Setup repl` command is modified to allow a user to defer starting
124
128
the repl and instead instruct the command to write the necessary build
@@ -133,7 +137,7 @@ Cabal and Cabal-syntax 3.12.0.0 changelog and release notes
133
137
Cabal: Distribution now recognises Haiku as a valid platform, and also
134
138
implements Haiku's unique directory layout.
135
139
136
-
- Installation of .hie files [#8685](https://github.com/haskell/cabal/issues/8685) [#9019](https://github.com/haskell/cabal/pull/9019)
140
+
- Installation of `.hie` files [#8685](https://github.com/haskell/cabal/issues/8685) [#9019](https://github.com/haskell/cabal/pull/9019)
137
141
138
142
Hie files generated by GHC are now stored in the
139
143
`extra-compilation-artifacts` directory which gets installed with the
@@ -176,7 +180,7 @@ Cabal and Cabal-syntax 3.12.0.0 changelog and release notes
176
180
177
181
- Document `remote-repo-cache` as implemented. [#8737](https://github.com/haskell/cabal/issues/8737) [#8738](https://github.com/haskell/cabal/pull/8738)
178
182
179
-
- Deduplicate LD_LIBRARY_PATH when running tests [#8728](https://github.com/haskell/cabal/pull/8728)
183
+
- Deduplicate `LD_LIBRARY_PATH` when running tests [#8728](https://github.com/haskell/cabal/pull/8728)
180
184
181
185
- Add support for a number of architectures:
182
186
@@ -186,21 +190,19 @@ Cabal and Cabal-syntax 3.12.0.0 changelog and release notes
186
190
187
191
- Don't report `index.html` file as created, if not created by Haddock [#5120](https://github.com/haskell/cabal/issues/5120) [#9332](https://github.com/haskell/cabal/pull/9332)
188
192
189
-
- Enable using $ORIGIN in RPATH on GNU/Hurd [#9441](https://github.com/haskell/cabal/pull/9441)
193
+
- Enable using `$ORIGIN` in `RPATH` on GNU/Hurd [#9441](https://github.com/haskell/cabal/pull/9441)
190
194
191
195
192
196
- Make check comply with Hackage requirements [#8897](https://github.com/haskell/cabal/pull/8897)
193
197
194
198
- `cabal check` will only return exitcode 1 when the package is not fit
195
199
for Hackage. E.g. it will not error anymore when your `synopsis:` is
196
200
larger than `description:`, just emit a warning.
197
-
- Cabal: Distribution.Client.Check now exports `isHackageDistError`, for
201
+
- Cabal: `Distribution.Client.Check` now exports `isHackageDistError`, for
198
202
third-party tools to know if a specific error will preclude a package
199
203
from being uploaded to Hacakge.
200
204
201
-
- Add language extension `ExtendedLiterals` [#8992](https://github.com/haskell/cabal/pull/8992)
202
-
203
-
Adds support for the `ExtendedLiterals` language extension (GHC proposal #451)
205
+
- Add language extension `ExtendedLiterals` (GHC proposal #451) [#8992](https://github.com/haskell/cabal/pull/8992)
204
206
205
207
- Warn about inconsistent indentation [#8975](https://github.com/haskell/cabal/pull/8975)
206
208
@@ -249,9 +251,7 @@ Cabal and Cabal-syntax 3.12.0.0 changelog and release notes
249
251
250
252
`cabal` invokes `pkg-config` individually for each lib if querying for all doesn't return the expected result
251
253
252
-
- Add language extension `ListTuplePuns` [#8854](https://github.com/haskell/cabal/pull/8854)
253
-
254
-
Adds support for the `ListTuplePuns` language extension (GHC proposal #475)
254
+
- Add language extension `ListTuplePuns` (GHC proposal #475) [#8854](https://github.com/haskell/cabal/pull/8854)
255
255
256
256
- Add `mkVersionIntervals` for creating a `VersionIntervals` from a list [#9034](https://github.com/haskell/cabal/pull/9034)
Cabal and Cabal-syntax 3.12.1.0 changelog and release notes
2
+
---
3
+
4
+
5
+
### Significant changes
6
+
7
+
- Update GHC arguments normalization and GHC options rendering [#9729](https://github.com/haskell/cabal/issues/9729)[#10014](https://github.com/haskell/cabal/pull/10014)
8
+
9
+
The flags `-fdiagnostics-as-json`, `-fprint-error-index-lists`, `-fbreak-points`, `-dipe-stats`, `-ffamily-application-cache`, `-fprint-redundant-promotion-ticks`, `-fshow-error-context` and `-funoptimized-core-for-interpreter` have been added to the flags that do not cause recompilation.
10
+
11
+
- Warn on missing `default-language`[#9620](https://github.com/haskell/cabal/issues/9620)[#9766](https://github.com/haskell/cabal/pull/9766)
12
+
13
+
- To help the adoption of GHC language editions, `cabal check` will now
14
+
warn about missing `default-language`.
15
+
16
+
- Add MHS ([MicroHS](https://github.com/augustss/MicroHs)) as a known Haskell compiler [#9878](https://github.com/haskell/cabal/pull/9878)
The `initialBuildSteps` function from `Distribution.Simple.Build`, which had
21
+
been hastily removed, has been reinstated.
22
+
23
+
It now comes with a deprecation warning: calling that function does not suffice
24
+
to prepare the sources for a package, as there are other steps that one might
25
+
also need to perform:
26
+
27
+
- running pre-processors (such as alex/happy);
28
+
- running pre-build hooks or custom logic
29
+
(in build-type: Hooks or build-type: Custom or Configure).
30
+
31
+
Consumers wanting to prepare the sources of a package, e.g. in order to launch a
32
+
REPL session, are advised to run `setup repl --repl-multi-file=<fn>` instead.
33
+
34
+
- Label error messages with codes (following GHC, Stack)
35
+
36
+
As with GHC and Stack, Cabal and cabal-install now generate warnings and errors prefixed with error codes of the form `[Cabal-xxxxx]`. These will be documented on https://errors.haskell.org, although very few are as yet.
37
+
38
+
This change was actually present in Cabal-3.12.0.0, but was inadvertently omitted from the changelog.
39
+
40
+
### Other changes
41
+
42
+
- Don't recommend deprecated/removed `extensions` field [#10042](https://github.com/haskell/cabal/issues/10042)[#10044](https://github.com/haskell/cabal/pull/10044)
43
+
44
+
When applicable, field `default-extensions` is recommended (rather than
45
+
deprecated/removed `extensions:`).
46
+
47
+
- Make `Setup copy` and `Setup install` succeed when there's no executable or library [#6750](https://github.com/haskell/cabal/issues/6750)[#9926](https://github.com/haskell/cabal/pull/9926)
48
+
49
+
Historically the Setup copy and install steps would fail if the package didn't
50
+
contain an executable or library component. In this case there's nothing to do.
51
+
52
+
This required workarounds for downstream users of Cabal to handle this edge case.
53
+
Now that this error has been downgraded to a warning, Cabal will succeed if
0 commit comments