packagist craftcms/cms 5.3.0

latest releases: 5.5.x-dev, dev-a11y/range-input, 5.x-dev...
3 months ago

Content Management

  • Added the “Link” field type, which replaces “URL”, and can store URLs, mailto and tel URIs, and entry/asset/category relations. (#15251, #15400)
  • Added the ability to move entries between sections that allow the same entry type, via a new “Move to…” bulk action. (#8153, #14541)
  • Entry and category conditions now have a “Has Descendants” rule. (#15276)
  • “Replace file” actions now display success notices on complete. (#15217)
  • Double-clicking on folders within asset indexes and folder selection modals now navigates the index/modal into the folder. (#15238)
  • When propagating an element to a new site, relation fields no longer copy relations for target elements that wouldn’t have been selectable from the propagated site based on the field’s “Related elements from a specific site?” and “Show the site menu” settings. (#15459)
  • Matrix fields now show validation errors when nested entries don’t validate. (#15161, #15165)
  • Matrix fields set to inline-editable blocks view now support selecting all blocks by pressing Command/Ctrl + A when a checkbox is focused. (#15326)
  • Users’ Permissions, Preferences, and Password & Verification screens now have “Save and continue editing” actions, as well as support for Command/Ctrl + S keyboard shortcuts.
  • User profile screens now have a “Create and set permissions” button for new users, if the current user has access to edit user permissions. (#15356)
  • User permission screens now have a “Save and send activation email” button for inactive users, if the current user has the “Administrate users” permission. (#15356)
  • Single section entries without a title are now labelled by their section’s name in the control panel.
  • Double-clicking on element index rows no longer opens the element editor slideout, when inline editing is active. (#15441)

Accessibility

  • Improved the accessibility of two-step verification setup. (#15229)
  • The notification heading is no longer read to screen readers when no notifications are active. (#15294)
  • The login modal that appears once a user’s session has ended now has a lang attribute, in case it differs from the user’s preferred language.
  • Improved the focus ring styling for dark buttons. (#15364)
  • Single-select element selection modals now assign role="radio" to listed elements’ checkboxes.
  • Sortable editable table rows now have “Move up” and “Move down” disclosure menu actions. (#15385)
  • Improved the Customize Sources modal for screen readers. (#15395)
  • Improved the accessibility of icon fields. (#15479)

Administration

  • Relation fields are now multi-instance. (#15400)
  • Relation fields now have Translation Method settings with all the usual options, replacing “Manage relations on a per-site basis” settings. (#15400)
  • Entry types are no longer required to have unique names. (#14774, #15438)
  • Entry type selects within section and Matrix/CKEditor field settings now display entry types’ handles in addition to their names, to avoid ambiguity. (#15438)
  • The Entry Types index page now displays entry type chips in place of plain text labels, so their custom colors are shown. (#15432)
  • The Entry Types index table can now be sorted by Name and Handle.
  • The Fields index table can now be sorted by Name, Handle, and Type.
  • Icon fields now have an “Include Pro icons” setting, which determines whether Font Awesome Pro icon should be selectable. (#15242)
  • New sites’ Base URL settings now default to an environment variable name based on the site name. (#15347)
  • Craft now warns against using the @web alias for URL settings, regardless of whether it was explicitly defined. (#15347)
  • Entry types created from Matrix block types no longer show the Slug field by default, after upgrading to Craft 5. (#15379)
  • Global sets listed within fields’ “Used by” lists now link to their settings page, rather than their edit page. (#15423)
  • Added the entry-types/merge command. (#15444)
  • Added the fields/auto-merge command. (#15472)`
  • Added the fields/merge command. (#15454)

Development

  • Added support for application-type based general and db configs (e.g. config/general.web.php). (#15346)
  • general and db config files can now return a callable that modifies an existing config object. (#15346)
  • Added the lazyGqlTypes config setting. (#15429)
  • Added the env, env/set, and env/remove commands. (#15431)
  • Color, Country, Email, Icon, Link, Plain Text, and Table fields’ element query params now support passing in an array with value and caseInsensitive keys. (#15404)
  • GraphQL mutations for saving drafts of nested entries are now named with Field after the Matrix/CKEditor field handle. (#15269)
  • The allowedGraphqlOrigins config setting is now deprecated. craft\filters\Cors should be used instead. (#15397)
  • The permissionsPolicyHeader config settings is now deprecated. craft\filters\Headers should be used instead. (#15397)
  • {% cache %} tags now cache any asset bundles registered within them.
  • Country field values are now set to CommerceGuys\Addressing\Country\Country objects. (#15455, #15463)
  • Auto-populated section and category group Template settings are now suffixed with .twig.
  • x-craft-preview/x-craft-live-preview URL query string params are now added to generated URLs for Live Preview requests, so craft\web\Request::getIsPreview() continues to return true on subsequent pages loaded within the iframe. (#15447)

Extensibility

  • Added craft\base\ApplicationTrait::getDb2(). (#15384)
  • Added craft\base\ElementInterface::addInvalidNestedElementIds().
  • Added craft\base\ElementInterface::getInvalidNestedElementIds().
  • Added craft\base\Field::EVENT_AFTER_MERGE_FROM.
  • Added craft\base\Field::EVENT_AFTER_MERGE_INTO.
  • Added craft\base\Field::afterMergeFrom(). (#15454)
  • Added craft\base\Field::afterMergeInto(). (#15454)
  • Added craft\base\Field::canMergeFrom(). (#15454)
  • Added craft\base\Field::canMergeInto(). (#15454)
  • Added craft\base\FieldLayoutComponent::EVENT_DEFINE_SHOW_IN_FORM. (#15260)
  • Added craft\base\FieldLayoutElement::$dateAdded.
  • Added craft\base\FieldTrait::$dateDeleted.
  • Added craft\base\Grippable.
  • Added craft\base\MergeableFieldInterface. (#15454)
  • Added craft\base\RelationFieldInterface. (#15400)
  • Added craft\base\RelationFieldTrait. (#15400)
  • Added craft\config\GeneralConfig::addAlias(). (#15346)
  • Added craft\elements\Address::getCountry(). (#15463)
  • Added craft\elements\Asset::$sanitizeOnUpload. (#15430)
  • Added craft\elements\Entry::isEntryTypeCompatible().
  • Added craft\elements\actions\MoveToSection.
  • Added craft\enums\CmsEdition::Enterprise.
  • Added craft\events\DefineShowFieldLayoutComponentInFormEvent. (#15260)
  • Added craft\events\MoveEntryEvent.
  • Added craft\fields\Link.
  • Added craft\fields\data\LinkData.
  • Added craft\fields\linktypes\Asset.
  • Added craft\fields\linktypes\BaseElementLinkType.
  • Added craft\fields\linktypes\BaseLinkType.
  • Added craft\fields\linktypes\BaseTextLinkType.
  • Added craft\fields\linktypes\Category.
  • Added craft\fields\linktypes\Email.
  • Added craft\fields\linktypes\Phone.
  • Added craft\fields\linktypes\Url.
  • Added craft\filters\Cors. (#15397)
  • Added craft\filters\Headers. (#15397)
  • Added craft\helpers\App::configure().
  • Added craft\models\FieldLayout::getAllElements().
  • Added craft\models\ImageTransform::$indexId.
  • Added craft\services\Elements::ensureBulkOp().
  • Added craft\services\Entries::EVENT_AFTER_MOVE_TO_SECTION.
  • Added craft\services\Entries::EVENT_BEFORE_MOVE_TO_SECTION.
  • Added craft\services\Entries::moveEntryToSection().
  • Added craft\services\Fields::areFieldTypesCompatible().
  • Added craft\web\View::clearAssetBundleBuffer().
  • Added craft\web\View::startAssetBundleBuffer().
  • craft\helpers\DateTimeHelper::toIso8601() now has a $setToUtc argument.
  • craft\helpers\UrlHelper::cpUrl() now returns URLs based on the primary site’s base URL (if it has one), for console requests if the baseCpUrl config setting isn’t set, and the @web alias wasn’t explicitly defined. (#15374)
  • craft\services\Config::setDotEnvVar() now accepts false for its value argument, which removes the environment variable from the .env file.
  • Deprecated craft\fields\BaseRelationField::$localizeRelations.
  • Deprecated craft\fields\Url, which is now an alias for craft\fields\Link.
  • Deprecated craft\services\Relations.
  • Deprecated craft\web\assets\elementresizedetector\ElementResizeDetectorAsset.
  • Added Craft.EnvVarGenerator.
  • Added Craft.endsWith().
  • Added Craft.removeLeft().
  • Added Craft.removeRight().
  • Added Craft.ui.addAttributes().
  • Craft.ElementEditor now triggers a checkActivity event each time author activity is fetched. (#15237)
  • Craft.NestedElementManager now triggers an afterInit event after initialization. (#15470)
  • Craft.ensureEndsWith() now has a caseInsensitive argument.
  • Craft.ensureStartsWith() now has a caseInsensitive argument.
  • Craft.startsWith() is no longer deprecated, and now has a caseInsensitive argument.
  • Added Garnish.once(), for handling a class-level event only once.
  • Checkbox selects now support passing a targetPrefix setting.
  • Component chips now support passing a showHandle setting.
  • Component selects now support passing a showHandles setting.

System

  • Added core support for SSO (Enterprise only).
  • The control panel now displays Ajax response-defined error messages when provided, rather than a generic “server error” message. (#15292)
  • Craft no longer sets the Permissions-Policy header on control panel responses. (#15348)
  • Control panel resize events now use ResizeObserver.
  • Twig templates no longer attempt to preload singles for global variable names. (#15468)
  • Craft no longer ensures that the cpresources folder is writable.
  • Front-end queue runner scripts are now injected before the </body> tag, rather than at the end of the response HTML.
  • Nested entries created for Matrix fields set to inline-editable block mode now begin life as unpublished drafts. (#15418)
  • Custom fields are now soft-deleted initially.
  • graphql/api requests no longer update the schema’s lastUsed timestamp if it was already updated within the last minute. (#15464)
  • Updated Yii to 2.0.51.
  • Updated yii2-debug to 2.1.25.
  • Updated svg-sanitizer to 0.19.
  • Fixed a bug where error messages returned by the users/send-password-reset-email action weren’t accounting for the useEmailAsUsername config setting. (#15425)
  • Fixed a bug where $element->isNewForSite was always false from fields’ normalizeValue() methods when propagating an element to a new site.
  • Fixed a bug where assets/generate-transforms requests could generate the wrong transform, if another transform index with the same parameters existed. (#15402, #15477)
  • Fixed a bug where element operations could cause deadlocks when multiple authors were working simultaneously. (#15329)
  • Fixed a bug where newly-created Matrix blocks could lose their disabled status if the owner element had validation errors and autosaveDrafts was disabled. (#15418)
  • Fixed a bug where customized settings for assets’ Temporary Uploads source were only being retained for the current user. (#15424)
  • Fixed a bug where it wasn’t possible to render element partial templates for assets, categories, or tags. (#15426)

Don't miss a new cms release

NewReleases is sending notifications on new releases.