Releases: craftcms/cms
Releases · craftcms/cms
5.0.0-alpha.8
- Fixed a PHP error that occurred when the Debug Toolbar was enabled. (#14183)
5.0.0-alpha.7
- Inline-editable Matrix blocks now support multiple tabs. (#8500, #14139)
- Inline-editable Matrix blocks now include “Open in a new tab” action items.
- Added the “Icon” entry type setting. (#14169)
- Added the “Icon” field type. (#14169)
- Added an SVG icon set based on Font Awesome 6.5.1. (#14169)
- Earth icons are now localized based on the system time zone.
- Selected elements within relational fields now include “Move up/down” or “Move forward/backward” in their action menus.
- Sections’ and Matrix fields’ Entry Types settings now use an entry type select input, with support for reordering selected entry types, and editing entry types via slideouts. (#14169)
- Added “Save and continue editing” actions to all core settings pages with full-page forms. (#14168)
- Improved the accessibility of time zone fields.
- Improved the accessibility of form alternative action menus.
- Improved the accessibility of element indexes. (#12286)
- Improved the accessibility of inline-editable Matrix blocks.
- Database backups no longer include data from the
phpsessions
table, if it exists. (#13589) - Disclosure menu items now default to the
button
type.link
is only assumed if aurl
key is set. - Disclosure menus now support defining horizontal rules via
hr: true
(in addition totype: 'hr'
). - Added the
utils/prune-orphaned-entries
command. (#14154) - Added
craft\base\Actionable
. (#14169) - Added
craft\base\Chippable
. (#14169) - Added
craft\base\ElementInterface::afterDeleteForSite()
. - Added
craft\base\ElementInterface::beforeDeleteForSite()
. - Added
craft\base\FieldInterface::afterElementDeleteForSite()
. - Added
craft\base\FieldInterface::beforeElementDeleteForSite()
. - Added
craft\base\Iconic
. (#14169) - Added
craft\base\Identifiable
. (#14169) - Added
craft\base\NestedElementInterface::setOwnerId()
. - Added
craft\base\NestedElementInterface::setPrimaryOwnerId()
. - Added
craft\base\NestedElementTrait::attributes()
. - Added
craft\base\NestedElementTrait::extraFields()
. - Added
craft\base\NestedElementTrait::setOwnerId()
. - Added
craft\base\NestedElementTrait::setPrimaryOwnerId()
. - Added
craft\base\Statusable
. (#14169) - Added
craft\base\Thumbable
. (#14169) - Added
craft\helpers\Cp::CHIP_SIZE_LARGE
. - Added
craft\helpers\Cp::CHIP_SIZE_SMALL
. - Added
craft\helpers\Cp::chipHtml()
. - Added
craft\helpers\Cp::customSelectFieldHtml()
. (#14169) - Added
craft\helpers\Cp::customSelectHtml()
. (#14169) - Added
craft\helpers\Cp::earthIcon()
. (#14169) - Added
craft\helpers\Cp::entryTypeSelectFieldHtml()
. (#14169) - Added
craft\helpers\Cp::entryTypeSelectHtml()
. (#14169) - Added
craft\helpers\Cp::fallbackIconSvg()
. (#14169) - Added
craft\helpers\Cp::iconPickerFieldHtml()
. (#14169) - Added
craft\helpers\Cp::iconPickerHtml()
. (#14169) - Added
craft\helpers\Cp::iconSvg()
. (#14169) - Added
craft\helpers\Cp::menuItem()
. (#14169) - Renamed
craft\base\UtilityInterface::iconPath()
toicon()
, which can now return a system icon name. (#14169) craft\base\NestedElementTrait::$ownerId
and$primaryOwnerId
are now private (but are still available via magic getters and setters).craft\base\WidgetInterface::icon()
can now return a system icon name. (#14169)craft\elements\Address::toArray()
andcraft\elements\Entry::toArray()
now support passingprimaryOwner
andowner
to the$expand
argument.craft\fields\fieldlayoutelements\BaseUiElement::selectorIcon()
can now return a system icon name. (#14169)craft\helpers\Html::svg()
now has a$throwException
argument.craft\web\Controller::asModelSuccess()
now includes amodelClass
key in the response data (andmodelId
if the model implementscraft\base\Identifiable
).- Deprecated
craft\helpers\Component::iconSvg()
.craft\helpers\Cp::iconSvg()
andfallbackIconSvg()
should be used instead. (#14169) - Deprecated
craft\helpers\Cp::ELEMENT_SIZE_LARGE
.CHIP_SIZE_LARGE
should be used instead. - Deprecated
craft\helpers\Cp::ELEMENT_SIZE_SMALL
.CHIP_SIZE_SMALL
should be used instead. - Removed
craft\web\twig\variables\Cp::getEntryTypeOptions()
. - Added the
chip()
andiconSvg()
global functions for control panel templates. - Selectize inputs now use the
auto_position
plugin. (#14160) - Fixed a bug where paths passed to
craft\web\CpScreenResponseBehavior::editUrl()
weren’t getting resolved to absolute URLs. - Fixed an error that occurred when switching entry types, if the entry had any Matrix fields.
- Fixed a bug where Assets fields set to the “Large Thumbnails” view mode were listing selected assets vertically. (#14138)
- Fixed an error that occurred when installing Craft with existing project config YAML files.
- Fixed an error that occurred when duplicating entries via the “Duplicate” bulk element action.
- Fixed a bug where deleting an entry for a site wasn’t propagating to Matrix blocks for that entry/site. (#13948)
- Fixed a bug where
craft\base\NestedElementTrait::$ownerId
wasnull
for elements which were queried for their primary owner.
4.7.0
Note
Assets fields with “All” selected for the available sources will no longer include the temp asset volume, if there is one.
Content Management
- Admin tables now have sticky footers. (#14149)
Administration
- Added “Save and continue editing” actions to all core settings pages with full-page forms. (#14168)
- It’s no longer possible to select the temp asset volume within Assets fields. (#11405, #14141)
- Added the
utils/prune-orphaned-matrix-blocks
command. (#14154)
Extensibility
- Added
craft\base\ElementInterface::beforeDeleteForSite()
. - Added
craft\base\ElementInterface::afterDeleteForSite()
. - Added
craft\base\FieldInterface::beforeElementDeleteForSite()
. - Added
craft\base\FieldInterface::afterElementDeleteForSite()
.
System
- Reduced the system font file size, and prevented the flash of unstyled type for it. (#13879)
- Log message timestamps are now set to the system time zone. (#13341)
- Database backups no longer include data from the
phpsessions
table, if it exists. (#13589) - Selectize inputs now use the
auto_position
plugin. (#14160) - Fixed a bug where paths passed to
craft\web\CpScreenResponseBehavior::editUrl()
weren’t getting resolved to absolute URLs. - Fixed a bug where deleting an entry for a site wasn’t propagating to Matrix blocks for that entry/site. (#13948)
5.0.0-alpha.6
- Admin tables now have sticky footers. (#14149)
- Money field condition rules now use money inputs. (#14148)
- Improved the accessibility of element indexes. (#14120)
- Reduced the system font file size, and prevented the flash of unstyled type for it. (#13879)
- Log message timestamps are now set to the system time zone. (#13341)
- Added
craft\fields\Money::currencyLabel()
. - Added
craft\fields\Money::subunits()
. - Added
craft\fields\conditions\MoneyFieldConditionRule
. craft\base\BaseFsInterface::renameFile()
andcopyFile()
now have a$config
argument. (#14147)- Fixed a bug where
craft\helpers\Db::prepareValueForDb()
wasn’t converting objects to arrays for JSON columns. - Fixed a bug where Checkboxes, Multi-select, Dropdown, and Radio Buttons fields weren’t displaying
0
options within element indexes or condition rules. (#14127, #14143) - Fixed a bug where
craft\db\Migration::renameTable()
was renaming the table for the primary database connection, rather than the migration’s connection. (#14131) - Fixed a bug where
Craft.FormObserver
wasn’t working reliably for non-<form>
containers. - Fixed a bug where Selectize inputs were triggering autosaves, even when the value didn’t change.
- Fixed a bug where custom source labels weren’t getting translated. (#14137)
- Fixed a bug where Dropdown columns within Table fields were loosing their options when the field was edited. (#14134)
- Fixed a bug where asset edit screens didn’t include the “Open in Image Editor” action item. (#14125)
- Updated Monolog to v3.
- Updated Axios to 1.6.5.
- Updated D3 to 7.8.5.
- Updated Punycode to 2.0.1.
- Updated XRegExp to 5.1.1.
4.6.1
craft\log\MonologTarget
instances are now created viaCraft::createObject()
. (#13341)- Fixed a bug where
craft\helpers\Db::prepareValueForDb()
wasn’t converting objects to arrays for JSON columns. - Fixed a bug where Checkboxes, Multi-select, Dropdown, and Radio Buttons fields weren’t displaying
0
options within element indexes or condition rules. (#14127, #14143) - Fixed a bug where
craft\db\Migration::renameTable()
was renaming the table for the primary database connection, rather than the migration’s connection. (#14131) - Fixed a bug where
Craft.FormObserver
wasn’t working reliably for non-<form>
containers. - Fixed a bug where Selectize inputs were triggering autosaves, even when the value didn’t change.
- Fixed a bug where custom source labels weren’t getting translated. (#14137)
- Fixed a bug where Dropdown columns within Table fields were loosing their options when the field was edited. (#14134)
5.0.0-alpha.5
- Added live conditional field support to asset edit pages, as well as asset, user, and tag slideouts. (#14115)
- It’s now possible to delete volume folders using the “Delete” asset action. (#13086)
- The “Save as a new entry” action is now available to all users with the “Create entries” permission, and will create a new unpublished draft rather than a fully-saved entry. (#9577, #10244)
- Custom field condition rules now show their field handles, for users with the “Show field handles in edit forms” preference enabled. (#13300)
- Element conditions now include condition rules for fields with duplicate names, for users with the “Show field handles in edit forms” preference enabled. (#13300)
- Added the
showFirstAndLastNameFields
config setting. (#14097) - The
mutex
driver is now set toyii\mutex\MysqlMutex
oryii\mutex\PgsqlMutex
by default, once again. (#14102) - Added
craft\base\ElementInterface::canDuplicateAsDraft()
. - Added
craft\helpers\App::dbMutexConfig()
. - Added
craft\services\Elements::EVENT_AUTHORIZE_DUPLICATE_AS_DRAFT
. - Added
craft\services\Elements::canDuplicateAsDraft()
. queue/get-job-info
action requests no longer create a mutex lock.craft\base\MemoizableArray
now supports passing a normalizer method to the constructor, which will be lazily applied to each array item once, only if returned byall()
orfirstWhere()
. (#14104)craft\elements\actions\DeleteAssets
is no longer deprecated.craft\helpers\ArrayHelper::firstWhere()
now has a$valueKey
argument, which can be passed a variable by reference that should be set to the resulting value’s key in the array.craft\services\Elements::duplicateElement()
now has an$asUnpublishedDraft
argument.- Deprecated
craft\helpers\App::mutexConfig()
. - Fixed a PHP error that occurred when viewing a user’s addresses.
- Fixed a bug where all field layouts were getting instantiated before the Debug Toolbar had a chance to register its
*
wildcard event - Fixed a JavaScript error that occurred when creating a new custom source. (#14108)
- Fixed a bug where nested entry edit pages weren’t showing validation errors. (#13975)
- Fixed some global header styling issues.
- Fixed an error that occurred when logged in with an account that didn’t have permission to edit any sites.
- Fixed a bug where conditionally-added field layout tabs weren’t showing their content.
- Fixed a bug where nested Matrix entries weren’t always retaining their sort order when applying a draft. (#14111)
- Added
Craft.FormObserver
. (#14114) - Updated
web-auth/webauthn-lib
to ^4.7.
4.6.0
Content Management
- Added live conditional field support to asset edit pages, as well as asset, user, and tag slideouts. (#14115)
- Added the “Country” field type. (#13789)
- It’s now possible to delete volume folders using the “Delete” asset action. (#13086)
- Date range condition rules are now inclusive of their end dates. (#13435)
- Custom field condition rules now show their field handles, for users with the “Show field handles in edit forms” preference enabled. (#13300)
- Element conditions now include condition rules for fields with duplicate names, for users with the “Show field handles in edit forms” preference enabled. (#13300)
- Improved element search performance. (#14055)
- Improved the performance of large editable tables. (#13852)
Administration
- Edit Field pages now have a “Save and add another” action. (#13865)
- Added the
disabledUtilities
config setting. (#14044) - Added the
showFirstAndLastNameFields
config setting. (#14097) resave
commands now pass an empty string (''
) to fields’normalizeValue()
methods when--to
is set to:empty:
. (#13951)- The
sections/create
command now supports--name
,--handle
,--type
,--no-versioning
,--uri-format
, and--template
options, and can now be run non-interactively. (#13864) - The
index-assets/one
andindex-assets/all
commands now accept a--delete-empty-folders
option. (#13947)
Extensibility
- Added partial support for field types storing data in JSON columns (excluding MariaDB). (#13916)
- Added
craft\base\conditions\ConditionRuleInterface::getLabelHint()
. - Added
craft\helpers\AdminTable::moveToPage()
. (#14051) - Added
craft\helpers\App::dbMutexConfig()
. - Added
craft\helpers\ElementHelper::searchableAttributes()
. - Added
craft\services\Elements::setElementUri()
. - Added
craft\services\Elements::EVENT_SET_ELEMENT_URI
. (#13930) - Added
craft\services\Search::createDbQuery()
. craft\base\MemoizableArray
now supports passing a normalizer method to the constructor, which will be lazily applied to each array item once, only if returned byall()
orfirstWhere()
. (#14104)craft\elements\actions\DeleteAssets
is no longer deprecated.craft\helpers\ArrayHelper::firstWhere()
now has a$valueKey
argument, which can be passed a variable by reference that should be set to the resulting value’s key in the array.- Deprecated
craft\helpers\App::mutexConfig()
. - Added
Craft.FormObserver
. (#14114) - Admin tables now have
footerActions
,moveToPageAction
,onCellClicked
,onCellDoubleClicked
,onRowClicked
,onRowDoubleClicked
, andpaginatedReorderAction
settings. (#14051)
System
- “Updating search indexes” jobs are no longer queued when saving elements with change tracking enabled, if no searchable fields or attributes were changed. (#13917)
queue/get-job-info
action requests no longer create a mutex lock.- The
mutex
driver is now set toyii\mutex\MysqlMutex
oryii\mutex\PgsqlMutex
by default, once again. (#14102)
4.5.15
- Fixed a bug where the “Save and add another” element action wasn’t redirecting to a new element edit page, when editing an unpublished draft.
- Fixed a bug where
craft\helpers\DateTimeHelper::nextYear()
andlastYear()
weren’t returning the correct dates. (#14109) - Fixed a bug where image transforms weren’t getting created for remote assets, if
maxCachedCloudImageSize
was set to0
. (#14100) - Fixed a SQL error that could occur when updating existing elements via GraphQL mutations. (#14113)
- Fixed a bug where Assets fields weren’t preselecting the default upload location when first opening the asset selection modal. (#14112, #14116)
- Fixed a bug where Assets fields weren’t tracking their selected source path on a per-field basis. (#14112, #14116)
- Fixed a bug where
craft\fields\BaseRelationField::normalizeValue()
wasn’t retaining eager-loaded values. (#14117)
4.6.0-RC1
- Added the “Country” field type. (#13789)
- It’s now possible to delete volume folders using the “Delete” asset action. (#13086)
- Date range condition rules are now inclusive of their end dates. (#13435)
- Improved element search performance. (#14055)
- Improved the performance of large editable tables. (#13852)
- Added partial support for field types storing data in JSON columns (excluding MariaDB). (#13916)
- “Updating search indexes” jobs are no longer queued when saving elements with change tracking enabled, if no searchable fields or attributes were changed. (#13917)
- Edit Field pages now have a “Save and add another” action. (#13865)
- Added the
disabledUtilities
config setting. (#14044) - Added the
showFirstAndLastNameFields
config setting. (#14097) resave
commands now pass an empty string (''
) to fields’normalizeValue()
methods when--to
is set to:empty:
. (#13951)- The
sections/create
command now supports--name
,--handle
,--type
,--no-versioning
,--uri-format
, and--template
options, and can now be run non-interactively. (#13864) - The
index-assets/one
andindex-assets/all
commands now accept a--delete-empty-folders
option. (#13947) queue/get-job-info
action requests no longer create a mutex lock.- The
mutex
driver is now set toyii\mutex\MysqlMutex
oryii\mutex\PgsqlMutex
by default, once again. (#14102) - Added
craft\helpers\AdminTable::moveToPage()
. (#14051) - Added
craft\helpers\App::dbMutexConfig()
. - Added
craft\helpers\ElementHelper::searchableAttributes()
. - Added
craft\services\Elements::setElementUri()
. - Added
craft\services\Elements::EVENT_SET_ELEMENT_URI
. (#13930) - Added
craft\services\Search::createDbQuery()
. craft\base\MemoizableArray
now supports passing a normalizer method to the constructor, which will be lazily applied to each array item once, only if returned byall()
orfirstWhere()
. (#14104)craft\elements\actions\DeleteAssets
is no longer deprecated.craft\helpers\ArrayHelper::firstWhere()
now has a$valueKey
argument, which can be passed a variable by reference that should be set to the resulting value’s key in the array.- Deprecated
craft\helpers\App::mutexConfig()
. - Admin tables now have
footerActions
,moveToPageAction
,onCellClicked
,onCellDoubleClicked
,onRowClicked
,onRowDoubleClicked
, andpaginatedReorderAction
settings. (#14051)
5.0.0-alpha.4
- Entries can now have multiple authors. (#12380)
- Sections now have a “Max Authors” setting. (#12380)
- Entry types now have a “Show the Slug field” setting. (#13799)
- Entry queries’
authorId
params now support passing multiple IDs prefixed withand
, to fetch entries with multiple listed authors. - User queries now have an
authorOf
param. - Entries now have
author
andauthorIds
GraphQL field. - Fixed a bug where section preview targets weren’t being respected in Craft Pro. (#14050)
- Added
craft\events\SetEagerLoadedElementsEvent::$plan
. - Added
craft\migrations\BaseContentRefactorMigration::$preserveOldData
. (#14089) - Added
craft\services\Entries::getEntryTypeByHandle()
. (#14094) craft\base\ElementInterface::setEagerLoadedElements()
now has a$plan
argument, which will be set to the eager-loading plan.- Removed
craft\services\Entries::getEntryTypesByHandle()
. - Fixed an error that could occur if eager-loading aliases conflicted with native eager-loading handles, such as
author
. (#14057) - Fixed an error that occurred when indexing search keywords for an element with multiple instances of the same custom field. (#13987)
- Fixed a bug where changed element attributes weren’t getting recorded.
- Fixed an error that could occur when updating to Craft 5. (#14086)
- Fixed a bug where volume filesystem settings were getting unnecessary validation errors when the
tempAssetUploadFs
config setting wasn’t set. (#14071) - Fixed an error that could occur when updating a plugin to Craft 5. (#14088)