Skip to content

Releases: craftcms/cms

5.4.4

14 Sep 16:51
5.4.4
e7eaf2a
Compare
Choose a tag to compare

Important

This update fixes a critical data deletion bug for PostgreSQL installs.

  • Fixed a data deletion bug that occurred during garbage collection on PostgreSQL. (#14891)
  • Fixed a bug where image constraint labels weren’t translated within the Image Editor.
  • Fixed a bug where image orientation labels weren’t getting translated for screen readers within the Image Editor.
  • Fixed a PHP error. (#14635)
  • Fixed a bug where elements’ default field values weren’t getting populated on creation. (#15706)
  • Fixed a bug where URL field previews could bleed out of their container. (#15722)

4.12.3

14 Sep 16:46
4.12.3
1b80f51
Compare
Choose a tag to compare
  • Fixed a data deletion bug that occurred during garbage collection on PostgreSQL. (#14891)
  • Fixed a bug where image constraint labels weren’t translated within the Image Editor.
  • Fixed a bug where image orientation labels weren’t getting translated for screen readers within the Image Editor.
  • Fixed a PHP error. (#14635)

5.4.3

12 Sep 04:24
5.4.3
5f69bc4
Compare
Choose a tag to compare
  • Updated Twig to 3.14. (#15704)
  • Fixed a bug where soft-deleted structures weren’t getting hard-deleted via garbage collection. (#15705)
  • Fixed a bug where address’ Label fields were being marked as translatable. (#15702)
  • Fixed an error that could occur when saving an entry with a Matrix field, if the nested entries didn’t have slugs.
  • Fixed a bug where relation fields weren’t merging uploaded asset IDs with the existing field values. (#15707)
  • Fixed a styling issue with inline-editable Matrix block tabs. (#15703)
  • Fixed a bug where the control panel layout could shift briefly when removing an element from an element select input. (#15712)
  • Fixed an RCE vulnerability.
  • Fixed an XSS vulnerability.

4.12.2

12 Sep 04:22
4.12.2
c06b418
Compare
Choose a tag to compare
  • Updated Twig to 3.14. (#15704)
  • Fixed a bug where soft-deleted structures weren’t getting hard-deleted via garbage collection. (#15705)
  • Fixed an RCE vulnerability.

5.4.2

06 Sep 17:16
5.4.2
5e56c6d
Compare
Choose a tag to compare
  • Added craft\services\Security::isSystemDir().
  • Fixed a bug where craft\helpers\StringHelper::lines() was returning an array of Stringy\Stringy objects, rather than strings.
  • Fixed styling issues with Template field layout UI elements’ selector labels.
  • Fixed a validation error that could occur when saving a relational field, if the “Maintain hierarchy” setting had been enabled but was no longer applicable. (#15666)
  • Fixed a bug where formatted addresses weren’t using the application locale consistently. (#15668)
  • Fixed a bug where Tip and Warning field layout UI elements would display in field layouts even if they had no content. (#15681)
  • Fixed an error that could occur when reverting an element’s content from a revision, if the element had been added to additional sites since the time the revision was created. (#15679)
  • Fixed a PHP error that occurred when running PHP 8.2 or 8.3.
  • Fixed a bug where disabled entries became enabled when edited within Live Preview. (#15670)
  • Fixed a bug where new nested entries could get incremented slugs even if there were no elements with conflicting URIs. (#15672)
  • Fixed a bug where users’ Addresses screens were displaying addresses that belonged to the user via a custom Addresses field. (#15678)
  • Fixed a bug where Addresses fields weren’t always returning data in GraphQL.
  • Fixed a bug where partial addresses weren’t getting garbage collected.
  • Fixed a bug where orphaned nested addresses weren’t getting garbage collected. (#15678)
  • Fixed a bug where orphaned nested entries weren’t getting garbage collected after their field had been hard-deleted. (#15678)
  • Fixed a JavaScript error that could occur when bulk-editing elements. (#15694)
  • Fixed an information disclosure vulnerability.

4.12.1

06 Sep 17:15
4.12.1
74f6a2d
Compare
Choose a tag to compare
  • Added craft\services\Security::isSystemDir().
  • Fixed a bug where craft\helpers\StringHelper::lines() was returning an array of Stringy\Stringy objects, rather than strings.
  • Fixed styling issues with Template field layout UI elements’ selector labels.
  • Fixed a validation error that could occur when saving a relational field, if the “Maintain hierarchy” setting had been enabled but was no longer applicable. (#15666)
  • Fixed a bug where formatted addresses weren’t using the application locale consistently. (#15668)
  • Fixed a bug where Tip and Warning field layout UI elements would display in field layouts even if they had no content. (#15681)
  • Fixed an error that could occur when reverting an element’s content from a revision, if the element had been added to additional sites since the time the revision was created. (#15679)
  • Fixed an information disclosure vulnerability.

5.4.1

04 Sep 21:02
5.4.1
46c547f
Compare
Choose a tag to compare
  • Fixed a bug where element chips within thumbnail views weren’t getting light gray backgrounds. (#15649)
  • Fixed a bug where Link fields didn’t fully support inline editing. (#15653)
  • Fixed the loading spinner styling on element indexes. (#15634)
  • Fixed an error that could occur when saving an element. (#15656)
  • Fixed the styling of column sort indicators. (#15655)

5.4.0.1

03 Sep 18:28
5.4.0.1
658cc60
Compare
Choose a tag to compare
  • Fixed a PHP error that could occur on element indexes. (#15648)

5.4.0

03 Sep 16:52
5.4.0
d01e1c2
Compare
Choose a tag to compare

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)

4.12.0

03 Sep 16:49
4.12.0
b56c3d8
Compare
Choose a tag to compare

Content Management

  • Element conditions can now have a “Site Group” rule, if there are two or more site groups. (#15625)

Development

  • 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\elements\conditions\SiteGroupConditionRule.
  • Added craft\helpers\Session::close().
  • Added craft\services\Sites::getEditableSitesByGroupId().
  • craft\helpers\Session methods are now safe to call on console requests.
  • Deprecated craft\helpers\ElementHelper::rootElement(). craft\base\ElementInterface::getRootOwner() should be used instead.
  • Deprecated craft\db\mysql\Schema::quoteDatabaseName().
  • Deprecated craft\db\pgqsl\Schema::quoteDatabaseName().

System

  • MySQL mutex locks and PHP session names are now namespaced using the application ID combined with the environment name. (#15313)
  • 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 Assets fields were validating settings that weren’t applicable depending on the “Restrict assets to a single location” setting. (#15545)
  • Fixed a bug where null values within associative arrays were ignored when applying project config data. (#10512)