Greyd Plugin
The Greyd Plugin is the core plugin of the Greyd.Suite. It extends WordPress with features for agencies and larger websites, based on the Site and Block Editors delivered by WordPress Core. Take a look at some of our case studies to find out more.
-
Version 2.25.1
October 2, 2026
Improvements
- Added the
greyd_livesearch_allowed_filter_keysfilter to extend the query arguments accepted by the live search. - Improved security by restricting the live search filter to an allow-list of query arguments and to publicly searchable post types.
- Improved security by validating the taxonomy name used to sort search results by taxonomy before it is used in the database query.
Bugfixes
- Fixed switching the theme after a Hub import having no effect when Redis object cache was enabled.
- Fixed the live search returning posts that are not published.
- Added the
-
Features
- Added options to sort taxonomy terms by name, count, slug, or ID, in ascending or descending order, to the Search Filter dropdown and Filter Buttons & Chips blocks.
- Added an Aria label field to Core Buttons and Greyd Buttons in Dynamic Templates, so the accessible name can be overridden per instance.
Improvements
- Improved security by sanitizing dynamic button aria-label values before they are output.
- Improved security by escaping the template ID in the self-referencing Dynamic Template warning.
Bugfixes
- Fixed Dynamic Templates that reference themselves exhausting memory on the frontend and in the editor. The recursive part is no longer rendered, and a warning is shown instead.
- Fixed page parent and child hierarchy being lost on post import and Global Content sync, including when a single page was updated without its parent.
- Fixed the Query Loop block crashing when typing in the Select individual posts advanced filter for a non-hierarchical post type.
- Fixed live Query Loop, live search, and popup reloads applying the wrong element colors, by giving
wp-elementsCSS classes unique names so they no longer collide with blocks already on the page. - Fixed the Classic Theme Converter failing to load transform data on sites protected with HTTP basic authentication.
- Fixed trigger controls on Group, Button, Box, and Image blocks re-rendering on every editor store change, which slowed the editor and filled the console with warnings.
- Fixed the Greyd Search option “Hide results until search is triggered” not showing results when a category or term was selected without a search term. Results now appear after the live query has finished, so the previous unfiltered list is no longer flashed behind the loader.
- Removed the temporary workaround for the
readcapability of post types whose slug ends with “s”. The capability mapping now handles these post types directly.
-
Features
- Added the
item_linkanditem_link_descriptionproperties to dynamic post types, so they can be used in the block editor. - Added a current language condition to the Conditional Content block.
- Added an include token to the Query advanced filter to show only top-level posts.
- Added an option to sort Query Loop results by relevance.
- Added an Operator setting to the Search Filter dropdown and Filter Buttons & Chips blocks, visible when multiselect is enabled, so multiple selected terms of the same taxonomy can be combined with AND instead of OR.
- Added new Login Form options for login, lost-password and logout states, including optional auto-redirects, hidden username and password labels, and in-block error handling so failed logins stay on the custom page.
- Added a Log out trigger that turns a link or button into a logout action with a redirect to the current page, the home page, or a custom URL.
- Added form interfaces and an Emails tab to user registration and update forms, so follow-up emails and integrations can run after the user confirms registration.
- Added a “Posts by current user” option to the Query Loop author filter.
Improvements
- Replaced remaining greyd-resources.de URLs with the current documentation site.
- Updated remaining greyd.io URLs to greydsuite.com.
- Escaped the filter operator attribute on search filter blocks and allow-listed it to
AND. - Required
taxQueryTermOperatorsto be an array in the live filter before it is counted or iterated. - Restored the
greyd_conditional_content_evaluatefilter so external plugins can short-circuit condition matching. - Added all form field tags except passwords to the registration confirmation mail.
- Improved security by escaping Login Form output and validating the failed-login referrer.
- Improved security by building the logout trigger redirect from the site home URL.
- Improved security by sanitizing the registration mail From name and address after tag replacement.
Bugfixes
- Fixed navigation highlighting for anchors that contain special characters.
- Fixed filtered quotation marks being stripped from dynamic template elements.
- Fixed the autostep trigger of dropdowns in multistep forms.
- Fixed the search filter dropdown showing untranslated taxonomies.
- Fixed Hub import of the serialized
siteurloption. - Fixed Hub import disabling all features when a Multisite backup was imported onto a Single Site; destination defaults are now merged into the imported
greyd_featuresoption, and the option row is matched regardless of the WordPress autoload value. - Fixed a
_load_textdomain_just_in_timenotice in user registration. - Fixed popovers inside animated blocks being clipped or hidden.
- Fixed post type capability detection in
map_meta_capso custom post types are not mapped to the wrong capabilities. - Fixed a
map_meta_capnotice for existing post types whose slug ends in “s”. - Fixed post import treating translated posts as translatable when their post type is not.
- Fixed Post Slider pagination using the wrong page count when an initial breakpoint is set.
- Fixed the Separator block leaking inline styles when the WordPress core Hide feature emptied the block content.
- Fixed nested paragraphs from dynamic tags producing empty
<p></p>fragments by converting the outer paragraph to adivwhen nested paragraphs are present. - Fixed a PHP warning for an undefined
aspectRatiokey in the Dynamic Image block when the aspect ratio was set to auto. - Fixed a PHP warning for an undefined
post_typekey on post type archives. - Fixed synced post types being created with an empty or whitespace-only slug or title.
- Fixed Conditional Content field checks and dynamic post type fields treating a stored 0 as empty.
- Fixed a fatal error when sending user management mail if existing headers were a string.
- Added the
-
Bugfixes
- Fixed the Auto Search of the Greyd Search block not updating when the search term was changed without leaving the input field; live filter re-initialization no longer removes the Auto Search event handlers.
- Fixed a Query Loop / Greyd Search regression where taxonomy filters returned no results when one of the inherited taxonomy parameters was empty.
- Fixed remote Global Content imports persisting post meta as objects instead of arrays, by decoding connection responses as associative arrays and normalizing object meta before it is saved.
- Fixed Dynamic Forms showing a “template not found” error on the frontend when the form was referenced by slug, including the “Use form slug” setting and the
greyd_dynamic_block_use_referenceforceSlug filter.
-
Features
- Added a more detailed choice of content overwrites when creating a Dynamic Template from the editor: overwrites can now be enabled for all available block attributes, only for attributes that already have a value, or for a custom selection of attributes.
Improvements
- Added a search field to the template and form selection of the Dynamic Template block, so long lists of templates and forms can be filtered.
- Added the
searchandplaceholderoptions to theOptionsControlblock editor component, which render a search input and filter the options, hiding option groups that no longer contain a match. - Moved the schedule handling of synced post types into a new central
Automator_Managerclass, so several synced post types can run on different intervals; the class also guards against a malformed events option and follows the WordPress coding standards. - Improved security in Greyd.Hub by validating redirect URLs posted by another Hub against the own installation and the configured connections, and by sanitizing and escaping the current Hub URL before it is output.
Bugfixes
- Fixed the “hide button” option of the Popover block, where a pop-up without a visible button was not rendered at all; the pop-up is now rendered and positioned absolutely.
- Fixed a z-index issue of pop-ups and triggers caused by the stacking context of trigger elements.
- Fixed the Tabs block overflowing its container when placed inside a Row or Stack block.
- Fixed the highlighting of search terms in live search results, search result titles and excerpts when the term contains regex characters such as “/”, by escaping the term before it is used in a regular expression.
- Fixed the detection of old-style dynamic tags in dynamic values, where user-defined tag values were not escaped and two tags in one line could consume each other.
- Fixed a possible fatal error in the dynamic tag rendering when a query was set to several post types or to a post type that is no longer registered.
- Fixed the Hub migration assistant failing when the migration was started across a remote connection.
- Fixed automator cron events being scheduled with a site-local timestamp instead of UTC, which shifted the execution time of synced post types.
-
Bugfixes
- Fixed automatic scrolling to query loop without user interaction.
- Fixed an issue with the license check for Dynamic Forms.
-
Bugfixes
- Fixed pop-up style settings not being applied in the editor on WordPress 7.1, where the editor canvas iframe was no longer detected.
- Fixed a crash when reloading a Dynamic Template block in the WordPress 7.1 editor, caused by the block element not being found inside the editor canvas iframe.
-
Features
- Added extensibility to the query loop block
Improvements
- Added new filters
greyd_livequery_result,greyd_livequery_request_data,greyd_livefilter_inline_script,greyd_search_allowed_blocks
Bugfixes
- Fixed the search term of a Query Loop being overwritten by an empty inherited search parameter in REST and livequery requests; search attributes are now read from both the nested and the flat block attribute.
- Fixed live filter errors when the loading spinner or the query wrapper was no longer in the DOM after a content update, by re-resolving the wrapper and guarding the spinner access.
- Fixed outdated responses of overtaken live filter requests being applied to the post list.
-
New features
- Dynamic Forms: Added support for rendering Greyd.Forms as dynamic templates, so a form can be filled with dynamic values from the context it is inserted into.
Improvements
- Added the dynamic tag
post-idto output the ID of the current post. - Added new filters
greyd_blocks_editor_data_all_templatesandgreyd_dynamic_match_block_fieldso other plugins can add their own templates to the block editor data and extend how dynamic fields are matched to block attributes. - Added a
HelpTextblock editor component for consistent help texts in the inspector. - Moved the “Dynamic Elements” panel further down in the inspector inside Greyd.Forms, where it is not the primary control.
- Added an End of Life notice for the WP Bakery version of Greyd.Suite, both as an admin notice and in the editor settings.
Bug fixes
- Fixed advanced search defaults not being registered in all contexts, such as cron or REST requests.
-
Bugfix
- Fixed a fatal block error in the Hotspot block and Layout block backgrounds that occurred when the Lottie feature was deactivated, by guarding the `greyd.lottie` loop-compatibility check.
-
Features
- Added loop control and replay button to Lottie animations in the Lottie, Hotspot, and Layout blocks
- Added a “Use slug format” option to the Anchor block to support dynamic anchors from query loops (e.g. post titles); related trigger links resolve the correct target automatically
- Accordion block:
- Added FAQPage structured data (JSON-LD) collection, with dynamic tags resolved in question titles
- Added block transforms between the core accordion block and the Greyd accordion block
- Added auto-detection of full-width alignment for Dynamic Templates so child blocks render correctly
Improvements
- Renamed the Accordion block title to “Accordion (Greyd)” for better differentiation from the core block
- Hidden custom Greyd WooCommerce blocks from the inserter on non Greyd-Classic setups
- Replaced inline-style hiding with `hidden` and `aria-hidden` attributes for better accessibility on hidden form elements
- Added a notice in Greyd.Hub when the Greyd Plugin is active but the Greyd Theme is not in use
Bugfixes
- Fixed an accordion transition race condition that could leave content visible after closing
- Fixed hex color transparency handling in shadows so 8-digit hex values (e.g. `#RRGGBBAA`) are rendered with their correct alpha
- Fixed an XSS vector in Greyd Search block rendering by escaping inherited query parameters
- Fixed metabox display in the WP 7.x iFramed editor
- Fixed an issue where custom post type capabilities could be incorrectly assigned when duplicating a user role
-
Bugfixes
- Fixed unwanted left padding on Greyd List blocks on the frontend caused by a CSS selector regression in 2.19.0.
- Fixed unwanted left padding on Greyd List blocks on the frontend caused by a CSS selector regression in 2.19.0.
-
Improvements
- Added block editor compatibility with WordPress 7.x (iframed editor support).
- Improved file loading performance by reading local files directly from disk instead of via HTTP loopback.
- Inline CSS attributes are now migrated to the WordPress core “Additional CSS” panel on WordPress 7.x.
- Disabled the “Additional CSS” panel for blocks that don’t support inline CSS on WordPress 7.x.
- Improved Global Styles initialization to wait for entity record resolution before loading.
- The RankMath integration script is no longer loaded when RankMath is not active.
- Improved iFrame block alignment and responsive styling.
- Improved list block CSS selector specificity for more reliable frontend rendering.
- Improved markup and structure of the popup close block in the editor.
- Improved tabs block editor panel structure and class handling.
- Improved hotspot block placeholder rendering in the iframed editor.
- Improved image block caption toggle to preserve caption text.
- Updated the dynamic image block to use the updated media entity API.
- Added anchor ID support for the dynamic image and dynamic list blocks.
Bugfixes
- Fixed an issue where metaboxes overflowed in the WordPress 7.x iframed editor.
- Fixed an issue where the submit button size class was duplicated.
- Fixed an issue where the math block cursor position was incorrect in the iframed editor.
- Fixed an issue where the tabs block editor CSS visibility selector did not work as expected.
- Fixed an issue where the editor popups panel API (
PluginDocumentSettingPanel) was not initialized correctly. - Fixed an issue where the Lottie animation upload used an invalid
allowedTypesformat.
-
Improvements
- Removed minimum and maximum limits for “space outside” settings in groups and columns.
Bugfixes
- Fixed an issue where ACF taxonomies were not displayed in the frontend despite being selectable in the editor.
- Fixed an issue where adding a Greyd Search block to a Query Loop set to “inherit” caused a fatal error.
- Removed obsolete title attribute from the Greyd Search button for improved accessibility.
- Fixed an issue where aria-labels were not correctly applied to core buttons and Greyd Search blocks.
- Fixed an issue where custom language switcher triggers did not work correctly.
- Fixed an issue where the focus point in cover blocks was not applied in Dynamic Templates.
- Fixed an issue where detaching a Dynamic Template with a heading set to a different heading level caused a block error.
- Fixed an issue where authors could not be changed for Dynamic Post Types.
- Fixed an issue where multiline text fields (textarea) had double line breaks due to duplicate nl2br() processing.
- Fixed an issue where sites added to a multisite network did not appear in Greyd.Hub and could not be disconnected properly.
- Removed deprecated “Has Results” block.
- Fixed dead links in the Greyd dashboard.
-
Improvements
- Added option to post slider pagination to change the URL parameter (enables browser back navigation that restores the previous page in query loop and post slider).
- Added option to limit the number of displayed pages for query Loop and post slider pagination.
- Updated naming in the “image” panel of the hotspot block for better clarity.
- Enhanced hotspot block accessibility.
- Added support for making dynamic links available as optional downloads in trigger settings.
- Added dynamic max-width handling for paragraphs, headlines, and similar elements inside Dynamic Templates.
Bugfixes
- Fixed an issue where custom CSS classes were not applied in the post slider frontend.
- Resolved a problem that prevented editing a template-in-template when made dynamic.
- Fixed a popover issue where adding another navigation block inside the overlay caused layout breakage.
- Adjusted frontend CSS for pop-ups to properly allow gradient overlays.
- Fixed excessive spacing between pop-up content and pop-up settings.
- Resolved a problem where scroll-to and trigger events were unavailable when “showing template” was active.
- Fixed incorrect behaviour where sorting by ACF meta data appeared selectable but did not work in advanced filter.
- Corrected Site Connector still appearing after a license downgrade.
- Fixed a display issue where “globally enabled in network admin” always appeared, even when not applicable.
- Ensured that the “no results” block renders correctly when a query loop block is placed inside tabs.
- Fixed core pagination not updating post slider content.
- Resolved an input field cursor navigation issue.
- Corrected ARIA attribute behaviour in combination with the post slider.
- Fixed the separator block’s “display as dots” switch not working as expected.
- Fixed unexpected inheritance of background images from parent hotspot blocks.
- Resolved an issue where the CPT preview button only worked via right-click.
-
Features
- Conditional Content:
- Added support for dynamic taxonomy conditions
- Conditional Content Block / Post Meta: Added available values for dropdown and radio buttons
- Theme Assets: Added user warning when “Trash” is clicked
- Popover:
- Allow Groups & Content Box as “Trigger”
- Added option to trigger on hover
- Accessibility: Fixed content box adjustments
Improvements
- Customized Editor preview: Adjusting title no longer causes unnecessary line breaks
- Query + Filter: JavaScript now re-triggers to improve third-party plugin compatibility
Bugfixes
- Dynamic Templates:
- Selecting image from media library no longer breaks the editor
- Fixed issue where properties were not made dynamic
- Accordion with icon now displays correctly when heading is used; outline visible again
- Animations now work properly again
- Group: Fixed
.group_wrapclass overwriting alignment in frontend - Core Pagination: Page numbers now react correctly to current page in archives
- Global Content + ACF: Field clearing now works correctly on synchronization
- Greyd.Hub: Export / Import templates are visible again
- Tabs block: Tabs alignment now works correctly with space-between
- Post import / export: Export now respects original or scaled image version
- Navigation in popover: Fixed JS warnings with
useSelectand unnecessary re-renders - Fixed a crash in the Conditional Content block
- Conditional Content:
-
Features
- Added support for revisions for custom post types.
- Improved visual appearance of features in post type editing.
- Added option to configure popover animations.
- Added ability to set aria attributes on blocks.
- Extended Conditional Content to support Global Dynamic Tags outside of query loops.
Improvements
- Updated dash icon picker to include new icons and provide a larger dropdown.
- Added aria-labels to filter buttons and chips block.
Bugfixes
- Fixed issue where Query Loop crashed in Site Editor single template.
- Accessibility:
- Fixed issue where filters in the search block were not accessible.
- Fixed issue where accordion with alternative heading tags could not be focused by keyboard.
- Fixed PHP warnings related to new aria-label property for popups.
- Fixed issue where post template wide width was not applied in the editor.
- Fixed issue where the datepicker broke when setting minimum or maximum dates.
- Fixed issue where post slider received 40px left padding when switched to
ul. - Fixed styling issues with post slider inside a group block.
- Fixed CSS issue with Dynamic Template inline styling not being applied correctly at parent element level.
- Fixed issue with Greyd.Hub migration where extra folders and files were added to the uploads directory.
-
Features
- Added option to set aria-labels for popups.
- Added new aspect ratios for the “Dynamic image” block.
Improvements
- Deprecated the Template Library feature.
Bugfixes
- Fixed missing focus outlines on elements triggered via hidden links (e.g. content boxes).
- Fixed issue where the “Media & Text” block was not supported in post exports.
- Fixed issue where the search term was not executed correctly in the post slider query.
- Resolved performance issues in the popover block.
- Fixed issue in the tabs block where content became nearly uneditable.
- Fixed inconsistency between frontend and backend rendering of the anchor block (case mismatch).
-
Bugfixes
- Fixed an issue that crashed a Greyd Button or Input field block when trying to overwrite the Font Family.
-
Bugfixes
- Fixed an issue where assigning <ul> and <li> elements inside a Query Loop block was not possible
- Fixed multiple small bugs and errors
Greyd.Forms
Your forms. Your design. Your functionality. Read more
-
Version 2.21.2
October 2, 2026
Bugfixes
- Fixed Frontend Post Forms not clearing previously submitted or prewritten field values when a field was emptied and the form was submitted again.
- Fixed Frontend Post Forms showing checkboxes that are pre-checked on load, including the iOS switch style, as checked again after they were turned off and submitted.
-
Bugfixes
- Fixed an issue where form tooltips stayed open and overlapped the next field when focus moved away with Tab.
- Fixed keyboard and screen reader access to fields on inactive steps of multistep forms.
- Fixed all steps of a multistep form being displayed stacked in the block editor on Greyd Classic sites.
- Fixed form blocks with tooltips showing invalid content in the block editor when the editor language differs from the one used to save them.
-
Features
- Added form interfaces on user registration and update forms, so follow-up emails and integrations can run after the user confirms registration.
Improvements
- Updated remaining greyd.io URLs to greydsuite.com.
- Improved security by excluding passwords from stored user-form entries.
Bugfixes
- Fixed placeholder styles not being applied to form inputs.
- Fixed form tooltip border-radius so it uses a static 4px value.
- Fixed URL field validation rejecting valid URLs.
- Fixed form data tags leaving placeholders or causing a fatal error when the value was nested or not a scalar.
- Fixed radio buttons with the value 0 being auto-checked from list indexes.
- Fixed form math calculations dropping negative values.
- Fixed invalid-state highlighting for radio and multiselect radio fields.
- Fixed synced post types being created from Frontend Post Forms when the title or slug was empty.
- Fixed user registration sending a second verification email when form double opt-in was leftover.
-
Improvements
- Improved security by encoding HubSpot list IDs before they are used in API request URLs.
Bugfixes
- Fixed HubSpot list membership requests using a legacy list ID for lists that already had a valid v3 ID; the legacy mapping now runs only when the stored ID is not found.
- Fixed a fatal error when form interface settings, entry deletion settings, or user registration meta were stored as objects instead of arrays after a remote Global Content import.
- Fixed form validation rejecting valid options from same-named dropdowns inside different condition blocks.
-
Improvements
- Added support for the “Real Cookie Banner” plugin: the reCAPTCHA execution is now wrapped in its consent API, so the captcha is loaded once the visitor has given consent.
- The “Surveys” and “Stats” admin pages now use the
export_greyd_formscapability instead of requiring the administrator role, so custom roles with that capability can open them.
-
Improvements
- Improved security by hardening rendering output for icon panel and dropdown fields.
Bugfixes
- Fixed form submissions failing when required fields were inside inactive conditions.
- Fixed skipping form fields in multistep container when autostep active.
- Fixed an issue with the license check for Dynamic Forms.
-
Bugfixes
- Fixed the configured post status not being applied when a form updated an existing post; the status is now set on both new and updated posts.
-
Features
- Added the “Email Domain Blocking” settings section: submissions can be rejected based on a list of blocked email addresses or blocked email domains (including subdomains).
Improvements
- Added new filters
greyd_forms_blocklist_emails,greyd_forms_blocklist_domains. - Values of required text and textarea fields are now trimmed in the frontend and in the submission handler, so inputs consisting only of spaces are no longer accepted.
- Clarified the error message for empty mandatory fields.
Bugfixes
- Fixed form submissions failing on cached pages by removing the nonce verification from the submission handler, which was added in 2.18.2. Cached forms delivered an outdated nonce, which made the submission fail.
- Fixed a typo in the validation message for the maximum character length.
-
New features
- Frontend Post Forms (available in Growth and Scale subscriptions): frontend form submissions can now create or update posts of any post type, with role-based permissions and a field mapping from form fields to post properties, taxonomies and dynamic meta fields.
- Dynamic Forms: Added the “Dynamic form” variation of the Dynamic Template block: forms whose fields have “Dynamic Overwrites” enabled can be inserted like a dynamic template and filled with values from the surrounding context.
Improvements
- Added new filters
greyd_forms_posts_interface_permission,greyd_forms_posts_interface_dataandgreyd_forms_posts_interface_postarrayto modify the permission check, the converted form values and the post array before a post is created or updated. - Added new filters
greyd_forms_attach_files_to_email,greyd_forms_max_email_attachment_size,greyd_forms_email_attachmentsandgreyd_forms_force_delete_large_filesto control the file upload handling per form. - Form values are now kept after submitting a form that is configured not to reset.
- Debug output of the public scripts is now only written to the console when
WP_DEBUGis enabled.
Bug fixes
- Fixed form values being reset when switching steps in multistep forms
- Fixed the height of nested conditional blocks in multistep forms
- Fixed unnecessary condition passes by deferring the condition checks and skipping math field re-triggers when the value did not change
- Fixed a possible fatal error in the shortcode rendering path by guarding the form renderer with a class check.
-
Improvements
- Added new filter
greyd_forms_action_afterto modify the after-submit action before it is sent to the frontend, e.g. to build dynamic redirect URLs based on the submitted form data. - Added new filter
greyd_forms_interface_data_hubspotto modify the data sent to HubSpot before the API call. - Added nonce verification to the form submission handler for improved security
Bugfix
- Fixed hidden conditional fields (e.g. dropdowns) still being serialized and submitted by disabling their inputs while hidden
- Fixed math field values inside hidden conditional blocks still being included in calculations
- Added new filter
-
Improvements
- Added Block Editor compatibility with WordPress 7.x (iframed editor support).
- Improved click-outside detection for dropdowns in the iframed editor.
- Updated label format options across form input blocks.
- Migrated the HubSpot integration from API v1 to v3 to ensure continued compatibility after HubSpot deprecates the v1 API.
Bugfixes
- Fixed an issue where the submit button size class prefix was incorrect.
- Fixed an issue where the multistep button style class was not detected correctly.
- Fixed an issue where the conditional fields “equal” operator did not work correctly.
- Fixed an issue where the HubSpot v3 memberships integration did not handle the correct response key for added contacts.
-
Features
- Added Cloudflare Turnstile as a new CAPTCHA block.
Improvements
- Increased the limit for lists in the Mailjet interface.
-
Bugfixes
- Adjusted filter handling in Greyd.Forms to align with the current public documentation
- Fixed behavior of Tooltips in the Classic Version
-
Improvements
- Moved Assistance setting from styles to settings in radio buttons for consistency.
- Improved required style functionality for forms.
Bugfixes
- Fixed potential error message handling in Entry class.
- Fixed issue where empty setting area was not hidden in radio buttons.
- Fixed field display overflow in mathematical field conditions.
- Fixed typos and translations.
- Fixed issue where email inputs were accepted without a dot.
- Fixed issue where Honeypot inputs were not being rendered.
- Fixed issue where non-submittable forms triggered the message “…request already sent…”.
-
Bugfixes
- Fixed style inconsistencies with radio buttons and checkboxes in Greyd.Forms
-
Bugfixes
- Fixed critical form error when using WPML translations.
- Resolved an issue where the dropdown icon in select fields disappeared after opening the field.
- Fixed an issue where numeric values were displayed as dates in the form entry metabox.
-
Bugfixes
- Fixed an issue where the Slider was showing a zero after the label
-
Features
- Introduced new form patterns
Improvements
- Enabled prefilled image tiles to be used in patterns
Bugfixes
- Fixed an issue where the size of the range slider could no longer be adjusted
- Fixed a bug that caused uploaded files with a “#” in the filename to be inaccessible
- Fixed an issue where the secondary style and custom modifications were not applied correctly
-
- Translation fixes
- Classic Version: accessibility tooltips were not displayed correctly
Greyd Global Content
Greyd Global Content is a content distribution system that lets you create content once and synchronise it across multiple WordPress websites.
-
Version 2.17.9
October 5, 2026
Improvements
- Updated remaining greyd.io URLs to greydsuite.com.
Bugfixes
- Fixed a fatal error (memory exhausted) on the Queue overview when the queue table holds many items: the table now counts and paginates in SQL instead of loading every item with its payload, and the sort parameters are whitelisted before they reach the query.
-
Bugfixes
- Fixed remote Global Content imports persisting nested post meta as objects instead of arrays, which corrupted form interface settings and similar meta on destination sites.
-
Bugfixes
- Fixes fatal error on Queue overview on single sites.
-
Improvements
- Improved: database query security hardening
- Security: general security improvements
-
Bugfixes
- Made root post edit options available in the Site Editor.
-
Features
- Added an alternative to run all items using JavaScript (AJAX) instead of a cron job.
Bugfixes
- Fixed issue where users were not able to edit non-global posts due to a filter.
- Resolved issue where global action buttons were not focusable in posts with errors.
- Fixed issue where posts were not recognized as global when initially published.
-
Bugfixes
- Fixed an issue where posts were distributed even though no destinations were set in the cluster.
- Fixed an issue where hidden columns in the cluster queue could not be adjusted by users.
-
Feature Release: Global Content Cluster (Scale plan)
- Added a feature to automatically synchronise posts, images, forms, and other assets across specific clusters of websites.
- Added a feature to set detailed rules for what gets published where and when.
- Added review and approval workflows.
- Added a feature to instantly roll back changes across all connected sites when needed.
Improvements
- Added user role restrictions for editing Global Content.
- Improved general stability.
- Reworked some UI/UX elements.
Bugfixes
- Fixed issue where previously synced files went missing.
- Resolved error when linking global Post IDs in translated posts.
- Fixed misleading notice when post types were not global.
Greyd Theme
The Greyd Theme is a free Full Site Editing block theme for WordPress. It provides templates, patterns, style variations, additional Global Styles, responsive spacing controls and accessibility features.
-
Version 2.17.2
September 17, 2026
Improvements
- Added an info tip for large border-radius values on inputs in Global Styles, including single-value radii such as
300pxand percent values of 50% or more. - Updated remaining greyd.io URLs to greydsuite.com.
- Added an info tip for large border-radius values on inputs in Global Styles, including single-value radii such as
-
Improvements
- Improved the Global Styles initialisation sequence for better editor reliability (WordPress 7.x compatibility).
- Adjusted the editor tools icon positioning.
- Updated dead links in the Greyd dashboard to point to the new documentation site.
-
Enhancement
- Limited the theme dashboard changelog to the latest three entries to shorten loading times.
Older releases
You can review older changelog entries in this overview.