Skip to content

Commit 3d4fdec

Browse files
authored
Merge pull request #6950 from phadej/changelog-3.4
Update changelog for 3.4
2 parents 5ee43c8 + fde059f commit 3d4fdec

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+916
-24
lines changed

Cabal/Distribution/Compat/DList.hs

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ runDList (DList run) = run []
3232
singleton :: a -> DList a
3333
singleton a = DList (a:)
3434

35+
-- | @since 3.4.0.0
3536
empty :: DList a
3637
empty = DList id
3738

Cabal/Distribution/Compat/NonEmptySet.hs

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import Control.Applicative (empty)
3939
import Control.Monad (fail)
4040
#endif
4141

42+
-- | @since 3.4.0.0
4243
newtype NonEmptySet a = NES (Set.Set a)
4344
deriving (Eq, Ord, Typeable, Data, Read)
4445

Cabal/Distribution/Simple/GHC.hs

+2
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,8 @@ toPackageIndex verbosity pkgss progdb = do
364364
ghcProg = fromMaybe (error "GHC.toPackageIndex: no ghc program") $ lookupProgram ghcProgram progdb
365365

366366
-- | Return the 'FilePath' to the GHC application data directory.
367+
--
368+
-- @since 3.4.0.0
367369
getGhcAppDir :: IO FilePath
368370
getGhcAppDir = getAppUserDataDirectory "ghc"
369371

Cabal/Distribution/Types/Dependency.hs

+2
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,8 @@ versionGuardMultilibs = do
166166
]
167167

168168
-- | Library set with main library.
169+
--
170+
-- @since 3.4.0.0
169171
mainLibSet :: NonEmptySet LibraryName
170172
mainLibSet = NES.singleton LMainLibName
171173

Cabal/Distribution/Types/Mixin.hs

+2
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ versionGuardMultilibs = do
7979
]
8080

8181
-- | Smart constructor of 'Mixin', enforces invariant.
82+
--
83+
-- @since 3.4.0.0
8284
mkMixin :: PackageName -> LibraryName -> IncludeRenaming -> Mixin
8385
mkMixin pn (LSubLibName uqn) incl
8486
| packageNameToUnqualComponentName pn == uqn

Cabal/Distribution/Types/PackageVersionConstraint.hs

+2-1
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,12 @@ instance Parsec PackageVersionConstraint where
6363
else
6464
pure (PackageVersionConstraint name (thisVersion ver))
6565

66-
66+
-- | @since 3.4.0.0
6767
thisPackageVersionConstraint :: PackageIdentifier -> PackageVersionConstraint
6868
thisPackageVersionConstraint (PackageIdentifier pn vr) =
6969
PackageVersionConstraint pn (thisVersion vr)
7070

71+
-- | @since 3.4.0.0
7172
simplifyPackageVersionConstraint :: PackageVersionConstraint -> PackageVersionConstraint
7273
simplifyPackageVersionConstraint (PackageVersionConstraint pn vr) =
7374
PackageVersionConstraint pn (simplifyVersionRange vr)

Cabal/Distribution/Types/SourceRepo.hs

+2-1
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,8 @@ instance NFData RepoKind where rnf = genericRnf
125125
-- obtain and track the repo depend on the repo type.
126126
--
127127
data KnownRepoType = Darcs | Git | SVN | CVS
128-
| Mercurial | GnuArch | Bazaar | Monotone | Pijul
128+
| Mercurial | GnuArch | Bazaar | Monotone
129+
| Pijul -- ^ @since 3.4.0.0
129130
deriving (Eq, Generic, Ord, Read, Show, Typeable, Data, Enum, Bounded)
130131

131132
instance Binary KnownRepoType

Cabal/Distribution/Verbosity.hs

+6
Original file line numberDiff line numberDiff line change
@@ -279,10 +279,14 @@ verboseNoTimestamp :: Verbosity -> Verbosity
279279
verboseNoTimestamp = verboseNoFlag VTimestamp
280280

