Slide 1

Slide 1 text

Compose a Changelog Automate your CHANGELOG as part of a release cycle. Tracking software revisions, done right.

Slide 2

Slide 2 text

https://github.com/stevemao https://twitter.com/MaoStevemao

Slide 3

Slide 3 text

Hm? A new release? Why the heck should I upgrade?

Slide 4

Slide 4 text

Node.js v6 is RELEASED!!!!

Slide 5

Slide 5 text

What were the changes?

Slide 6

Slide 6 text

"semver to the rescue!" (http://semver.org)

Slide 7

Slide 7 text

BUT, what exactly are the CHANGES? 1.0.0 -> 1.0.1 1.0.0 -> 2.0.0 1.0.0 -> 1.1.0 Upgrade will make potential bugs in my app automagically disappear Upgrade will add additional features to my app. Still upgrade, but be extra careful (provide instructions as to how to upgrade). I was hoping…

Slide 8

Slide 8 text

https://github.com/nodejs/nodejs.org/pull/263 Just bump all your deps! CI is not complaining (SFFOLFFQFSJTTNJMJOH More features plz!! Automagically bug fixes

Slide 9

Slide 9 text

The reality is… Probably not

Slide 10

Slide 10 text

Changelog is necessary Disagree? Let’s remove all the necessary docs then :) Remove README Remove CONTRIBUTING Remove LICENSE CHANGELOG is just as important as these docs

Slide 11

Slide 11 text

Let’s dig into git history!

Slide 12

Slide 12 text

git diff-so-fancy?

Slide 13

Slide 13 text

So Fancy~

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

What? Not friendly to non-tech people Not so straight forward

Slide 16

Slide 16 text

What about git-changelog?

Slide 17

Slide 17 text

Write everything manually?

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

conventional-changelog Generate a changelog from git metadata

Slide 20

Slide 20 text

Automate docs generation?

Slide 21

Slide 21 text

The “Angular” notation

Slide 22

Slide 22 text

SERIOUSLY? Why?

Slide 23

Slide 23 text

Transform it

Slide 24

Slide 24 text

Templates

Slide 25

Slide 25 text

GitHub releases?

Slide 26

Slide 26 text

What inspires us? conventional-recommended-bump - Get a recommended version bump based on conventional commits conventional-commits-detector - Detect what commit message convention your repository is using commitizen - Simple commit conventions for internet citizens. angular-precommit - Pre commit with angular conventions conventional-changelog-lint - Lint commit messages against your conventional-changelog preset Standard Version - stop using npm version, use standard- version it rocks!

Slide 27

Slide 27 text

Tool integrations gulp Grunt atom (editor) And more (to be continued)…

Slide 28

Slide 28 text

Who’s using the tool? Angular JSHint npm You!!

Slide 29

Slide 29 text

Questions?