When releasing a new version of a WordPress plugin, it’s often good to get additional testing before rolling it out to all users. This tutorial will walk you through creating a test-ready version on WordPress.org for users to download and try, without triggering an immediate full release update notification for all installations.
Step 1: Prepare the Code in SVN Trunk
Update Code in Trunk: Start by pulling down the latest code for the new release into the trunk
directory of your SVN repository.
Edit readme.txt
: In trunk, update the readme.txt file to keep the “Stable Tag:” set to the current stable release version. This will prevent WordPress.org from automatically setting the new release as the latest stable version.
Step 2: Create a New Tag for Testing
Copy Trunk to a New Tag: Use the following SVN command to create a new tag:
svn cp trunk tags/<new version number>
Replace <new version number> with the actual version number you’re preparing, such as 1.2.0
Commit the Tag: Push the new tag up to SVN using:
svn ci -m 'prepping for <new version>'
Approve the New Version: You should receive an email from WordPress.org with a link to approve the new version. Follow this link and approve the version to make it available.
Step 3: Download the Test Version
After approval, the new version should be available for download within a few minutes. Users can access this version through:
- Navigating to the plugin’s page on WordPress.org.
- Clicking Advanced View (located near the bottom of the page).
- Scrolling to Advanced Options and selecting the new version from the Previous Versions dropdown.
- Clicking Download to get the test version zip file.
Step 4: Update the Stable Tag After Testing
Once users have tested the new version and you’re confident it’s stable:
Update the Stable Tag: Change the “Stable Tag:” in both trunk/readme.txt and tags/<new version>/readme.txt to reflect the new version number. Updating in the tag might not be necessary, but I like the folder to be up to date.
Commit the Changes: Push these changes to SVN to effectively release the new version.
svn ci -m 'official release of <new version>'
Step 5: Addressing Issues
If testing reveals any issues that need fixing, create a new version. Update the code, repeat the above steps to make a new tag, and communicate the new test version with your users. Unfortunately, WordPress.org does not allow updating an existing tag to generate a new zip, so each test requires a new version tag.
By following these steps, you can effectively test new versions of your plugin with advanced users before making them widely available, minimizing risks and ensuring a smoother release experience.