Skip to content

jdeniau/changelog-view

Repository files navigation

Changelog view Build Status

Display dependencies changelog directly in your terminal.

It list only the changes between the specified version and the latest version. You can see it as a git diff between version for changelogs.

demo

Usage

With npx (require npm >= 5.2):

npx changelog-view <package@currentVersion> [<package@currentVersion> ...]

Example

npx changelog-view howardabrams/[email protected] mapado/[email protected]

If you don't have npm >= 5.2 or if you prefer installing the package, you can install it with npm/yarn :

yarn install --dev changelog-view # yarn
# or
npm install (-g) changelog-view # npm

And then the binary will be located in node_modules/.bin/changelog-view

In a JavaScript / PHP project ?

changelog-view tries to detect automatically the current version of your currently installed dependencies.

It works fine with npm / yarn for JavaScript projects, and with composer for PHP projects.

Imagine you have this package.json:

{
  "dependencies": {
    "rest-client-sdk": "^1.0.0"
  }
}

The following command:

npx changelog-view rest-client-sdk

Will ouput:

... other version
## [1.0.1] - 2017-07-03 - [YANKED]

### Changed

    * Make urijs implementation work again but might be breaking
    * Url constructor passed with noTransform = true for better perf and avoid potential bugs

Same for PHP if you do

npx changelog-view behat/transliterator

Will output:

# CHANGELOG for "Behat/Transliterator"


# 1.2.0 / 2017-04-04

    * Stop Transliterator::postProcessText() breaking words containing apostrophes

Features

The package checks on github if a file named CHANGELOG.md or HISTORY.md is present.

If not, it tries to list the github releases.

It tries to parse the markdown files and filter only version greater than the specified version.

Automatic langage / dependency management package detection

  • [JavaScript] Automatically guess package informations from JavaScript projects
  • [PHP] Automatically guess package informations from composer.lock
  • [Python] Automatically guess package informations from Pipfile.lock (help wanted, does not seems easy to gets the github url as it relies on pypi). Can eventually rely on pip freeze command but seems to be "the old way"
  • [Go] Automatically guess package informations from Gopkg.lock (help wanted, but maybe easy because dependencies seems to be only github links in Go)
  • [Ruby] Automatically guess package informations from Gemfile.lock (help wanted, I did not really understand the Gemfile.lock principle)
  • Other languages: feel free to contribute, I just listed languages that came to my mind :)