All Versions
336
Latest Version
Avg Release Cycle
7 days
Latest Release
188 days ago
Changelog History
Page 3
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.
- ➕ Added
-
v4.1.4.1 Changes
July 13, 2022🛠 Fixed
- 🛠 Fixed a bug where
craft\services\Assets::getRootFolderByVolumeId()
wasn’t returning the root folder. (#11593)
- 🛠 Fixed a bug where
-
v4.1.3 Changes
July 07, 2022 -
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)
- ➕ Added
-
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 theglobally
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 forfirst()
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 toscore
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 acraft\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’shasStatuses()
method returnstrue
. (#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’shasUris()
method returnstrue
. (#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 returnedtrue
. - 🍱 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
orkind
attributes, as long asnewLocation
ornewFilename
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’spluralDisplayName()
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 byGarnish.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)
- ➕ Added
-
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 ofcustomizableUi
). - 🛠 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 overactionTrigger
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
, orTimeValidator
object. (#11454) - 🛠 Fixed a bug where element types’
actions()
methods were getting called for allelement-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_
.
- ➕ Added