Skip to content

Commit

Permalink
Merge pull request #6950 from phadej/changelog-3.4
Browse files Browse the repository at this point in the history
Update changelog for 3.4
  • Loading branch information
phadej authored Jul 13, 2020
2 parents 5ee43c8 + fde059f commit 3d4fdec
Show file tree
Hide file tree
Showing 82 changed files with 916 additions and 24 deletions.
1 change: 1 addition & 0 deletions Cabal/Distribution/Compat/DList.hs
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ runDList (DList run) = run []
singleton :: a -> DList a
singleton a = DList (a:)

-- | @since 3.4.0.0
empty :: DList a
empty = DList id

Expand Down
1 change: 1 addition & 0 deletions Cabal/Distribution/Compat/NonEmptySet.hs
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ import Control.Applicative (empty)
import Control.Monad (fail)
#endif

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

Expand Down
2 changes: 2 additions & 0 deletions Cabal/Distribution/Simple/GHC.hs
Original file line number Diff line number Diff line change
Expand Up @@ -364,6 +364,8 @@ toPackageIndex verbosity pkgss progdb = do
ghcProg = fromMaybe (error "GHC.toPackageIndex: no ghc program") $ lookupProgram ghcProgram progdb

-- | Return the 'FilePath' to the GHC application data directory.
--
-- @since 3.4.0.0
getGhcAppDir :: IO FilePath
getGhcAppDir = getAppUserDataDirectory "ghc"

Expand Down
2 changes: 2 additions & 0 deletions Cabal/Distribution/Types/Dependency.hs
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,8 @@ versionGuardMultilibs = do
]

-- | Library set with main library.
--
-- @since 3.4.0.0
mainLibSet :: NonEmptySet LibraryName
mainLibSet = NES.singleton LMainLibName

Expand Down
2 changes: 2 additions & 0 deletions Cabal/Distribution/Types/Mixin.hs
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ versionGuardMultilibs = do
]

-- | Smart constructor of 'Mixin', enforces invariant.
--
-- @since 3.4.0.0
mkMixin :: PackageName -> LibraryName -> IncludeRenaming -> Mixin
mkMixin pn (LSubLibName uqn) incl
| packageNameToUnqualComponentName pn == uqn
Expand Down
3 changes: 2 additions & 1 deletion Cabal/Distribution/Types/PackageVersionConstraint.hs
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,12 @@ instance Parsec PackageVersionConstraint where
else
pure (PackageVersionConstraint name (thisVersion ver))


-- | @since 3.4.0.0
thisPackageVersionConstraint :: PackageIdentifier -> PackageVersionConstraint
thisPackageVersionConstraint (PackageIdentifier pn vr) =
PackageVersionConstraint pn (thisVersion vr)

-- | @since 3.4.0.0
simplifyPackageVersionConstraint :: PackageVersionConstraint -> PackageVersionConstraint
simplifyPackageVersionConstraint (PackageVersionConstraint pn vr) =
PackageVersionConstraint pn (simplifyVersionRange vr)
3 changes: 2 additions & 1 deletion Cabal/Distribution/Types/SourceRepo.hs
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,8 @@ instance NFData RepoKind where rnf = genericRnf
-- obtain and track the repo depend on the repo type.
--
data KnownRepoType = Darcs | Git | SVN | CVS
| Mercurial | GnuArch | Bazaar | Monotone | Pijul
| Mercurial | GnuArch | Bazaar | Monotone
| Pijul -- ^ @since 3.4.0.0
deriving (Eq, Generic, Ord, Read, Show, Typeable, Data, Enum, Bounded)

instance Binary KnownRepoType
Expand Down
6 changes: 6 additions & 0 deletions Cabal/Distribution/Verbosity.hs
Original file line number Diff line number Diff line change
Expand Up @@ -279,10 +279,14 @@ verboseNoTimestamp :: Verbosity -> Verbosity
verboseNoTimestamp = verboseNoFlag VTimestamp

-- | Turn on timestamps for log messages.
--
-- @since 3.4.0.0
verboseStderr :: Verbosity -> Verbosity
verboseStderr = verboseFlag VStderr

-- | Turn off timestamps for log messages.
--
-- @since 3.4.0.0
verboseNoStderr :: Verbosity -> Verbosity
verboseNoStderr = verboseNoFlag VStderr

Expand Down Expand Up @@ -326,6 +330,8 @@ isVerboseTimestamp :: Verbosity -> Bool
isVerboseTimestamp = isVerboseFlag VTimestamp

-- | Test if we should output to stderr when we log.
--
-- @since 3.4.0.0
isVerboseStderr :: Verbosity -> Bool
isVerboseStderr = isVerboseFlag VStderr

Expand Down
2 changes: 1 addition & 1 deletion Cabal/Distribution/Verbosity/Internal.hs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ data VerbosityFlag
| VNoWrap
| VMarkOutput
| VTimestamp
| VStderr
| VStderr -- ^ @since 3.4.0.0
deriving (Generic, Show, Read, Eq, Ord, Enum, Bounded, Typeable)

