# Revision history for `cabal-plan` ## 0.6.1.0 ### `lib:cabal-plan` Library No changes ### `exe:cabal-plan` Executable * `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 run `dot` for you * `cabal-plan` executable depends on `optics-core` instead of `lens`. Therefore is buildable only with GHC-8.0+ ## 0.6.0.0 ### `lib:cabal-plan` Library * `ExactPath` constructor to skip `find` in `findAndDecodePlanJson`. (Note: see also `decodePlanJson`) ### `exe:cabal-plan` Executable * `--plan-json` for exact `plan.json` location * `--relative` search for project root relative to that directory * `--colors=auto|never|always` flag * `tred` command to print transtive reduction of dependency graph * `diff` command to compare two plans * `list-bins` prints full selector "pkg:type:name", i.e. includes package name ## 0.5.0.0 ### `lib:cabal-plan` Library * New `dispCompNameTarget` function for pretty-printing `CompName`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. ### `exe:cabal-plan` Executable * 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 ## 0.4.0.0 ### `lib:cabal-plan` Library * New `SearchPlanJson` type to specify strategy for locating `plan.json` * Add `SearchPlanJson` parameter to `findAndDecodePlanJson` function and change return type * Expose separate `findProjectRoot` operation ### `exe:cabal-plan` Executable * New command `license-report` (requires Cabal flag `license-report` to be active) ## 0.3.0.0 ### `lib:cabal-plan` Library * Add support for foreign-lib components. * Add support for `dist-dir` `plan.json` field. * Make `Sha256` type abstract and add new `sha256{To,From}ByteString` conversion functions, as well as the new `parseSha256` function. * Introduce `FlagName` newtype. * Add `FromJSONKey`/`ToJSONKey` instances for `UnitId`, `PackageName`, and `PkgId`. ### `exe:cabal-plan` Executable * 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 ## 0.2.0.0 * Add an optional `--builddir` argument to all commands and to `findAndDecodePlanJson` function. * Add experimental support for underlining. * Reimplement CLI with `optparse-applicative`. * Add new sub-command `list-bins` and change semantics of existing `list-bin` sub-cmd. ### 0.1.1.0 * Add `cabal-plan fingerprint` command for printing sha256 sums of source tarballs. ## 0.1.0.0 * First version. Released on an unsuspecting world.