- Use Cabal-syntax-3.12
- Support GHC-8.6.5...9.10.1
- Use Cabal-syntax-3.10
- Fix issue in previous release (license generation didn't work at all)
- Use Cabal-syntax-3.8.1.0
- Support Cabal-3.6
- Support aeson-2.0.0.0
- Drop support for GHC prior 8.2
- Use
cabal-install-parsers
to find and parse~/cabal/config
- Fix ascii/unicode output in
tred
- Add flags to hide setup and executable components in dot command
- Update dependencies (support
base16-bytestring-1.0.0.0
)
- Update dependencies (support
base16-bytestring-1.0.0.0
)
- Add
--ascii
/--unicode
flags to control output character set - Add
dot-png
command as a version ofdot
command with different defaults - Use
cabal-install-parsers
, this makeslicense-report
work with non-default configurations
- Support
local+noindex
style repositories: NewRepo
constructor:RepoLocalNoIndex
. - Support newer versions of dependencies (GHC-8.10, aeson-1.5, optics-core-0.3)
- Support
Cabal-3.2
- Add
findPlanJson
function
- Drop
process-extras
dependency
No changes
-
dot
command got new options--root
to limit graph to specific roots--output
to write directly to some file--run-dot-png
and--run-dot-pdf
to rundot
for you
-
cabal-plan
executable depends onoptics-core
instead oflens
. Therefore is buildable only with GHC-8.0+
ExactPath
constructor to skipfind
infindAndDecodePlanJson
. (Note: see alsodecodePlanJson
)
--plan-json
for exactplan.json
location--relative
search for project root relative to that directory--colors=auto|never|always
flagtred
command to print transtive reduction of dependency graphdiff
command to compare two planslist-bins
prints full selector "pkg:type:name", i.e. includes package name
- New
dispCompNameTarget
function for pretty-printingCompName
s in cabal's target-selector syntax. - Add support for cabal 2.4's
pkg-src
package provenience metadata. - Add support for cabal 2.4.1's
pkg-cabal-sha256
package description checksum field.
- Add support for including package description checksums in
fingerprint
output - Add support for printing flag selection in
topo
output - Fail gracefully in
license-report
when metadata cannot be found in index
- New
SearchPlanJson
type to specify strategy for locatingplan.json
- Add
SearchPlanJson
parameter tofindAndDecodePlanJson
function and change return type - Expose separate
findProjectRoot
operation
- New command
license-report
(requires Cabal flaglicense-report
to be active)
- Add support for foreign-lib components.
- Add support for
dist-dir
plan.json
field. - Make
Sha256
type abstract and add newsha256{To,From}ByteString
conversion functions, as well as the newparseSha256
function. - Introduce
FlagName
newtype. - Add
FromJSONKey
/ToJSONKey
instances forUnitId
,PackageName
, andPkgId
.
- smart completer for list-bin/list-bins pattern
- new command
topo
(printing out topographic sorting of install-plan) dot
prints component dependency graph. New options:--tred
transitive reduction--tred-weights
Adjust edge thickness during transitive reduction--path-from pkgA --path-from pkgB
Highlight dependency paths from pkgA to pkgB--revdep pkg
highlight reverse dependencies of pkg in the install plan
- Add an optional
--builddir
argument to all commands and tofindAndDecodePlanJson
function. - Add experimental support for underlining.
- Reimplement CLI with
optparse-applicative
. - Add new sub-command
list-bins
and change semantics of existinglist-bin
sub-cmd.
- Add
cabal-plan fingerprint
command for printing sha256 sums of source tarballs.
- First version. Released on an unsuspecting world.