Skip to content

chore(release): 1.5.2 - #361

Merged
ifahimreza merged 3 commits into
mainfrom
chore/release-1.5.2
Oct 12, 2026
Merged

ifahimreza merged 3 commits into
mainfrom
chore/release-1.5.2

Conversation

@ifahimreza

@ifahimreza ifahimreza commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Release 1.5.2, on Fahim's "fix major release issue what best fit and release 1.5.2".

Merge #360 first, then this. This branch contains #360's two commits, so its diff shrinks to the release commit once #360 is in. Both with merge commits.

What

What 1.5.2 carries

#334 ask before confirming · #339 Bridle and Bridle KB first-party · #342 runs beside the MCP adapter 0.7.0 · #346 magenta brand · #353-#358 installs from WordPress.org, update-core, update-translations · #360 major releases behind Saddle's own switch.

Testing

  • CI green on main 4b1db33 and on fix(updates): major WordPress releases need Saddle's own setting (#359) #360
  • PHPUnit 1512 tests, 1 skip that was already there (PHP 8.2); phpcs 0 errors; JS 342/342; lint:js clean
  • npm run build reproduces the committed admin/build byte for byte (node 26)
  • npx grunt build: saddle-1.5.2.zip, 327 files. No updater, no class-saddle-ecosystem.php, no includes/lib, no tests, no .md; 1.5.2 in the header, the constant and Stable tag; the exec-family grep has only prose hits
  • Plugin Check by path on the extracted zip: 0 errors, the same 4 known warnings as 1.5.1 (readme name, one adapter hook name, two dynamic hooks)
  • Real install, Playground with the built zip, as an MCP client:
    • a fresh install's tier row is read
    • a delete-page preview changed nothing
    • a confirmed delete-post ran once and moved the post to the trash; the reused token was refused
    • a revoked key got 401 saddle_credential_rejected
    • the Saddle key cannot reach the rest of the REST API
  • Major releases (update-core: major releases need Saddle's own setting, off by default #359) on that install: see fix(updates): major WordPress releases need Saddle's own setting (#359) #360. A real 7.0.7 → 7.1.3 update was applied after the owner turned the switch on.

After merge

Tag v1.5.2 on main. release.yml checks the versions, builds the zip, publishes the GitHub Release and pushes to WordPress.org SVN.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

ifahimreza and others added 3 commits October 13, 2026 05:07
update-core applied a major release when WordPress's "automatic updates for
all new versions" switch was on. WordPress turns that on by default for
sites installed since 5.6, so on most sites the owner never chose it, and
it decides what WordPress does unattended, not what an app may do after a
preview.

- New setting "Major WordPress releases" in Saddle → Settings → Updates,
  off by default. agent: read, and its option is protected, so no tool and
  no module setter can turn it on.
- update-core applies a major only when it is on, whatever WordPress's own
  switch says. Minor and security releases are unchanged.
- The runner checks it again when the run starts: turned off after the
  confirm, the update is skipped and logged.
- Copy: tool description, refusal, context line, readme, CLAUDE.md hard
  line, ROADMAP. .pot regenerated.

Closes #359

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Saddle → Settings is drawn by hand, so a schema field alone never showed:
the owner had no switch to flip. It is now the fourth Safety switch, saved
on flip through POST /preferences like the other three, with the id the
app's refusal links to (#saddle-field-saddle-core_major_updates). The
registry field is control: custom so no generic form draws it twice.
Set through one setter, Saddle_Offer_Runner::set_core_majors().

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Version 1.5.2 in all five places (plugin header, SADDLE_VERSION, readme
Stable tag, package.json, package-lock.json), a changelog line for the
magenta brand (#346), and the .pot header.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@ifahimreza
ifahimreza merged commit e8a4010 into main Oct 12, 2026
8 checks passed
@ifahimreza
ifahimreza deleted the chore/release-1.5.2 branch October 12, 2026 23:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant