Skip to content
{prefix}/can_save / {prefix}/can_reset filters, enforced by the REST endpoints; Save and Reset hide on stateless-only pages (#36).
header_actions page config key: link or dispatched buttons beside Save/Reset, via {prefix}/header_action/{pageId}/{id} (#37).
editor field accepts native wp.editor settings via args: tinymce, quicktags, media_buttons, wpautop, rows (#19).
- New
upload field: temporary local files passed to actions, never stored in the media library (#21).
- Actions can return a
download payload; table fields export the full dataset to CSV (#23).
menu_icon accepts a custom SVG, inline or as a file path (#29).
- Tabs and sections without their own
access key are shown only when the user can view one of their fields (#30).
- JSON Schema for page configs, plus a runtime config linter under
WP_DEBUG (#31).
- Behaviour change: the
action field’s label spacer is now opt-in via args.label_spacer (#42).
- Media picker pre-selects the stored attachments when opened (#17).
- Swap abandoned
rakit/validation for its maintained fork magewirephp/validation, silencing PHP 8.4 deprecation notices (#33).
editor subfields initialise in every repeater row and survive collapse, reorder and removal (#38).
- Plugins bundling the release zip no longer fatal on a shared Composer autoloader class; every copy registers and the newest one’s classes load (#35, reported by @christianvanthof).
- Action and header action handlers only receive values for fields the user can view; view-only fields carry the stored value, not the posted one (#51).
- Role-based access control via optional
access keys on tabs / sections / fields (strictly opt-in).
- Submenu pages via the new
parent boot option (#8).
- New
action field type — buttons that POST in-flight form values to a per-button hook (#9).
TableField dispatch is hooks-first with callback fallback for back-compat (#9).
- Default prose styling on the
html field (#8).
- Conditions DSL now works at the tab level.
- Repeater subfields support the conditions DSL (#13).
- Suppress third-party admin notices on Wireframe-managed pages — filterable via
wp-wireframe/suppress_admin_notices.
- Resolve admin assets correctly on Windows (#1).
- Honour
menu_slug in single-page App::boot() (#5, reported by @davidofchatham).
- Wrap React root in
SlotFillProvider (#4, reported by @davidofchatham) — silences the warning and fixes popover positioning.
- Anchor admin-screen matching on
_page_{menu_slug} suffix instead of substring (#6, reported by @davidofchatham).
DateField falls back to a sensible format when WP’s date format setting is empty (#3, thanks to @drkskwlkr).
App::assetsUrl() resolves URLs for mu-plugins, themes, and anywhere under WP_CONTENT_DIR.
TableField bulk-action icon: swap nonexistent star for starFilled.
.wp-list-table styling scoped to .wireframe-page.
- New
assets_url boot key for environments where plugins_url() can’t derive the URL.
- Cleaner table detail view layout.
- Fixed fabricated WPDS token names in SCSS.
{field_id} token interpolation in field description.
- Solid background on copyable inputs’ copy button.
- Bulk-action buttons in
table field always resolve an icon.