Skip to content

Release 1.2.0 - #203

Draft
phpbits wants to merge 3 commits into
mainfrom
release/1.2.0
Draft

phpbits wants to merge 3 commits into
mainfrom
release/1.2.0

Conversation

@phpbits

@phpbits phpbits commented Nov 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

Release branch for version 1.2.0. This draft PR merges release/1.2.0 into main.

Changes since main

Status

Draft. End-to-end tests are still running. I will mark it ready for review when they pass.

…editor (#195)

* feat(editor-integration): preview the real beehiiv email of a saved post in the editor

Adds a Preview email button and modal (desktop and mobile views, from, subject and
preview text, sandboxed inert frame), a REST route that syncs a linked beehiiv draft
from the saved post and fetches the rendered email, and the draft lifecycle it needs:
created on first preview, updated in place, recreated when the publication or template
changes, kept across status changes, removed when Send to newsletter is turned off or
the post is deleted.

* fix(newsletter-publishing): import WP_Error in the sender

* chore: revert unrelated whitespace change in the publication send test

* fix(newsletter-publishing): replace a previewed draft with a real send on publish or schedule

* fix(newsletter-publishing): lock simultaneous previews so only one draft is created

* fix(editor-integration): poll for the preview email from the editor instead of waiting in PHP

* refactor(editor-integration): harden the preview frame, share the post read, and fix the preview E2E expectations

* refactor(editor-integration): share one preview eligibility check, purge stale locks, memoize the inert email, and cover the new paths

* refactor(editor-integration): move preview eligibility into its own class and lengthen the preview lock
* feat: meet WordPress VIP Integration Center conformance checks

Add vip-manifest.yaml, run PHPUnit and Playwright from composer test,
and widen the CI matrix to WP 6.9/7.0 and PHP 8.2-8.5.

* feat: read WordPress VIP runtime config

Read the VIP_BEEHIIV_CONFIG array for the API base URL, falling back to the
wp-config constant and the default. Missing or invalid config is ignored.
Add fixtures, tests, and README examples.
* test(e2e): add intake demo recording scripts

Playwright config, helpers and per-intake walkthrough scripts that record
one captioned demo video per intake. Output goes to the gitignored
tests/e2e/test-results/demo/ folder.

* test(e2e): add demo walkthrough for the require-template-choice intake

Records the settings toggle, the empty template field, the blocked send and
the unblocked send on the feature/19814561-settings-require-template build.

* test(e2e): show the pre-publish panel notice in the require-template demo

* test(e2e): add demo walkthrough for the email preview intake

Records the Preview email control, the sandboxed preview modal, the
save-before-preview rule, a failed preview with retry, and the unavailable
state on an already scheduled post.

* test(e2e): add mobile view to the email preview demo

* test(e2e): add demo walkthrough for the subscriber gating intake

* test(e2e): add demo walkthrough for the Group section intake
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