instance Binary VerbosityFlag
Expand Down
4 changes: 4 additions & 0 deletions changelog.d/Cabal-QuickCheck
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
synopsis: Cabal-QuickCheck package with `Arbirary` instances
prs: #6557 #6891
issues: #6882
packages: Cabal
3 changes: 3 additions & 0 deletions changelog.d/Cabal-tree-diff
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
synopsis: Create Cabal-tree-diff package with `ToExpr` instances
prs: #6789
packages: Cabal
3 changes: 3 additions & 0 deletions changelog.d/PerCompilerFlavor-functor
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
synopsis: `Cabal.Distribution.Compiler`: add `Traversable` instance for `PerCompilerFlavor`
prs: #6763
packages: Cabal
13 changes: 12 additions & 1 deletion changelog.d/active-repositories
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
synopsis: Add active-repositories configuration
packages: cabal-install
prs: #6724
prs: #6724 #6868
issues: #6819
significance: significant

description: {

New `active-repositories` `cabal.project` fields allows
specifying an order and ways various package repositories are combined.

The active `active-repositories` is saved in `cabal.project.freeze`.

}
11 changes: 11 additions & 0 deletions changelog.d/added-tests
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
synopsis: Tests additions
prs: #6753 #6759 #6802 #6842 #6872
issues: #6409

description: {

- Add shrinker, so writing big non-generic product shrinkers is easier
- Add `hs-source-dirs: NL .` test-case
- Add public multilib test(s)

}
43 changes: 43 additions & 0 deletions changelog.d/backported
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
synopsis: Backported to 3.2
packages: Cabal-internal
prs:
-- solver
#5918 #6447
-- buildinfo generator
#6258
-- bump version
#6426
-- cabal install -z
#6428
-- incomplete-uni-patterns
#6433
-- packages/optional packages empty
#6436
-- file+noindex
#6448
-- documentation
#6450 #6464 #6473 #6546
-- bounds
#6455
-- safe functions
#6456
-- Improve few internalErrors in InstallPlan
#6439
-- v2-run -z
#6457
-- test fixes
#6463 #6499 #6518
-- CI
#6469
-- show full abi hash
#6498 #6496 #6476
-- Create distTempDirectory in withTempEnvFile
#6501
-- cabal_macros.h zinza
-- TODO: check whether it made to 3.2
-- issue: #6533
#6502 #6535
-- disallow spaces around : in dependency
#6538
-- pkg-config
#6540 #6541
3 changes: 3 additions & 0 deletions changelog.d/build-reports
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
synopsis: Change `BuildReports` parse/pretty to use FieldGrammar framework
prs: #6783
packages: cabal-install
9 changes: 7 additions & 2 deletions changelog.d/cabal-init
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
synopsis: Various `cabal init` improvements
packages: cabal-install
prs: #6619 #6661 #6641 #6650 #6603 #6632 #6607
prs: #6619 #6661 #6641 #6650 #6603 #6632 #6607 #6678 #6690 #6705 #6723 #6676 #6677
issues: #6150 #6675
significance: significant

description: {

- Default to `cabal-version: 2.4`
- `cabal` doesn't force a default license choice anymore
- Licenses are always asked using SPDX expression
- Fix an infinite loop when invalid license was passed on command line
- `Setup.hs` is not written anymore
- Default to --source-dir=src and --application-dir=app
- Add `FileCreators.generateCabalFile` unit tests.
- Default cabal init application-dir to `app`, and source-dir to `src`.
- Default to SPDX.NONE license in cabal init interactive mode.

TODO: complete the description
}
5 changes: 5 additions & 0 deletions changelog.d/cabal-list
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
synopsis: `cabal list` accepts regular expression
packages: cabal-install
prs: #6618 #6806
issues: #4267 #6683
significance: significant
3 changes: 3 additions & 0 deletions changelog.d/cabal-project-local-tilde
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
synopsis: Tell users about `cabal.project.local~` in `cabal v2-configure`
prs: #6877
packages: cabal-install
16 changes: 12 additions & 4 deletions changelog.d/issue-5813 → changelog.d/cabal-sdist
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
synopsis: Fix v2-sdist permissions, they are now always readonly
prs: #6454
issues: #5813 #2940 #6611 #6514
synopsis: Rework `v2-sdist` command
packages: cabal-install
issues: #6635 #5813 #2940 #6611 #6514
prs: #6454 #6637 #6640 #6660 #6666 #6884 #6916
significance: significant

