|
1 | 1 | ### Significant changes
|
2 | 2 |
|
3 |
| -- Add cabal-version: 3.4 [#6663](https://github.com/haskell/cabal/pull/6663) |
| 3 | +- Add cabal-version: 3.4 [!6663](https://github.com/haskell/cabal/pull/6663) |
4 | 4 |
|
5 | 5 | See various changes in https://cabal.readthedocs.io/en/latest/file-format-changelog.html#cabal-version-3-4
|
6 | 6 |
|
7 |
| -- Support GHC-8.12 [#6903](https://github.com/haskell/cabal/issues/6903) [#6904](https://github.com/haskell/cabal/issues/6904) [#6905](https://github.com/haskell/cabal/issues/6905) [#6545](https://github.com/haskell/cabal/pull/6545) [#6552](https://github.com/haskell/cabal/pull/6552) [#6553](https://github.com/haskell/cabal/pull/6553) [#6563](https://github.com/haskell/cabal/pull/6563) [#6735](https://github.com/haskell/cabal/pull/6735) [#6844](https://github.com/haskell/cabal/pull/6844) [#6848](https://github.com/haskell/cabal/pull/6848) [#6865](https://github.com/haskell/cabal/pull/6865) [#6908](https://github.com/haskell/cabal/pull/6908) [#6947](https://github.com/haskell/cabal/pull/6947) |
| 7 | +- Support GHC-8.12 [#6903](https://github.com/haskell/cabal/issues/6903) [#6904](https://github.com/haskell/cabal/issues/6904) [#6905](https://github.com/haskell/cabal/issues/6905) [!6545](https://github.com/haskell/cabal/pull/6545) [!6552](https://github.com/haskell/cabal/pull/6552) [!6553](https://github.com/haskell/cabal/pull/6553) [!6563](https://github.com/haskell/cabal/pull/6563) [!6735](https://github.com/haskell/cabal/pull/6735) [!6844](https://github.com/haskell/cabal/pull/6844) [!6848](https://github.com/haskell/cabal/pull/6848) [!6865](https://github.com/haskell/cabal/pull/6865) [!6908](https://github.com/haskell/cabal/pull/6908) [!6947](https://github.com/haskell/cabal/pull/6947) |
8 | 8 |
|
9 | 9 | - Support for `-this-package-key` deprecation
|
10 | 10 | - Use process `createPipe`
|
11 | 11 | - Add support for WINIO to Cabal
|
12 | 12 | - Adopt to simplfied subsumption changes
|
13 | 13 |
|
14 |
| - There are no magical 'IO = WithCallStack Prelude.IO` alias in Cabal, |
| 14 | + There are no magical `IO = WithCallStack Prelude.IO` alias in Cabal, |
15 | 15 | as it is hard to get working with GHC-8.12's simplified subsumption.
|
16 | 16 |
|
17 |
| -- Treat pkg:sublib dependency syntax as is in `cabal-version: 3.4` [#6083](https://github.com/haskell/cabal/issues/6083) [#6893](https://github.com/haskell/cabal/pull/6893) [#6907](https://github.com/haskell/cabal/pull/6907) |
| 17 | +- Treat `pkg:sublib` dependency syntax as is in `cabal-version: 3.4` [#6083](https://github.com/haskell/cabal/issues/6083) [!6893](https://github.com/haskell/cabal/pull/6893) [!6907](https://github.com/haskell/cabal/pull/6907) |
18 | 18 |
|
19 | 19 | In `cabal-version: 3.4` cabal files the dependency definition
|
20 | 20 |
|
|
31 | 31 | This fixes an issue, where it was impossible to refer to extenral
|
32 | 32 | library, if you had sublibrary of the same name.
|
33 | 33 |
|
34 |
| -- Dependency type refactorings [#5570](https://github.com/haskell/cabal/issues/5570) [#6894](https://github.com/haskell/cabal/issues/6894) [#6768](https://github.com/haskell/cabal/pull/6768) [#6798](https://github.com/haskell/cabal/pull/6798) [#6895](https://github.com/haskell/cabal/pull/6895) [#6896](https://github.com/haskell/cabal/pull/6896) [#6897](https://github.com/haskell/cabal/pull/6897) [#6898](https://github.com/haskell/cabal/pull/6898) |
| 34 | +- Dependency type refactorings [#5570](https://github.com/haskell/cabal/issues/5570) [#6894](https://github.com/haskell/cabal/issues/6894) [!6768](https://github.com/haskell/cabal/pull/6768) [!6798](https://github.com/haskell/cabal/pull/6798) [!6895](https://github.com/haskell/cabal/pull/6895) [!6896](https://github.com/haskell/cabal/pull/6896) [!6897](https://github.com/haskell/cabal/pull/6897) [!6898](https://github.com/haskell/cabal/pull/6898) |
35 | 35 |
|
36 | 36 | With additions of (public) sublibraries, `Dependency` type use for multiple needs become painful.
|
37 | 37 | Therefore a new type `PackageVersionConstraint` was added to serve *constraint on package* use-case.
|
|
42 | 42 |
|
43 | 43 | ### Other changes
|
44 | 44 |
|
45 |
| -- Tests additions [#6409](https://github.com/haskell/cabal/issues/6409) [#6753](https://github.com/haskell/cabal/pull/6753) [#6759](https://github.com/haskell/cabal/pull/6759) [#6802](https://github.com/haskell/cabal/pull/6802) [#6842](https://github.com/haskell/cabal/pull/6842) [#6872](https://github.com/haskell/cabal/pull/6872) |
| 45 | +- Tests additions [#6409](https://github.com/haskell/cabal/issues/6409) [!6753](https://github.com/haskell/cabal/pull/6753) [!6759](https://github.com/haskell/cabal/pull/6759) [!6802](https://github.com/haskell/cabal/pull/6802) [!6842](https://github.com/haskell/cabal/pull/6842) [!6872](https://github.com/haskell/cabal/pull/6872) |
46 | 46 |
|
47 | 47 | - Add shrinker, so writing big non-generic product shrinkers is easier
|
48 | 48 | - Add `hs-source-dirs: NL .` test-case
|
49 | 49 | - Add public multilib test(s)
|
50 | 50 |
|
51 |
| -- Code organization [#6599](https://github.com/haskell/cabal/pull/6599) [#6642](https://github.com/haskell/cabal/pull/6642) [#6734](https://github.com/haskell/cabal/pull/6734) [#6745](https://github.com/haskell/cabal/pull/6745) [#6746](https://github.com/haskell/cabal/pull/6746) [#6817](https://github.com/haskell/cabal/pull/6817) [#6818](https://github.com/haskell/cabal/pull/6818) [#6821](https://github.com/haskell/cabal/pull/6821) [#6867](https://github.com/haskell/cabal/pull/6867) |
| 51 | +- Code organization [!6599](https://github.com/haskell/cabal/pull/6599) [!6642](https://github.com/haskell/cabal/pull/6642) [!6734](https://github.com/haskell/cabal/pull/6734) [!6745](https://github.com/haskell/cabal/pull/6745) [!6746](https://github.com/haskell/cabal/pull/6746) [!6817](https://github.com/haskell/cabal/pull/6817) [!6818](https://github.com/haskell/cabal/pull/6818) [!6821](https://github.com/haskell/cabal/pull/6821) [!6867](https://github.com/haskell/cabal/pull/6867) |
52 | 52 |
|
53 | 53 | - Split `Distribution.Client.Types` module
|
54 | 54 | - Move cabal-testsuite code into `src/`
|
|
60 | 60 | - Refactor shared `TargetProblem` data types into their own module.
|
61 | 61 | - Template `cabal-install.cabal` using zinza
|
62 | 62 |
|
63 |
| -- The grammar of most package description fields is formally documented [#6591](https://github.com/haskell/cabal/pull/6591) [#6593](https://github.com/haskell/cabal/pull/6593) [#6704](https://github.com/haskell/cabal/pull/6704) [#6766](https://github.com/haskell/cabal/pull/6766) [#6778](https://github.com/haskell/cabal/pull/6778) [#6780](https://github.com/haskell/cabal/pull/6780) [#6781](https://github.com/haskell/cabal/pull/6781) [#6791](https://github.com/haskell/cabal/pull/6791) [#6800](https://github.com/haskell/cabal/pull/6800) |
| 63 | +- The grammar of most package description fields is formally documented [!6591](https://github.com/haskell/cabal/pull/6591) [!6593](https://github.com/haskell/cabal/pull/6593) [!6704](https://github.com/haskell/cabal/pull/6704) [!6766](https://github.com/haskell/cabal/pull/6766) [!6778](https://github.com/haskell/cabal/pull/6778) [!6780](https://github.com/haskell/cabal/pull/6780) [!6781](https://github.com/haskell/cabal/pull/6781) [!6791](https://github.com/haskell/cabal/pull/6791) [!6800](https://github.com/haskell/cabal/pull/6800) |
64 | 64 |
|
65 | 65 | See https://cabal.readthedocs.io/en/latest/buildinfo-fields-reference.html
|
66 | 66 |
|
67 |
| -- Documentation updates and typo-fixes [#6504](https://github.com/haskell/cabal/pull/6504) [#6550](https://github.com/haskell/cabal/pull/6550) [#6560](https://github.com/haskell/cabal/pull/6560) [#6613](https://github.com/haskell/cabal/pull/6613) [#6660](https://github.com/haskell/cabal/pull/6660) [#6668](https://github.com/haskell/cabal/pull/6668) [#6669](https://github.com/haskell/cabal/pull/6669) [#6686](https://github.com/haskell/cabal/pull/6686) [#6697](https://github.com/haskell/cabal/pull/6697) [#6761](https://github.com/haskell/cabal/pull/6761) [#6928](https://github.com/haskell/cabal/pull/6928) [#6940](https://github.com/haskell/cabal/pull/6940) [#6951](https://github.com/haskell/cabal/pull/6951) [#6953](https://github.com/haskell/cabal/pull/6953) [#6954](https://github.com/haskell/cabal/pull/6954) |
68 |
| - |
69 |
| - TODO: Highlight larged changes |
70 |
| - |
71 |
| -- Fix ghci being launched before other sources are built. [#6923](https://github.com/haskell/cabal/pull/6923) |
| 67 | +- Fix ghci being launched before other sources are built. [!6923](https://github.com/haskell/cabal/pull/6923) |
72 | 68 |
|
73 | 69 | Related to foreign calls to C-sources.
|
74 | 70 |
|
75 |
| -- Remove `-any` and `-none` syntax for version ranges in cabal-version: 3.4 [#6589](https://github.com/haskell/cabal/issues/6589) [#6786](https://github.com/haskell/cabal/pull/6786) |
| 71 | +- Remove `-any` and `-none` syntax for version ranges in cabal-version: 3.4 [#6589](https://github.com/haskell/cabal/issues/6589) [!6786](https://github.com/haskell/cabal/pull/6786) |
76 | 72 |
|
77 | 73 | Use `>=0` (or empty in dependencies) and `<0` respectively.
|
78 | 74 |
|
79 |
| -- Add pijul to known repository type [#6610](https://github.com/haskell/cabal/issues/6610) [#6684](https://github.com/haskell/cabal/pull/6684) |
| 75 | +- Add pijul to known repository type [#6610](https://github.com/haskell/cabal/issues/6610) [!6684](https://github.com/haskell/cabal/pull/6684) |
80 | 76 |
|
81 | 77 | Pijul is now explicitly recognized version control system.
|
82 | 78 | However `cabal-install` isn't yet able to use it in
|
83 | 79 | `source-repository-package`.
|
84 | 80 |
|
85 |
| -- Rename Flag to CompilerFlag and PackageFlag [#6710](https://github.com/haskell/cabal/issues/6710) [#6725](https://github.com/haskell/cabal/pull/6725) |
| 81 | +- Rename Flag to CompilerFlag and PackageFlag [#6710](https://github.com/haskell/cabal/issues/6710) [!6725](https://github.com/haskell/cabal/pull/6725) |
86 | 82 |
|
87 | 83 | There was three Flag's. Now they are
|
88 | 84 |
|
|
92 | 88 |
|
93 | 89 | This allows wild-imports without `hiding (Flag)`.
|
94 | 90 |
|
95 |
| -- Accept "linux-androideabi" as an alias for Android for determining buildOS [#6301](https://github.com/haskell/cabal/pull/6301) [#6949](https://github.com/haskell/cabal/pull/6949) |
| 91 | +- Accept "linux-androideabi" as an alias for Android for determining buildOS [!6301](https://github.com/haskell/cabal/pull/6301) [!6949](https://github.com/haskell/cabal/pull/6949) |
96 | 92 |
|
97 | 93 | `Cabal` will able to parse `linux-androideabi` from the value of `System.Info.os`.
|
98 | 94 |
|
99 |
| -- Refactor Distribution.PackageDescription module [#6855](https://github.com/haskell/cabal/pull/6855) |
| 95 | +- Refactor Distribution.PackageDescription module [!6855](https://github.com/haskell/cabal/pull/6855) |
100 | 96 |
|
101 | 97 | Now it re-exports a collection of modules, not individual symbols.
|
102 | 98 |
|
103 |
| -- Use process jobs when spawning subprocesses [#6529](https://github.com/haskell/cabal/pull/6529) [#6536](https://github.com/haskell/cabal/pull/6536) |
| 99 | +- Use process jobs when spawning subprocesses [!6529](https://github.com/haskell/cabal/pull/6529) [!6536](https://github.com/haskell/cabal/pull/6536) |
104 | 100 |
|
105 | 101 | Many toolchain tools written for POSIX systems rely on the exec system
|
106 | 102 | call. Unfortunately, it is not possible to implement exec in a
|
|
119 | 115 | broken and was only recently fixed. Consequently, we only enable job
|
120 | 116 | object support for process releases >= 1.6.8.
|
121 | 117 |
|
122 |
| -- Remove `AnyVersion` and `WildcardVersion` constructors from `Version` [#6742](https://github.com/haskell/cabal/pull/6742) |
| 118 | +- Remove `AnyVersion` and `WildcardVersion` constructors from `Version` [!6742](https://github.com/haskell/cabal/pull/6742) |
123 | 119 |
|
124 | 120 | This changes makes `Version` type less "syntactic",
|
125 | 121 | i.e. contains less constructors for semantically same version ranges.
|
126 | 122 |
|
127 |
| -- Cabal-QuickCheck package with `Arbirary` instances [#6882](https://github.com/haskell/cabal/issues/6882) [#6557](https://github.com/haskell/cabal/pull/6557) [#6891](https://github.com/haskell/cabal/pull/6891) |
128 |
| -- Create Cabal-tree-diff package with `ToExpr` instances [#6789](https://github.com/haskell/cabal/pull/6789) |
129 |
| -- `Cabal.Distribution.Compiler`: add `Traversable` instance for `PerCompilerFlavor` [#6763](https://github.com/haskell/cabal/pull/6763) |
130 |
| -- Improvements to cabal-testsuite framework [#6643](https://github.com/haskell/cabal/pull/6643) |
131 |
| -- Update copyright years to 2020 [#6644](https://github.com/haskell/cabal/pull/6644) |
132 |
| -- Flag assignment parsing refactorings [#6853](https://github.com/haskell/cabal/issues/6853) [#6854](https://github.com/haskell/cabal/pull/6854) [#6858](https://github.com/haskell/cabal/pull/6858) |
133 |
| -- Add foo:bar syntax to mixins [#6281](https://github.com/haskell/cabal/issues/6281) [#6912](https://github.com/haskell/cabal/pull/6912) |
134 |
| -- default-language field is optional in cabal-version: 3.4 [#6288](https://github.com/haskell/cabal/issues/6288) [#6924](https://github.com/haskell/cabal/pull/6924) [#6926](https://github.com/haskell/cabal/pull/6926) |
135 |
| -- Split `KnownRepoType` out of `RepoType` [#6432](https://github.com/haskell/cabal/issues/6432) [#6612](https://github.com/haskell/cabal/pull/6612) |
136 |
| -- Include component name in unit-id [#6485](https://github.com/haskell/cabal/issues/6485) [#6547](https://github.com/haskell/cabal/pull/6547) |
137 |
| -- Change 'optional-packages' default to empty, when cabal.project is mising. [#4797](https://github.com/haskell/cabal/issues/4797) [#6739](https://github.com/haskell/cabal/issues/6739) [#6740](https://github.com/haskell/cabal/pull/6740) |
138 |
| -- Fix rpmvercmp (trailing non-digit characters) [#6805](https://github.com/haskell/cabal/issues/6805) [#6808](https://github.com/haskell/cabal/pull/6808) |
139 |
| -- other changes [#6556](https://github.com/haskell/cabal/pull/6556) [#6598](https://github.com/haskell/cabal/pull/6598) [#6910](https://github.com/haskell/cabal/pull/6910) |
140 |
| -- Package description parser benchmark [#6594](https://github.com/haskell/cabal/pull/6594) |
141 |
| -- Add `licenceIsFsfLibre` [#6878](https://github.com/haskell/cabal/pull/6878) |
142 |
| -- Add `+stderr` modifier to `Verbosity` [#6929](https://github.com/haskell/cabal/pull/6929) |
143 |
| -- Mark public-libs as experimental feature [#6605](https://github.com/haskell/cabal/pull/6605) |
144 |
| -- Add rewriteFileLBS and use it to write setup wrapper [#6574](https://github.com/haskell/cabal/pull/6574) |
145 |
| -- Add SPDX License List 3.9 [#6879](https://github.com/haskell/cabal/issues/6879) [#6662](https://github.com/haskell/cabal/pull/6662) [#6944](https://github.com/haskell/cabal/pull/6944) |
146 |
| -- Change specVersion to have CabalSpecVersion type [#6653](https://github.com/haskell/cabal/pull/6653) |
147 |
| -- Better UTF8 handling, parsed `ShortText` is now valid. [#6588](https://github.com/haskell/cabal/pull/6588) |
148 |
| -- More checks in version range parser [#6586](https://github.com/haskell/cabal/pull/6586) |
149 |
| -- Require cabal-versions `>=1.25` to be exact [#6654](https://github.com/haskell/cabal/pull/6654) |
150 |
| -- Add and use weeder [#6779](https://github.com/haskell/cabal/pull/6779) [#6790](https://github.com/haskell/cabal/pull/6790) |
| 123 | +- Cabal-QuickCheck package with `Arbirary` instances [#6882](https://github.com/haskell/cabal/issues/6882) [!6557](https://github.com/haskell/cabal/pull/6557) [!6891](https://github.com/haskell/cabal/pull/6891) |
| 124 | +- Create Cabal-tree-diff package with `ToExpr` instances [!6789](https://github.com/haskell/cabal/pull/6789) |
| 125 | +- `Cabal.Distribution.Compiler`: add `Traversable` instance for `PerCompilerFlavor` [!6763](https://github.com/haskell/cabal/pull/6763) |
| 126 | +- Improvements to cabal-testsuite framework [!6643](https://github.com/haskell/cabal/pull/6643) |
| 127 | +- Update copyright years to 2020 [!6644](https://github.com/haskell/cabal/pull/6644) |
| 128 | +- Documentation updates and typo-fixes [!6504](https://github.com/haskell/cabal/pull/6504) [!6550](https://github.com/haskell/cabal/pull/6550) [!6560](https://github.com/haskell/cabal/pull/6560) [!6613](https://github.com/haskell/cabal/pull/6613) [!6660](https://github.com/haskell/cabal/pull/6660) [!6668](https://github.com/haskell/cabal/pull/6668) [!6669](https://github.com/haskell/cabal/pull/6669) [!6686](https://github.com/haskell/cabal/pull/6686) [!6697](https://github.com/haskell/cabal/pull/6697) [!6761](https://github.com/haskell/cabal/pull/6761) [!6928](https://github.com/haskell/cabal/pull/6928) [!6940](https://github.com/haskell/cabal/pull/6940) [!6951](https://github.com/haskell/cabal/pull/6951) [!6953](https://github.com/haskell/cabal/pull/6953) [!6954](https://github.com/haskell/cabal/pull/6954) |
| 129 | +- Flag assignment parsing refactorings [#6853](https://github.com/haskell/cabal/issues/6853) [!6854](https://github.com/haskell/cabal/pull/6854) [!6858](https://github.com/haskell/cabal/pull/6858) |
| 130 | +- Add foo:bar syntax to mixins [#6281](https://github.com/haskell/cabal/issues/6281) [!6912](https://github.com/haskell/cabal/pull/6912) |
| 131 | +- default-language field is optional in cabal-version: 3.4 [#6288](https://github.com/haskell/cabal/issues/6288) [!6924](https://github.com/haskell/cabal/pull/6924) [!6926](https://github.com/haskell/cabal/pull/6926) |
| 132 | +- Split `KnownRepoType` out of `RepoType` [#6432](https://github.com/haskell/cabal/issues/6432) [!6612](https://github.com/haskell/cabal/pull/6612) |
| 133 | +- Include component name in unit-id [#6485](https://github.com/haskell/cabal/issues/6485) [!6547](https://github.com/haskell/cabal/pull/6547) |
| 134 | +- Change 'optional-packages' default to empty, when cabal.project is mising. [#4797](https://github.com/haskell/cabal/issues/4797) [#6739](https://github.com/haskell/cabal/issues/6739) [!6740](https://github.com/haskell/cabal/pull/6740) |
| 135 | +- Fix rpmvercmp (trailing non-digit characters) [#6805](https://github.com/haskell/cabal/issues/6805) [!6808](https://github.com/haskell/cabal/pull/6808) |
| 136 | +- other changes [!6556](https://github.com/haskell/cabal/pull/6556) [!6598](https://github.com/haskell/cabal/pull/6598) [!6910](https://github.com/haskell/cabal/pull/6910) |
| 137 | +- Package description parser benchmark [!6594](https://github.com/haskell/cabal/pull/6594) |
| 138 | +- Add `licenceIsFsfLibre` [!6878](https://github.com/haskell/cabal/pull/6878) |
| 139 | +- Add `+stderr` modifier to `Verbosity` [!6929](https://github.com/haskell/cabal/pull/6929) |
| 140 | +- Mark public-libs as experimental feature [!6605](https://github.com/haskell/cabal/pull/6605) |
| 141 | +- Add rewriteFileLBS and use it to write setup wrapper [!6574](https://github.com/haskell/cabal/pull/6574) |
| 142 | +- Add SPDX License List 3.9 [#6879](https://github.com/haskell/cabal/issues/6879) [!6662](https://github.com/haskell/cabal/pull/6662) [!6944](https://github.com/haskell/cabal/pull/6944) |
| 143 | +- Change specVersion to have CabalSpecVersion type [!6653](https://github.com/haskell/cabal/pull/6653) |
| 144 | +- Better UTF8 handling, parsed `ShortText` is now valid. [!6588](https://github.com/haskell/cabal/pull/6588) |
| 145 | +- More checks in version range parser [!6586](https://github.com/haskell/cabal/pull/6586) |
| 146 | +- Require cabal-versions `>=1.25` to be exact [!6654](https://github.com/haskell/cabal/pull/6654) |
| 147 | +- Add and use weeder [!6779](https://github.com/haskell/cabal/pull/6779) [!6790](https://github.com/haskell/cabal/pull/6790) |
0 commit comments