Core Forms 4.3.0-beta2
Pre-release. Same scope as v4.3.0-beta1 but pinned to the commit where CI is green (ESLint + PHPStan + PHP 8.1/8.2/8.3 unit tests all pass).
What's new vs beta1
- ESLint clean: ~80 prettier formatting issues autofixed,
eqeqeq!= null→ explicit!== undefined && !== null,@wordpress/no-unsafe-wp-apisandjsx-a11y/no-noninteractive-element-interactionssilenced where intentional.
Polls rework (carried over from beta1)
- Tabbed editor (Question / Settings / Schedule / Embed / Results), drag-to-reorder options, Duplicate row action, "Other" write-in toggle.
- Vote integrity rewrite:
voter_hashdedupe, cookie set on render (and persisted from AJAX),vote_limit=userrejects anon at submit, honeypot, per-IP rate limit, hourly auto-close cron. - Gutenberg block
core-forms/poll+ REST endpoints (/cf/v1/polls/{id}/resultspublic, list/single/analytics auth). - Live results polling (opt-in, 15s, pauses while tab hidden), change-vote window, bar/columns/percent result styles.
- Per-poll analytics screen + CSV export of raw votes.
- Accessibility:
<fieldset><legend>,role="progressbar"+aria-valuenow,aria-livestatus region, focus management,prefers-reduced-motion. - jQuery removed from poll frontend and admin JS.
- Schema migration (
cf_db_version→ 4.3.0) with backfill so historical dedupe keeps working.
Install on staging only. Real installs stay on 4.2.10 until stable 4.3.0.