281281
-- | Turn on timestamps for log messages.
282+
--
283+
-- @since 3.4.0.0
282284
verboseStderr :: Verbosity -> Verbosity
283285
verboseStderr = verboseFlag VStderr
284286

285287
-- | Turn off timestamps for log messages.
288+
--
289+
-- @since 3.4.0.0
286290
verboseNoStderr :: Verbosity -> Verbosity
287291
verboseNoStderr = verboseNoFlag VStderr
288292

@@ -326,6 +330,8 @@ isVerboseTimestamp :: Verbosity -> Bool
326330
isVerboseTimestamp = isVerboseFlag VTimestamp
327331

328332
-- | Test if we should output to stderr when we log.
333+
--
334+
-- @since 3.4.0.0
329335
isVerboseStderr :: Verbosity -> Bool
330336
isVerboseStderr = isVerboseFlag VStderr
331337

Cabal/Distribution/Verbosity/Internal.hs

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ data VerbosityFlag
2020
| VNoWrap
2121
| VMarkOutput
2222
| VTimestamp
23-
| VStderr
23+
| VStderr -- ^ @since 3.4.0.0
2424
deriving (Generic, Show, Read, Eq, Ord, Enum, Bounded, Typeable)
2525

2626
instance Binary VerbosityFlag

changelog.d/Cabal-QuickCheck

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
synopsis: Cabal-QuickCheck package with `Arbirary` instances
2+
prs: #6557 #6891
3+
issues: #6882
4+
packages: Cabal

changelog.d/Cabal-tree-diff

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
synopsis: Create Cabal-tree-diff package with `ToExpr` instances
2+
prs: #6789
3+
packages: Cabal

changelog.d/PerCompilerFlavor-functor

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
synopsis: `Cabal.Distribution.Compiler`: add `Traversable` instance for `PerCompilerFlavor`
2+
prs: #6763
3+
packages: Cabal

changelog.d/active-repositories

+12-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
11
synopsis: Add active-repositories configuration
22
packages: cabal-install
3-
prs: #6724
3+
prs: #6724 #6868
4+
issues: #6819
5+
significance: significant
6+
7+
description: {
8+
9+
New `active-repositories` `cabal.project` fields allows
10+
specifying an order and ways various package repositories are combined.
11+
12+
The active `active-repositories` is saved in `cabal.project.freeze`.
13+
14+
}

changelog.d/added-tests

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
synopsis: Tests additions
2+
prs: #6753 #6759 #6802 #6842 #6872
3+
issues: #6409
4+
5+
description: {
6+
7+
- Add shrinker, so writing big non-generic product shrinkers is easier
8+
- Add `hs-source-dirs: NL .` test-case
9+
- Add public multilib test(s)
10+
11+
}

changelog.d/backported

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
synopsis: Backported to 3.2
2+
packages: Cabal-internal
3+
prs:
4+
-- solver
5+
#5918 #6447
6+
-- buildinfo generator
7+
#6258
8+
-- bump version
9+
#6426
10+
-- cabal install -z
11+
#6428
12+
-- incomplete-uni-patterns
13+
#6433
14+
-- packages/optional packages empty
15+
#6436
16+
-- file+noindex
17+
#6448
18+
-- documentation
19+
#6450 #6464 #6473 #6546
20+
-- bounds
21+
#6455
22+
-- safe functions
23+
#6456
24+
-- Improve few internalErrors in InstallPlan
25+
#6439
26+
-- v2-run -z
27+
#6457
28+
-- test fixes
29+
#6463 #6499 #6518
30+
-- CI
31+
#6469
32+
-- show full abi hash
33+
#6498 #6496 #6476
34+
-- Create distTempDirectory in withTempEnvFile
35+
#6501
36+
-- cabal_macros.h zinza
37+
-- TODO: check whether it made to 3.2
38+
-- issue: #6533
39+
#6502 #6535
40+
-- disallow spaces around : in dependency
41+
#6538
42+
-- pkg-config
43+
#6540 #6541

