Build bespoke content experiences with Craft.
asyncCsrfInputs
config setting. (#14625)backupCommandFormat
config setting. (#14897)backupCommand
config setting can now be set to a closure, which will be passed a mikehaertl\shellcommand\Command
object. (#14897)safeMode
config setting. (#14734)resave
commands now support an --if-invalid
option. (#14731)craft\conditions\ConditionInterface::getBuilderConfig()
.craft\controllers\EditUserTrait
. (#14789)craft\controllers\UsersController::EVENT_DEFINE_EDIT_SCREENS
. (#14789)craft\elements\conditions\ElementConditionInterface::setFieldLayouts()
.craft\events\DefineEditUserScreensEvent
. (#14789)craft\helpers\Cp::parseTimestampParam()
.craft\models\FieldLayoutTab::labelHtml()
.craft\services\ProjectConfig::getAppliedChanges()
. (#14851)craft\web\Request::getBearerToken()
. (#14784)craft\db\CoalesceColumnsExpression
.craft\db\ExpressionBuilder
.craft\db\ExpressionInterface
.craft\base\NameTrait::prepareNamesForSave()
no longer updates the name properties if fullName
, firstName
, and lastName
are already set. (#14665)craft\helpers\Typecast::properties()
now typecasts numeric strings to integers, for int|string
properties. (#14618)Craft.MatrixInput.Entry
. (#14730)asyncCsrfInputs
config setting. (#14625)backupCommandFormat
config setting. (#14897)backupCommand
config setting can now be set to a closure, which will be passed a mikehaertl\shellcommand\Command
object. (#14897)resave
commands now support an --if-invalid
option. (#14731)safeMode
config setting. (#14734)language
element query param, which filters the resulting elements based on their sites’ languages. (#14631)craft\helpers\Html::csrfInput()
and the csrfInput
Twig function now support passing an async
key to the options
array, overriding the default behavior per the asyncCsrfInputs
config setting. (#14625)craft\services\ProjectConfig::getAppliedChanges()
. (#14851)craft\services\Sites::getSitesByLanguage()
.craft\web\ErrorHandler::exceptionAsArray()
.craft\web\ErrorHandler::showExceptionDetails()
.craft\web\Request::getBearerToken()
. (#14784)craft\base\NameTrait::prepareNamesForSave()
no longer updates the name properties if fullName
, firstName
, and lastName
are already set. (#14665)setlocale()
based on the target language, so that SORT_LOCALE_STRING
behaves as expected. (#14509, #14513)count()
.craft\elements\db\ElementQuery::count()
could return the wrong number if the query had a cached result, with offset
or limit
params.backupCommand
config setting was set to false
.db/convert-charset
command, if any tables contained char
or varchar
foreign key columns. (#14815)craft\helpers\UrlHelper::isAbsoluteUrl()
was returning false
for URLs with schemes other than http
or https
, such as mailto
and tel
. (#14830)...
) wasn’t working with attribute accessors. (#14827)backupCommand
config setting was set to false
.db/convert-charset
command, if any tables contained char
or varchar
foreign key columns. (#14815)craft\helpers\UrlHelper::isAbsoluteUrl()
was returning false
for URLs with schemes other than http
or https
, such as mailto
and tel
. (#14830)...
) wasn’t working with attribute accessors. (#14827)relatedTo
param set to a list of element IDs were overly complex....
) wasn’t working when the preloadSingles
config setting was enabled. (#14783)relatedTo
param set to a list of element IDs were overly complex....
) wasn’t working when the preloadSingles
config setting was enabled. (#14783)utils/fix-field-layout-uids
command wasn’t looking at field layouts defined with a fieldLayout
key in the project config.craft\helpers\ElementHelper::siteStatusesForElement()
wasn’t working for soft-deleted elements. (#14753)utils/fix-field-layout-uids
command wasn’t looking at field layouts defined with a fieldLayout
key in the project config.