Changelogs

Follow the improvements and fixes in each product release.

GT Page Blocks Builder

A free WordPress page builder plugin for HTML, CSS and JavaScript, with optional AI, live previews, reusable sections and theme regions.

Explore Product

Release History

Permalink

2.6.0

What’s Changed

Theme building

  • Library blocks can be assigned to theme regions — header, hero, before/after content, sidebar, footer, 404 — and rendered by any theme via gt_pb_region( 'header' ) / gt_pb_has_region(). A blank hybrid theme can be little more than region calls.
  • Hook positions now actually render: wp_head, wp_body_open, wp_footer, loop_start/loop_end, get_header/footer/sidebar, and before/after the content — priority-ordered.

Block rename + migration

  • The block is now gt-page-block/page-block (category: Page Blocks). The legacy marketers-delight/page-block stays registered (hidden from the inserter) so existing content keeps rendering, with a one-click transform to the new block.
  • Migration tool: Settings → Tools → Migrate blocks (with dry run), or WP-CLI wp gt-pb migrate-blocks [--dry-run] — rewrites stored content without touching post modified dates.

REST API (pbb/v1)

  • GET/POST /blocks, GET/PUT/DELETE /blocks/<id> (trash or ?force=true), POST /blocks/<id>/duplicate, GET /blocks/<id>/render — search, status filtering, pagination, and status-count headers. Read = edit_posts, write = manage_options.

Library admin panel

  • New card-grid library with lazy live-preview thumbnails, search, status filter tabs, duplicate / trash / restore / delete-forever, copy-shortcode, and position chips. Classic list table remains at ?view=list.

Block editor

  • Preview-first Page Block: rendered live preview (auto-sizing iframe with theme styles) by default; Preview/Code toggles in the block toolbar.
  • Responsive viewport presets (desktop / 768px / 390px) + dark-scheme preview toggle.
  • Collapsible live preview pane under the CodeMirror editor — server-rendered when PHP/wpautop is enabled.
  • Copy button, Save to library, and a Browse library modal to insert saved blocks.

Full Changelog: https://github.com/wpgaurav/page-blocks-builder/compare/v2.4.0…v2.6.0

Permalink

2.4.0

Bundles v2.1.0 through v2.4.0 — major feature release.

Emmet HTML Expansion (NEW)

Type an abbreviation in the HTML editor, press Tab, get expanded HTML: – div.hero>h1{Title}+p{Body} → nested section with heading and paragraph – ul.menu>li.item\$*4>a[href="#"]{Link} → 4-item menu with auto-numbered classes – img.avatar[alt=""] → self-closing void tag

Supported: tags, .class, #id, [attr="val"], {text}, > child, + sibling, *N multiply, \$ numbering. Cursor auto-jumps to the first empty slot.

Removed: Unreliable HTML class autocomplete (replaced by Emmet).

Frontend CSS Layers (NEW)

Three independent toggles under Page Blocks → Settings → Frontend CSS:

  • Semantic Reset (~1KB) — modern reset, accessible images, prefers-reduced-motion
  • Typography (~3KB) — system-font stack (zero external requests), responsive headings via clamp(), 65ch measure, styled lists / blockquotes / code / kbd / tables
  • Utility Classes — ~330 Tailwind-inspired classes (grid, flex, spacing, typography, colors, borders, shadows, transitions) + sm: md: lg: responsive variants. Frontend inlines ONLY the classes actually used on the page — no bloat. Builder loads the full set for autocomplete.

Top-Level Page Blocks Admin (NEW)

Moved out of Settings to its own top-level menu: – All Page Blocks — list table with bulk actions, search, status filter – Add New — full edit form with Monaco editors, live preview, position picker – Settings — existing settings page – License — license management

Shortcode Library (NEW)

Reusable blocks stored in a custom database table (wp_gt_page_blocks): – [page_block id="123"] — embed by ID – [page_block slug="hero-section"] — embed by slug – Theme-independent position hooks via gt_pb_get_positions() filter (wp_head, wp_footer, the_content, loop_start, etc.)

Bug Fixes

  • Fixed cssClasses config being serialized as JSON object (array_unique key gaps) — Array.isArray() now passes on the JS side.

Compatibility

  • WordPress 6.0+
  • PHP 8.1+
  • Works with any WordPress theme
  • PHPStan level 5: 0 errors
Permalink

2.0.2

Critical fix for v2.0.0/v2.0.1.

