Skip to content

Releases: plugpressco/saddle

v1.5.2

Choose a tag to compare

@github-actions github-actions released this 12 Oct 23:48
e8a4010

What's Changed

Full Changelog: v1.5.1...v1.5.2

v1.5.1

Choose a tag to compare

@github-actions github-actions released this 05 Oct 11:13
07d9ab7

What's Changed

Full Changelog: v1.5.0...v1.5.1

v1.5.0

Choose a tag to compare

@github-actions github-actions released this 04 Oct 17:17
b40e289

What's Changed

  • docs(roadmap): Phase 1 calls — bulk post operations move to Pro (#224) by @ifahimreza in #226
  • fix: Divi context bundle carries the site's global fonts (#214) by @ifahimreza in #227
  • test: pin that pause keeps the whole tool list on both transports (#217) by @ifahimreza in #228
  • feat: list summaries carry slug; pages carry parent and menu order (#215) by @ifahimreza in #229
  • fix(oauth): accept any port on loopback redirect URIs (RFC 8252 §7.3) (#216) by @ifahimreza in #230
  • feat: saddle/self-check — an agent diagnoses its own connection (#222) by @ifahimreza in #232
  • feat: upload-media accepts the file inline as base64 (#220) by @ifahimreza in #233
  • feat: verify-page can confirm the public page serves the saved content (#221) by @ifahimreza in #234
  • chore(release): 1.4.0 — version bump, self-hosted zip, not released (#235) by @ifahimreza in #236
  • fix: Connection check read "unknown" on real sites — split the nonce probe (#237) by @ifahimreza in #239
  • fix: verify-page public check kept the page as one passage (#238) by @ifahimreza in #240
  • feat(integrations): treat Saddle Analytics as first-party (#211) by @ifahimreza in #212
  • docs(roadmap): 2026-09-27 evening decisions and reopened picks by @ifahimreza in #246
  • feat(connect): lead with one address; keys become the fallback (#243) by @ifahimreza in #245
  • feat(integrations): Saddle Rank is first-party, and rank- never claims rank-math- (#241) by @ifahimreza in #242
  • feat(site): apply offered plugin and theme updates through core's updater, gated; site health by @ifahimreza in #247
  • docs: family orientation block, Author URI saddle.to, three stale guide facts by @ifahimreza in #249
  • release: 1.5.0, all free roadmap work combined and tested by @ifahimreza in #264
  • chore: re-vendor MCP Adapter 0.6.1 (#218) by @ifahimreza in #231
  • feat(site-editor): template, part and pattern writes, DB-only (#172) by @ifahimreza in #259
  • feat(mcp): Skills as MCP prompts (#178) by @ifahimreza in #261
  • fix(mcp): keep the adapter's shared server when another plugin uses it (#219) by @ifahimreza in #262
  • fix(copy): the tab is Apps, not Connections, in five strings by @ifahimreza in #248
  • feat(authoring): dynamic blocks take children, so agents can build with a plugin's section blocks (#251) by @ifahimreza in #252
  • fix(blocks): list content replaces its items; verify flags unwrapped children (#250) by @ifahimreza in #253
  • feat(connect): one-click Add to Cursor and Add to VS Code (#179) by @ifahimreza in #254
  • feat(undo): saddle/undo-changes, gated reversal of any logged change (#181) by @ifahimreza in #255
  • feat(rehearsal): write tools answer with what they would do, save nothing (#180) by @ifahimreza in #256
  • feat(content): custom post types through the post tools (#137) by @ifahimreza in #257
  • feat(menus): menu tools for classic themes (#244) by @ifahimreza in #258
  • feat(lint): link and button names, vague link text, title length, excerpt (#183) by @ifahimreza in #260
  • feat(admin): olive brand colour, matching saddle.to (#198) by @ifahimreza in #263
  • feat(tools): send openWorldHint on every tool (#267) by @ifahimreza in #268
  • feat(connect): Add to Claude, OpenClaw and Grok (#265) by @ifahimreza in #266
  • feat: first run reads the site, then connects (#269) by @ifahimreza in #270
  • feat: connection registry, which app is connected and its first tool call (#272) by @ifahimreza in #273
  • feat(admin): Saddle submenu pages, a Context page, and Connections > Apps (#274) by @ifahimreza in #275
  • feat(admin): settings schema, module tools and notices (#276) by @ifahimreza in #278
  • feat(admin): first run proves the connection, then asks (#277) by @ifahimreza in #279
  • feat(admin): header band, Petrol brand, WordPress-native look (#280) by @ifahimreza in #283
  • feat(admin): minimal Home, Settings, Connections, Context and Activity (#281, #282) by @ifahimreza in #284
  • feat(admin): four pages, per-app access and Needs your OK (#285, #286, #287) by @ifahimreza in #290
  • fix: messages no longer name the removed Permissions screen (#296) by @ifahimreza in #297
  • feat(admin): a Services page, one services registry, Unsplash in WordPress Connectors (#291) by @ifahimreza in #298
  • fix(services): short meta line for long add-on descriptions (#299) by @ifahimreza in #300
  • fix(admin): Jetpack AI's look: surfaces, one type scale, one grey, quiet tabs (#307) by @ifahimreza in #308
  • fix: an MCP Adapter older than 0.5.0 no longer fatals every REST request (#301) by @ifahimreza in #303
  • fix: customer-path polish — first run, activity names the app, agent context (#302) by @ifahimreza in #304
  • feat(admin): chat-style welcome, AI switch in the header, Home (#309) by @ifahimreza in #310
  • fix(admin): the Connect drawer is a short recipe (#311) by @ifahimreza in #312
  • Family look: ui contract, views, palette, chart tokens, setup tasks (K2-K5, K8) by @ifahimreza in #313
  • Iconoir icons on the Saddle menu and tabs, and a drill-in header by @ifahimreza in #314
  • Plain admin copy: no em-dashes, filler or dash placeholders by @ifahimreza in #315
  • Module layout: breadcrumb header, module sidebar, icon page tabs by @ifahimreza in #316
  • chore: 1.5.0 release prep (stale bundle, one changelog) by @ifahimreza in #317
  • 1.5.0 release prep: QA fixes, .htaccess wording (#271), no-arg fatal (#306) by @ifahimreza in #318
  • fix: an argument to a no-argument tool is no longer a fatal (#305) by @ifahimreza in #306
  • 1.5.0: everything else (gate, D3, owner Undo, key drawer, polish) by @ifahimreza in #324
  • 1.5.0: palette v3, wp-admin's own greys by @ifahimreza in #325
  • fix(access): keys from before the update keep what they could do by @ifahimreza in #326

Full Changelog: v1.3.0...v1.5.0

v1.3.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 22:14
f8c9646

What's Changed

Full Changelog: v1.2.2...v1.3.0

v1.2.2

Choose a tag to compare

@github-actions github-actions released this 26 Sep 00:28
f8d5dd6

What's Changed

  • fix: MCP endpoint 404 with Gravity Forms 3.1, release 1.2.2 by @ifahimreza in #203

Full Changelog: v1.2.1...v1.2.2

v1.2.1

Choose a tag to compare

@github-actions github-actions released this 25 Sep 23:33
7949f3e

What's Changed

  • chore(release): 1.2.1 — Live Preview and a rewritten readme by @ifahimreza in #202

Full Changelog: v1.2.0...v1.2.1

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 23:13
dfa9f6f

What's Changed

  • docs: rewrite readme.txt and add readme writing guide by @ifahimreza in #196
  • docs: README rewrite, new plugin title, saddle.to links by @ifahimreza in #197
  • feat: free edits — Divi 5 page editing, SEO and WooCommerce reads move into free by @ifahimreza in #199
  • chore(release): 1.2.0 by @ifahimreza in #201

Full Changelog: v1.0.1...v1.2.0

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 23 Sep 22:56
dcafa19

What's Changed

Full Changelog: v1.0.0...v1.0.1

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 07 Sep 15:14

What's Changed

  • ci: provision WP core + SQLite so PHPUnit runs for real (#42) by @ifahimreza in #49
  • Untangle main: legible 401s (#36), MCP inputSchema normalization, admin dedupe + Guidance polish by @ifahimreza in #47
  • Security: SSRF fail-closed (#38) + pin the execute() permission contract (#39) by @ifahimreza in #48
  • docs: stop hard-coding the ability count (#41) by @ifahimreza in #50
  • ui: group Permissions tools by category + filter box (#43) by @ifahimreza in #51
  • ui: connect-wizard presets for Gemini CLI, VS Code, Windsurf (#46) by @ifahimreza in #52
  • ui: connection-health tile on Home (#45) by @ifahimreza in #53
  • ui: promote Memory to its own top-level tab (#44) by @ifahimreza in #54
  • feat: unified get-design-system + shared design-numbers guidance (#5) by @ifahimreza in #55
  • feat: bootstrap-design-system — gated starter system (#5) by @ifahimreza in #56
  • feat: section recipes (list/get-section-recipe) (#6) by @ifahimreza in #57
  • chore: release 1.0.0 — production-ready by @ifahimreza in #58
  • Agent-guidance fixes: skill bodies uncorrupted, verify honesty, composition rule, native builders by @ifahimreza in #76
  • chore: adopt github workflow agent rules (#78) by @ifahimreza in #79
  • fix: serve stateless MCP clients so ChatGPT can discover tools (#80) by @ifahimreza in #81
  • fix: clear the WordPress.org rejection (#82) by @ifahimreza in #87
  • chore: merge site-editor branch and cut 1.0.0-rc3 by @ifahimreza in #88
  • fix(guardrails): hold a wrapped destructive confirm to the args it previewed (#89) by @ifahimreza in #90
  • feat(tools): offer only the tools this credential can actually call (#91) by @ifahimreza in #92
  • fix(context): point at the tool that replaced five, and stop stuttering (#93) by @ifahimreza in #94
  • feat(playbook): ship the playbooks on every site that can use them (#95) by @ifahimreza in #96
  • fix(mcp): answer the handshake the way strict clients require (#97) by @ifahimreza in #98
  • Phase 1: correctness — log failed confirmed-destructive calls, warn on wrapper collisions by @ifahimreza in #66
  • Phase 2: security hardening — token user-binding, credential marker, log caps, domain enforcement (supersedes #67) by @ifahimreza in #99
  • Phase 3: DRY — shared integration engine, accessor resolver, gate registry by @ifahimreza in #68
  • Phase 4: builder taxonomy registry, tree profile contract, unified walkers by @ifahimreza in #69
  • fix: stop serving an MCP endpoint we never declared, and say what is offered (#86) by @ifahimreza in #100
  • chore: record the vendored adapter's one deviation as a script by @ifahimreza in #101
  • feat(context): one document, one heading level, whoever is contributing by @ifahimreza in #102
  • docs: STATUS — the four pillars, Mark's handshake bug, and the PR backlog cleared by @ifahimreza in #103
  • fix: group a self-enrolled integration's tools under Integrations, not Other (#59) by @ifahimreza in #104
  • chore(ui): install @plugpress/ui from npm instead of a GitHub tag by @ifahimreza in #105
  • chore: build 1.0.0-rc4 for testing by @ifahimreza in #106
  • fix: an OAuth connection can no longer be pinned to read forever (#107) by @ifahimreza in #108
  • chore: build 1.0.0-rc5 for testing by @ifahimreza in #109
  • fix: ship the ChatGPT tool-discovery shim in every build (#111) by @ifahimreza in #112
  • fix: record MCP health on the transport every zip actually ships (#115) by @ifahimreza in #116
  • fix: keep the vendored adapter out of the self-hosted channel (#113) by @ifahimreza in #117
  • chore: build 1.0.0-rc6 for testing by @ifahimreza in #118
  • docs(status): rc6, and the two defects in the diagnostic we were about to use by @ifahimreza in #119
  • fix: make the client-traffic trace answer the question it exists for (#120) by @ifahimreza in #122
  • fix: probe Bearer too, so a half-stripped host stops reading healthy (#121) by @ifahimreza in #123
  • chore: build 1.0.0-rc7 for testing by @ifahimreza in #124
  • docs(status): rc7 live, and the diagnosis I had to retract by @ifahimreza in #125
  • fix: OAuth bearer resolver fatal before init (#127) by @ifahimreza in #128
  • chore: build 1.0.0-rc8 for testing by @ifahimreza in #129
  • chore(oauth): annotate core rest_url filter for Plugin Check by @ifahimreza in #130
  • docs(status): rc8 built on Mark's correct diagnosis of the pre-init fatal by @ifahimreza in #131
  • fix: get-instructions description matches its tier-gated payload (#132) by @ifahimreza in #133
  • chore: tested up to 7.1 by @ifahimreza in #134
  • chore: drop the application-passwords readme tag by @ifahimreza in #135
  • chore: add chatgpt readme tag by @ifahimreza in #136
  • fix: display the native Pro SEO integrations on the Integrations screen (#143) by @ifahimreza in #144
  • fix: name the WooCommerce integration row (#146) by @ifahimreza in #147
  • fix: authorize every read against its target object (#148) by @ifahimreza in #149
  • chore: drop the unreachable duplicates in denial_reason() (#151) by @ifahimreza in #152
  • feat(admin): Saddle Violet, a flat rail, and a Dashboard that leads with a sentence (#153) by @ifahimreza in #154
  • fix(mcp): answer a notification 202 on whichever transport served it (#155) by @ifahimreza in #156
  • feat(admin): move the brand accent to #DA5CC7 (#157) by @ifahimreza in #158
  • fix(log): authorize the change history against its objects (#150) by @ifahimreza in #160
  • docs(wporg): answer round 2 where a re-scan reads it (#161) by @ifahimreza in #162
  • docs: session log for the wp.org round-2 close-out by @ifahimreza in #163
  • test: switch to a classic fixture theme instead of assuming one (#145) by @ifahimreza in #164
  • fix(oauth): advertise offline_access without letting it touch the tier clamp (#159) by @ifahimreza in #165
  • docs: roadmap reset and a current ChatGPT section (#166) by @ifahimreza in #167
  • ci(release): one tag deploys the .org build to WordPress.org SVN (#176) by @ifahimreza in #177

Full Changelog: v0.10.0...v1.0.0