=== VX Framework ===

Every release of VX Framework, newest first.

== Changelog ==

= 1.3.1 =
* New: AI assistants can create, edit and delete menus, classic and block theme alike, with undo.

= 1.3.0 =
* New: Oxygen 6 and Breakdance support: VX fields in the dynamic data picker, VX lists in the Repeater Field element, and Post Loops of posts a field picks or sorts.
* New: Anyone who can edit a post, term or user can fill in its VX fields, as each fieldset's Viewer conditions allow. Building fieldsets stays with administrators.
* New: AI assistants can add files to the media library through WordPress's own upload checks, find them, edit their details and alt text, and delete them.
* New: AI assistants can read and set a post's terms, and open or close its comments.
* Improved: In the Site Editor, a `single` or `singular` template used by one post type previews it at once, and a notice says when tags have no sample.
* Improved: An invalid email or link is kept as typed, with a warning, instead of being emptied or rewritten, and the editor flags it.
* Improved: Phone fields have a Default country, and read numbers written with 00 or (0).
* Improved: Length limits count characters rather than bytes.
* Improved: Undo says when it leaves changes in place, and large values and long post bodies keep their undo.
* Fixed: In Bricks, gallery lists, tags after a loop, and lists of posts and media render correctly, and a modifier on a list applies to each item.
* Fixed: VX fields on an image's Edit Media screen save, and files uploaded from a term's or user's fields no longer attach to an unrelated post.
* Fixed: Draft, private, scheduled and trashed posts picked in a field no longer show in dynamic tags and loops.
* Fixed: Block editor saves keep to each fieldset's Viewer conditions.
* Fixed: A partial save by AI assistants no longer needs the field that shows or hides another, and reports a hidden field sent a new value.
* Fixed: A Taxonomy field in WordPress's own metabox saves when AI assistants or PHP set it, and an unknown term gets a warning.
* Changed: On user profiles, a fieldset with no Viewer condition is for administrators only, their own profile included; a Viewer role or capability opens it.
* Changed: A Taxonomy field is read-only for anyone who can't assign that taxonomy's terms, as in WordPress's own box.
* Changed: AI assistants get a far smaller dynamic data catalog, one relation deep. `path`, `depth`, `detail` and `include` return more.
* Developers: forget() and flush() on Post, Term and User. Reads list fields they leave out under `omitted`, with a reason. Every value error and warning has a code. The block linter checks @site, @user and @author.

= 1.2.0 =
* New: Type into an entry's fields straight from its template when you edit the entry with the template shown.
* Improved: Site Editor previews. A static front page previews that page, templates named for a post type or declared in theme.json preview a matching post, and your preview choice applies to every template.
* Improved: Bound blocks, Query Loop cards and @site and @user tags show their values in the editor of every post type.
* Improved: Date and time pickers follow each user's profile language, including date order and 12- or 24-hour time.
* Improved: The post type Editor tab explains when the Block editor setting can't take effect.
* Fixed: Text, textarea, list and choice values keep % sequences such as %date%, and very long values save quickly.
* Fixed: Content written by AI assistants keeps the backslashes in block markup.
* Fixed: Opening the Dynamic tags dialog no longer marks the post or template as changed.
* Fixed: A cover bound to an image shows the image. @post(edit_url) previews as the edit link.
* Fixed: Reading a post's values lists a field that was never saved under `omitted`, and writing null clears a field.
* Changed: A post type's archives label defaults to its plural name.
* Developers: Rules added through `vxframework/fieldsets/validation_rules` are checked on save, as warnings. `on_user()` in PHP blueprints takes no roles; use a `user_role` condition.

= 1.1.0 =
* New: Section and Tabs layout fields. Group fields in a box, or show them as tabs or an accordion, and show or hide a whole set with conditional logic. Fields inside keep their keys and stored values, so arranging them never moves data.
* New: Arrange fields into sections and tabs in the fieldset builder by dragging, from a field's menu, or several selected fields at once. The builder remembers which lists you folded or opened.
* New: The `vx-framework/move-fields` ability lets AI assistants move fields into, out of and between sections and tabs.
* New: Taxonomy term, Specific term and Parent term location rules can match by slug, so they keep working when your config moves to another site.
* Improved: The MCP connection now supports clients on MCP 2026-07-28 as well as 2025-11-25 and earlier versions, and works alongside the MCP Adapter plugin. The bundled MCP Adapter is updated to 0.7.1.

= 1.0.0 =
* Initial release.
