The Insertr is listed on the WordPress.org plugin directory. Use this guide to publish a new version via SVN.
- WordPress.org account: Commit access to the plugin’s SVN repo at
https://plugins.svn.wordpress.org/the-insertr/. - SVN installed locally (
svnon the command line). - Credentials: WordPress.org username and password, or Application Password for
svn commit(required if you use 2FA).
- trunk: Development version; copy the plugin files here.
- tags/X.Y.Z: Release version; create by copying trunk (e.g.
svn cp trunk tags/1.6.0). The plugin page uses the Stable tag inreadme.txtto decide which tag to offer as the stable download. - assets: Optional; icons and banners for the plugin page.
In readme.txt in this repo:
- Set Stable tag to the release version (e.g.
Stable tag: 1.6.0). This must match the tag folder name you create in step 6. (Do not set it to a WordPress version like 6.9.1; that goes in Tested up to.) - Set Tested up to to the latest WordPress version you’ve tested with (e.g.
6.9.1). - Ensure the Changelog has an entry for this version (e.g.
= 1.6.0 =). - Optionally add an Upgrade Notice for this version under
== Upgrade Notice ==.
From a directory of your choice (e.g. a sibling to this plugin):
# First time:
svn co https://plugins.svn.wordpress.org/the-insertr the-insertr-svn
cd the-insertr-svn
# If you already have a checkout:
cd the-insertr-svn
svn upFrom the SVN checkout directory, copy only the files that should be deployed. Use the plugin root path where you have this Git repo (e.g. /path/to/the-insertr).
Include:
| File or folder | Notes |
|---|---|
the-insertr.php |
Main plugin file |
readme.txt |
Required; Stable tag set |
build/ |
block.json, insertr-block.js |
index.php |
Security stub |
LICENSE.md |
Optional |
Exclude: .git/, .github/, .idea/, .docs/, tests/, .gitignore, CHANGELOG.md, README.md, CODE_OF_CONDUCT.md, DEPLOY.md, plugin assets/ (unless you are updating SVN assets/ for the plugin page).
Example (replace PLUGIN with your plugin path):
PLUGIN="/path/to/the-insertr" # e.g. full path to this repo
SVN_TRUNK="/path/to/the-insertr-svn/trunk"
cp "$PLUGIN/the-insertr.php" "$SVN_TRUNK/"
cp "$PLUGIN/readme.txt" "$SVN_TRUNK/"
cp "$PLUGIN/index.php" "$SVN_TRUNK/"
mkdir -p "$SVN_TRUNK/build"
cp "$PLUGIN/build/block.json" "$PLUGIN/build/insertr-block.js" "$SVN_TRUNK/build/"
cp "$PLUGIN/LICENSE.md" "$SVN_TRUNK/"Or with rsync (then remove any files that shouldn’t be in the repo):
rsync -av --exclude='.git' --exclude='.github' --exclude='.idea' --exclude='.docs' --exclude='tests' --exclude='.gitignore' --exclude='CHANGELOG.md' --exclude='README.md' --exclude='CODE_OF_CONDUCT.md' --exclude='DEPLOY.md' --exclude='assets' "$PLUGIN/" "$SVN_TRUNK/"From the SVN checkout directory:
cd the-insertr-svn
svn status- New files (e.g.
trunk/build/ortrunk/LICENSE.md):
svn add trunk/buildand/orsvn add trunk/LICENSE.md(and any other new paths). - Deleted files:
svn delete trunk/path/to/filefor any file you no longer deploy.
Then run svn status again and confirm the list looks correct before committing.
Create a new tag so the release is available as tags/X.Y.Z (e.g. tags/1.6.0):
svn cp trunk tags/X.Y.ZExample for 1.6.0:
svn cp trunk tags/1.6.0Ensure readme.txt in trunk (and thus in the new tag) has Stable tag: X.Y.Z matching this tag name.
svn status
svn commit -m "Release X.Y.Z: short description of changes"Example:
svn commit -m "Release 1.6.0: Gutenberg block, ACF compatibility, frontend-safe plugin checks, basic HTML in fallback"You will be prompted for your WordPress.org username and password (or Application Password). Commit access is under the account that owns the plugin (e.g. garethmorgans).
After a successful commit, WordPress.org will update the plugin page; the stable download will come from tags/X.Y.Z because of Stable tag in readme.txt.
- Update
readme.txt: Stable tag: X.Y.Z, Tested up to, changelog, and optional upgrade notice. - Checkout or update SVN:
svn coorsvn up. - Copy into trunk only the files to deploy (main PHP, readme.txt, build/, index.php, optional LICENSE.md).
svn addnew paths,svn deleteany removed paths.- Create tag:
svn cp trunk tags/X.Y.Z. svn commitwith a clear message; authenticate with your WordPress.org credentials.
To avoid committing the SVN working copy by mistake, add it to .gitignore:
the-insertr-svn/
Use the same directory name you used in svn co (e.g. the-insertr-svn).