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)