Release v2.1.8
ACPT v2.1.8
Latest versionWhat's new in v2.1.8
ACPT v2.1.8 was released on . Simplified Power up your WordPress website with the superpowers of custom post types. Register new custom post types in seconds. See the full changelog below and compare with the complete version history.
Release details
Released
8.4 MB
File available
Changelog
Fixed
- #### Compatibility
- **Fatal error when saving a post** - on sites where another plugin loads a newer version of the webmozart/assert library (2.x, PHP 8.2+), saving a post with ACPT fields crashed with "Declaration of ACPT\Utils\PHP\Assert::string() must be compatible". ACPT no longer redeclares the library's methods, so it works with both versions (Ticket #1435).
- **Conflicts with other plugins' PHP libraries** - ACPT's PHP libraries (Twig, phpfastcache, webmozart/assert, Symfony YAML and the others) are now bundled under ACPT's own namespace, so another plugin loading a different version of the same library can no longer break ACPT, or be broken by it.
- #### Admin
- **The update was offered again after updating** - right after an update, WordPress offered the same version again. ACPT now compares against the installed version, and an up-to-date ACPT shows the auto-updates toggle (Ticket #1439).
- **"No response from the server" on the license page** - when acpt.io's answer wasn't JSON (a firewall's block page, an error page), the license page hid what the site received. It now shows the HTTP status and the page's text (Ticket #1431).
- **Saving a meta group with a nameless box crashed** - the save failed with a server error; the box is now rejected with a message. Empty field type groups are hidden in the WooCommerce product data builder.
- #### Meta fields
- **Required fields hidden by their conditions blocked the save** - a required field hidden by its own or its box's conditions stopped the browser from submitting the form, and was still validated on the server ("Expected a non-empty value."). Hidden fields are no longer required or validated; their value is still saved (Ticket #1437).
- **Repeater children named "type" or "original_name"** - they were saved but missing from `get_acpt_field()`. They are returned again (Ticket #1437).
- **Length limits counted bytes** - Min/Max length on meta and form fields rejected accented text the browser had accepted. Limits now count characters, as the browser does (Ticket #1439).
- **Date & time values in the canonical format were rejected** - the date check was inverted: a Date & time field saved as `2026-10-26 14:30:00` (from code, the REST API or an import) failed validation. It is now accepted, like every other date format the field can store.
- #### Gutenberg & Dynamic blocks
- **Saved ACPT blocks showed as unsupported** - "Your site doesn't include support for this block" appeared when the editor parsed the post before ACPT registered its blocks, and on post types registered on `init` (GeneratePress Elements, most plugin CPTs) the blocks and their styles weren't registered server-side. Both are fixed (Ticket #1441).
- **Image fields printed the alt text in dynamic block templates** - `{{ acpt_box_image }}` printed the alt text or title, so ` ` broke. Image, File and Gallery values now print their URL and still answer `.alt`, `.title`, `.id` and the other attachment properties (Ticket #1436).
- #### Integrations
- **Bricks: query filters didn't work on CCT columns** - on a post type whose fields come from a CCT, filter elements (Select, Checkbox, Range...) had no options and never narrowed the loop. They now index and filter the CCT column values (Ticket #1434).
- **WPML / Polylang: media fields showed the same attachment in every language** - the generated `wpml-config.xml` didn't list the attachment ID key of Image, Gallery, File, Video, Audio and Image slider fields. It does now, with the field's own translation settings (Ticket #1432).
- #### Internal
- **Test suite on WordPress 7.2** (no change for users) - two tests expected HTML exactly as WordPress 7.1 sanitized it. The tests now pass on both versions.
Compatibility
- Requires WordPress
- 6.5
- Requires PHP
- 7.4