Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update changelog for 3.4 #6950

Merged
merged 3 commits into from
Jul 13, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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