Added — History: the History tab of the Unblock manager lists the changes the editor, the AI chat and your AI client make to your pages, templates, CSS and settings, and undoes or redoes one change or a whole session. An undo never discards a later change unless you choose Undo Anyway. Settings > History sets how much is kept.
Added — Unblock AI: over MCP, your AI client lists its changes and undoes or redoes them when you ask; it asks you first when the undo changes a published page or a template.
Improved — Unblock AI: the CSS the AI writes on a draft copy now waits with the copy, shown in its preview, and goes live when the copy is applied, keeping what you changed meanwhile on the same selectors; it used to change every page at once.
Improved — Unblock AI: over MCP, your AI client reaches Unblock's other tools on the first try more often, and a refused call says which parameters the tool takes, so smaller models such as gpt-4.1-mini finish twice as many asks.
Changed — Dynamic data: get_posts({...}) with no posts_per_page now gives the number of posts set in Settings > Reading, as a Loop block does, instead of 10, and its found_posts and pagination count every post, where they gave 0.
Added — History: the History tab of the Unblock manager lists the changes the editor, the AI chat and your AI client make to your pages, templates, CSS and settings, and undoes or redoes one change or a whole session. An undo never discards a later change unless you choose Undo Anyway. Settings > History sets how much is kept.
Added — Unblock AI: over MCP, your AI client lists its changes and undoes or redoes them when you ask; it asks you first when the undo changes a published page or a template.
Improved — Unblock AI: a draft copy opened in the editor shows a banner to apply it to its page, or to make a new copy when the page changed since.
Improved — Unblock AI: the CSS the AI writes on a draft copy now waits with the copy, shown in its preview, and goes live when the copy is applied, keeping what you changed meanwhile on the same selectors; it used to change every page at once.
Improved — Unblock AI: over MCP, your AI client reaches Unblock's other tools on the first try more often, and a refused call says which parameters the tool takes, so smaller models such as gpt-4.1-mini finish twice as many asks.
Improved — Unblock AI: over MCP, your AI client can read a post's featured image when it lists posts, as it already sets it.
Improved — Unblock AI: over MCP, your AI client lists your categories and tags on the first try, where its first request was often refused.
Improved — Unblock AI: over MCP, two changes the AI sends together to the same page both apply, where the second was refused and sent again, so editing a page takes up to 40% fewer tokens with smaller models.
Fixed — Unblock AI: over MCP, a write naming the post's ID as the editor session too was refused; it now writes the post.
Fixed — Unblock AI: over MCP, your AI client could find no template or template part on your site when it sent an empty area; it now gets them all.
Fixed — Unblock AI: over MCP, the AI could fail to change a palette color when it sent the color back as it had read it.
Fixed — Unblock AI: over MCP, the AI could create draft posts named after your categories or tags instead of creating the terms.
Fixed — Unblock AI: over MCP, the AI could change a published page's title, address, status or SEO texts, delete it, create or delete a template, or publish a draft, without asking you, so a page could vanish from your site; it now needs your agreement first.
Improved — Unblock AI: the AI sees which collection holds each of your CSS variables, and keeps them there when it changes them.
Improved — Unblock AI: the AI files the CSS variables it creates by kind, in Colors, Spacing, Typography and Effects collections, instead of one Tokens collection, and each component's rules in a collection of its own.
Improved — Unblock AI: the AI is told when its CSS uses a variable your site does not have, so it can create it, where colors or spacing it set could silently show nothing.
Improved — Unblock AI: on the blog, archive and search templates, the AI loops over the page's own posts and their pagination, where it often wrote a query of its own that ignored the category or the page of results asked for.
Fixed — Unblock AI: the AI could replace a template's Content block with {{ post.content }}, so the editor no longer showed the blocks of the pages using it; it now keeps the block, and a new template for posts or pages comes with one.
Fixed — Unblock AI: blocks asked for after a section, but placed by the AI inside a block of that section, were refused, so the chat added nothing and over MCP they could end up inside the section; they now go after it.
Fixed — Unblock AI: the editor could warn that an AI tool had changed the page you had just opened, after you went to its template and back; it now warns only when a tool wrote to the page or template you have open.
Fixed — Loop block: a loop over posts read the page's main query even when a posts variable was set above it, so it showed the page itself instead of the variable's posts; it now reads the variable, as Timber does.
Fixed — Loop block: a loop over a variable took its type from its name, so pasted or AI-written Twig such as {% for post in members %} was saved as a post loop; the name is now only a name, as in Twig.
Fixed — Loop block: a loop over a variable missing from the page listed your latest posts, or all your terms or users; it now shows nothing, as in Twig.
Fixed — Loop block: an Item loop over posts used its own page links instead of the page's /page/2/, and showed nothing in the editor; it now shows the page's posts and paginates with the page.
Fixed — Loop block: in the editor, a loop over the main query (posts or Inherit Query) showed your latest posts in every template, and posts.pagination stayed empty; it now shows what the front end shows for that template or page.
Fixed — Loop block: on a site with a static front page, a Loop or Variable block with no query settings showed that page instead of your latest posts; it lists them again.
Fixed — Loop block: removing the post type of a query written in Twig, as the AI writes it ('post_type': 'post'), raised an error in the query settings and kept it; it is now removed.
Fixed — Condition block: a condition on a query, a term's posts or a post's comments, such as {% if posts %}, was always false, or true even with nothing in it; it is now true only when the list has items, and is empty works on it.
Changed — Dynamic data: get_posts({...}) with no posts_per_page now gives the number of posts set in Settings > Reading, as a Loop block does, instead of 10, and its found_posts and pagination count every post, where they gave 0.
Fixed — CSS import: a selector collection was left empty when the import, or the AI, moved all its selectors to another collection; it is now removed, as when its selectors are deleted.
Fixed — CSS import: a selector the import, or the AI, moved to another collection could land first in it, ahead of the rules already there; it now goes last, as a new selector does.
Fixed — CSS import: selectors whose collection no longer existed, after a JSON import of collections only, were deleted by the next import or AI write into a collection; they are now kept in Uncategorized.
Fixed — CSS managers: two collections of selectors, variables or at-rules could have the same name, shown twice in the tree, and a CSS import or the AI created "buttons" next to "Buttons"; a name already taken, whatever its case or accents, is now refused, and the import fills the existing collection.