# Releasing ::: danger Important! Note: The following checklist is for committers only! For people who want to contribute a pull request, this isn't relevant! ::: ::: tip Branch All new work should be done in the `dev` branch. ::: ## To begin a new version: [_] Run the script `./start-version.sh ${version}`. [_] Check in the changed files. ## To release a new version, this checklist should be followed: [_] Get all commits since the last release with `git log > temp.txt`. [_] Add a section to the top of [the release notes](../RELEASE.md). [_] Be sure [the read me file](../README.md) is up to date, along with all the files in [docs](../docs). [_] Create a docker instance with `./docker-start.sh`. [_] Minify the various library versions with `npm run build`. [_] Update all personal projects to see if anything breaks. [_] Check the minified versions and other changed files in. [_] Merge the `dev` branch into `main`. [_] Push the merge to github with `git push`. [_] Update npm with `npm publish` or `npm publish --tag beta`. To do this in docker: ```bash docker run -v $(pwd):/srv/app -it abcjs /bin/bash npm login ``` [_] Build docs with `npm run docs:build`. [_] Push the change that npm publish created with `git push`. [_] Push new documentation with `./deploy-docs.sh`. [_] On github, "Draft a new release". * Click "releases". * Click "draft a new release" * The tag should be the release number (i.e. "3.0.0") * The title should be "Version 3.0.0 release" * The description should be a couple sentences about what the release is. [_] Add the binary to https://github.com/paulrosen/historical-abcjs-versions. [_] Read through all the issues to see if any should be closed. [_] Update https://abcjs.net. [_] Release a new version of the [WordPress plugin](https://wordpress.org/plugins/abc-notation/). * Repo at: `svn checkout https://plugins.svn.wordpress.org/abc-notation/` * Make changes in `/trunk` * When ready to release, make tag with right-click trunk, subversion => Branch or Tag, then pick "any location" and change the location to `.../tags/x.x.x` with the version number. * check in all changed files. [_] Release a new version of the vscode extension.