Checking what is already published
This page is for whoever is about to release a theme. Do this at the start of every release, even if you released yesterday: someone else, or a script, may have released since.
Step by step
Tags on the remote:
git fetch --tags git tag -l 'v*' --sort=version:refname | tail -5 git ls-remote --tags origin | tail -5ls-remoteshows what the server has even if your fetch was refused for some reason.GitHub releases:
gh release list --limit 10What Packagist knows (for a Composer package):
curl -s https://repo.packagist.org/p2/yourvendor/mytheme.json | grep -o '"version":"[^"]*"' | head -5The first entries are the newest versions.
Take the highest number from all three. That is the number to raise (Choosing a version number).
When the lists disagree
| Situation | Meaning | Action |
|---|---|---|
| A tag without a release | A release was not finished | Create the release for that tag; do not reuse its number |
| A release whose tag your clone lacks | Your clone is behind | git fetch --tags |
| Packagist behind the tags | The update hook is missing or failed | Packagist shows an old version |
| Packagist ahead of your tags | A tag was deleted after Packagist read it | Never reuse that number; release the next one |
Related pages
- Sorting tags correctly
- A pushed tag is permanent
- Free documentation: this page is free to copy, translate and improve under the GNU FDL 1.3.
Become an Exponential Partner
Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.