description: {
The #2940 "cabal sdist should touch preprocessed .hs files" issu

`v2-sdist` marks all files as readonly in resulting tarballs.

The #2940 "cabal sdist should touch preprocessed .hs files" issue
is fixed by virtue of not doing any preprocessing anymore.
It's responsibility of packager.

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

The `v1-sdist` command is removed, as its functionality is completely
superseded by `v2-sdist`.

}
9 changes: 9 additions & 0 deletions changelog.d/cabal-spec-3.4
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
synopsis: Add cabal-version: 3.4
prs: #6663
significance: significant

description: {

See various changes in https://cabal.readthedocs.io/en/latest/file-format-changelog.html#cabal-version-3-4

}
8 changes: 8 additions & 0 deletions changelog.d/cabal-testsuite
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
synopsis: Improvements to cabal-testsuite framework
prs: #6643

desciption: {

- setupAndCabalTest uses cabal act-as-setup for cabal part

}
3 changes: 3 additions & 0 deletions changelog.d/cabalInstallVersion
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
synopsis: Refactor cabalInstallVersions, add make doctest-cli
packages: cabal-install
prs: #6720
3 changes: 3 additions & 0 deletions changelog.d/changelog
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
synopsis: Changelog entries
packages: Cabal-internal
prs: #6634 #6950
24 changes: 24 additions & 0 deletions changelog.d/ci
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
synopsis: CI tweaks
packages: Cabal-internal
prs:
#6494
#6518
#6559
#6564
#6571
#6577
#6578
#6579
#6585
#6617
#6636
#6709
#6827
#6831
#6900
#6902
#6914
#6946
issues:
#6500
#6945
16 changes: 16 additions & 0 deletions changelog.d/code-organization
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
synopsis: Code organization
prs: #6599 #6642 #6734 #6745 #6746 #6817 #6818 #6821 #6867

description: {

- Split `Distribution.Client.Types` module
- Move cabal-testsuite code into `src/`
- Add `ProjectFlags`
- Add `NixStyleOptions`
- Internal refactorings to install command.
- Make own modules for `InstallMethod` and `OverwritePolicy`
- Make cabal-install compilable with `NoImplicitPrelude`
- Refactor shared `TargetProblem` data types into their own module.
- Template `cabal-install.cabal` using zinza

}
2 changes: 2 additions & 0 deletions changelog.d/copyright
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
synopsis: Update copyright years to 2020
prs: #6644
16 changes: 16 additions & 0 deletions changelog.d/dependency
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
synopsis: Dependency type refactorings
packages: Cabal
prs: #6798 #6768 #6895 #6896 #6897 #6898
issues: #5570 #6894
significance: significant

description: {

With additions of (public) sublibraries, `Dependency` type use for multiple needs become painful.
Therefore a new type `PackageVersionConstraint` was added to serve *constraint on package* use-case.
`Dependency` type is *dependency on a library component*, i.e. representing `build-depends` entry.

- Use PackageVersionConstraint more
- Add NonEmptySet and use it in Dependency

}
8 changes: 8 additions & 0 deletions changelog.d/described
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
synopsis: The grammar of most package description fields is formally documented
prs: #6591 #6593 #6704 #6766 #6778 #6780 #6781 #6791 #6800

description: {

See https://cabal.readthedocs.io/en/latest/buildinfo-fields-reference.html

}
6 changes: 4 additions & 2 deletions changelog.d/documentation
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
synopsis: Documentation updates
prs: #6613
synopsis: Documentation updates and typo-fixes
prs:
#6613 #6560 #6660 #6668 #6669 #6697 #6761 #6940
#6504 #6550 #6686 #6928 #6954 #6953 #6951
9 changes: 9 additions & 0 deletions changelog.d/expose-all-unfoldings
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
synopsis: Add -fexpose-all-unfoldings to parsec and Cabal in release project
packages: cabal-install
prs: #6708

description: {

This makes parser faster with acceptable code-size increase.

}
3 changes: 3 additions & 0 deletions changelog.d/flag-assignment
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
synopsis: Flag assignment parsing refactorings
prs: #6854 #6858
issues: #6853
18 changes: 18 additions & 0 deletions changelog.d/ghc-8.12
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
synopsis: Support GHC-8.12
prs:
#6735 #6844 #6865 #6848 #6908 #6947
#6552 #6553 #6563 #6545
issues: #6903 #6904 #6905
significance: significant

description: {

- Support for `-this-package-key` deprecation
- Use process `createPipe`
- Add support for WINIO to Cabal
- Adopt to simplfied subsumption changes

There are no magical `IO = WithCallStack Prelude.IO` alias in Cabal,
as it is hard to get working with GHC-8.12's simplified subsumption.

}
8 changes: 8 additions & 0 deletions changelog.d/ghci-fix
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
synopsis: Fix ghci being launched before other sources are built.
prs: #6923

description: {

Related to foreign calls to C-sources.

}
3 changes: 3 additions & 0 deletions changelog.d/help-remove-new-aliases
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
synopsis: Remove new- command from `--help` output (there are v2-)
prs: #6930
packages: cabal-install
Loading

0 comments on commit 3d4fdec

Please sign in to comment.