Craftcms Cms Versions Save

Build bespoke content experiences with Craft.

5.1.0

2 weeks ago

Content Management

  • Sort options are now sorted alphabetically within element indexes, and custom fields’ options are now listed in a “Fields” group. (#14725)
  • Unselected table column options are now sorted alphabetically within element indexes.
  • Table views within element index pages are now scrolled directly, so that their horizontal scrollbars are always visible without scrolling to the bottom of the page. (#14765)
  • Element tooltips now appear after a half-second delay. (#14836)
  • Thumbnails within element cards are slightly larger.
  • Improved element editor page styling on mobile. (#14898, #14885)

User Management

  • Team edition users are no longer required to be admins.
  • Added the “User Permissions” settings page for managing the permissions of non-admin Team edition users. (#14768)

Administration

  • Element conditions within field layout designers’ component settings now only list custom fields present in the current field layout. (#14787)
  • Improved the behavior of the URI input within Edit Route modals. (#14884)
  • The “Upgrade Craft CMS” page in the Plugin Store no longer lists unsupported editions.
  • Added the asyncCsrfInputs config setting. (#14625)
  • Added the backupCommandFormat config setting. (#14897)
  • The backupCommand config setting can now be set to a closure, which will be passed a mikehaertl\shellcommand\Command object. (#14897)
  • Added the safeMode config setting. (#14734)
  • resave commands now support an --if-invalid option. (#14731)
  • Improved the styling of conditional tabs and UI elements within field layout designers.

Extensibility

  • Added craft\conditions\ConditionInterface::getBuilderConfig().
  • Added craft\controllers\EditUserTrait. (#14789)
  • Added craft\controllers\UsersController::EVENT_DEFINE_EDIT_SCREENS. (#14789)
  • Added craft\elements\conditions\ElementConditionInterface::setFieldLayouts().
  • Added craft\events\DefineEditUserScreensEvent. (#14789)
  • Added craft\helpers\Cp::parseTimestampParam().
  • Added craft\models\FieldLayoutTab::labelHtml().
  • Added craft\services\ProjectConfig::getAppliedChanges(). (#14851)
  • Added craft\web\Request::getBearerToken(). (#14784)
  • Added craft\db\CoalesceColumnsExpression.
  • Added craft\db\ExpressionBuilder.
  • Added 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)
  • Added Craft.MatrixInput.Entry. (#14730)

System

  • Batched queue jobs now set their progress based on the total progress across all batches, rather than just the current batch. (#14817)
  • Fixed a bug where ordering by a custom field would only partially work, if the custom field was included in multiple field layouts for the resulting elements. (#14821)
  • Fixed a bug where element conditions within field layout designers’ component settings weren’t listing custom fields which were just added to the layout. (#14787)
  • Fixed a bug where asset thumbnails within element cards were blurry. (#14866)
  • Fixed a styling issue with Categories and Entries fields when “Maintain Hierarchy” was enabled.
  • Fixed a bug where Delete actions weren’t working in admin tables. (craftcms/commerce#3444)

4.9.0

2 weeks ago

Content Management

  • It’s now possible to preview revisions. (#14521)
  • Element conditions can now include condition rules for Time fields. (#14616)
  • Sort options are now sorted alphabetically within element indexes, and custom fields’ options are now listed in a “Fields” group. (#14725)
  • Unselected table column options are now sorted alphabetically within element indexes.

Administration

  • Improved the behavior of the URI input within Edit Route modals. (#14884)
  • The “Upgrade Craft CMS” page in the Plugin Store no longer lists unsupported editions.
  • Added the asyncCsrfInputs config setting. (#14625)
  • Added the backupCommandFormat config setting. (#14897)
  • The 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)

Development

  • Added the safeMode config setting. (#14734)
  • Added the language element query param, which filters the resulting elements based on their sites’ languages. (#14631)
  • GraphQL responses now include full exception details, when Dev Mode is enabled or an admin is signed in with the “Show full exception views when Dev Mode is disabled” preference enabled. (#14527)
  • 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)

Extensibility

  • Added craft\services\ProjectConfig::getAppliedChanges(). (#14851)
  • Added craft\services\Sites::getSitesByLanguage().
  • Added craft\web\ErrorHandler::exceptionAsArray().
  • Added craft\web\ErrorHandler::showExceptionDetails().
  • Added craft\web\Request::getBearerToken(). (#14784)
  • craft\base\NameTrait::prepareNamesForSave() no longer updates the name properties if fullName, firstName, and lastName are already set. (#14665)

System

  • Batched queue jobs now set their progress based on the total progress across all batches, rather than just the current batch. (#14817)
  • Craft now calls setlocale() based on the target language, so that SORT_LOCALE_STRING behaves as expected. (#14509, #14513)
  • Improved the performance of scalar element queries like count().
  • Fixed a bug where craft\elements\db\ElementQuery::count() could return the wrong number if the query had a cached result, with offset or limit params.
  • Console requests no longer filter out info logs. (#14280, #14434)
  • Fixed a styling issue with Categories and Entries fields when “Maintain Hierarchy” was enabled.
  • Fixed a bug where Delete actions weren’t working in admin tables. (craftcms/commerce#3444)

5.0.6

2 weeks ago
  • Fixed a bug where element caches weren’t getting invalidated when an element was moved within a structure. (#14846)
  • Fixed a bug where CSV’s header rows weren’t using the configured delimiter. (#14855)
  • Fixed a bug where editable table cell text styling could change after initial focus. (#14857)
  • Fixed a bug where conditions could list rules with duplicate labels.
  • Fixed a bug where admin tables weren’t displaying disabled statuses. (#14861)
  • Fixed a bug where clicking on drag handles within element index tables could select the element. (#14669)
  • Fixed a bug where nested related categories and entries weren’t directly removable, and could be unintentionally overwritten, when the Categories/Entries field’s “Maintain hierarchy” setting was enabled. (#14843, #14872)
  • Fixed a SQL error that could occur on PostgreSQL. (#14860)
  • Fixed a bug where field layout designers were showing redundant field indicators, for fields with hidden labels. (#14859)
  • Fixed a bug where field type names weren’t sorted alphabetically when editing an existing field. (#14858)
  • Fixed a JavaScript error that could occur when removing elements from an element select input. (#14873)
  • Fixed a bug where queue jobs’ progress indicators in the control panel sidebar weren’t fully cleaned up when jobs were finished. (#14856)
  • Fixed a bug where errors weren’t getting logged. (#14863)
  • Fixed a bug where asset thumbnails could have the wrong aspect ratio. (#14866)
  • Fixed an infinite recursion bug that occurred when selecting elements, if no sources were enabled for the selected site. (#14882)

4.8.11

2 weeks ago
  • Fixed a bug where element caches weren’t getting invalidated when an element was moved within a structure. (#14846)
  • Fixed a bug where CSV’s header rows weren’t using the configured delimiter. (#14855)
  • Fixed a bug where editable table cell text styling could change after initial focus. (#14857)
  • Fixed a bug where conditions could list rules with duplicate labels.
  • Fixed a bug where admin tables weren’t displaying disabled statuses. (#14861)

5.0.5

3 weeks ago
  • Fixed a bug where the Database Backup utility was present when the backupCommand config setting was set to false.
  • Fixed an error that occurred when running the db/convert-charset command, if any tables contained char or varchar foreign key columns. (#14815)
  • Fixed a bug where parsed first/last names could have different casing than the full name that was submitted. (#14723)
  • Fixed a bug where craft\helpers\UrlHelper::isAbsoluteUrl() was returning false for URLs with schemes other than http or https, such as mailto and tel. (#14830)
  • Fixed a JavaScript error that occurred when opening Live Preview, if an Assets field’s “Upload files” button had been pressed. (#14832)
  • Fixed a bug where Twig’s spread operator (...) wasn’t working with attribute accessors. (#14827)
  • Fixed a bug where element selection modals were only showing the first 100 elements. (#14790)
  • Fixed a PHP error that could occur on the Dashboard if any Quick Post widgets hadn’t been saved since before Craft 1.2. (#14794)
  • Fixed a bug where double-clicking on an inline Matrix block tab would cause it to expand/collapse. (#14791)
  • Fixed a bug where site breadcrumbs weren’t getting hyperlinked for installs with multiple site groups. (#14802)
  • Fixed a bug where element conditions were allowing custom field condition rules to be selected multiple times. (#14809)
  • Fixed a bug where relational fields within nested Matrix entries weren’t getting loaded via GraphQL. (#14819)
  • Fixed an error that occurred when creating an address within an Addresses field on a secondary site. (#14829)
  • Fixed a bug where SVG element icons weren’t visible in Safari. (#14833)
  • Fixed a bug where element sources were getting text cursors on hover in Safari. (#14833)
  • Fixed a bug where “Delete custom source” buttons within Customize Sources modals were getting text cursors on hover.
  • Fixed a bug where Matrix fields that weren’t set to show cards in a grid were still getting a grid view when nested entries were created for the first time. (#14840)
  • Fixed a bug where related categories and entries weren’t removable when the Categories/Entries field’s “Maintain hierarchy” setting was enabled. (#14843)
  • Fixed a bug where Categories and Entries fields were showing the “View Mode” setting when “Maintain hierarchy” was enabled, despite it having no effect. (#14847)

4.8.10

3 weeks ago
  • Fixed a SQL error that could occur when converting a field to a Lightswitch field on PostgreSQL. (#14792)
  • Fixed a bug where the Database Backup utility was present when the backupCommand config setting was set to false.
  • Fixed an error that occurred when running the db/convert-charset command, if any tables contained char or varchar foreign key columns. (#14815)
  • Fixed a bug where parsed first/last names could have different casing than the full name that was submitted. (#14723)
  • Fixed a bug where craft\helpers\UrlHelper::isAbsoluteUrl() was returning false for URLs with schemes other than http or https, such as mailto and tel. (#14830)
  • Fixed a JavaScript error that occurred when opening Live Preview, if an Assets field’s “Upload files” button had been pressed. (#14832)
  • Fixed a bug where Twig’s spread operator (...) wasn’t working with attribute accessors. (#14827)

5.0.4

1 month ago
  • Fixed a bug where element queries with the relatedTo param set to a list of element IDs were overly complex.
  • Fixed a bug where redundant Matrix block revisions were getting created.
  • Fixed a bug where Twig’s spread operator (...) wasn’t working when the preloadSingles config setting was enabled. (#14783)
  • Fixed a bug where Live Preview wasn’t retaining the scroll position properly. (#14218)

4.8.9

1 month ago
  • Fixed a bug where element queries with the relatedTo param set to a list of element IDs were overly complex.
  • Fixed a bug where redundant Matrix block revisions were getting created.
  • Fixed a bug where Twig’s spread operator (...) wasn’t working when the preloadSingles config setting was enabled. (#14783)
  • Fixed a bug where Live Preview wasn’t retaining the scroll position properly. (#14218)

5.0.3

1 month ago
  • Fixed a bug where LTR and RTL characters weren’t getting stripped from sanitized asset filenames. (#14711)
  • Fixed a bug where admin table row reordering wasn’t working in Safari. (#14752)
  • Fixed a bug where the utils/fix-field-layout-uids command wasn’t looking at field layouts defined with a fieldLayout key in the project config.
  • Fixed a bug where element indexes’ View menus could show the “Sort by” field when the structure view was selected. (#14780)
  • Fixed a bug where fields with overridden handles weren’t editable from element indexes. (#14767)
  • Fixed a bug where element chips within element cards were getting action menus and drag handles within relation fields. (#14778)
  • Fixed a bug where elements could display the wrong nested field value, if the field’s handle was overridden. (#14767)
  • Fixed a bug where entries’ Title fields weren’t showing a required indicator. (#14773)

4.8.8

1 month ago
  • Fixed a bug where craft\helpers\ElementHelper::siteStatusesForElement() wasn’t working for soft-deleted elements. (#14753)
  • Fixed a bug where the Queue Manager was listing delayed jobs before others. (#14755)
  • Fixed a bug where LTR and RTL characters weren’t getting stripped from sanitized asset filenames. (#14711)
  • Fixed a bug where admin table row reordering wasn’t working in Safari. (#14752)
  • Fixed a bug where the utils/fix-field-layout-uids command wasn’t looking at field layouts defined with a fieldLayout key in the project config.
  • Fixed a bug where element indexes’ View menus could show the “Sort by” field when the structure view was selected. (#14780)