Gatilab Products

Changelogs

Improvements, fixes, and the details behind each release.

All Products

Release history across our plugins and themes.

Stable

GT Page Blocks Builder 2.4.0

Read release notes

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
Stable

GT Page Blocks Builder 2.0.2

Read release notes

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.

Stable

GT Page Blocks Builder 2.0.1

Read release notes

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
Stable

GT Page Blocks Builder 2.0.0

Read release notes

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)
Stable

GT ACF Blocks Plugin 2.7.1

Read release notes

What's Changed

Commits

  • Fix post-display CSS regression: static flag with ID-scoped selectors (33406be)
  • Bump version to 2.7.1 (177d966)
  • Fix code quality, dark mode, performance, and extensibility across plugin (af92331)
  • Fix accessibility, dark mode, performance, and security issues (c8aca43)

Stats

  • Commits: 4
  • Changes: 30 files changed, 241 insertions(+), 103 deletions(-)

Plugin Info

  • Blocks included: 29
  • Requires WordPress: 6.0+
  • Requires PHP: 7.4+
  • Requires: ACF Pro 6.0+ or Secure Custom Fields

Installation

  1. Download acf-blocks-plugin-*.zip from the assets below
  2. Go to Plugins → Add New → Upload Plugin in WordPress admin
  3. Upload the zip file and activate
Stable

GT ACF Blocks Plugin 2.7.0

Read release notes

What's Changed

Commits

  • Bump version to 2.7.0 (63e5c10)
  • Improve product box design: fix font-size bug, checkmark bullets, two-column features, horizontal bottom layout, clickable image (ca67938)
  • Fix product box layout when features list is taller than image (f92566d)

Stats

  • Commits: 3
  • Changes: 3 files changed, 14 insertions(+), 7 deletions(-)

Plugin Info

  • Blocks included: 29
  • Requires WordPress: 6.0+
  • Requires PHP: 7.4+
  • Requires: ACF Pro 6.0+ or Secure Custom Fields

Installation

  1. Download acf-blocks-plugin-*.zip from the assets below
  2. Go to Plugins → Add New → Upload Plugin in WordPress admin
  3. Upload the zip file and activate
Stable

GT ACF Blocks Plugin 2.6.0

Read release notes

What's Changed

Changed

  • All blocks: Every ACF field is now optional. Removed required: 1 flags and min: 1 constraints on repeaters/relationships so any block can be inserted without being forced to fill specific fields.

Removed

  • Chat block: Completely removed the acf/chat-block and its directory (blocks/chat-block/).

Improved

  • LLM prompt library (llm/): Added llm/README.md as an index covering all 29 blocks grouped by category, universal rules (single-line JSON, field-key prefix, repeater format, InnerBlocks vs ACF data), and a block-comment anatomy reference. Removed stale "Required" annotations from nine per-block docs now that no fields are required.

Commits

  • Bump version to 2.6.0 (1fe9e20)
  • Improve LLM prompt library (af0a5b7)
  • Remove Chat block (11465d2)
  • Make all block fields optional (32dda06)

Stats

  • Commits: 4
  • Changes: 26 files changed, 153 insertions(+), 297 deletions(-)

Plugin Info

  • Blocks included: 29
  • Requires WordPress: 6.0+
  • Requires PHP: 7.4+
  • Requires: ACF Pro 6.0+ or Secure Custom Fields

Installation

  1. Download acf-blocks-plugin-*.zip from the assets below
  2. Go to Plugins → Add New → Upload Plugin in WordPress admin
  3. Upload the zip file and activate
Beta

Core Forms 4.0.0-b5

Read release notes

Core Forms 4.0.0-b5

What's New

Schema-backed Form Engine - JSON form schema with versioning, migration from legacy HTML - Visual ↔ Code bidirectional sync (edit HTML, updates visual builder and vice versa)

Visual Form Builder - React-based 3-column layout: inserter | canvas | inspector - 25+ field types, drag-and-drop reordering, container/fieldset nesting - 6 starter templates, inline preview, fullscreen preview modal

Smart Form Features - Multi-step forms with progress bar and step validation - Save & resume via tokenized draft links - Field calculations (safe parser, no eval) - Form scheduling (date/time/day-of-week windows) - Conditional logic with 14 operators and grouped AND/OR rules - Inline validation with accessible error messages

21 Integrations - Notifications: Email, Autoresponder, Slack, Discord, Telegram, Twilio SMS - Marketing/CRM: Mailchimp, ConvertKit, ActiveCampaign, Brevo, Drip, MailerLite, HubSpot, FluentCRM - Data: Google Sheets, Notion, Airtable - Automation: Webhooks, Zapier, Make - WordPress: Create User, Create Post, Create Article/CPT with ACF mapping

Workflow Automation - Async action queue with background processing - Automatic retries with exponential backoff - Action logs with structured execution tracking - Webhook HMAC-SHA256 signatures

Analytics - Form views, starts, submissions, abandonments tracking - Field-level drop-off analysis - UTM and referrer attribution - Auto-generated recommendations

Native Block Editor - ServerSideRender live preview in editor - Form picker with InspectorControls - Shortcode transform, block variations - Spacing and alignment supports

Security - 50+ bugs found and fixed across 6 audit rounds - Upload hardening (MIME validation, 30+ blocked extensions) - PHPUnit (114 tests), PHPStan level 5, ESLint - ABSPATH guards, input sanitization, output escaping

Documentation - 61 markdown files, 11,000+ lines - Getting started, form builder, smart forms, integrations, workflows, analytics, developer docs

Requirements

  • WordPress 6.0+
  • PHP 7.4+