a:2:{i:0;a:2:{s:3:"cms";a:3:{s:6:"status";s:8:"eligible";s:8:"releases";a:2:{i:0;a:4:{s:7:"version";s:5:"3.5.1";s:8:"critical";b:0;s:4:"date";s:25:"2020-08-05T00:00:00+00:00";s:5:"notes";s:569:"
Read through the Upgrading to Craft 3.5 guide before updating.
allowedGraphqlOrigins
config setting. (#5933)brokenImagePath
config setting. (#5877)cpHeadTags
config setting, making it possible to give the control panel a custom favicon. (#4003)defaultCpLocale
config setting. (#6363)enableBasicHttpAuth
config setting. (#6421)gqlTypePrefix
config setting, making it possible to prefix all GraphQL types created by Craft. (#5950)imageEditorRatios
config setting, making it possible to customize the list of available aspect ratios in the image editor. (#6201)previewIframeResizerOptions
config setting. (#6388)siteToken
config setting.install/check
command. (#5810)invalidate-tags
command. (#6279)plugin/install
, plugin/uninstall
, plugin/enable
, and plugin/disable
commands. (#5817){% cache %}
tags and GraphQL queries now use a new tag-based cache invalidation strategy. (No more “Deleting stale template caches” background jobs clogging up the queue!) (#1507, #1689){% html %}
Twig tag, which makes it possible to register arbitrary HTML for inclusion in the <head>
, beginning of <body>
, or end of <body>
. (#5955)|diff
Twig filter.|explodeClass
Twig filter, which converts class names into an array.|explodeStyle
Twig filter, which converts CSS styles into an array of property/value pairs.|namespaceAttributes
Twig filter, which namespaces id
, for
, and other attributes, but not name
.|push
Twig filter, which returns a new array with one or more items appended to it.|unshift
Twig filter, which returns a new array with one or more items prepended to it.|where
Twig filter.raw()
Twig function, which wraps the given string in a Twig\Markup
object to prevent it from getting HTML-encoded.currentRevision
.draftCreator
and revisionCreator
.CRAFT_CP
PHP constant. (#5122)drafts
, draftOf
, draftId
, draftCreator
, revisions
, revisionOf
, revisionId
and revisionCreator
arguments to element queries using GraphQL API. (#5580)isDraft
, isRevision
, sourceId
, sourceUid
, and isUnsavedDraft
fields to elements when using GraphPQL API. (#5580)assetCount
, categoryCount
, entryCount
, tagCount
, and userCount
queries for fetching the element counts to the GraphPQL API. (#4847)locale
argument to the formatDateTime
GraphQL directive. (#5593)width
and height
fields via GraphQL.hasPhoto
user query param/GraphQL argument. (#6083)localized
field when querying entries and categories via GraphQL. (#6045)language
field when querying elements via GraphQL.fieldLayoutDesigner()
and fieldLayoutDesignerField()
macros to the _includes/forms.html
control panel template._includes/forms/fieldLayoutDesigner.html
control panel template._layouts/components/form-action-menu.twig
control panel template.parseRefs
GraphQL directive. (#6200)prev
and next
fields for entries, categories and assets when querying elements via GraphQL. (#5571)craft\base\ConfigurableComponent
.craft\base\ConfigurableComponentInterface
.craft\base\Element::defineFieldLayouts()
.craft\base\Element::EVENT_DEFINE_KEYWORDS
. (#6028)craft\base\Element::EVENT_REGISTER_FIELD_LAYOUTS
.craft\base\Element::EVENT_SET_EAGER_LOADED_ELEMENTS
.craft\base\Element::searchKeywords()
.craft\base\ElementActionInterface::isDownload()
.craft\base\ElementInterface::fieldLayouts()
.craft\base\ElementInterface::getCacheTags()
.craft\base\ElementInterface::getIsTitleTranslatable()
.craft\base\ElementInterface::getLanguage()
.craft\base\ElementInterface::getLocalized()
.craft\base\ElementInterface::getTitleTranslationDescription()
.craft\base\ElementInterface::getTitleTranslationKey()
.craft\base\ElementInterface::gqlMutationNameByContext()
.craft\base\ElementInterface::isAttributeDirty()
.craft\base\ElementInterface::isFieldEmpty()
.craft\base\ElementInterface::setDirtyAttributes()
.craft\base\ElementTrait::$elementSiteId
.craft\base\Field::EVENT_DEFINE_INPUT_HTML
. (#5867)craft\base\Field::EVENT_DEFINE_KEYWORDS
. (#6028)craft\base\Field::inputHtml()
.craft\base\Field::searchKeywords()
.craft\base\FieldInterface::getContentGqlMutationArgumentType()
.craft\base\FieldInterface::getContentGqlQueryArgumentType()
.craft\base\FieldLayoutElement
.craft\base\FieldLayoutElementInterface
.craft\base\Model::EVENT_DEFINE_EXTRA_FIELDS
.craft\base\Model::EVENT_DEFINE_FIELDS
.craft\base\VolumeInterface::getFieldLayout()
.craft\behaviors\BaseRevisionBehavior
.craft\config\GeneralConfig::getTestToEmailAddress()
.craft\console\actions\InvalidateTagAction
.craft\console\controllers\InvalidateTagsController
.craft\console\controllers\MailerController::$to
.craft\console\controllers\MigrateController::EVENT_REGISTER_MIGRATOR
.craft\controllers\AppController::actionBrokenImage()
.craft\controllers\BaseEntriesController::enforceSitePermissions()
.craft\controllers\FieldsController::actionRenderLayoutElementSelector()
.craft\controllers\UtilitiesController::actionInvalidateTags()
.craft\controllers\UtilitiesController::actionProjectConfigPerformAction()
.craft\db\MigrationManager::TRACK_CONTENT
.craft\db\MigrationManager::TRACK_CRAFT
.craft\elements\actions\CopyUrl
.craft\elements\actions\Delete::$hard
.craft\elements\actions\Delete::$withDescendants
.craft\elements\Asset::defineFieldLayouts()
.craft\elements\Asset::getCacheTags()
.craft\elements\Asset::getSrcset()
. (#5774)craft\elements\Asset::getVolumeId()
.craft\elements\Asset::gqlMutationNameByContext()
.craft\elements\Asset::setVolumeId()
.craft\elements\Category::defineFieldLayouts()
.craft\elements\Category::getCacheTags()
.craft\elements\Category::gqlMutationNameByContext()
.craft\elements\db\AssetQuery::cacheTags()
.craft\elements\db\CategoryQuery::cacheTags()
.craft\elements\db\EagerLoadPlan
.craft\elements\db\ElementQuery::cacheTags()
.craft\elements\db\EntryQuery::cacheTags()
.craft\elements\db\MatrixBlockQuery::cacheTags()
.craft\elements\db\TagQuery::cacheTags()
.craft\elements\db\UserQuery::$hasPhoto
.craft\elements\db\UserQuery::hasPhoto()
.craft\elements\Entry::defineFieldLayouts()
.craft\elements\Entry::getCacheTags()
.craft\elements\Entry::gqlMutationNameByContext()
.craft\elements\GlobalSet::getConfig()
.craft\elements\GlobalSet::gqlMutationNameByContext()
.craft\elements\MatrixBlock::getCacheTags()
.craft\elements\Tag::getCacheTags()
.craft\elements\Tag::gqlMutationNameByContext()
.craft\elements\User::getPreferredLocale()
.craft\events\DefineAttributeKeywordsEvent
.craft\events\DefineFieldHtmlEvent
.craft\events\DefineFieldKeywordsEvent
.craft\events\DefineFieldLayoutElementsEvent
.craft\events\DefineFieldLayoutFieldEvent
.craft\events\DefineFieldsEvent
.craft\events\EagerLoadElementsEvent
.craft\events\MutationPopulateElementEvent
.craft\events\RegisterElementFieldLayoutsEvent
.craft\events\RegisterGqlEagerLoadableFields
.craft\events\RegisterGqlMutationsEvent
.craft\events\RegisterGqlSchemaComponentsEvent
.craft\events\RegisterMigratorEvent
.craft\events\SetEagerLoadedElementsEvent
.craft\fieldlayoutelements\BaseField
.craft\fieldlayoutelements\BaseUiElement
.craft\fieldlayoutelements\CustomField
.craft\fieldlayoutelements\EntryTitleField
.craft\fieldlayoutelements\Heading
.craft\fieldlayoutelements\HorizontalRule
.craft\fieldlayoutelements\StandardField
.craft\fieldlayoutelements\StandardTextField
.craft\fieldlayoutelements\Template
.craft\fieldlayoutelements\Tip
.craft\fieldlayoutelements\TitleField
.craft\fields\BaseOptionsField::getContentGqlMutationArgumentType()
.craft\fields\BaseRelationField::getContentGqlMutationArgumentType()
.craft\fields\Date::getContentGqlMutationArgumentType()
.craft\fields\Lightswitch::getContentGqlMutationArgumentType()
.craft\fields\Lightswitch::getContentGqlQueryArgumentType()
.craft\fields\Matrix::getContentGqlMutationArgumentType()
.craft\fields\Number::getContentGqlMutationArgumentType()
.craft\fields\Table::getContentGqlMutationArgumentType()
.craft\gql\arguments\mutations\Asset
.craft\gql\arguments\mutations\Draft
.craft\gql\arguments\mutations\Entry
.craft\gql\arguments\mutations\Structure
.craft\gql\base\ElementMutationArguments
.craft\gql\base\ElementMutationResolver
.craft\gql\base\InterfaceType::resolveElementTypeName()
.craft\gql\base\MutationArguments
.craft\gql\base\MutationResolver
.craft\gql\base\SingleGeneratorInterface
.craft\gql\base\StructureMutationTrait
.craft\gql\ElementQueryConditionBuilder
.craft\gql\GqlEntityRegistry::prefixTypeName()
.craft\gql\Mutation
.craft\gql\mutations\Category
.craft\gql\mutations\Entry
.craft\gql\mutations\GlobalSet
.craft\gql\mutations\Ping
.craft\gql\mutations\Tag
.craft\gql\resolvers\mutations\Asset
.craft\gql\resolvers\mutations\Category
.craft\gql\resolvers\mutations\Entry
.craft\gql\resolvers\mutations\GlobalSet
.craft\gql\resolvers\mutations\Tag
.craft\gql\types\input\File
.craft\gql\types\input\Matrix
.craft\gql\types\Mutation
.craft\gql\types\TableRow::prepareRowFieldDefinition()
.craft\helpers\App::dbMutexConfig()
.craft\helpers\ArrayHelper::isNumeric()
.craft\helpers\Assets::parseSrcsetSize()
.craft\helpers\Component::iconSvg()
.craft\helpers\Console::ensureProjectConfigFileExists()
.craft\helpers\Db::batchInsert()
.craft\helpers\Db::delete()
.craft\helpers\Db::insert()
.craft\helpers\Db::replace()
.craft\helpers\Db::update()
.craft\helpers\Db::upsert()
.craft\helpers\ElementHelper::generateSlug()
.craft\helpers\ElementHelper::normalizeSlug()
.craft\helpers\ElementHelper::translationDescription()
.craft\helpers\ElementHelper::translationKey()
.craft\helpers\FileHelper::addFilesToZip()
.craft\helpers\FileHelper::zip()
.craft\helpers\Gql::canMutateAssets()
.craft\helpers\Gql::canMutateCategories()
.craft\helpers\Gql::canMutateEntries()
.craft\helpers\Gql::canMutateGlobalSets()
.craft\helpers\Gql::canMutateTags()
.craft\helpers\Gql::extractEntityAllowedActions()
.craft\helpers\Html::explodeClass()
.craft\helpers\Html::explodeStyle()
.craft\helpers\Html::id()
.craft\helpers\Html::namespaceAttributes()
.craft\helpers\Html::namespaceHtml()
.craft\helpers\Html::namespaceId()
.craft\helpers\Html::namespaceInputName()
.craft\helpers\Html::namespaceInputs()
.craft\helpers\Html::sanitizeSvg()
.craft\helpers\Json::isJsonObject()
.craft\helpers\MailerHelper::normalizeEmails()
.craft\helpers\MailerHelper::settingsReport()
.craft\helpers\ProjectConfig::ensureAllGqlSchemasProcessed()
.craft\helpers\ProjectConfig::splitConfigIntoComponents()
.craft\helpers\Queue
.craft\models\CategoryGroup::getConfig()
.craft\models\EntryType::$sortOrder
.craft\models\EntryType::getConfig()
.craft\models\FieldGroup::getConfig()
.craft\models\FieldLayout::createForm()
.craft\models\FieldLayout::EVENT_DEFINE_STANDARD_FIELDS
.craft\models\FieldLayout::EVENT_DEFINE_UI_ELEMENTS
. (#6360)craft\models\FieldLayout::getAvailableCustomFields()
.craft\models\FieldLayout::getAvailableStandardFields()
.craft\models\FieldLayout::getAvailableUiElements()
.craft\models\FieldLayout::getField()
.craft\models\FieldLayout::isFieldIncluded()
.craft\models\FieldLayoutForm
.craft\models\FieldLayoutFormTab
.craft\models\FieldLayoutTab::$elements
.craft\models\FieldLayoutTab::createFromConfig()
.craft\models\FieldLayoutTab::getConfig()
.craft\models\FieldLayoutTab::getElementConfigs()
.craft\models\FieldLayoutTab::updateConfig()
.craft\models\GqlSchema::getConfig()
.craft\models\GqlToken::setSchema()
.craft\models\MatrixBlockType::getConfig()
.craft\models\Section::getConfig()
.craft\models\Section::PROPAGATION_METHOD_CUSTOM
.craft\models\Site::$enabled
.craft\models\Site::getConfig()
.craft\models\SiteGroup::getConfig()
.craft\models\TagGroup::getConfig()
.craft\models\UserGroup::getConfig()
.craft\queue\jobs\PruneRevisions
.craft\services\AssetTransforms::extendTransform()
. (#5853)craft\services\Composer::handleError()
.craft\services\Composer::run()
.craft\services\ElementIndexes::getFieldLayoutsForSource()
.craft\services\ElementIndexes::getSourceSortOptions()
.craft\services\ElementIndexes::getSourceTableAttributes()
.craft\services\Elements::collectCacheTags()
.craft\services\Elements::createEagerLoadingPlans()
.craft\services\Elements::createElementQuery()
.craft\services\Elements::EVENT_BEFORE_EAGER_LOAD_ELEMENTS
.craft\services\Elements::getIsCollectingCacheTags()
.craft\services\Elements::invalidateAllCaches()
.craft\services\Elements::invalidateCachesForElement()
.craft\services\Elements::invalidateCachesForElementType()
.craft\services\Elements::startCollectingCacheTags()
.craft\services\Elements::stopCollectingCacheTags()
.craft\services\Fields::createLayoutElement()
.craft\services\Fields::getLayoutsByType()
.craft\services\Gql::CONFIG_GQL_KEY
.craft\services\Gql::CONFIG_GQL_PUBLIC_TOKEN_KEY
.craft\services\Gql::getAllSchemaComponents()
.craft\services\Gql::getPublicToken()
.craft\services\Gql::handleChangedPublicToken()
.craft\services\Images::getSupportsWebP()
. (#5853)craft\services\Path::getProjectConfigPath()
.craft\services\ProjectConfig::$folderName
. (#5982)craft\services\ProjectConfig::FILE_ISSUES_CACHE_KEY
.craft\services\ProjectConfig::getHadFileWriteIssues()
.craft\services\ProjectConfig::IGNORE_CACHE_KEY
.craft\services\ProjectConfig::ignorePendingChanges()
.craft\services\Users::CONFIG_USERS_KEY
.craft\services\Volumes::createVolumeConfig()
.craft\test\mockclasses\elements\MockElementQuery
.craft\utilities\ClearCaches::EVENT_REGISTER_TAG_OPTIONS
.craft\utilities\ClearCaches::tagOptions()
.craft\utilities\ProjectConfig
.craft\web\Application::authenticate()
.craft\web\AssetBundle\ContentWindowAsset
.craft\web\AssetBundle\IframeResizerAsset
.craft\web\Controller::setFailFlash()
.craft\web\Controller::setSuccessFlash()
.craft\web\Request::getAcceptsImage()
.craft\web\Request::getFullUri()
.craft\web\Request::getIsGraphql()
.craft\web\Request::getIsJson()
.craft\web\Request::getMimeType()
.craft\web\Request::getRawCookies()
.craft\web\Request::loadRawCookies()
.craft\web\Response::getRawCookies()
.craft\web\Response::setNoCacheHeaders()
.craft\web\View::evaluateDynamicContent()
can no longer be called by default. (#6185)_includes/forms/password.html
control panel template._includes/forms/copytext.html
control panel template.copytext
and copytextField
macros to the _includes/forms.html
control panel template.Craft.Listbox
JavaScript class.Craft.SlidePicker
JavaScript class.Craft.removeLocalStorage()
, getCookie()
, setCookie()
, and removeCookie()
JavaScript methods.Craft.submitForm()
JavaScript method.Craft.cp.getSiteId()
and setSiteId()
JavaScript methods.Craft.ui.createCopyTextInput()
, createCopyTextField()
, and createCopyTextPrompt()
JavaScript methods.config/project/
folder, regardless of whether the (deprecated) useProjectConfigFile
config setting is enabled, and syncing new project config file changes is now optional.deferPublicRegistrationPassword
config setting is enabled, even if email verification isn’t required. (#5836)lib/iframe-resizer-cw/iframeResizer.contentWindow.js
in order to maintain scroll position across refreshes.maxRevisions
config setting) are now pruned via a background job. (#5902)with
param. (#5793)cpTrigger
config setting can now be set to null
. (#5122)pathParam
config setting can now be set to null
. (#5676)baseCpUrl
config setting is set, Craft will no longer treat any other base URLs as control panel requests, even if they contain the correct trigger segment. (#5860)backup
command now has an --overwrite
flag that can be passed to overwrite existing backup files for non-interactive shells.backup
command now has a --zip
flag that can be passed to store the backup as a zip file. (#6335)mailer/test
command now only supports testing the current email settings.project-config/sync
command has been renamed to project-config/apply
.migrate
commands now have a --track
option, which can be set to craft
, content
, or a custom migration track name.assetVariable
param, to customize the name of the variable that the asset should be passed back to the template as, if it contains any validation errors. (#6240)categoryVariable
param, to customize the name of the variable that the category should be passed back to the template as, if it contains any validation errors. (#6240)entryVariable
param, to customize the name of the variable that the entry should be passed back to the template as, if it contains any validation errors. (#6240)userVariable
param, to customize the name of the variable that the user should be passed back to the template as, if it contains any validation errors. (#6240)|raw
filter after the |namespace
filter.|namespace
Twig filter now namespaces ID selectors within <style>
tags. (#5921)|namespace
Twig filter now has a withClasses
argument, which if set to true
causes class
attributes and class name CSS selectors within <style>
tags to be namespaced. (#5921){% namespace %}
Twig tag can now have a withClasses
flag, which causes class
attributes and class name CSS selectors within <style>
tags to be namespaced. (#5921)siteId
params can now be set to an array that begins with 'not'
to exclude specific site IDs.withTransforms
asset query param can now include srcset
-style sizes (e.g. 100w
or 2x
), following a normal transform definition.QueryArgument
GraphQL type now also allows boolean values.type
, status
, title
, slug
, postDate
, expiryDate
, and custom field query string params to the new entry URL, to set the default entry values (e.g. /admin/entries/locations/new?phone=555-0123
).successMessage
/failMessage
param with the request. (#6192)offset
, limit
, and orderBy
params specified by the criteria.yii\mutex\MysqlMutex
or yii\mutex\PgsqlMutex
for mutex locking by default.system-name--YYYY-MM-DD-HHMMSS--vX.Y.Z.sql
. (#6231)app/migrate
action no longer applies project config file changes by default, unless ?applyProjectConfigChanges=1
is passed.graphql/api
and live-preview/preview
actions no longer add CORS headers that were already set on the response. (#6355)craft\base\ConfigurableComponent::getSettings()
now converts DateTime
attributes returned from datetimeAttributes()
into ISO-8601 strings.craft\base\Element::getRoute()
now returns the route defined by craft\events\SetElementRouteEvent::$route
even if it’s null, as long as SetElementRouteEvent::$handled
is set to true
.craft\base\ElementInterface::sortOptions()
now allows the returned orderBy
key to be set to an array of column names.craft\base\SavableComponent::isSelectable()
has been moved into the base component class, craft\base\Component
.craft\base\SavableComponentInterface::isSelectable()
has been moved into the base component interface, craft\base\ComponentInterface
.craft\base\SortableFieldInterface::getSortOption()
now allows the returned orderBy
key to be set to an array of column names.craft\behaviors\SessionBehavior::setNotice()
and setError()
now store flash messages using cp-notice
and cp-error
keys when called from control panel requests. (#5704)craft\db\ActiveRecord
now unsets any empty primary key values when saving new records, to avoid a SQL error on PostgreSQL. (#5814)craft\elements\Asset::getImg()
now has a $sizes
argument. (#5774)craft\elements\Asset::getUrl()
now supports including a transform
key in the $transform
argument array, which specifies a base transform. (#5853)craft\elements\db\ElementQuery::$enabledForSite
is now set to false
by default, leaving it up to elements’ status conditions to factor in the site-specific element statuses. (#6273)craft\helpers\Component::createComponent()
now creates component objects via Craft::createObject()
. (#6097)craft\helpers\ElementHelper::supportedSitesForElement()
now has a $withUnpropagatedSites
argument.craft\helpers\StringHelper::randomString()
no longer includes capital letters or numbers by default.craft\i18n\Formatter::asTimestamp()
now has a $withPreposition
argument.craft\services\ElementIndexes::getAvailableTableAttributes()
no longer has an $includeFields
argument.craft\services\Fields::getFieldByHandle()
now has an optional $context
argument.craft\services\Gql::setCachedResult()
now has a $dependency
argument.craft\services\Gql
now fires a registerGqlMutations
event that allows for plugins to register their own GraphQL mutations.craft\services\ProjectConfig::areChangesPending()
now has a $force
argument.craft\services\Sites::getAllSiteIds()
, getSiteByUid()
, getAllSites()
, getSitesByGroupId()
, getSiteById()
, and getSiteByHandle()
now have $withDisabled
arguments.craft\services\TemplateCaches::startTemplateCache()
no longer has a $key
argument.craft\web\Controller::requireAcceptsJson()
no longer throws an exception for preflight requests.data
/aria
tag normalization via craft\helpers\Html::parseTagAttributes()
and normalizeTagAttributes()
.class
variable can now pass it as an array of class names.formActions
variable, which registers alternative Save menu actions, optionally with associated keyboard shortcuts.retainScrollPosOnSaveShortcut = true
, or including retainScroll: true
in a formActions
object. (#6513)_layouts/base
template now supports a bodyAttributes
variable.craft\web\twig\variables\Cp::EVENT_REGISTER_CP_SETTINGS
can now specify their icon path with an iconMask
key, which will have it filled in with the same color as Craft’s built-in settings icons.Craft.cp.submitPrimaryForm()
method now accepts an options
argument for customizing the form submit.PRIMARY_SITE_URL
environment variable, rather than DEFAULT_SITE_URL
.project-config/sync
command. project-config/apply
should be used instead.useCompressedJs
config setting.useProjectConfigFile
config setting.install/plugin
command. plugin/install
should be used instead.|filterByValue
Twig filter. |where
should be used instead.|ucwords
Twig filter. |title
should be used instead.class
argument of the svg()
Twig function. The |attr
filter should be used instead.--type
option on migrate
commands. --track
or --plugin
should be used instead.craft\db\Table::TEMPLATECACHEELEMENTS
.craft\db\Table::TEMPLATECACHEQUERIES
.craft\db\Table::TEMPLATECACHES
.craft\elements\actions\DeepDuplicate
.craft\elements\db\ElementQuery::$enabledForSite
.craft\elements\db\ElementQuery::enabledForSite()
.craft\events\RegisterGqlPermissionsEvent
. craft\events\RegisterGqlSchemaComponentsEvent
should be used instead.craft\gql\base\Resolver::extractEagerLoadCondition()
. ElementQueryConditionBuilder
should be used instead.craft\helpers\App::mutexConfig()
.craft\helpers\ElementHelper::createSlug()
. normalizeSlug()
should be used instead.craft\helpers\Stringy
.craft\queue\jobs\DeleteStaleTemplateCaches
.craft\services\ElementIndexes::getAvailableTableFields()
. getSourceTableAttributes()
should be used instead.craft\services\Fields::assembleLayout()
.craft\services\Gql::getAllPermissions()
. craft\services\Gql::getAllSchemaComponents()
should be used instead.craft\services\ProjectConfig::CONFIG_ALL_KEY
.craft\services\ProjectConfig::CONFIG_KEY
.craft\services\TemplateCaches::deleteAllCaches()
. craft\services\Elements::invalidateAllCaches()
should be used instead.craft\services\TemplateCaches::deleteCacheById()
.craft\services\TemplateCaches::deleteCachesByElement()
. craft\services\Elements::invalidateCachesForElement()
should be used instead.craft\services\TemplateCaches::deleteCachesByElementId()
. craft\services\Elements::invalidateCachesForElement()
should be used instead.craft\services\TemplateCaches::deleteCachesByElementQuery()
. craft\services\Elements::invalidateCachesForElementType()
should be used instead.craft\services\TemplateCaches::deleteCachesByElementType()
. craft\services\Elements::invalidateCachesForElementType()
should be used instead.craft\services\TemplateCaches::deleteCachesByKey()
.craft\services\TemplateCaches::deleteExpiredCaches()
.craft\services\TemplateCaches::deleteExpiredCachesIfOverdue()
.craft\services\TemplateCaches::EVENT_AFTER_DELETE_CACHES
.craft\services\TemplateCaches::EVENT_BEFORE_DELETE_CACHES
.craft\services\TemplateCaches::handleResponse()
.craft\services\TemplateCaches::includeElementInTemplateCaches()
.craft\services\TemplateCaches::includeElementQueryInTemplateCaches()
.craft\web\AssetBundle::dotJs()
.craft\web\AssetBundle::useCompressedJs()
.craft\web\User::destroyDebugPreferencesInSession()
.craft\web\User::saveDebugPreferencesToSession()
.craft\web\View::formatInputId()
. craft\helpers\Html::namespaceHtml()
should be used instead.clear-caches
command.craftcms/craft
project instead. (#5783)import
directive in project config files.cacheElementQueries
config setting.entries/_fields.html
control panel template.entries/_titlefield.html
control panel template.craft\controllers\UtilitiesController::actionDbBackupPerformAction()
.craft\db\MigrationManager::TYPE_APP
.craft\db\MigrationManager::TYPE_CONTENT
.craft\db\MigrationManager::TYPE_PLUGIN
.craft\models\EntryType::$titleLabel
.craft\models\Info::$configMap
.craft\records\Migration
.craft\records\Plugin::getMigrations()
.mailer/test
command wasn’t factoring in custom mailer
configurations in its settings report. (#5763)svg()
Twig function wasn’t namespacing ID and class name CSS selectors that didn’t have any matching id
/class
attribute values. (#5922)users/set-password
and users/verify-email
requests weren’t responding with JSON when requested, if an invalid verification code was passed. (#5210)cpresources
folder. (#6093axios.min.map
not loading. (#6506)license.key
file didn’t contain a valid license key, and wasn’t writable. (#6475)craft\web\User::guestRequired()
if a user was logged in. (#6497)craft\web\Request::getFullPath()
wasn’t including any URI segments defined by the site’s base URL. (#6546)_includes/forms/checkbox.html
, checkboxGroup.html
, and checkboxSelect.html
control panel templates now HTML-encode checkbox labels by default, preventing possible XSS vulnerabilities. If HTML code was desired, it must be passed through the new raw()
function first.craft\web\View::evaluateDynamicContent()
can no longer be called by default. (#6185)