Sometimes you want to look at a release after the fact: what actually shipped between two versions, why the bump landed where it did, or you need release notes for a range you never tagged notes for. ferrflow diff answers that.
ferrflow diff v1.4.0..v1.6.0 # single-package repo
ferrflow diff api v1.4.0..v1.6.0 # monorepo: name the package
It prints the range's commits each tagged with its own bump (major / minor / patch / none), highlights the breaking changes, summarises the files changed, and renders the changelog section for the range using your changelog config. Add --json for a structured object you can pipe into anything.
Each side of the range is a version or tag: v1.4.0 resolves to the tag directly in a single-package repo, or to the package's tag (api@v1.4.0) in a monorepo.