From 509e4306a7ec8fd56e2548d5916831f068bbe4e1 Mon Sep 17 00:00:00 2001 From: Francesco Ariis Date: Tue, 23 Apr 2024 16:40:08 +0200 Subject: [PATCH] =?UTF-8?q?Incorporate=20Artem=E2=80=99s=20suggestions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See #9920. --- release-notes/Cabal-3.12.0.0.md | 27 ++++----- release-notes/WIP-cabal-install-3.12.x.0.md | 64 +++++++++++---------- 2 files changed, 45 insertions(+), 46 deletions(-) diff --git a/release-notes/Cabal-3.12.0.0.md b/release-notes/Cabal-3.12.0.0.md index 3f97f217997..fd09da19dbd 100644 --- a/release-notes/Cabal-3.12.0.0.md +++ b/release-notes/Cabal-3.12.0.0.md @@ -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) @@ -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) @@ -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. @@ -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) @@ -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 diff --git a/release-notes/WIP-cabal-install-3.12.x.0.md b/release-notes/WIP-cabal-install-3.12.x.0.md index b3fb01900a4..41312411675 100644 --- a/release-notes/WIP-cabal-install-3.12.x.0.md +++ b/release-notes/WIP-cabal-install-3.12.x.0.md @@ -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) @@ -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. @@ -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) @@ -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 @@ -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) @@ -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. @@ -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) @@ -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. -