Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 25 additions & 2 deletions .github/workflows/deploy-to-wp-org.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,18 @@ name: Deploy to WordPress.org
# WPORG_SVN_USERNAME — WordPress.org username (case-sensitive: odanree)
# WPORG_SVN_PASSWORD — SVN password from wordpress.org "Account & Security"
#
# Tag must match the version in readme.txt's "Stable tag:" — the action reads
# that value to know which SVN tag to create.
# Triggers:
# - push to a v* tag → ships a new release; the tag must match
# "Stable tag:" in readme.txt (the `v` prefix is git-only).
# - workflow_dispatch → re-syncs main → SVN trunk/ without cutting a
# new release. Useful for readme polish on top of an existing tag.
#
# Version resolution:
# The 10up action's default version derivation breaks under
# workflow_dispatch (GITHUB_REF=refs/heads/main, which it tries to
# write to tags/refs/heads/...). We always read "Stable tag:" from
# readme.txt and pass it explicitly so both triggers land on the
# correct SVN tag.

on:
push:
Expand All @@ -24,9 +34,22 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Read Stable tag from readme.txt
id: stable
shell: bash
run: |
version="$(grep -E '^Stable tag:' readme.txt | head -1 | sed -E 's/^Stable tag: *//' | tr -d '\r ')"
if [ -z "$version" ]; then
echo "Could not parse 'Stable tag:' from readme.txt" >&2
exit 1
fi
echo "version=$version" >> "$GITHUB_OUTPUT"
echo "Resolved Stable tag: $version"

- name: WordPress Plugin Deploy
uses: 10up/action-wordpress-plugin-deploy@stable
env:
SVN_USERNAME: ${{ secrets.WPORG_SVN_USERNAME }}
SVN_PASSWORD: ${{ secrets.WPORG_SVN_PASSWORD }}
SLUG: odr-image-optimizer
VERSION: ${{ steps.stable.outputs.version }}
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.0.10] - 2026-06-10

### Fixed

- **Docs:** Listing copy on WordPress.org corrected. Admin menu location (top-level, not under Settings), FAQ toggle list aligned with `register_setting` in `class-settings.php`, missing 1.0.1 changelog entry restored, 1.0.8 upgrade notice added.
- **Docs:** Performance results table now hedged as "reference test site" rather than read as a universal guarantee.
- **Docs:** Removed personal email from the Credits block to reduce scraping. Removed `== Screenshots ==` section until banner/icon/screenshots are produced in `.wordpress-org/`.
- **CI:** `deploy-to-wp-org.yml` now resolves the SVN tag from `Stable tag:` in `readme.txt` instead of inferring from `GITHUB_REF`. Previous behaviour created paths like `tags/refs/heads/main` on `workflow_dispatch` runs and aborted before committing to trunk.

### Notes

- 1.0.9 was created as an SVN tag (`tags/1.0.9/`) but its contents were wrong: the stacked PR that bumped the version was merged into its base branch (`docs/readme-accuracy-pass`) instead of `main`, so the merge commit was orphaned when the base branch got deleted. The `v1.0.9` git tag pointed at the previous commit and shipped trunk with `Stable tag: 1.0.8`. 1.0.10 cherry-picks the orphan changes and ships them properly. Don't reuse the 1.0.9 SVN tag — it stays as inert cruft in the directory.

## [1.0.8] - 2026-06-10

### Fixed
Expand Down
4 changes: 2 additions & 2 deletions odr-image-optimizer.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
* Plugin Name: ODR Image Optimizer
* Plugin URI: https://github.com/odanree/odr-image-optimizer
* Description: Professional high-performance image suite. Features SOLID-compliant WebP conversion, intelligent LCP preloading, and automated critical path cleanup for a 100/100 Lighthouse score.
* Version: 1.0.8
* Version: 1.0.10
* Author: Danh Le
* Author URI: https://danhle.net
* License: GPL v2 or later
Expand All @@ -23,7 +23,7 @@
* Requires at least: 6.0
* Requires PHP: 8.1
* Tested up to: 7.0
* Stable tag: 1.0.8
* Stable tag: 1.0.10
* Tags: images, performance, webp, lcp, speed, optimizer
*/

Expand Down
10 changes: 9 additions & 1 deletion readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Tags: images, performance, webp, speed, optimizer
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.1
Stable tag: 1.0.8
Stable tag: 1.0.10
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Expand Down Expand Up @@ -65,6 +65,11 @@ No. ODR works on all images, new and existing. Simply activate and the plugin ha

== Changelog ==

= 1.0.10 =
* Docs: Listing copy accuracy pass — admin menu location, FAQ toggle list, missing 1.0.1 entry, 1.0.8 upgrade notice, hedged performance numbers, removed personal email from credits, removed Screenshots section pending real screenshots.
* CI: Deploy workflow resolves the SVN tag from `Stable tag:` in `readme.txt`, so `workflow_dispatch` runs no longer try to create `tags/refs/heads/...` from the branch ref.
* Note: 1.0.9 was created as an SVN tag but never actually shipped — the stacked PR carrying the version bump merged into its base branch instead of `main`, so its `Stable tag` value came out wrong. 1.0.10 is the real ship vehicle.

= 1.0.8 =
* Fix: Move image backups out of the plugin folder. Backups now live under `wp-content/uploads/odr-image-optimizer/backups/<relative path>/` instead of a `.backups` directory next to each media file, per WordPress.org plugin guidelines. Reverts of images optimized on older versions still read from the legacy location as a one-time fallback.
* Chore: Remove non-permitted distribution files (development sed script, build-artifact zips) from the plugin root.
Expand Down Expand Up @@ -119,6 +124,9 @@ No. ODR works on all images, new and existing. Simply activate and the plugin ha

== Upgrade Notice ==

= 1.0.10 =
Documentation-only release. The listing copy on WordPress.org now matches the actual settings UI; no plugin code changes. (Skipped 1.0.9 — the tag exists in SVN but was built from an orphan merge commit.)

= 1.0.8 =
Image backups have moved out of the plugin folder. Existing backups continue to work; new optimizations write to wp-content/uploads/odr-image-optimizer/backups/ for WordPress.org guideline compliance.

Expand Down
Loading