Skip to content

chore: maintenance cleanup (stale PRs, reporter credit, dev deps) - #85

Open
Sinetheta wants to merge 4 commits into
masterfrom
chore/pr-triage-cleanup
Open

Sinetheta wants to merge 4 commits into
masterfrom
chore/pr-triage-cleanup

Conversation

@Sinetheta

@Sinetheta Sinetheta commented Oct 18, 2026 •

Copy link
Copy Markdown
Member

Maintenance cleanup ahead of the next patch release. Two of the old open PRs still made sense and are applied here (adapted to the current code), with the original author credited on the commit.

feat(buttons): optional target on [bs_button], from #72 (@No3x)

  • Fully backwards compatible: target is optional and omitted by default, so existing shortcodes render byte-identical HTML. A test asserts this exactly.
  • Allowlist: only _blank, _self, _parent and _top are accepted (case-insensitive). Any other value is dropped, not escaped through. The value is output with esc_attr inside double quotes.
  • _blank also adds rel="noopener noreferrer".
  • Editor: the Buttons popup gets an "Open link in" select. It defaults to "Same window", which leaves target out of the inserted shortcode, so the existing insert flow is unchanged. The popup is 60px taller so the Insert button stays visible.

docs(readme), from #61 (@No3x)

Adds a short Requirements note: the plugin loads Bootstrap's CSS and JS for you, and if your theme already includes Bootstrap you should uncheck the two load options so it isn't loaded twice. Squashed into the commit above.

chore: remove outdated agent instruction files

Removes .cursorrules and .agents/workflows/local-qa.md. They're stale for a repo in maintenance mode, and the README already documents wp-env setup and tests.

docs: credit Andrew Herd

Adds "Reported by Andrew Herd" to the 3.4.6 bs_tcontent stored-XSS entry in both readme.txt and CHANGELOG.md.

chore(deps): dev tooling update, Node 24

  • Upgrades @wordpress/env 10 → 11, @wordpress/scripts 31 → 36, release-it 19 → 21 and @release-it/conventional-changelog 10 → 12, and regenerates the lockfile.
  • Pins Node 24 LTS in volta and CI. Node 20 is end-of-life, and the new tooling needs Node 22.19 or newer.
  • Clears 94 of 149 npm audit advisories. The remaining ones are inside the latest upstream releases. All of this is dev-only; nothing here ships in the plugin.

Tests

  • PHPUnit: exact default output, empty target, _blank + rel, case-insensitivity, each allowed value, and dropped invalid/XSS values. 43 tests, all passing.
  • Playwright: a new spec inserts a button with a new-tab target; the existing button spec is unchanged. 12 tests, all passing. Both suites were re-run after the tooling upgrade.
  • coderabbit review --committed --base master: 0 findings.

Not released. Before cutting the next version: get the CVE ID for the bs_tcontent stored XSS (being requested from MITRE) and add it to the 3.4.6 changelog entry next to Andrew Herd's credit.

🤖 Generated with Claude Code

No3x and others added 2 commits October 18, 2026 12:45
Applied from #72, adapted to the current escaped bs_button output:

- target is optional and omitted by default, so existing shortcodes
  render exactly the same HTML as before
- only _blank, _self, _parent and _top are accepted (case-insensitive);
  any other value is dropped
- _blank also adds rel="noopener noreferrer"
- the Buttons popup gets an "Open link in" select defaulting to
  "Same window", which leaves target out of the inserted shortcode;
  the popup is 60px taller to fit it

Also applied from #61: a readme Requirements note explaining when to
uncheck the bundled Bootstrap CSS/JS settings (both original commits
squashed and reworded to name the exact settings).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
.cursorrules and .agents/workflows/local-qa.md are stale for a repo in
maintenance mode; the README already documents wp-env setup and tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 18, 2026
Sinetheta and others added 2 commits October 18, 2026 13:03
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- @wordpress/env 10 -> 11, @wordpress/scripts 31 -> 36,
  release-it 19 -> 21, @release-it/conventional-changelog 10 -> 12
- regenerate package-lock.json (npm 10 crashed resolving the new tree)
- pin Node 24 LTS in volta and CI; Node 20 is end-of-life and the new
  tooling requires Node >= 22.19

Clears 94 of 149 npm audit advisories. The rest sit in the latest
upstream releases and need upstream fixes. All dev-only; nothing here
ships in the plugin.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Sinetheta Sinetheta changed the title chore: salvage stale PRs #61 and #72 chore: maintenance cleanup (stale PRs, reporter credit, dev deps) Oct 18, 2026
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.

2 participants