Releases: craftcms/cms
Releases · craftcms/cms
5.5.0.1
5.5.0
Content Management
- When saving a nested element within a Matrix/Addresses field in card view, the changes are now saved to a draft of the owner element, rather than published immediately. (#16002)
- Nested element cards now show status indicators if they are new or contain unpublished changes. (#16002)
- Improved the styling of element cards with thumbnails. (#15692, #15673)
- Elements within element selection inputs now have “Replace” actions.
- Entry types listed within entry indexes now show their icon and color. (#15922)
- Address index tables can now include “Country” columns.
- Action button cells within editable tables are now center-aligned vertically.
- Dropdown cells within editable tables are no longer center-aligned. (#15742)
- Link fields marked as translatable now swap the selected element with the localized version when their value is getting propagated to a new site for a freshly-created element. (#15821)
- Pressing Return when an inline-editable field is focused now submits the inline form. (Previously Ctrl/Command had to be pressed as well.) (#15841)
- Improved the styling of element edit page headers, for elements with long titles. (#16001)
- It’s now possible to preview audio and video assets from Edit Asset screens. (#16021)
- Sidebar visibility states are now stored in a browser cookie, so they are retained between page/slideout loads. (#16025, #15982)
- “Related To” condition rules now show the site menu in element selector modals. (#16036)
Accessibility
- Improved the control panel for screen readers. (#15665)
- Improved keyboard control. (#15665)
- Improved the color contrast of required field indicators. (#15665)
- Improved the accessibility of text inputs for screen readers.
- It’s now possible to move an image’s focal point without dragging it. (#15904)
- Improved field status indicators for screen readers. (#16081)
Administration
- Added the “Range” field type. (#15972)
- Added the “Allow custom options” setting to Checkboxes and Radio Buttons fields.
- Added the “Show the ‘Label’ field” and “Show the ‘Open in a new tab’ field” settings to Link fields. (#15983)
- Link fields’ Allowed Link Types settings are now sortable. (#15963)
- All relation fields can now be selected as field layouts’ thumbnail providers. (#15651)
- It’s now possible to include element attributes in card views, alongside custom fields, via new “Card Attributes” configurators. (#15283)
- Added the “Markdown” field layout UI element type. (#15674, #15664)
- Added the “Language” element condition rule. (#15952)
- The Sections index table can now be sorted by Name, Handle, and Type. (#15936)
- Sections are no longer required to have unique names. (#9829)
- Customize Sources modals now display native sources’ handles, when known.
- Removed the “Show the Title field” entry type setting. The “Title” element can now be removed from the field layout instead. (#15942)
- Entry types can now specify a Default Title Format, which will be used even if the Title field is included in the field layout, to generate a default Title value if the field is blank. (#15942)
- It’s now possible to control whether entry types’ Title fields are required. (#15942)
- Added the “Step Size” Number field setting.
icon
is now a reserved field handle. (#16077)- Added the “Default View Mode” element source setting. (#15824)
- User impersonation now requires an elevated session. (#16052)
- Elevated session prompts now authenticate against the original user, when impersonating a user. (#16052)
- Added several new icons.
- Added
pc/*
commands as an alias ofproject-config/*
. - Added the
resave/all
command. - Added the
users/remove-2fa
command. (#16053) - Added the
--except
,--minor-only
, and--patch-only
options to theupdate
command. (#15829) - Added the
--with-fields
option to all nativeresave/*
commands. - The
fields/merge
andfields/auto-merge
commands now prompt to resave elements that include relational fields before merging them, and provide a CLI command that should be run on other environments before the changes are deployed to them. (#15869)
Development
- Added the
encodeUrl()
Twig function. (#15838) {% cache %}
tags now support setting the duration number to an expression. (#15970)- Added support for passing aliased field handles into element queries’
select()
/addSelect()
methods. (#15827) - Added support for appending subpaths to environment variable names in environmental settings (e.g.
$PRIMARY_SITE_URL/uploads
).
Extensibility
- Added
craft\base\Element::EVENT_REGISTER_CARD_ATTRIBUTES
. - Added
craft\base\Element::EVENT_REGISTER_DEFAULT_CARD_ATTRIBUTES
. - Added
craft\base\Element::defineCardAttributes()
. - Added
craft\base\Element::defineDefaultCardAttributes()
. - Added
craft\base\ElementInterface::attributePreviewHtml()
. - Added
craft\base\ElementInterface::cardAttributes()
. - Added
craft\base\ElementInterface::defaultCardAttributes()
. - Added
craft\base\ElementInterface::indexViewModes()
. - Added
craft\base\NestedElementTrait::saveOwnership()
. (#15894) - Added
craft\base\PreviewableFieldInterface::previewPlaceholderHtml()
. - Added
craft\base\RequestTrait::getIsWebRequest()
. (#15690) - Added
craft\base\conditions\BaseElementSelectConditionRule::elementSelectConfig()
. - Added
craft\console\Controller::output()
. - Added
craft\console\controllers\ResaveController::hasTheFields()
. - Added
craft\elements\db\NestedElementQueryTrait
. (#15894) - Added
craft\events\ApplyFieldSaveEvent
. (#15872) - Added
craft\events\DefineAddressCountriesEvent
. (#15711) - Added
craft\events\RegisterElementCardAttributesEvent
. - Added
craft\events\RegisterElementDefaultCardAttributesEvent
. - Added
craft\fieldlayoutelements\Template::$templateMode
. (#15932) - Added
craft\fields\data\LinkData::$target
. - Added
craft\fields\data\LinkData::setLabel()
. - Added
craft\filters\BasicHttpAuthLogin
. (#15720) - Added
craft\filters\BasicHttpAuthStatic
. (#15720) - Added
craft\filters\ConditionalFilterTrait
. (#15948) - Added
craft\filters\UtilityAccess
. - Added
craft\helpers\Console::$outputCount
. - Added
craft\helpers\Console::$prependNewline
. - Added
craft\helpers\Console::indent()
. - Added
craft\helpers\Console::indentStr()
. - Added
craft\helpers\Console::outdent()
. - Added
craft\helpers\Cp::cardPreviewHtml()
. - Added
craft\helpers\Cp::cardViewDesignerHtml()
. - Added
craft\helpers\Cp::rangeFieldHtml()
. (#15972) - Added
craft\helpers\Cp::rangeHtml()
. (#15972) - Added
craft\helpers\ElementHelper::linkAttributeHtml()
. - Added
craft\helpers\ElementHelper::uriAttributeHtml()
. - Added
craft\helpers\Session::addFlash()
. - Added
craft\helpers\Session::getAllFlashes()
. - Added
craft\helpers\Session::getFlash()
. - Added
craft\helpers\Session::hasFlash()
. - Added
craft\helpers\Session::removeAllFlashes()
. - Added
craft\helpers\Session::removeFlash()
. - Added
craft\helpers\StringHelper::firstLine()
. - Added
craft\helpers\UrlHelper::encodeUrl()
. (#15838) - Added
craft\log\MonologTarget::getAllowLineBreaks()
. - Added
craft\log\MonologTarget::getFormatter()
. - Added
craft\log\MonologTarget::getLevel()
. - Added
craft\log\MonologTarget::getMaxFiles()
. - Added
craft\log\MonologTarget::getName()
. - Added
craft\log\MonologTarget::getProcessor()
. - Added
craft\log\MonologTarget::getUseMicrosecondTimestamps()
. - Added `craft\mo...
4.13.0
Administration
- Added the “Language” element condition rule. (#15952)
- Added
pc/*
commands as an alias ofproject-config/*
. - Added the
--except
,--minor-only
, and--patch-only
options to theupdate
command. (#15829)
Development
- Added the
encodeUrl()
Twig function. (#15838) - Added support for passing aliased field handles into element queries’
select()
/addSelect()
methods. (#15827) - Added support for appending subpaths to environment variable names in environmental settings (e.g.
$PRIMARY_SITE_URL/uploads
).
Extensibility
- Added
craft\base\RequestTrait::getIsWebRequest()
. (#15690) - Added
craft\events\ApplyFieldSaveEvent
. (#15872) - Added
craft\events\DefineAddressCountriesEvent
. (#15711) - Added
craft\filters\BasicHttpAuthLogin
. (#15720) - Added
craft\filters\BasicHttpAuthStatic
. (#15720) - Added
craft\filters\ConditionalFilterTrait
. (#15948) - Added
craft\filters\UtilityAccess
. - Added
craft\helpers\Session::addFlash()
. - Added
craft\helpers\Session::getAllFlashes()
. - Added
craft\helpers\Session::getFlash()
. - Added
craft\helpers\Session::hasFlash()
. - Added
craft\helpers\Session::removeAllFlashes()
. - Added
craft\helpers\Session::removeFlash()
. - Added
craft\helpers\UrlHelper::encodeUrl()
. (#15838) - Added
craft\log\MonologTarget::getAllowLineBreaks()
. - Added
craft\log\MonologTarget::getFormatter()
. - Added
craft\log\MonologTarget::getLevel()
. - Added
craft\log\MonologTarget::getMaxFiles()
. - Added
craft\log\MonologTarget::getName()
. - Added
craft\log\MonologTarget::getProcessor()
. - Added
craft\log\MonologTarget::getUseMicrosecondTimestamps()
. - Added
craft\services\Addresses::EVENT_DEFINE_ADDRESS_COUNTRIES
. (#15711) - Added
craft\services\Addresses::getCountryList()
. (#15711) - Added
craft\services\Fields::EVENT_BEFORE_APPLY_FIELD_SAVE
. (#15872) - Added
craft\services\Gc::deleteOrphanedFieldLayouts()
. - Added
craft\web\View::registerCpTwigExtension()
. - Added
craft\web\View::registerSiteTwigExtension()
. - Improved support for creating log targets for third party logging services. (#14974)
- Deprecated the
enableBasicHttpAuth
config setting.craft\filters\BasicHttpAuthLogin
should be used instead. (#15720) - Added the
serializeForm
event toCraft.ElementEditor
. (#15794)
System
5.4.10.1
5.4.10
- Fixed a bug where entry/category drafts weren’t retaining new parent selections.
- Fixed a bug where the “Related To” condition rule would lose track of the selected element if it belonged to a different site. (#16005)
- Fixed a bug where the GraphQL tokens index was saying tokens never expired. (#16029)
- Fixed a bug
craft\services\Categories::saveGroup()
andcraft\services\Tags::saveTagGroup()
weren’t respecting predefined UUID values on new models. - Fixed an error that could occur when editing a nested Matrix entry in a slideout or full-page editor, if it was initially edited while the Matrix field was in inline-editable blocks mode.
- Fixed an error that could occur when editing an address that had provisional changes.
- Fixed a bug where address cards weren’t showing provisional changes.
- Fixed a bug where it was possible to edit nested addresses when viewing a revision. (#15961)
- Fixed a bug where nested elements could have checkboxes and drag handles when viewing a revision. (#15961)
- Fixed an error that could occur when bulk-editing elements from an element index, if any of them had provisional drafts. (#15962)
- Fixed a bug where element exporting was only working as intended on the first page of results. (#15996, #16003)
- Fixed a bug where Number fields weren’t getting sorted properly in PostgreSQL. (#15973)
- Fixed a bug where field conditions weren’t taking effect within Matrix fields set to inline-editable blocks mode, if
autosaveDrafts
was disabled. (#15985) - Fixed an error that occurred when attempting to delete a nested Matrix entry, if it had an entry type that was no longer allowed for the Matrix field. (#15990)
- Fixed a bug where structure data wasn’t getting deleted for drafts when moving an entry out of a Structure section. (#15949, #16014)
- Fixed a bug where loading spinners weren’t always centered. (#16013)
- Fixed a race condition that could break default entry creation for Matrix fields. (#15999)
- Fixed a JavaScript error that occurred when sorting nested elements in an embedded element index, if the index was paginated. (#16026)
- Fixed a styling bug.
- Updated Axios to 1.7.7. (#15958)
4.12.9
- Fixed a bug where entry/category drafts weren’t retaining new parent selections.
- Fixed a bug where the “Related To” condition rule would lose track of the selected element if it belonged to a different site. (#16005)
- Fixed a bug where the GraphQL tokens index was saying tokens never expired. (#16029)
- Fixed styling issues. (#15965)
5.4.9
- The
install
command now runs through database connection setup, if Craft can’t yet connect to the database. (#15943) authorId
,authorIds
,authors
, andsectionId
are now reserved field handles for entry types. (#15923)- Added
craft\elements\db\NestedElementQueryInterface
. - Added
craft\services\Gc::$silent
. - Fixed a bug where admin table header cells weren’t indicating when they were sorted. (#15897)
- Fixed an error that occurred when creating a database backup, if the System Name contained any quote-like characters. (#15933)
- Fixed a bug where buttons could bleed out of their containers. (#15931, #15946)
- Fixed a PHP error. (#15915)
- Fixed a bug where uninstalled/missing plugins weren’t getting status indicators on the Plugins index page.
- Fixed errors that occurred when working with nested entries for a newly-added site. (#15898)
- Fixed a bug where it wasn’t possible to scroll the section select modal when moving entries to a different section. (#15900)
- Fixed a bug where query params in the format of
'<operator> <values>'
weren’t being parsed correctly. - Fixed a bug
craft\services\Entries::saveSection()
andcraft\services\Volumes::saveVolume()
weren’t respecting predefined UUID values on new models. - Fixed a bug where Addresses fields in element index view weren’t showing newly-created addresses. (#15911)
- Fixed a bug where disabled Money fields were showing the clear button.
- Fixed a bug where element slideouts had a “Save” button when viewing a revision. (#15930)
- Fixed a bug where element edit pages had a “Revert content from this revision” button for elements that didn’t support revisions. (#15930)
- Fixed an error that occurred when loading a soft-deleted nested entry from a revision. (#15930)
- Fixed a bug where the
entrify/tags
andentrify/global-set
commands would prompt for the target section after one had just been created. - Fixed a bug where
entrify
commands weren’t copying the original field instance UUIDs into newly-created entry types, causing content to appear missing. (#15935) - Fixed a bug where element editor slideouts could create unnecessary provisional drafts. (#15938)
- Fixed an information disclosure vulnerability.
4.12.8
- The
install
command now runs through database connection setup, if Craft can’t yet connect to the database. (#15943) - Fixed a bug where admin table header cells weren’t indicating when they were sorted. (#15897)
- Fixed an error that occurred when creating a database backup, if the System Name contained any quote-like characters. (#15933)
- Fixed a bug where buttons could bleed out of their containers. (#15931, #15946)
- Fixed a PHP error. (#15915)
- Fixed an information disclosure vulnerability.
5.4.8
- Added
craft\helpers\App::isTty()
. - Fixed a styling issue with Color field inputs. (#15868)
- Fixed a deprecation error. (#15873)
- Fixed a bug where element sources weren’t keyboard-selectable. (#15876)
- Fixed a bug where Craft wasn’t auto-detecting interactive terminals on Windows.
- Fixed a bug where element actions were allowed on nested entries when viewing a revision. (#15879)
- Fixed a bug where element error summaries weren’t linking to recursively-nested Matrix fields properly. (#15797)
- Fixed a bug where eager-loaded relation fields were loading all related elements across all instances of the field. (#15890)
- Fixed a bug where expanding the site statuses UI for an entry within a slideout would remove the expand button from the main entry’s form. (#15893)
- Fixed a privilege escalation vulnerability.
4.12.7
- Fixed a privilege escalation vulnerability.