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`
@@ -77,14 +77,18 @@ Cabal and Cabal-syntax 3.12.0.0 changelog and release notes
77
77
78
78
Support for all previous GHC versions is deprecated.
79
79
80
+
- Label error messages with codes (following GHC, Stack)
81
+
82
+
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.
83
+
80
84
### Other changes
81
85
82
-
- `cabal init` should not suggest Cabal < 2.0 [#8680](https://github.com/haskell/cabal/issues/8680)
86
+
- `cabal init` should not suggest Cabal < 2.0 [#8680](https://github.com/haskell/cabal/issues/8680) [#8700](https://github.com/haskell/cabal/pull/8700)
83
87
84
88
'cabal init' no longer suggests users to set cabal-version to less than
85
89
2.0.
86
90
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)
91
+
- Remove `Distribution.Utils.TempTestDir` module from Cabal library [#9453](https://github.com/haskell/cabal/issues/9453) [#9454](https://github.com/haskell/cabal/pull/9454)
88
92
89
93
This library was only used by internal tests, and now lives in the
90
94
`Cabal-tests` library which is shared across test components.
@@ -110,7 +114,7 @@ Cabal and Cabal-syntax 3.12.0.0 changelog and release notes
110
114
111
115
- `checkPackage` signature has been simplified,
112
116
you do not need to pass a specific configuration of the package, since
113
-
we do not flatten GenericPackageDescription any more.
117
+
we do not flatten `GenericPackageDescription` any more.
114
118
- `checkPackageFileNames` has been removed,
115
119
use `checkPackageFiles` instead.
116
120
- `checkPackageFilesGPD` has been introduced,
@@ -122,7 +126,7 @@ Cabal and Cabal-syntax 3.12.0.0 changelog and release notes
122
126
123
127
GHC plugins now can store custom data in the 'extra-compilation-artifacts' directory which gets installed with the package.
124
128
125
-
- Add option to ./Setup repl to write repl arguments to file [#8726](https://github.com/haskell/cabal/pull/8726)
129
+
- Add option to `./Setup repl` to write repl arguments to file [#8726](https://github.com/haskell/cabal/pull/8726)
126
130
127
131
The `./Setup repl` command is modified to allow a user to defer starting
128
132
the repl and instead instruct the command to write the necessary build
@@ -137,7 +141,7 @@ Cabal and Cabal-syntax 3.12.0.0 changelog and release notes
137
141
Cabal: Distribution now recognises Haiku as a valid platform, and also
138
142
implements Haiku's unique directory layout.
139
143
140
-
- Installation of .hie files [#8685](https://github.com/haskell/cabal/issues/8685) [#9019](https://github.com/haskell/cabal/pull/9019)
144
+
- Installation of `.hie` files [#8685](https://github.com/haskell/cabal/issues/8685) [#9019](https://github.com/haskell/cabal/pull/9019)
141
145
142
146
Hie files generated by GHC are now stored in the
143
147
`extra-compilation-artifacts` directory which gets installed with the
@@ -180,7 +184,7 @@ Cabal and Cabal-syntax 3.12.0.0 changelog and release notes
180
184
181
185
- Document `remote-repo-cache` as implemented. [#8737](https://github.com/haskell/cabal/issues/8737) [#8738](https://github.com/haskell/cabal/pull/8738)
182
186
183
-
- Deduplicate LD_LIBRARY_PATH when running tests [#8728](https://github.com/haskell/cabal/pull/8728)
187
+
- Deduplicate `LD_LIBRARY_PATH` when running tests [#8728](https://github.com/haskell/cabal/pull/8728)
184
188
185
189
- Add support for a number of architectures:
186
190
@@ -190,21 +194,19 @@ Cabal and Cabal-syntax 3.12.0.0 changelog and release notes
190
194
191
195
- 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)
192
196
193
-
- Enable using $ORIGIN in RPATH on GNU/Hurd [#9441](https://github.com/haskell/cabal/pull/9441)
197
+
- Enable using `$ORIGIN` in `RPATH` on GNU/Hurd [#9441](https://github.com/haskell/cabal/pull/9441)
194
198
195
199
196
200
- Make check comply with Hackage requirements [#8897](https://github.com/haskell/cabal/pull/8897)
197
201
198
202
- `cabal check` will only return exitcode 1 when the package is not fit
199
203
for Hackage. E.g. it will not error anymore when your `synopsis:` is
200
204
larger than `description:`, just emit a warning.
201
-
- Cabal: Distribution.Client.Check now exports `isHackageDistError`, for
205
+
- Cabal: `Distribution.Client.Check` now exports `isHackageDistError`, for
202
206
third-party tools to know if a specific error will preclude a package
203
207
from being uploaded to Hacakge.
204
208
205
-
- Add language extension `ExtendedLiterals` [#8992](https://github.com/haskell/cabal/pull/8992)
206
-
207
-
Adds support for the `ExtendedLiterals` language extension (GHC proposal #451)
209
+
- Add language extension `ExtendedLiterals` (GHC proposal #451) [#8992](https://github.com/haskell/cabal/pull/8992)
208
210
209
211
- Warn about inconsistent indentation [#8975](https://github.com/haskell/cabal/pull/8975)
210
212
@@ -253,9 +255,7 @@ Cabal and Cabal-syntax 3.12.0.0 changelog and release notes
253
255
254
256
`cabal` invokes `pkg-config` individually for each lib if querying for all doesn't return the expected result
255
257
256
-
- Add language extension `ListTuplePuns` [#8854](https://github.com/haskell/cabal/pull/8854)
257
-
258
-
Adds support for the `ListTuplePuns` language extension (GHC proposal #475)
258
+
- Add language extension `ListTuplePuns` (GHC proposal #475) [#8854](https://github.com/haskell/cabal/pull/8854)
259
259
260
260
- 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