Skip to content

Commit

Permalink
Incorporate Artem’s suggestions
Browse files Browse the repository at this point in the history
  • Loading branch information
ffaf1 committed Apr 23, 2024
1 parent 46db04b commit 509e430
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 46 deletions.
27 changes: 12 additions & 15 deletions release-notes/Cabal-3.12.0.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,15 +166,16 @@ Cabal and Cabal-syntax 3.12.0.0 changelog and release notes

- Deduplicate LD_LIBRARY_PATH when running tests [#8728](https://github.com/haskell/cabal/pull/8728)

- Add support for the 64-bit RISC-V architecture [#9062](https://github.com/haskell/cabal/pull/9062)
- Add support for a number of architectures:

- Add support for 64-bit LoongArch architecture [#9215](https://github.com/haskell/cabal/pull/9215)
- Add support for the 64-bit RISC-V architecture [#9062](https://github.com/haskell/cabal/pull/9062)
- Add support for 64-bit LoongArch architecture [#9215](https://github.com/haskell/cabal/pull/9215)
- Add support for 64-bit SPARC as a separate architecture [#9445](https://github.com/haskell/cabal/pull/9445)

- 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)

- Enable using $ORIGIN in RPATH on GNU/Hurd [#9441](https://github.com/haskell/cabal/pull/9441)

- Add support for 64-bit SPARC as a separate architecture [#9445](https://github.com/haskell/cabal/pull/9445)

- Make check comply with Hackage requirements [#8897](https://github.com/haskell/cabal/pull/8897)

Expand All @@ -185,9 +186,9 @@ Cabal and Cabal-syntax 3.12.0.0 changelog and release notes
third-party tools to know if a specific error will preclude a package
from being uploaded to Hacakge.

- Add language extension ExtendedLiterals [#8992](https://github.com/haskell/cabal/pull/8992)
- Add language extension `ExtendedLiterals` [#8992](https://github.com/haskell/cabal/pull/8992)

Adds support for the ExtendedLiterals language extension (GHC proposal #451)
Adds support for the `ExtendedLiterals` language extension (GHC proposal #451)

- Warn about inconsistent indentation [#8975](https://github.com/haskell/cabal/pull/8975)

Expand All @@ -212,17 +213,17 @@ Cabal and Cabal-syntax 3.12.0.0 changelog and release notes
Such insonsistency seems to be always a mistake, and it's easy to fix once
a machine points it out.

- Add LexBraces lexer warning [#8577](https://github.com/haskell/cabal/issues/8577)
- Add `LexBraces` lexer warning [#8577](https://github.com/haskell/cabal/issues/8577)

LexBraces warning is issued when brace delimiting syntax is used. This
`LexBraces` warning is issued when brace delimiting syntax is used. This
way, using `readFields'`, a low-lever consumer may decide whether braces
were used.

(Looking for a brace character in the input is imprecise, as braces can
occur inside field content).
Looking for a brace character in the input is imprecise, as braces can
occur inside field content.

This warning is not propagated to parser warnings, so e.g.
readGenericPackageDescription doesn't warn about it. This is because all
`readGenericPackageDescription` doesn't warn about it. This is because all
parser warnings prevent uploads to Hackage, and using braces (or not) is
a matter of opinion.

Expand All @@ -236,7 +237,7 @@ Cabal and Cabal-syntax 3.12.0.0 changelog and release notes

`cabal` invokes `pkg-config` individually for each lib if querying for all doesn't return the expected result

- Add language extension ListTuplePuns [#8854](https://github.com/haskell/cabal/pull/8854)
- Add language extension `ListTuplePuns` [#8854](https://github.com/haskell/cabal/pull/8854)

Adds support for the `ListTuplePuns` language extension (GHC proposal #475)

Expand All @@ -248,10 +249,6 @@ Cabal and Cabal-syntax 3.12.0.0 changelog and release notes

- Add language extension `TypeAbstractions` [#9496](https://github.com/haskell/cabal/issues/9496) [#9502](https://github.com/haskell/cabal/pull/9502)

- Add support for 64-bit LoongArch architecture [#9215](https://github.com/haskell/cabal/pull/9215)

- Add support for 64-bit SPARC as a separate architecture [#9445](https://github.com/haskell/cabal/pull/9445)

- Update SPDX License List to version `3.23 2024-02-08` [#9818](https://github.com/haskell/cabal/pull/9818)

- LicenseId and LicenseExceptionId now conform to SPDX License List
Expand Down
64 changes: 33 additions & 31 deletions release-notes/WIP-cabal-install-3.12.x.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
cabal-install and cabal-install-solver 3.12.1.0 changelog and release notes
---

- Add --project-dir flag [#7695](https://github.com/haskell/cabal/issues/7695) [#7940](https://github.com/haskell/cabal/issues/7940) [#8454](https://github.com/haskell/cabal/pull/8454)
- Add `--project-dir` flag [#7695](https://github.com/haskell/cabal/issues/7695) [#7940](https://github.com/haskell/cabal/issues/7940) [#8454](https://github.com/haskell/cabal/pull/8454)

- Added --project-dir flag for specifying the project's root directory
- Deprecated using --project-file with an absolute filepath without also using --project-dir
- Added `--project-dir` flag for specifying the project's root directory
- Deprecated using `--project-file` with an absolute filepath without also using `--project-dir`.

- Remove useles "Log" log level [#9151](https://github.com/haskell/cabal/issues/9151) [#9346](https://github.com/haskell/cabal/pull/9346)

Expand All @@ -32,7 +32,7 @@ cabal-install and cabal-install-solver 3.12.1.0 changelog and release notes
a flag which specifies which libraries should be included in the coverage
report for some testsuite.

- Redesign 'cabal path' command to account for projects [#9673](https://github.com/haskell/cabal/pull/9673)
- Redesign `cabal path` command to account for projects [#9673](https://github.com/haskell/cabal/pull/9673)

Previously, `cabal path` was only able to query from the global configuration file, e.g., `~/.cabal/config` or the XDG equivalent.
We take the foundations and enhance `cabal path` to take project configuration, such as `cabal.project`, into account.
Expand All @@ -55,11 +55,27 @@ cabal-install and cabal-install-solver 3.12.1.0 changelog and release notes
To do that, we re-configure the compiler program, and outputs the location, version and compiler flavour.
This is helpful for downstream tools, such as HLS, to figure out the GHC version required to compile a project with, without dependency solving.

- Add support for authentication tokens for uploading to Hackage [#6738](https://github.com/haskell/cabal/issues/6738) [#9058](https://github.com/haskell/cabal/pull/9058)

A new flag `--token` (`-t`) has been created. Token authentication takes
precedence over username and password meaning that, if a token is set,
the username and password flags are ignored.

- Make --(test-)show-details=direct the default [#8942](https://github.com/haskell/cabal/pull/8942)

This option leaves it up to the testing framework to decide what and how to print out,
potentially leading to a prettier output. For example, most of the testing frameworks
use colors, which wouldn't be seen with any other option.

This comes with a tradeoff, though: Cabal will not create a log file with this option.
If you prefer a log file, consider setting `--test-show-details=streaming` (or something
else) manually.

### Other changes

- Script cache dir is the base16 hash of the canonical path of the script. [#9459](https://github.com/haskell/cabal/pull/9459)

Script cache dir is the base16 hash of the canonical path of the script.
This fixes sporadic path failures on both Windows and Linux (e.g. [#9334](https://github.com/haskell/cabal/issues/9334)).

- Die if package list is missing [#8944](https://github.com/haskell/cabal/pull/8944)

Expand All @@ -83,22 +99,6 @@ cabal-install and cabal-install-solver 3.12.1.0 changelog and release notes
before the build, that an overwrite policy flag would be needed for the
install to succeed.

- Add support for authentication tokens for uploading to Hackage [#6738](https://github.com/haskell/cabal/issues/6738) [#9058](https://github.com/haskell/cabal/pull/9058)

A new flag `--token` (`-t`) has been created. Token authentication takes
precedence over username and password meaning that, if a token is set,
the username and password flags are ignored.

- Make --(test-)show-details=direct the default [#8942](https://github.com/haskell/cabal/pull/8942)

This option leaves it up to the testing framework to decide what and how to print out,
potentially leading to a prettier output. For example, most of the testing frameworks
use colors, which wouldn't be seen with any other option.

This comes with a tradeoff, though: Cabal will not create a log file with this option.
If you prefer a log file, consider setting `--test-show-details=streaming` (or something
else) manually.

- Make sure Haskell files in explicit source directories take precedence over autogenerated Haskell files [#8689](https://github.com/haskell/cabal/issues/8689) [#8690](https://github.com/haskell/cabal/pull/8690)

- Changed order or directories in GHC invocation so that source
Expand Down Expand Up @@ -127,13 +127,13 @@ cabal-install and cabal-install-solver 3.12.1.0 changelog and release notes
name did not match exactly. Now they will be cached even if the header's
capitalization is different.

- Clarify the semantics of the -package-db flag [#9678](https://github.com/haskell/cabal/issues/9678)
- Clarify the semantics of the `--package-db` flag [#9678](https://github.com/haskell/cabal/issues/9678)

The `--package-db` flag now only applies to the default
immutable initial package stack rather than also applying to the store
package database.

This fixes an assertion failure which was triggered when using -package-db and also
This fixes an assertion failure which was triggered when using `--package-db` and also
clarifies how it should interact with `--store-dir` and `--dist-dir` flags.

- PkgConfig individual calls [#9134](https://github.com/haskell/cabal/pull/9134)
Expand Down Expand Up @@ -212,14 +212,14 @@ cabal-install and cabal-install-solver 3.12.1.0 changelog and release notes
cabal-install would silently ignore them. Now cabal-install will emit a
warning.

- Fix precedence for PATH for build-tools-depends [#8972](https://github.com/haskell/cabal/pull/8972)
- Fix precedence for PATH for `build-tools-depends` [#8972](https://github.com/haskell/cabal/pull/8972)

Fixes a bug introduced in #8506 that caused executables in the path to
take precedence over those specified in build-tools-depends.
take precedence over those specified in `build-tools-depends`.

- Remove --cabal-file flags from v2 commands [#6880](https://github.com/haskell/cabal/issues/6880) [#7225](https://github.com/haskell/cabal/issues/7225) [#8395](https://github.com/haskell/cabal/issues/8395) [#9123](https://github.com/haskell/cabal/pull/9123)
- Remove `--cabal-file` flags from v2 commands [#6880](https://github.com/haskell/cabal/issues/6880) [#7225](https://github.com/haskell/cabal/issues/7225) [#8395](https://github.com/haskell/cabal/issues/8395) [#9123](https://github.com/haskell/cabal/pull/9123)

The --cabal-file flag was never meant for public use but only for testing.
The `--cabal-file` flag was never meant for public use but only for testing.
To avoid confusing the users any further we removed the flag from v2
commands.

Expand All @@ -228,16 +228,19 @@ cabal-install and cabal-install-solver 3.12.1.0 changelog and release notes
The "Executing·install·plan··serially" and other similar "Executing
install plan··..." outputs no longer contain double spaces.

- Guard PackageInfo_* modules behind `cabal-version` ≥ 3.12 [#9331](https://github.com/haskell/cabal/issues/9331) [#9481](https://github.com/haskell/cabal/pull/9481)
- Guard `PackageInfo_*` modules behind `cabal-version` ≥ 3.12 [#9331](https://github.com/haskell/cabal/issues/9331) [#9481](https://github.com/haskell/cabal/pull/9481)

`cabal check` now warns whenever PackageInfo_* autogen modules are
`cabal check` now warns whenever `PackageInfo_*` autogen modules are
used with `cabal-version` ≥ 3.12.
Additionally, `cabal configure` will fail if you try to use PackageInfo_*
Additionally, `cabal configure` will fail if you try to use `PackageInfo_*`
with `cabal-version` < 3.12.

- cabal init now generates cabal versions older than 1.12 with the correct >= syntax [#8206](https://github.com/haskell/cabal/issues/8206) [#8860](https://github.com/haskell/cabal/pull/8860)

- `cabal init`: suggest BSD-3 as default license [#8757](https://github.com/haskell/cabal/issues/8757) [#8764](https://github.com/haskell/cabal/pull/8764)

- Do not ask overwrite permissions on blank project [#9150](https://github.com/haskell/cabal/issues/9150) [#9155](https://github.com/haskell/cabal/pull/9155)

- 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)

- Shorten solver rejection messages by removing repetition [#4251](https://github.com/haskell/cabal/issues/4251) [#9559](https://github.com/haskell/cabal/issues/9559) [#9560](https://github.com/haskell/cabal/pull/9560)
Expand Down Expand Up @@ -284,4 +287,3 @@ cabal-install and cabal-install-solver 3.12.1.0 changelog and release notes
This change matters to BSD-2-Clause and BSD-3-Clause licences. For these two
licences, `cabal init` created a licence file that slightly differed from
wording published at SPDX. This has been rectified.

0 comments on commit 509e430

Please sign in to comment.