These are the steps to take to release a new version of User Switching (for contributors who have push access to the GitHub repo).
- Check the milestone on GitHub for open issues or PRs. Fix or reassign as necessary.
- If this is a non-patch release, check issues and PRs assigned to the patch or minor milestones that will get skipped. Reassign as necessary.
- Ensure you're on the
developbranch and all the changes for this release have been merged in. - Ensure
readme.mdandreadme.txtcontain up to date "Tested up to" versions, descriptions, FAQs, screenshots, etc. - Ensure
.gitattributesis up to date with all files that shouldn't be part of the build.- To do this, run
git archive --output=user-switching.zip HEADthen check the contents for files that shouldn't be part of the package.
- To do this, run
- Run
composer testand ensure everything passes. - Run
git push origin develop(if necessary) and ensure CI is passing. - Prepare a changelog for the Releases page on GitHub.
- Bump the plugin version number:
npm run bump:patchfor a patch release (1.2.3 => 1.2.4)npm run bump:minorfor a minor release (1.2.3 => 1.3.0)npm run bump:majorfor a major release (1.2.3 => 2.0.0)
git push origin developgit push origin --tags- Enter the changelog into the release on GitHub and publish it.
- Approve the release on the WordPress.org release management dashboard.
git push origin develop:trunk
Publishing a release on GitHub triggers an action which deploys the release to the WordPress.org Plugin Directory. No need to touch Subversion.
New milestones are automatically created for the next major, minor, and patch releases where appropriate.
- If this is a non-patch release, manually delete any unused patch and minor milestones on GitHub.
- Resolve relevant threads on the plugin's support forums.
Assets such as screenshots and banners are stored in the .wordpress-org directory. These get deployed as part of the automated release process too.
In order to deploy only changes to assets and the readme file, push the change to the deploy branch. This allows for the "Tested up to" value to be bumped as well as assets to be updated in between releases. Changes to files other than assets and the readme file will be ignored.