CraftCMS v4.0.5 Release Notes

Release Date: 2022-06-21 // almost 2 years ago
  • ➕ Added

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

    🔄 Changed

    • 👍 Categories now support change tracking.
    • 👌 Improved performance when working with temp asset folders.
    • Temp asset folders are no longer created until they’re actually needed. (#11427)
    • Element index queries are no longer cached if they contain a search term.
    • Search inputs within field layout designers now prevent the containing form from being submitted when the Return key is pressed. (#11415)

    🗄 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)
    • 🛠 Fixed a bug where element types’ actions() methods were getting called for all element-indexes/* action requests.
    • 🛠 Fixed a bug where the install command would run non-interactively even if not all needed options were passed, resulting in an error after the database tables had been added. (#11305)
    • 🛠 Fixed a viewport clipping bug on the control panel’s Login page. (#11372)
    • 🛠 Fixed a bug where filtering an element query by a relational field using :empty:/:notempty: wasn’t factoring in the field’s “Which site should entries be related from?” setting properly.
    • 🛠 Fixed a bug where filtering an element query by a relational field using :empty:/:notempty: wasn’t factoring in the source elements’ site IDs, for fields set to manage relations on a per-site basis. (#11418)
    • 🛠 Fixed a bug where the Temporary Uploads asset source wasn’t including subfolders.
    • 🛠 Fixed a bug where file upload progress bars weren’t always going away when an upload error occurred.
    • 🛠 Fixed a bug where Pashto was not being treated as an RTL langauge. (#11428)
    • 🛠 Fixed a bug where the upscaleImages config setting wasn’t being respected for transforms where only a single image dimension was specified. (#11398)
    • 🛠 Fixed an error that could occur when executing a GraphQL query, if a section didn’t have any entry types. (#11273)
    • 🛠 Fixed an error that could occur when changing the primary site on installs with a large number of users. (#11459)
    • 🛠 Fixed a bug where Assets fields within Vizy fields weren’t getting relocated from the user’s temp uploads folder. (#11462)

    🔒 Security

    • Environment-aware control panel fields no longer suggest environment variables that begin with HTTP_.
    • The Sendmail mailer no longer validates if the Sendmail Command setting is set to an enivornment variable that begins with HTTP_.