With each release, new bundled theme versions should be published to the WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ theme directory when changes have been made.
Here is a list of steps that should be followed to prepare bundled themes to release a new version:
- Read each theme’s changelog in TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress., and create a changelog file with the highlights (used in Trac tickets, both coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and theme review). The changelog should start at the last version of the theme released.
- Create a new core Trac ticketticket Created for both bug reports and feature development on the bug tracker. (like #54783) to bump the POT and versions for each theme.
- Locally, check out the current version of the theme from the WordPress.org theme directory, e.g., the largest number in each of these directories:
- Compare with a diff tool to the theme versions in core trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running “trunk”, then you are on the latest revision., is there anything to test or note specifically? Any big unexpected changes?
- Test! Load the themes on all recent versions of WordPress (five back is a good place to start). Run the Theme Check plugin, and check for any errors or things we didn’t catch in the core cycle.
- Bump the theme versions by 0.1 in core, in each stylesheet.
- For themes with a
package.json
and/orcomposer.json
file, theversion
should be bumped by 0.1. Thepackage-lock.json
must also be updated by runningnpm install
. - Update “Tested up to” in each readme.
- If you’re updating Twenty Ten or Twenty Eleven, wait for the POT update for each theme to be committed, then proceed to make the ZIP packages (a committercommitter A developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers – a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component. is needed to trigger the POT files update). This can be done like this example
php makepot.php wp-theme ../../src/wp-content/themes/twentyeleven twentyeleven.pot
. Run that from thetools/i18n
directory. For all other default themes, translations are managed by WordPress.org GlotPress, outside of the theme. So this step isn’t necessary for Twenty Twelve and later. - Run the theme build script when one is present (currently Twenty Nineteen, Twenty Twenty, and Twenty Twenty-One). Some themes copy the version into generated files (RTL stylesheets, etc.).
Creating Theme ZIP Files
The recommended way to create the Zip file for a bundled theme update is using the Test Default Themes & Create ZIPs workflow. This workflow creates a ZIP file for each theme after performing several safety checks, such as ensuring there are no uncommitted changes to built files, and checking for zero-byte files.
This workflow should be manually run when the time has come to release the themes. All Core Committers have the ability to manually dispatch a run of the workflow. There are two input fields when clicking “Run workflow”:
- Use workflow from – This should always be left as trunk. Changes to the workflow are not backported to older branches. So running from
trunk
is always preferred to ensure the latest logic is used. - The branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a “branch”, such as “the 4.0 branch”. to create ZIP files from – This should be changed to the numbered branch that has the desired theme source code. Leaving this as
trunk
may result in undesired changes being included.

After the workflow completes, the ZIP files will be attached to the workflow run and can be found on the run’s summary page as artifacts.
Alternate Method
The following method is documented as a backup method for historical reference but is no longer recommended as the default way to package theme releases. There are a few nuances that are easy to miss when bundling manually (such as accidentally changing the line endings for files depending on system type), so extra care should be taken.
svn export
from core repository to a temporary location on your local hard drive.- Do another quick diff with the previous version for a final sanity check.
- Zip it:
zip -r [name].zip name
(Be sure the file name is the same as the theme directory path, otherwise the theme repository will consider the theme new on upload.)
Release Day and Deploying the Update to the Theme Directory
All contributors with WordPress Core commit access are able to upload new versions of the default themes to WordPress.org through the theme uploader. Updates should be approved automatically after submitting provided all of the checks that confirm a new version is being uploaded pass. When releasing on the same day as a version of WordPress, coordinate with the release squad.
Here is a checklist to use when releasing themes.
- Run through the above checklist to make sure every step has been accounted for.
- Share a message in #core that you are beginning the theme release process. This does not need to be a
@here
mention. - Dispatch a run of the GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ Actions Workflow.
- Once it completes, ask for help testing and verifying the ZIP files for each theme receiving an update. Perform your own testing and verification.
- Upload the themes one at a time to the Theme Submission page.
- Inspect the Theme Trac tickets created and examine the “Diff with previous version” for any unexpected changes.
- Notify #core when you’ve completed the process and all themes are uploaded.
Note: theme updates will go live automatically if manual intervention is not taken beforehand by the theme or metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. team. If this is not desired, contact them first to prevent the go-live process. If needed: note in the ticket, “Do not approve yet, please. We’d like to coordinate with the core release.”
PingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” the release leadRelease Lead The community member ultimately responsible for the Release. to coordinate with the main release process. The updates should be approved automatically. If anything goes wrong, @Otto42 can help.
Tips
- If a major version of WordPress is also being released with a new bundled theme, the oldest theme being bundled needs to be removed from the build script. To keep packages sizes down, only the 3 most recent default themes should be included in WordPress packages.
- If a theme has any code changes, that means it should get a version number bump and changelog update. Not updating the version number means a new version of the theme can’t be uploaded to the theme directory.
- Sometimes when looking at the diff of changes after a theme is uploaded, you may notice image or font files showing up as changed when they haven’t been changed. This is a Trac oddity.
- All default themes are marked as special cases on WordPress.org Themes Trac. Themes marked as special still show the theme check errors, but they upload anyway.
You must be logged in to post a comment.