changelog.d/build-reports

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
synopsis: Change `BuildReports` parse/pretty to use FieldGrammar framework
2+
prs: #6783
3+
packages: cabal-install

changelog.d/cabal-init

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
11
synopsis: Various `cabal init` improvements
22
packages: cabal-install
3-
prs: #6619 #6661 #6641 #6650 #6603 #6632 #6607
3+
prs: #6619 #6661 #6641 #6650 #6603 #6632 #6607 #6678 #6690 #6705 #6723 #6676 #6677
4+
issues: #6150 #6675
5+
significance: significant
46

57
description: {
8+
69
- Default to `cabal-version: 2.4`
710
- `cabal` doesn't force a default license choice anymore
811
- Licenses are always asked using SPDX expression
912
- Fix an infinite loop when invalid license was passed on command line
1013
- `Setup.hs` is not written anymore
1114
- Default to --source-dir=src and --application-dir=app
15+
- Add `FileCreators.generateCabalFile` unit tests.
16+
- Default cabal init application-dir to `app`, and source-dir to `src`.
17+
- Default to SPDX.NONE license in cabal init interactive mode.
1218

13-
TODO: complete the description
1419
}

changelog.d/cabal-list

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
synopsis: `cabal list` accepts regular expression
2+
packages: cabal-install
3+
prs: #6618 #6806
4+
issues: #4267 #6683
5+
significance: significant

changelog.d/cabal-project-local-tilde

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
synopsis: Tell users about `cabal.project.local~` in `cabal v2-configure`
2+
prs: #6877
3+
packages: cabal-install

changelog.d/issue-5813 renamed to changelog.d/cabal-sdist

+12-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
1-
synopsis: Fix v2-sdist permissions, they are now always readonly
2-
prs: #6454
3-
issues: #5813 #2940 #6611 #6514
1+
synopsis: Rework `v2-sdist` command
2+
packages: cabal-install
3+
issues: #6635 #5813 #2940 #6611 #6514
4+
prs: #6454 #6637 #6640 #6660 #6666 #6884 #6916
5+
significance: significant
46

57
description: {
6-
The #2940 "cabal sdist should touch preprocessed .hs files" issu
8+
9+
`v2-sdist` marks all files as readonly in resulting tarballs.
10+
11+
The #2940 "cabal sdist should touch preprocessed .hs files" issue
712
is fixed by virtue of not doing any preprocessing anymore.
813
It's responsibility of packager.
914

@@ -21,4 +26,7 @@ are run with explicit `sh` program. For package internal scripts,
2126
maintainers should also use interpreters explicitly as well.
2227
Scripts with shebangs are not executable on Windows.
2328

29+
The `v1-sdist` command is removed, as its functionality is completely
30+
superseded by `v2-sdist`.
31+
2432
}

changelog.d/cabal-spec-3.4

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
synopsis: Add cabal-version: 3.4
2+
prs: #6663
3+
significance: significant
4+
5+
description: {
6+
7+
See various changes in https://cabal.readthedocs.io/en/latest/file-format-changelog.html#cabal-version-3-4
8+
9+
}

changelog.d/cabal-testsuite

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
synopsis: Improvements to cabal-testsuite framework
2+
prs: #6643
3+
4+
desciption: {
5+
6+
- setupAndCabalTest uses cabal act-as-setup for cabal part
7+
8+
}

changelog.d/cabalInstallVersion

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
synopsis: Refactor cabalInstallVersions, add make doctest-cli
2+
packages: cabal-install
3+
prs: #6720

changelog.d/changelog

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
synopsis: Changelog entries
2+
packages: Cabal-internal
3+
prs: #6634 #6950