The builder was stuck on “Loading Page Blocks Builder…” with no errors. Root cause: the v2.0.0 release ported the dropin’s JS which expects the app element ID md-pb-builder-app, but the template HTML still used the old ID md-page-block-builder-app. The JS bailed out silently at the missing-element check.

Fix

  • templates/builder-shell.php: Updated app element ID to md-pb-builder-app
  • Updated wrapper class to md-pb-builder-root and loading class to md-pb-builder-loading to match the new CSS naming

Upgrading from v2.0.x

Just update — clear browser cache to reload the new template.

Permalink

2.0.1

Internal hardening release. No functional changes.

Fixes

  • Fix block_categories_all filter signature mismatch (callback registered with accepted_args=2 but only declares 1 parameter)
  • Fix esc_attr() type errors when emitting external asset tags — cast int post_id and int|false filemtime result to string before passing
  • Properly escape stylesheet id attribute in external file output
  • Remove redundant is_array() / is_string() checks against already-narrowed types

Verification

  • PHPStan level 5 passes with 0 errors on the entire plugin
  • All previously broken features verified working
Permalink

2.0.0

Major refactor bringing the standalone plugin to production parity with the MD theme dropin.

Major Features

  • AI Chat Sidebar — Multi-turn conversation replaces the inline AI bar. Persistent context, “+ New Chat” button, message history. OpenAI, Anthropic, Gemini supported. Theme CSS variables sent as system prompt context.
  • Inline Text Editing in Preview — Click any heading, paragraph, link, or list item directly in the preview iframe to edit. Enter commits, Escape cancels.
  • Live Preview Patching — No more flicker on every keystroke. CSS/content edits patch iframe DOM in place; only structural changes trigger full reload.
  • HTML Snippet Buttons — Quick-insert buttons on the HTML editor title bar: sec, div, h1–h3, p, a, img, ul, ol, span, b, i. Wraps selection or inserts empty.
  • Section Renaming — Double-click any section name in the sidebar to rename it inline.
  • SVG Icons — Replaces unicode glyphs for hide/duplicate/delete buttons.
  • Keyboard Shortcuts Overlay — ? button shows all shortcuts.
  • Export/Import — Download/upload sections as JSON, append or replace modes.

Settings

  • Preview Customization — New admin fields for custom CSS, head HTML, and footer JS injected into the preview iframe. No PHP filter needed for common cases.
  • AI default model changed from gpt-5.2 to claude-sonnet-4-6.

Fixes

  • Script injection in preview iframe: Now injected post-load via contentDocument.createElement('script') instead of inline <script> in srcdoc. Fixes SyntaxError: Unexpected token '<' errors caused by </script> parsing in srcdoc HTML.
  • SVG icon click delegation: Uses closest('[data-action]') to traverse up from clicked SVG to the button.
  • HTTPS enforcement: All preview style URLs forced to https:// to eliminate mixed content warnings.
  • AI conversation history: All three providers (OpenAI, Anthropic, Gemini) properly send the message array.

Removed

  • Terminal feature (was beta) — removed for production safety.

Compatibility

  • WordPress 6.0+
  • PHP 8.1+
  • Works with any WordPress theme (no theme dependencies)
Permalink

1.3.5

Full Changelog: https://github.com/wpgaurav/page-blocks-builder/compare/v1.3.3…1.3.5

Permalink

1.3.3

Full Changelog: https://github.com/wpgaurav/page-blocks-builder/compare/v1.1.3…v1.3.3

Permalink

1.1.3

Full Changelog: https://github.com/wpgaurav/page-blocks-builder/compare/v1.1.2…v1.1.3

Permalink

1.1.2

Full Changelog: https://github.com/wpgaurav/page-blocks-builder/compare/v1.1.1…v1.1.2

Permalink

1.1.1

Ready for upload to https://gauravtiwari.org/shop/

Permalink

1.1.0

Full Changelog: https://github.com/wpgaurav/page-blocks-builder/compare/v1.0.0-beta…v1.1.0

Historical releasePermalink

3.0.4

  • Added a per-section Defer CSS option beside Load CSS from a file in both the visual builder and Block Editor. Off by default.
  • Deferred files use non-blocking print media and switch to all media on load, with a noscript stylesheet fallback for visitors without JavaScript.
  • Preserve deferred loading through saves and draft recovery. Builder previews continue to apply section CSS immediately, and failed file generation retains the inline fallback.
  • Added regression coverage for mixed loading modes, duplicate CSS, head/body deduplication, preview behavior, and editor save payloads.