dylang / changelog

Finally see what's changed when you do npm update. Changelog generates a changelog for npm modules and github repos.
https://npmjs.org/package/changelog
MIT License
240 stars 54 forks source link

"Changelog not found" bug for some versions of @material-ui/core #86

Open jedwards1211 opened 5 years ago

jedwards1211 commented 5 years ago
$ changelog @material-ui/core
3.6.2 / 2018-12-09
  * [CHANGELOG] Prepare v3.6.2
  * [core] Upgrade the dev dependencies
    (https://github.com/mui-org/material-ui/issues/13858)
  * [ToggleButton] Change ToggleButtonGroup non-exclusive default
    value to an empty array
    (https://github.com/mui-org/material-ui/issues/13857)
...

$ changelog @material-ui/core 3.6.0
3.6.0 / 2018-11-26
  * [CHANGELOG] Prepare v3.6.0
  * [docs] Notification Cyber Monday
  * [docs] Fix typo in URL
    (https://github.com/mui-org/material-ui/issues/13688)
...
$ changelog @material-ui/core v3.0.0
3.0.0 / 2018-08-27
  * Changelog not found.

But it's right here: https://github.com/mui-org/material-ui/releases/tag/v3.0.0

Surprised the "How it works" section of the README doesn't talk about where it actually looks for changelog information (Github releases? CHANGELOG.md? material-ui has both and they are very thorough and consistent)

jedwards1211 commented 5 years ago

Looking at the code, it looks like this package just tries to build a list of git commit messages.

In a well-maintained package, Github releases are going to be a better source of information than the commit messages. That or CHANGELOG.md. In many packages I've seen, it's not loud and clear from the commit messages what the breaking changes are in a major release.

The only major exception is semantic-release packages, where devs have to adhere to specific commit message formats for semantic-release to build the changelog info correctly for Github releases.

Nevermind this, obviously this package is only intended for generating information to add to a changelog. I came here looking for a command to quickly show changes (esp. breaking changes) of newer versions of packages I use. I'll probably just write my own tool to do that