changelog.d/ci

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
synopsis: CI tweaks
2+
packages: Cabal-internal
3+
prs:
4+
#6494
5+
#6518
6+
#6559
7+
#6564
8+
#6571
9+
#6577
10+
#6578
11+
#6579
12+
#6585
13+
#6617
14+
#6636
15+
#6709
16+
#6827
17+
#6831
18+
#6900
19+
#6902
20+
#6914
21+
#6946
22+
issues:
23+
#6500
24+
#6945

changelog.d/code-organization

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
synopsis: Code organization
2+
prs: #6599 #6642 #6734 #6745 #6746 #6817 #6818 #6821 #6867
3+
4+
description: {
5+
6+
- Split `Distribution.Client.Types` module
7+
- Move cabal-testsuite code into `src/`
8+
- Add `ProjectFlags`
9+
- Add `NixStyleOptions`
10+
- Internal refactorings to install command.
11+
- Make own modules for `InstallMethod` and `OverwritePolicy`
12+
- Make cabal-install compilable with `NoImplicitPrelude`
13+
- Refactor shared `TargetProblem` data types into their own module.
14+
- Template `cabal-install.cabal` using zinza
15+
16+
}

changelog.d/copyright

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
synopsis: Update copyright years to 2020
2+
prs: #6644

changelog.d/dependency

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
synopsis: Dependency type refactorings
2+
packages: Cabal
3+
prs: #6798 #6768 #6895 #6896 #6897 #6898
4+
issues: #5570 #6894
5+
significance: significant
6+
7+
description: {
8+
9+
With additions of (public) sublibraries, `Dependency` type use for multiple needs become painful.
10+
Therefore a new type `PackageVersionConstraint` was added to serve *constraint on package* use-case.
11+
`Dependency` type is *dependency on a library component*, i.e. representing `build-depends` entry.
12+
13+
- Use PackageVersionConstraint more
14+
- Add NonEmptySet and use it in Dependency
15+
16+
}

changelog.d/described

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
synopsis: The grammar of most package description fields is formally documented
2+
prs: #6591 #6593 #6704 #6766 #6778 #6780 #6781 #6791 #6800
3+
4+
description: {
5+
6+
See https://cabal.readthedocs.io/en/latest/buildinfo-fields-reference.html
7+
8+
}

changelog.d/documentation

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1-
synopsis: Documentation updates
2-
prs: #6613
1+
synopsis: Documentation updates and typo-fixes
2+
prs:
3+
#6613 #6560 #6660 #6668 #6669 #6697 #6761 #6940
4+
#6504 #6550 #6686 #6928 #6954 #6953 #6951

changelog.d/expose-all-unfoldings

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
synopsis: Add -fexpose-all-unfoldings to parsec and Cabal in release project
2+
packages: cabal-install
3+
prs: #6708
4+
5+
description: {
6+
7+
This makes parser faster with acceptable code-size increase.
8+
9+
}

changelog.d/flag-assignment

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
synopsis: Flag assignment parsing refactorings
2+
prs: #6854 #6858
3+
issues: #6853

changelog.d/ghc-8.12

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
synopsis: Support GHC-8.12
2+
prs:
3+
#6735 #6844 #6865 #6848 #6908 #6947
4+
#6552 #6553 #6563 #6545
5+
issues: #6903 #6904 #6905
6+
significance: significant
7+
8+
description: {
9+
10+
- Support for `-this-package-key` deprecation
11+
- Use process `createPipe`
12+
- Add support for WINIO to Cabal
13+
- Adopt to simplfied subsumption changes
14+
15+
There are no magical `IO = WithCallStack Prelude.IO` alias in Cabal,
16+
as it is hard to get working with GHC-8.12's simplified subsumption.
17+
18+
}

changelog.d/ghci-fix

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
synopsis: Fix ghci being launched before other sources are built.
2+
prs: #6923
3+
4+
description: {
5+
6+
Related to foreign calls to C-sources.
7+
8+
}

changelog.d/help-remove-new-aliases

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
synopsis: Remove new- command from `--help` output (there are v2-)
2+
prs: #6930
3+
packages: cabal-install

0 commit comments

Comments
 (0)