Make sure AUTHORS.txt is up-to-date. Run this to update the file:
grunt update-authors
Clone jquery-release, cd inside and run the script:
node release.js --remote=jquery/jquery-ui
Before pushing the tag, check a few files:
dist/cdn, should have a regular and a min js file, along with all themesthemes/andui/should have@VERSIONreplaced- added or updated version property in 
bower.jsonandpackage.json 
Dry Run
To test the release process (it changes all the time), run the script against a fork of jquery-ui. See the jquery-release documentation for full details.
Fixing A Bad Release
If you screw up, and you even pushed the tag or the main branch, delete the tag before anyone gets a chance to pull it and revert the main commit.
Pre-releases
For a pre-release, run node release --pre-release={version}.
- The only CDN that gets updated is the jQuery CDN (automated).
 - The first pre-release will require creating a new versioned site for 
api.jqueryui.com.- All pre-releases require updating the CDN version for the API demos.
 
 - jqueryui.com will continue to run demos from the current stable version.
 - Skip notifying other projects.
 
Create Changelog
The release script generates a shell for the changelog along with a dump of all commits and closed tickets. Finalize the changelog, by looking for all remaining __TICKETREF__ entries, and either fixing the missing reference, deleting the placeholder but keeping the line, or deleting the entire line. Then add it to the jqueryui.com repo:
- Add 
page/changelog/{version}.md. - Modify 
page/changelog.mdto include a link to the new changelog. 
If this is a major release, create an upgrade guide.
- Add 
page/upgrade-guide/{version}.md. - Modify 
page/upgrade-guide.mdto include a link to the new upgrade guide. 
Update GitHub
- Create a milestone for the next release if one doesn't exist yet.
 - If this is a stable release, close the relevant milestone on GitHub. Move any open issues/PRs in that milestone to a milestone for the next version.
 - For stable versions: go to the Releases tab and create an entry for the release. It should be very simple, it should mostly link to the release blog post. See previous entries for a pattern.
 
Update CDNs
jQuery CDN
Nothing to do here, all automated. Just check that the new release is on releases.jquery.com.
Google CDN
- Email Google and attach zip.
 
Microsoft CDN
- Use CDN upload tool and email Microsoft.
 
download.jqueryui.com
- Update 
config.jsonto include the new version. Update the jQuery version if necessary. - Add/update 
template/zip/index-*.htmlto include any new widgets - Commit
 - Run 
npm version patchandnpm publish - Push 
mainand the new tag to GitHub. 
jqueryui.com
- Update changelog and upgrade guide (see above).
 - Update homepage versions and links.
 - Update version and supported browsers on browser-support page.
 - Add pages for any new widgets (and add it to the demos index, if still necessary).
 - Update 
page/download/all.mdto include the new release. - Update package.json with new 
download.jqueryui.comversion. npm install- Add code and theme zips to 
/resources/download/- Run 
grunt build-download create-quickdownload(see #9743). - Then add the new zip files, 
git addthem. 
 - Run 
 - Commit and push to GitHub.
 
api.jqueryui.com
- If necessary, create a new 
x-xbranch. To get it deployed:- Add to 
sites.phpinjquery-wp-content - Update 
hieradata/common.yamlininfrastructure-puppet, pushstagingto GitHub 
 - Add to 
 - If available, merge the 
x-xbranch with updates for the new version into master. - Update versions in other files: Search for the previous version number and update all references.
 - Commit and push to GitHub.
 
jquery-wp-content
- Update 
themes/api.jqueryui.com/functions.phpto include the new version - If necessary, updated 
sites.php(see above) - Commit and push to GitHub.
 
Debugging
If any of these fail, try ssh builder-01.ops.jquery.net and look into /usr/local/wordpress-repos/ or /var/www/download.jqueryui.com
Finally
- Review everything on stage.
 - If there was an 
infrastructure-puppetchange, mergestagingtoproduction. - Point the 
deployedbranch to the previously created tag indownload.jqueryui.com, push thedeployedbranch. - Tag 
jqueryui.comand push to GitHub. - Tag 
api.jqueryui.comand push to GitHub. - Tag 
jquery-wp-contentand push to GitHub. - Verify results on live server.
 
Write Blog Post
See previous blog post for outline. Pick the right one for major/minor releases.
- Use the generated 
contributorsfile for the list of people to thank. Remove duplicates (mostly username vs full name). Use this to generated comma-separated list: 
ruby -e 'puts File.read("contributors.txt").split("\n").join(", ")' | pbcopy
- Search for the previous version number and update all references.
 - Reference the right upgrade guide and changelog.
 - Update the narrative parts, usually the first paragraph.
 - Save draft, check all links, have someone review it.
 - Publish!
 
Tweet about it
Look at previous release tweets for references. Don't get too creative.