Skip to content

5.4.0

Compare
Choose a tag to compare
@github-actions github-actions released this 03 Sep 16:52
· 1194 commits to 5.x since this release
5.4.0
d01e1c2

Content Management

  • Element conditions can now have a “Not Related To” rule. (#15496)
  • Element conditions can now have a “Site Group” rule, if there are two or more site groups. (#15625)
  • Asset chips and cards no longer include the “Replace file” action. (#15498)
  • Category slugs are now inline-editable from the Categories index page. (#15560)
  • Entry post dates, expiry dates, slugs, and authors are now inline-editable from the Entries index page. (#15560)
  • Improved Addresses field validation to be more consistent with Matrix fields.
  • Entry chips and cards no longer include status indicators, if their entry type’s “Show thet Status field” setting is disabled. (#15636)
  • Matrix and Addresses fields now show newly-created elements on first edit, rather than after they’ve been fully saved. (#15641)

Accessibility

  • Improved the accessibility of Tags fields.

Administration

  • Link fields now have “Allow root-relative URLs” and “Allow anchors” settings. (#15579)
  • Custom field selectors within field layouts now display a pencil icon if their name, instructions, or handle have been overridden. (#15597)
  • Custom field settings within field layouts now display a chip for the associated global field. (#15619, #15597)
  • Field layouts can now define tips and warnings that should be displayed for fields. (#15632)
  • The Fields index page now has a “Used by” column that shows how many field layouts each field is used by. (#14984)
  • The Entry Types index page now has a “Used by” column that lists the sections and custom fields that each entry type is used by. (#14984)
  • Single sections can now have multiple entry types. (#15630)
  • Increased the text size for handle buttons within admin tables.

Development

  • Added the notRelatedTo and andNotRelatedTo element query params. (#15496)
  • Added the notRelatedTo GraphQL element query argument. (#15496)
  • relatedToAssets, relatedToCategories, relatedToEntries, relatedToTags, and relatedToUsers GraphQL arguments now support passing relatedViaField and relatedViaSite keys to their criteria objects. (#15508)
  • Country field values and craft\elements\Address::getCountry() now return the country in the current application locale.

Extensibility

  • Added craft\base\ApplicationTrait::getEnvId(). (#15313)
  • Added craft\base\ElementInterface::getRootOwner(). (#15534)
  • Added craft\base\ElementInterface::showStatusIndicator().
  • Added craft\elements\conditions\NotRelatedToConditionRule.
  • Added craft\elements\conditions\SiteGroupConditionRule.
  • Added craft\gql\arguments\RelationCriteria.
  • Added craft\gql\types\input\criteria\AssetRelation.
  • Added craft\gql\types\input\criteria\CategoryRelation.
  • Added craft\gql\types\input\criteria\EntryRelation.
  • Added craft\gql\types\input\criteria\TagRelation.
  • Added craft\gql\types\input\criteria\UserRelation.
  • Added craft\helpers\Cp::componentPreviewHtml().
  • Added craft\helpers\Inflector.
  • Added craft\helpers\Session::close().
  • Added craft\services\Sites::getEditableSitesByGroupId().
  • craft\helpers\Cp::chipHtml() now supports a hyperlink option.
  • craft\helpers\Session methods are now safe to call on console requests.
  • craft\services\Elements::saveElement() now saves dirty fields’ content even if $saveContent is false. (#15393)
  • Deprecated craft\db\mysql\Schema::quoteDatabaseName().
  • Deprecated craft\db\pgqsl\Schema::quoteDatabaseName().
  • Deprecated craft\helpers\ElementHelper::rootElement(). craft\base\ElementInterface::getRootOwner() should be used instead.
  • Added Craft.cp.announce(), simplifying live region announcements for screen readers. (#15569)
  • Element action menu items returned by craft\base\Element::safeActionMenuItems() and destructiveActionMenuItems() can now include a showInChips key to explicitly opt into/out of being shown within element chips and cards.
  • Element select inputs now support allowAdd and allowRemove settings. (#15639)
  • Control panel CSS selectors that take orientation into account now use logical properties. (#15522)

System

  • MySQL mutex locks and PHP session names are now namespaced using the application ID combined with the environment name. (#15313)
  • Added support for “City/Town” address locality labels. (#15585)
  • Craft now sends X-Robots-Tag: none headers for preview requests. (#15612, #15586)
  • x-craft-preview and x-craft-live-preview params are now hashed, and craft\web\Request::getIsPreview() will only return true if the param validates. (#15605)
  • Generated URLs no longer include x-craft-preview or x-craft-live-preview query string params based on the requested URL, if either were set to an unverified string. (#15605)
  • The PHP session is now closed before making API requests. (#15643)
  • Updated Twig to 3.12. (#15568)
  • Fixed a SQL error that occurred when running the db/convert-charset command if there were any custom database views or sequences. (#15598)
  • Fixed a bug where craft\helpers\Db::supportsTimeZones() could return false on databases that supported time zone conversion. (#15592)
  • Fixed a bug where null values within associative arrays were ignored when applying project config data. (#10512)
  • Fixed a bug where tabs within field layout designers weren’t always getting positioned correctly when wrapped. (#15590)
  • Fixed a bug where editable table rows’ action buttons were misaligned for newly-created rows. (#15602)
  • Fixed a bug where relational fields’ element query results weren’t limited to the selected relations if the id param was overridden. (#15570)
  • Fixed a bug where ordering element queries by textual custom fields would factor in character marks. (#15609)
  • Fixed a bug where Money fields’ condition rules could display incorrect values based on a user’s formatting locale.
  • Fixed an error that occurred when eager-loading user addresses. (#15629)
  • Fixed styling issues with classic Live Preview. (#15640)
  • Fixed a bug where fields were bleeding out of the content pane on smaller viewports.
  • Fixed a bug where Link fields didn’t allow URLs with TLDs longer than six characters.
  • Fixed a bug where hard-deleting an element wasn’t hard-deleting any nested elements as well. (#15645)
  • Fixed a bug where it wasn’t possible to hard-delete nested elements from embedded element index views. (#15645)
  • Fixed an error that occurred when calling the users/delete-user-photo or users/upload-user-photo from the front end. (#15487)
  • Fixed styling issues. (#15537)