CraftCMS v4.0.5 Release Notes

Release Date: 2022-06-21 // 4 days ago
  • ➕ Added

    • ➕ Added craft\helpers\Number::isIntOrFloat().

    🔄 Changed

    • 👍 Categories now support change tracking.

    🗄 Deprecated

    • 🗄 Deprecated craft\services\Categories::pruneDeletedField(). (#11054)
    • 🗄 Deprecated craft\services\Globals::pruneDeletedField(). (#11054)
    • 🗄 Deprecated craft\services\Sections::pruneDeletedField(). (#11054)
    • 🗄 Deprecated craft\services\Tags::pruneDeletedField(). (#11054)
    • 🗄 Deprecated craft\services\Users::pruneDeletedField(). (#11054)
    • 🗄 Deprecated craft\services\Volumes::pruneDeletedField(). (#11054)

    🛠 Fixed

    • 🛠 Fixed an error that could occur when saving an element to a disabled site. (#10499)
    • 🛠 Fixed a bug where newly-added condition rules’ types were still selectable for preexisting condition rules, when they shouldn’t have been.
    • 🛠 Fixed a bug where field layout designers were checking the wrong setting when determining whether to include UI elements (customizableTabs instead of customizableUi).
    • 🛠 Fixed a bug where the Asset Indexes utility was analyzing image transform directories and files. (#11362, #11384)
    • 🛠 Fixed a bug where focus was getting trapped within element editor slideouts’ sidebars even for wide viewports where there was enough room to display the sidebar side-by-side with other slideout content. (#11358)
    • 🛠 Fixed a bug where users’ Formatting Locale preferences weren’t always being respected.
    • 🛠 Fixed a bug where address card menus would linger around after an address was deleted.
    • 🛠 Fixed a bug where the index-assets command could produce unexpected output. (#11194).
    • 🛠 Fixed a bug where video controls within asset preview modals were inaccessible via the keyboard. (#11371)
    • 🛠 Fixed a bug where transform GraphQL directives weren’t working for Assets fields. (#10299)
    • 🛠 Fixed a PHP error that could occur when running the help command. (#11423)
    • 🛠 Fixed a bug where craft\helpers\App::env() was converting some values to integers or floats unexpectedly. (#11422)
    • 🛠 Fixed a bug where changes to existing Matrix blocks weren’t saving for element types that supported drafts but not change tracking. (#11419)
    • 🛠 Fixed a bug where double-clicking on a related asset’s thumbnail could open the asset’s preview modal. (#11424)
    • 🛠 Fixed a bug where the control panel wasn’t displaying file upload failure messages.
    • 🛠 Fixed a bug where action query params were taking precedence over actionTrigger URI matches, when handling action requests. (#11435)
    • 🛠 Fixed a bug where image fields within Edit User pages and the Settings → General page weren’t resetting properly after an image was deleted. (#11436)
    • 🛠 Fixed a bug where User Group condition rules set to the “is not one of” operator weren’t being applied to individual elements correctly. (#11444)
    • 🛠 Fixed a JavaScript error that occurred on element indexes for users that didn’t have permission to edit any sites.
    • 🛠 Fixed a bug where users without permission to create new entries in a section could duplicate existing entries. (#11447)
    • 🛠 Fixed a bug where element selection condition rules weren’t working if an element ID was provided. (#11451)
    • 🛠 Fixed a PHP error that occurred when executing a GraphQL query using a token that wasn’t set to a schema. (#11453)
    • 🛠 Fixed a PHP error that could occur when unserializing a craft\validator\DateTimeValidator, LanguageValidator, StringValidator, or TimeValidator object. (#11454)

Previous changes from v4.0.4

  • ➕ Added

    • ➕ Added support for querying for users with a credentialed status.
    • ➕ Added craft\elements\db\UserQuery::STATUS_CREDENTIALED.
    • ➕ Added craft\errors\FieldNotFoundException.
    • ➕ Added craft\helpers\Html::encodeSpaces().
    • ➕ Added craft\web\twig\variables\Cp::getRequestedSite(). (#11082)

    🔄 Changed

    • temp is now a reserved volume handle.
    • 👌 Improved the performance of field layout designers. (#11298)
    • All control panel pages now have a site--<siteHandle> class name on the <body>, based on the currently-selected site. (#11303)
    • ⚠ Warnings are no longer logged when instantiating a field layout that references a deleted custom field. (#11333)
    • craft\elements\Asset::getUrl() now encodes any spaces in the URL as %20 entities.

    🛠 Fixed

    • 🛠 Fixed a bug where it wasn’t possible to disable all table columns for an element source. (#11291)
    • 🛠 Fixed a bug where the Assets index page wasn’t allowing any bulk actions for assets in the temporary volume. (#11293)
    • 🛠 Fixed a bug where PHP errors thrown while rendering a template weren’t being handled properly. (#11108)
    • 🛠 Fixed a bug where site status labels were inconsistent on element edit pages. (#11307)
    • 🛠 Fixed a bug where addresses’ County fields were mislablled. (#11314)
    • 🛠 Fixed a bug where the control panel’s login form wasn’t handling errors properly. (#11319)
    • 🛠 Fixed a bug where it wasn’t possible to use a {% redirect %} tag in an error template. (#11336)
    • 🛠 Fixed an error that occurred when saving an entry via a GraphQL mutation. (#11312)
    • 🛠 Fixed a bug where all web requests were getting no-cache headers. (#11346)
    • 🛠 Fixed a bug where user caches weren’t getting invalidated when users were changed to a pending or inactive state.
    • 🛠 Fixed a bug where querying for users with an active status was returning suspended users. (#11370)
    • 🛠 Fixed a bug where it wasn’t possible to drag assets within Assets fields by their thumbnails. (#11364)
    • 🛠 Fixed a bug where asset thumbnails weren’t loading if their filename contained a space. (#11350)
    • 🛠 Fixed a bug where craft\services\AssetIndexer::indexFile() wasn’t removing the filename from the file path when setting the directory on the listing. (#11365)
    • 🛠 Fixed a bug where links within custom field instructions were getting mangled. (#11377)