1# Maintaining 2## Release Process 3Chart.js relies on [Travis CI](https://travis-ci.org/) to automate the library [releases](https://github.com/chartjs/Chart.js/releases). 4 5### Releasing a New Version 6 71. draft release notes on [GitHub](https://github.com/chartjs/Chart.js/releases/new) for the upcoming tag 81. update `master` `package.json` version using [semver](https://semver.org/) semantic 91. merge `master` into the `release` branch 101. follow the build process on [Travis CI](https://travis-ci.org/chartjs/Chart.js) 11 12> **Note:** if `master` is merged in `release` with a `package.json` version that already exists, the tag 13creation fails and the release process is aborted. 14 15### Automated Tasks 16Merging into the `release` branch kicks off the automated release process: 17 18* build of the `dist/*.js` files 19* `bower.json` is generated from `package.json` 20* `dist/*.js` and `bower.json` are added to a detached branch 21* a tag is created from the `package.json` version 22* tag (with dist files) is pushed to GitHub 23 24Creation of this tag triggers a new build: 25 26* `Chart.js.zip` package is generated, containing dist files and examples 27* `dist/*.js` and `Chart.js.zip` are attached to the GitHub release (downloads) 28* a new npm package is published on [npmjs](https://www.npmjs.com/package/chart.js) 29 30Finally, [cdnjs](https://cdnjs.com/libraries/Chart.js) is automatically updated from the npm release. 31 32### Further Reading 33 34* [Travis GitHub releases](https://github.com/chartjs/Chart.js/pull/2555) 35* [Bower support and dist/* files](https://github.com/chartjs/Chart.js/issues/3033) 36* [cdnjs npm auto update](https://github.com/cdnjs/cdnjs/pull/8401) 37