All Versions
336
Latest Version
Avg Release Cycle
7 days
Latest Release
519 days ago

Changelog History
Page 3

  • v4.1.4 Changes

    July 12, 2022

    ➕ Added

    • ➕ Added craft\models\FieldLayout::getVisibleCustomFieldElements().

    🔄 Changed

    • 🚚 Relation fields now focus on the next related element’s “Remove” button when an element is removed. (#11577)

    🗄 Deprecated

    • 🗄 Deprecated craft\base\FieldTrait::$required. craft\fieldlayoutelements\BaseField::$required should be used instead.

    🛠 Fixed

    • 🛠 Fixed a bug where assets’ native Alternative Text fields were getting mislabeled as translatable. (#11576)
    • 🛠 Fixed a bug where fields nested within Neo fields could be incorrectly validated as required. (#11574)
    • 🛠 Fixed a PHP error that occurred when editing a Date field with a Min Date setting set.
    • 🛠 Fixed a bug where date range inputs weren’t working on mobile. (#11571)
    • 🛠 Fixed a bug where the “Craft Support” Dashboard widget wasn’t being labeled properly in the widget settings HUD and delete confirmation dialog. (#11573)
    • 🛠 Fixed a bug where the project config cache was getting invalidated on each public GraphQL API request.
  • v4.1.4.1 Changes

    July 13, 2022

    🛠 Fixed

    • 🛠 Fixed a bug where craft\services\Assets::getRootFolderByVolumeId() wasn’t returning the root folder. (#11593)
  • v4.1.3 Changes

    July 07, 2022

    🔄 Changed

    • ➕ Address fields now show required indicators based on the configured validation rules. (#11566)

    🛠 Fixed

    • 🛠 Fixed a JavaScript error that occurred on the Updates utility. (#11567)
    • 🛠 Fixed a bug where Craft’s Composer commands could produce a malformed composer.json file. (#11564)
  • v4.1.2 Changes

    July 06, 2022

    ➕ Added

    • ➕ Added craft\helpers\ProjectConfig::ensureAllFilesystemsProcessed().

    🔄 Changed

    • 0️⃣ Relational field condition rules now have the “is related to” operator selected by default. (#11550)

    🛠 Fixed

    • 🛠 Fixed a bug where the Updates utility wasn’t checking for updates properly. (#11552)
    • 🛠 Fixed an error that could occur when deploying a Craft 4 upgrade to another server. (#11558)
    • 🛠 Fixed a bug where Assets fields were relocating assets when saving a revision.
    • 🛠 Fixed a bug where asset bundles weren’t getting registered on the front end. (#11555)
  • v4.1.1 Changes

    July 05, 2022

    🔄 Changed

    • 👌 Improved the control panel tab design. (#11524)
    • 🔄 Changed the order of relational field condition rule operators, so “is related to” is listed first. (#11550)
    • 👍 Template caching is now supported for console requests, for {% cache %} tags that have the globally param. (#11551)
    • ⚡️ Updated Composer to 2.2.15. (#11538)

    🛠 Fixed

    • 🛠 Fixed an error that could occur if any custom fields were missing their field group. (#11522)
    • 🛠 Fixed a bug where custom selects weren’t scrolling to the visually-focused option.
    • 🛠 Fixed errors that could occur if an element condition contained any rules for deleted custom fields. (#11526)
    • 🛠 Fixed a bug where the “Deactivate users by default” user setting wasn’t working. (#11519)
    • 🛠 Fixed a styling issue with the Edit Route modal. (#11528)
    • 🛠 Fixed a bug where assets uploaded from Assets fields weren’t retaining their original filename. (#11530)
    • 🛠 Fixed a bug where project config changes made at the end of the request lifecycle weren’t getting saved.
    • 🛠 Fixed a bug where toggling entries’ and categories’ site-specific statuses from element editor slideouts wasn’t working. (#11547)
    • 🛠 Fixed a SQL error that occurred when running the utils/prune-provisional-drafts command. (#11548)
    • 🛠 Fixed focus styling issues with the Edit Route modal.
  • v4.1.0 Changes

    June 28, 2022

    ➕ Added

    • 💻 Field layouts can now have “Line Break” UI elements. (#11328)
    • ➕ Added the db/drop-all-tables command. (#11288)
    • ➕ Added the elements/delete command.
    • ➕ Added the elements/restore command.
    • ➕ Added the project-config/get command. (#11341)
    • ➕ Added the project-config/remove command. (#11341)
    • ➕ Added the project-config/set command. (#11341)
    • The AdminTable Vue component can now be included into other Vue apps, in addition to being used as a standalone app. (#11107)
    • ➕ Added a one() alias for first() to collections. (#11134)
    • Added craft\base\Element::EVENT_DEFINE_CACHE_TAGS. (#11171)
    • ➕ Added craft\base\Element::cacheTags().
    • ➕ Added craft\base\FieldInterface::getLabelId().
    • ➕ Added craft\console\controllers\UsersController::$activate.
    • ➕ Added craft\elements\conditions\ElementCondition::$sourceKey.
    • Added craft\elements\db\ElementQuery::EVENT_AFTER_POPULATE_ELEMENTS. (#11262)
    • Added craft\elements\db\ElementQuery::EVENT_DEFINE_CACHE_TAGS. (#11171)
    • ➕ Added craft\events\PopulateElementsEvent.
    • ➕ Added craft\fieldlayoutelements\BaseField::labelId().
    • ➕ Added craft\fieldlayoutelements\LineBreak.
    • ➕ Added craft\helpers\DateTimeHelper::now().
    • ➕ Added craft\helpers\DateTimeHelper::pause(). (#11130)
    • ➕ Added craft\helpers\DateTimeHelper::resume(). (#11130)

    🔄 Changed

    • 👌 Improved overall control panel accessibility. (#11297, #11296, #11414, #11452)
    • 👌 Improved pagination UI accessibility. (#11126)
    • 👌 Improved element index accessibility. (#11169, #11200, #11251)
    • 👌 Improved Dashboard accessibility. (#11217, #11297)
    • 👌 Improved address management accessibility. (#11397)
    • 👌 Improved Matrix field accessibility. (#11306)
    • 👌 Improved mobile support. (#11323, #11430)
    • 👌 Improved keyboard support for custom selects. (#11414)
    • 🚚 It’s now possible to remove all selected elements from relational fields by pressing Backspace or Delete while one of them is focussed.
    • 👌 Improved the UI of condition builders. (#11386)
    • Entry Type condition rules now allow multiple selections. (#11124)
    • Element index filters now only show condition rules for the custom fields that are used by the field layouts in the selected source, if a native source is selected. (#11187)
    • Element index filters now only show condition rules for custom fields used by field layouts created for the target element type, if no native source is selected.
    • 🏗 Condition builders can now include multiple rules with the same label, as long as they’re in different groups.
    • Asset indexes now have a “Location” table attribute option. (#11450)
    • It’s now possible to sort entries by their section and type. (#9192, #11335)
    • 🍱 It’s now possible to sort assets by their file kind.
    • 📇 Element editor metadata now lists elements’ IDs.
    • Live Preview now always shows a “Refresh” button, regardless of whether the preview target has auto-refresh enabled. (#11160)
    • Sites’ Language settings now display the locale IDs as option hints, rather than the languages’ native names. (#11195)
    • 💻 Selectize options can now specify searchable keywords that won’t be visible in the UI.
    • Selectize inputs will now include their options’ values as search keywords.
    • 🆕 Newly-created entries now get placeholder Post Date set on them, so they get sorted appropriately when querying for entries ordered by postDate. (#11272)
    • Element queries can now pass columns into the orderBy param in addition to score when searching. (#11470, #11457)
    • 👍 Field layout elements within field layout designers now support double-clicking to open their settings slideout. (#11277)
    • 💻 The control panel’s JavaScript queue is now paused when the browser tab isn’t visible. (#10632)
    • ⏪ The db/restore command now asks whether the database should be backed up, and whether all existing database tables should be dropped, prior to restoring the backup. (#11288)
    • The users/create command now asks whether the user should be activated when saved.
    • The maxBackups config setting now impacts .sql.zip files in addition to .sql files. (#11241)
    • 🗄 Deprecation messages are now consistently referred to as “deprecation warnings” in the control panel.
    • Callback functions returned by elements’ sortOptions()/defineSortOptions() methods are now passed a craft\db\Connection object as a second argument.
    • All element sources now have a “Set Status” action, even if the element type’s defineActions() method didn’t include one, if the element type’s hasStatuses() method returns true. (#11383)
    • All element sources now have a “View” action, even if the element type’s defineActions() method didn’t include one, if the element type’s hasUris() method returns true. (#11383)
    • All element sources now have “Edit” and “Delete” actions, even if the element type’s defineActions() method didn’t include them. (#11383)
    • The “Set Status” and “Edit” element actions are now only available for elements whose canSave() method returned true.
    • 🍱 Assets fields now reject uploaded files which don’t pass their “Selectable Assets Condition” setting. (#11433)
    • 🍱 It’s now possible to save new assets without setting their filename or kind attributes, as long as newLocation or newFilename is set. (#11439)
    • 0️⃣ The searchindex table is now uses the InnoDB storage engine by default for MySQL installs. (#11374)
    • 0️⃣ The _layouts/elementindex control panel template now sets the page title based on the element’s pluralDisplayName() method by default. (#11502)
    • craft\test\ActiveFixture::$data is now populated with the active record instances, making them accessible to tests via $this->tester->grabFixture('my-fixture', 'data-key'). (#11445)
    • ➕ Address validation rules are now defined by defineRules(). (#11471)
    • Garnish.DELETE_KEY now refers to the actual Delete key code, and the Backspace key code is now referenced by Garnish.BACKSPACE_KEY.

    🗄 Deprecated

    • 🍱 Deprecated craft\elements\actions\DeleteAssets. craft\elements\actions\Delete should be used instead.

    ✂ Removed

    • ✂ Removed craft\elements\conditions\entries\EntryTypeCondition::$sectionUid.
    • ✂ Removed craft\elements\conditions\entries\EntryTypeCondition::$entryTypeUid.
  • v4.1.0.2 Changes

    June 28, 2022

    🛠 Fixed

    • 🛠 Fixed a PHP error. (#11518)
  • v4.1.0.1 Changes

    June 28, 2022

    🛠 Fixed

    • 🛠 Fixed an infinite recursion bug. (#11514)
  • v4.0.6 Changes

    June 28, 2022

    ➕ Added

    • ➕ Added craft\fields\BaseOptionsField::encodeValue().

    🔄 Changed

    • 👌 Improved the install command’s error output when invalid options were passed.
    • canonical is now a reserved field handle. (#11503)
    • craft\fields\BaseOptionsField::translatedOptions() now has an $encode argument.

    🛠 Fixed

    • 🛠 Fixed a bug where self relations within relational fields were being forgotten. (#11461)
    • 🛠 Fixed a bug where the install command required --site-name, --site-url, and --language options to be passed when project config YAML was already present. (#11513)
    • 🛠 Fixed a bug where Garnish.setFocusWithin() wasn’t working if the first focusable element was a checkbox. (#11498)
    • 🛠 Fixed a bug where Matrix blocks could be saved in the wrong order.
    • 🛠 Fixed a bug where Checkboxes, Dropdown, Multi-select, and Radio Buttons fields could lose their values if their option values were set to integers. (#11461)
  • v4.0.5 Changes

    June 21, 2022

    ➕ Added

    • ➕ Added craft\helpers\Number::isIntOrFloat().

    🔄 Changed

    • 👍 Categories now support change tracking.
    • 👌 Improved performance when working with temp asset folders.
    • Temp asset folders are no longer created until they’re actually needed. (#11427)
    • Element index queries are no longer cached if they contain a search term.
    • Search inputs within field layout designers now prevent the containing form from being submitted when the Return key is pressed. (#11415)

    🗄 Deprecated

    • 🗄 Deprecated craft\services\Categories::pruneDeletedField(). (#11054)
    • 🗄 Deprecated craft\services\Globals::pruneDeletedField(). (#11054)
    • 🗄 Deprecated craft\services\Sections::pruneDeletedField(). (#11054)
    • 🗄 Deprecated craft\services\Tags::pruneDeletedField(). (#11054)
    • 🗄 Deprecated craft\services\Users::pruneDeletedField(). (#11054)
    • 🗄 Deprecated craft\services\Volumes::pruneDeletedField(). (#11054)

    🛠 Fixed

    • 🛠 Fixed an error that could occur when saving an element to a disabled site. (#10499)
    • 🛠 Fixed a bug where newly-added condition rules’ types were still selectable for preexisting condition rules, when they shouldn’t have been.
    • 🛠 Fixed a bug where field layout designers were checking the wrong setting when determining whether to include UI elements (customizableTabs instead of customizableUi).
    • 🛠 Fixed a bug where the Asset Indexes utility was analyzing image transform directories and files. (#11362, #11384)
    • 🛠 Fixed a bug where focus was getting trapped within element editor slideouts’ sidebars even for wide viewports where there was enough room to display the sidebar side-by-side with other slideout content. (#11358)
    • 🛠 Fixed a bug where users’ Formatting Locale preferences weren’t always being respected.
    • 🛠 Fixed a bug where address card menus would linger around after an address was deleted.
    • 🛠 Fixed a bug where the index-assets command could produce unexpected output. (#11194).
    • 🛠 Fixed a bug where video controls within asset preview modals were inaccessible via the keyboard. (#11371)
    • 🛠 Fixed a bug where transform GraphQL directives weren’t working for Assets fields. (#10299)
    • 🛠 Fixed a PHP error that could occur when running the help command. (#11423)
    • 🛠 Fixed a bug where craft\helpers\App::env() was converting some values to integers or floats unexpectedly. (#11422)
    • 🛠 Fixed a bug where changes to existing Matrix blocks weren’t saving for element types that supported drafts but not change tracking. (#11419)
    • 🛠 Fixed a bug where double-clicking on a related asset’s thumbnail could open the asset’s preview modal. (#11424)
    • 🛠 Fixed a bug where the control panel wasn’t displaying file upload failure messages.
    • 🛠 Fixed a bug where action query params were taking precedence over actionTrigger URI matches, when handling action requests. (#11435)
    • 🛠 Fixed a bug where image fields within Edit User pages and the Settings → General page weren’t resetting properly after an image was deleted. (#11436)
    • 🛠 Fixed a bug where User Group condition rules set to the “is not one of” operator weren’t being applied to individual elements correctly. (#11444)
    • 🛠 Fixed a JavaScript error that occurred on element indexes for users that didn’t have permission to edit any sites.
    • 🛠 Fixed a bug where users without permission to create new entries in a section could duplicate existing entries. (#11447)
    • 🛠 Fixed a bug where element selection condition rules weren’t working if an element ID was provided. (#11451)
    • 🛠 Fixed a PHP error that occurred when executing a GraphQL query using a token that wasn’t set to a schema. (#11453)
    • 🛠 Fixed a PHP error that could occur when unserializing a craft\validator\DateTimeValidator, LanguageValidator, StringValidator, or TimeValidator object. (#11454)
    • 🛠 Fixed a bug where element types’ actions() methods were getting called for all element-indexes/* action requests.
    • 🛠 Fixed a bug where the install command would run non-interactively even if not all needed options were passed, resulting in an error after the database tables had been added. (#11305)
    • 🛠 Fixed a viewport clipping bug on the control panel’s Login page. (#11372)
    • 🛠 Fixed a bug where filtering an element query by a relational field using :empty:/:notempty: wasn’t factoring in the field’s “Which site should entries be related from?” setting properly.
    • 🛠 Fixed a bug where filtering an element query by a relational field using :empty:/:notempty: wasn’t factoring in the source elements’ site IDs, for fields set to manage relations on a per-site basis. (#11418)
    • 🛠 Fixed a bug where the Temporary Uploads asset source wasn’t including subfolders.
    • 🛠 Fixed a bug where file upload progress bars weren’t always going away when an upload error occurred.
    • 🛠 Fixed a bug where Pashto was not being treated as an RTL langauge. (#11428)
    • 🛠 Fixed a bug where the upscaleImages config setting wasn’t being respected for transforms where only a single image dimension was specified. (#11398)
    • 🛠 Fixed an error that could occur when executing a GraphQL query, if a section didn’t have any entry types. (#11273)
    • 🛠 Fixed an error that could occur when changing the primary site on installs with a large number of users. (#11459)
    • 🛠 Fixed a bug where Assets fields within Vizy fields weren’t getting relocated from the user’s temp uploads folder. (#11462)

    🔒 Security

    • Environment-aware control panel fields no longer suggest environment variables that begin with HTTP_.
    • The Sendmail mailer no longer validates if the Sendmail Command setting is set to an enivornment variable that begins with HTTP_.