All Versions
336
Latest Version
Avg Release Cycle
7 days
Latest Release
65 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v4.3.4 Changes
November 29, 2022- The
serve
command now routes requests for nonexistent files to Craft. (#12310) - 0️⃣
craft\base\Element::includeSetStatusAction()
now returnsfalse
by default regardless of whathasStatuses()
returns, fixing a bug where some element indexes were unexpectedly getting “Set Status” actions. - 🐎 Query conditions generated by
craft\helpers\Db::parseParam()
no longer account fornull
values, due to a heavy performance impact. (#11931) - 🛠 Fixed a bug where the default MySQL backup command would attempt to use credentials from
~/.my.cnf
if it existed, instead of Craft’s configured database connection settings. (#12349) - 🛠 Fixed a bug where it wasn’t possible to access the Customize Sources modal if all sources were disabled. (#12369)
- 🛠 Fixed a bug where Assets fields weren’t taking their “Show unpermitted volumes” setting into account when defining the available input sources. (#12364)
- 🛠 Fixed a bug where user slideouts included status toggles.
- ⚡️ Updated Yii to 2.0.47.
- The
-
v4.3.3 Changes
November 17, 2022- 🛠 Fixed an error that occurred if an arrow function was passed to the
|sort
Twig filter. (#12334) - 🛠 Fixed a bug where nested fields set to numbers could be inadvertently changed when an entry draft was created.
craft\services\Fields::getFieldsWithContent()
andgetFieldsWithoutContent()
now have$context
arguments.
- 🛠 Fixed an error that occurred if an arrow function was passed to the
-
v4.3.2 Changes
November 16, 2022firstName
andlastName
are now reserved field handles for the user field layout. (#12241, #12316)- Asset filenames are truncated in large thumbnail views, as they were before 4.3.0. (#12236)
- 🛠 Fixed an information disclosure vulnerability.
- 🛠 Fixed an XSS vulnerability.
- 🛠 Fixed asset indexing for Local filesystems that were configured to use a symlinked server path.
- 🛠 Fixed an error that could occur when calling
craft\base\Element::getCanonicalUid()
on a draft loaded for a site that the canonical element didn’t exist on yet. (#12228) - 🛠 Fixed a bug where long words in asset titles weren’t wrapping in the large thumbnail view. (#12237)
- 🛠 Fixed a bug where the Users index page was showing a “Set Status” bulk action, making it possible to disable users.
- Disabled users now identify themselves as disabled, and Edit User pages now provide a way for them to be re-enabled.
- 🛠 Fixed a layout issue that could occur on Assets fields using the “Large Thumbnails” view mode. (#12230)
- 🛠 Fixed a bug where elements that weren’t viewable by the current user could still be hyperlinked in element indexes.
- 🛠 Fixed a bug where
craft\helpers\DateTimeHelper::toDateInterval()
could return aDateInterval
that was off by an hour around daylight savings time changes. - 🛠 Fixed a bug where sticky element index footers were obstructed when the Debug Toolbar was enabled. (#12242)
- 🛠 Fixed a bug where it wasn’t possible to change the sort attribute on element indexes while searching. (#12256)
- 🛠 Fixed a bug where
resave/*
commands weren’t catching exceptions thrown when applying the--set
and--to
options. (#12262) - 🛠 Fixed the position of field status indicators within Matrix fields in Live Preview. (#12287)
- 🛠 Fixed PHP errors that could occur when executing GraphQL queries. (#12271, #12275)
- 🛠 Fixed a bug where it was possible to add a “Status” condition rule to relational fields’ selectable element conditions. (#12289)
- 🛠 Fixed a PHP error that occurred if a field type stored enum values. (#12297)
- 🛠 Fixed a bug where PHP errors and exceptions thrown when formatting a control panel screen response weren’t being handled properly. (#12308)
- 🛠 Fixed a bug where element indexes were showing the labels of empty Dropdown options when selected. (#12319)
- 🛠 Fixed condition builder styling issues that occurred if any rules had exceptionally long names. (#12311)
- 🛠 Fixed an error that occurred when saving an entry via GraphQL, if a parent entry was assigned that didn’t exist on the requested site. (#12291)
- 🛠 Fixed a bug where conditional fields weren’t always saving for elements that didn’t support autosaved drafts. (#12166)
- 🛠 Fixed a bug where fields set to numbers could be inadvertently changed when an entry draft was created.
- ➕ Added
craft\base\Element::includeSetStatusAction()
. - ➕ Added
craft\services\Fields::getFieldsWithoutContent()
.
-
v4.3.2.1 Changes
November 16, 2022- 🛠 Fixed a PHP error that could occur when generating an image transform. (#12333)
-
v4.3.1 Changes
October 27, 2022- Numeric values are no longer automatically formatted within element indexes. (#12205)
- When
craft\base\Element::EVENT_DEFINE_URL
event handlers setcraft\events\DefineUrlEvent::$url
tonull
, that will no longer be respected unless$handled
was also set totrue
. (#12210, nystudio107/craft-imageoptimize#359) - Asset folder and file names are now converted to ASCII using the primary site’s language for character mappings, regardless of the current user’s preferred language, when the
convertFilenamesToAscii
config setting is enabled. (#12207) - 🛠 Fixed a bug where locked users’ remaining cooldown times could be calculated incorrectly on PHP 8.0.
- 🛠 Fixed an infinite recursion bug that occurred when editing a Matrix field with a custom propagation method. (#12176)
- 🛠 Fixed a bug where element index source lists were showing headings that didn’t have any visible nested sources. (#12193)
- 🛠 Fixed a JavaScript 404 error that occurred when users’ Language was set to Chinese. (#12194)
- 🛠 Fixed a bug where users couldn’t delete their own addresses. (craftcms/commerce#3011)
- 🛠 Fixed a bug where the
users/save-address
action wasn’t validating addresses properly. - 🛠 Fixed an error that could occur during garbage collection, if any nested volume folders were missing their path. (#12195)
-
v4.3.0 Changes
October 25, 2022Content Management
- ➕ Added a “View” menu to element indexes, which enable users to customize the visible table columns for themselves, without affecting other users. (#11915)
- ➕ Added source setting menus to element index pages, which now contain the “Customize sources” option when allowed, and “New subfolder”, “Rename folder”, and “Delete folder” actions on the Assets index page. (#11906)
- ➕ Added the “Editable” rule to asset and entry conditions. (#11995)
- 👌 Improved control panel mobile support. (#11963, #12005)
- Element indexes now respect field layouts’ user conditions when determining which custom field columns to show. (#11913)
- Element index URLs now include the selected source key in a
source
query param, so all sources are now deep-linkable, including custom sources. (#11996) - 🍱 Notifications are now shown after executing folder actions on the Assets index page. (#11906)
- 👍 Date range condition rules now support “Today”, “This week”, “This month”, “This year”, “Past 7 days”, “Past 30 days”, “Past 30 days”, “Past year”, “Before…”, and “After…” relative range types, in addition to specifying a custom date range. (#10749, #11888)
- 👍 Number condition rules now support an “is between…” operator. (#11950)
- 👍 All text, number, and date range condition rules now support “has a value” and “is empty” operators. (#11070)
- “Save as a new [element type]” actions will now discard any unsaved changes on the original element after the new element is created. (#10204, #11959, #12102, #12165)
- If Live Preview is triggered while a draft is saving, it will now wait until the save completes before opening. (#11858, #11895)
- ➕ Addresses now support change tracking.
- ⏪ It’s now possible to restore assets that were deleted programmatically with
craft\elements\Asset::$keepFile
set totrue
. (#11761)
Accessibility
- 👌 Improved the styling of selected sidebar navigation items to meet contrast requirements. (#11589)
- 👌 Improved the styling of slideouts for screens under 600 pixels wide. (#11636)
- 👌 Improved the styling of the primary button on element index pages for small screens. (#11963)
- 👌 Improved the contrast of modal resize handles. (#11727)
- 👌 Improved the contrast of fields’ searchable and translatable indicator icons on the Fields index page. (#12169)
- Improed the contrast of the “Same as language” text within the “Formatting Locale” user preference. (#11767)
- 👌 Improved the contrast of the selected options within combo boxes. (#11662)
- 👌 Improved the readability of the global navigation and date pickers when text is resized to 200%. (#11767)
- 👌 Improved focus management for HUD components. (#11985)
- 👌 Improved focus management for element index pagination links. (#11565).
- 👌 Improved focus management for editable tables. (#11662)
- 👍 Custom slider components now support Home and End key presses. (#11578)
- 👌 Improved the markup and keyboard control for exclusive button groups. (#11942)
- 👌 Improved keyboard control for the widget manager HUD on the Dashboard. (#11578)
- 👌 Improved New Widget and Quick Post action menus for screen readers. (#11611)
- 👌 Improved the widget manager HUD for screen readers. (#11945)
- 👌 Improved the Craft Support widget for screen readers. (#11703)
- 👌 Improved element index view mode buttons for screen readers. (#11613)
- 👌 Improved element type selects within “Related To” condition rules for screen readers. (#11662)
- 👌 Improved element action modals for screen readers. (#11905)
- 👌 Improved field instructions, errors, and other visually-related text for screen readers. (#11763)
- 👌 Improved field translation indicators for screen readers. (#11662)
- 👌 Improved the parent selection button on structured entries’ and categories’ edit pages for screen readers. (#11662)
- 👌 Improved the Rotate button within Live Preview for screen readers. (#11953)
- 👌 Improved Date fields for screen readers. (#10546)
- 🛠 Fixed a mismatch between the visible and accessibile text on the site name in the global sidebar. (#11767)
- ➕ Added alternative text to element status indicators. (#11604)
- Feed, Recent Entries, and Drafts widgets now use use semantic lists instead of tables. (#11952)
- ➕ Added autocomplete attributes to several address fields. (#11767)
- Implemented fieldsets and descriptive headings on user accounts’ “Preferences” tab. (#11534)
- The “All” status option within element index toolbars now uses a differentiated gradient icon. (#11911)
- 👌 Improved status indicator shapes, when the “Use shapes to represent statuses” user preference is enabled. (#11911)
- Boolean table columns within element indexes now use check icons to indicate
true
values. (#11911) - Element titles are no longer truncated on edit pages. (#11768)
- Asset titles are no longer truncated in asset indexes. (#11775)
- Element source navigation now programmatically conveys structure imparted by headings. (#11777)
- ➕ Added a warning icon to related elements that contain validation errors. (#11610)
- Element index footers now stick to the bottom of the window, and element action triggers are now inserted into the footer rather than replacing the contents of the page’s toolbar. (#11844)
Administration
- ➕ Added the
extraLastNamePrefixes
config setting. (#11903) - ➕ Added the
extraNameSalutations
config setting. (#11903) - ➕ Added the
extraNameSuffixes
config setting. (#11903) - 0️⃣ Element sources now have a “Default Sort” setting in the Customize Sources modal. (#12002)
- Control panel-defined image transforms can now have custom quality values. (#9622)
- Added support for the
CRAFT_DOTENV_PATH
PHP constant. (#11894) - 🌐 Added support for
CRAFT_WEB_URL
andCRAFT_WEB_ROOT
environment variables/PHP constants, which can be used to set the default@web
and@webroot
alias values. (#11912)
Development
- ➕ Added the
canCreateDrafts()
Twig function. (#11797, #11808) - ➕ Added the
canDelete()
Twig function. (#11797, #11808) - ➕ Added the
canDeleteForSite()
Twig function. (#11797, #11808) - ➕ Added the
canDuplicate()
Twig function. (#11797, #11808) - ➕ Added the
canSave()
Twig function. (#11797, #11808) - ➕ Added the
canView()
Twig function. (#11797, #11808) - ➕ Added the
|boolean
Twig filter. (#11792) - ➕ Added the
|float
Twig filter. (#11792) - ➕ Added the
|integer
Twig filter. (#11792) - ➕ Added the
|string
Twig filter. (#11792) - Twig templates now have
today
,tomorrow
, andyesterday
global variables available to them. - 👍 Element query date params now support passing
today
,tomorrow
, andyesterday
. (#10485) - Element queries’
relatedTo
params now only check for relations in the same site assiteId
, if set. (#12000, #12072) - 👍 Element queries now support passing ambiguous column names (e.g.
dateCreated
) and field handles intoselect()
. (#11790, #11800) - 👍 Element queries’
collect()
methods eager-loaded elements now returncraft\elements\ElementCollection
objects, which extendsIlluminate\Support\Collection
withids()
andwith()
methods. (#12113) {% cache %}
tags now store any HTML registered with{% html %}
tags. (#11811){% cache %}
tags and GraphQL query caches now get a max cache duration based on the fetched/referenced entries’ expiry dates. (#8525, #11901)- ➕ Added the
siteHandle
field to elements queried via GraphQL. (#10829) users/session-info
responses now include acsrfTokenName
key. (#11706, #11767)- 👍 The
elements/save-draft
action now supports being called from the front end. (#12131) - The
users/upload-user-photo
action now includes aphotoId
key in the response data. (#12175)
Extensibility
- ➕ Added
craft\base\conditions\BaseTextConditionRule::inputOptions()
. - Added
craft\base\Element::EVENT_DEFINE_URL
. (#12168) - ➕ Added
craft\base\ExpirableElementInterface
. (#11901) - ➕ Added
craft\controllers\ElementsController::$element
. - ➕ Added
craft\db\ActiveQuery::collect()
. (#11842) - ➕ Added
craft\elements\actions\Restore::$restorableElementsOnly
. - ➕ Added
craft\elements\conditions\assets\EditableConditionRule
. - ➕ Added
craft\elements\conditions\entries\EditableConditionRule
. - ➕ Added
craft\elements\ElementCollection
. (#12113) - ➕ Added
craft\events\AuthorizationCheckEvent::$element
. - ➕ Added
craft\events\CreateTwigEvent
. - ➕ Added
craft\events\DefineAddressFieldLabelEvent
. - ➕ Added
craft\events\DefineAddressFieldsEvent
. - ➕ Added
craft\events\DefineUrlEvent
. (#12168) - ➕ Added
craft\events\ImageTransformerOperationEvent::$tempPath
. - ➕ Added
craft\events\SearchEvent::$scores
. (#11882) - ➕ Added
craft\events\UserGroupPermissionsEvent
. - ➕ Added
craft\events\UserPermissionsEvent
. - ➕ Added
craft\helpers\DateRange
. - ➕ Added
craft\helpers\DateTimeHelper::firstWeekDay()
. - ➕ Added
craft\helpers\DateTimeHelper::lastMonth()
. - ➕ Added
craft\helpers\DateTimeHelper::lastWeek()
. - ➕ Added
craft\helpers\DateTimeHelper::lastWeekDay()
. - ➕ Added
craft\helpers\DateTimeHelper::lastYear()
. - ➕ Added
craft\helpers\DateTimeHelper::nextMonth()
. - ➕ Added
craft\helpers\DateTimeHelper::nextWeek()
. - ➕ Added
craft\helpers\DateTimeHelper::nextYear()
. - ➕ Added
craft\helpers\DateTimeHelper::thisMonth()
. - ➕ Added
craft\helpers\DateTimeHelper::thisWeek()
. - ➕ Added
craft\helpers\DateTimeHelper::thisYear()
. - ➕ Added
craft\helpers\DateTimeHelper::today()
. - ➕ Added
craft\helpers\DateTimeHelper::tomorrow()
. - ➕ Added
craft\helpers\DateTimeHelper::yesterday()
. - ➕ Added
craft\helpers\ElementHelper::attributeHtml()
. - ➕ Added
craft\helpers\Html::svg()
. (#11932) - ➕ Added
craft\i18n\FormatConverter::convertDatePhpToHuman()
. (#10546) - ➕ Added
craft\i18n\Locale::FORMAT_HUMAN
. - ➕ Added
craft\nameparsing\CustomLanguage
. - Added
craft\services\Addresses::EVENT_DEFINE_FIELD_LABEL
. (#11788) - Added
craft\services\Addresses::EVENT_DEFINE_USED_FIELDS
. (#11788) - Added
craft\services\Addresses::EVENT_DEFINE_USED_SUBDIVISION_FIELDS
. (#11788) - ➕ Added
craft\services\Addresses::getFieldLabel()
. - ➕ Added
craft\services\Addresses::getUsedFields()
. - ➕ Added
craft\services\Addresses::getUsedSubdivisionFields()
. - Added
craft\services\Elements::EVENT_AUTHORIZE_CREATE_DRAFTS
. (#11759, #11808) - Added
craft\services\Elements::EVENT_AUTHORIZE_DELETE_FOR_SITE
. (#11759, #11808) - Added
craft\services\Elements::EVENT_AUTHORIZE_DELETE
. (#11759, #11808) - Added
craft\services\Elements::EVENT_AUTHORIZE_DUPLICATE
. (#11759, #11808) - Added
craft\services\Elements::EVENT_AUTHORIZE_SAVE
. (#11759, #11808) - Added
craft\services\Elements::EVENT_AUTHORIZE_VIEW
. (#11759, #11808) - ➕ Added
craft\services\Elements::canCreateDrafts()
. - ➕ Added
craft\services\Elements::canDelete()
. - ➕ Added
craft\services\Elements::canDeleteForSite()
. - ➕ Added
craft\services\Elements::canDuplicate()
. - ➕ Added
craft\services\Elements::canSave()
. - ➕ Added
craft\services\Elements::canView()
. - ➕ Added
craft\services\Elements::getIsCollectingCacheInfo()
. (#11901) - ➕ Added
craft\services\Elements::setCacheExpiryDate()
. (#11901) - ➕ Added
craft\services\Elements::startCollectingCacheInfo()
. (#11901) - ➕ Added
craft\services\Elements::stopCollectingCacheInfo()
. (#11901) - Added
craft\services\Search::EVENT_BEFORE_SCORE_RESULTS
. (#11882) - Added
craft\services\UserPermissions::EVENT_AFTER_SAVE_GROUP_PERMISSIONS
. (#12130, #12146) - Added
craft\services\UserPermissions::EVENT_AFTER_SAVE_USER_PERMISSIONS
. (#12130, #12146) - ➕ Added
craft\web\Controller::currentUser()
. (#11754, #11916) - Added
craft\web\View::EVENT_AFTER_CREATE_TWIG
. (#11774) craft\elements\Asset::EVENT_DEFINE_URL
now gets triggered after the default URL has been generated, and the URL will be passed tocraft\events\DefineAssetUrlEvent::$url
.craft\elements\db\ElementQuery::collect()
andcraft\base\Element::getEagerLoadedElements()
now returncraft\elements\ElementCollection
instances. (#12113)craft\events\DraftEvent::$creatorId
is now nullable. (#11904)craft\fieldlayoutelements\BaseField::statusClass()
andstatusLabel()
now return status info from the element for the attribute specified byattribute()
.craft\helpers\Component::iconSvg()
now namespaces the SVG contents, and addsaria-hidden="true"
. (#11703)craft\services\Drafts::createDraft()
now acceptsnull
passed to its$creatorId
argument. (#11904)craft\services\Search::EVENT_AFTER_SEARCH
now includes the computed search result scores, set tocraft\events\SearchEvent::$scores
, and any changes made to it will be returned bysearchElements()
. (#11882)craft\services\Search::EVENT_BEFORE_INDEX_KEYWORDS
is now cancellable by setting$event->isValid
tofalse
. (#11705)- Deprecated
craft\base\Element::EVENT_AUTHORIZE_CREATE_DRAFTS
.craft\services\Elements::EVENT_AUTHORIZE_CREATE_DRAFTS
should be used instead. - Deprecated
craft\base\Element::EVENT_AUTHORIZE_DELETE_FOR_SITE
.craft\services\Elements::EVENT_AUTHORIZE_DELETE_FOR_SITE
should be used instead. - Deprecated
craft\base\Element::EVENT_AUTHORIZE_DELETE
.craft\services\Elements::EVENT_AUTHORIZE_DELETE
should be used instead. - Deprecated
craft\base\Element::EVENT_AUTHORIZE_DUPLICATE
.craft\services\Elements::EVENT_AUTHORIZE_DUPLICATE
should be used instead. - Deprecated
craft\base\Element::EVENT_AUTHORIZE_SAVE
.craft\services\Elements::EVENT_AUTHORIZE_SAVE
should be used instead. - Deprecated
craft\base\Element::EVENT_AUTHORIZE_VIEW
.craft\services\Elements::EVENT_AUTHORIZE_VIEW
should be used instead. - 🗄 Deprecated
craft\elements\Address::addressAttributeLabel()
.craft\services\Addresses::getFieldLabel()
should be used instead. - 🗄 Deprecated
craft\events\DefineAssetUrlEvent::$asset
.$sender
should be used instead. - 🗄 Deprecated
craft\services\Elements::getIsCollectingCacheTags()
.getIsCollectingCacheInfo()
should be used instead. (#11901) - 🗄 Deprecated
craft\services\Elements::startCollectingCacheTags()
.startCollectingCacheInfo()
should be used instead. (#11901) - 🗄 Deprecated
craft\services\Elements::stopCollectingCacheTags()
.stopCollectingCacheInfo()
should be used instead. (#11901) checkboxSelect
inputs withoutshowAllOption: true
now post an empty value if no options were selected. (#11748)- ➕ Added the
Craft.useMobileStyles()
JavaScript method. (#11636) - ➕ Added
Craft.BaseElementIndex::getParentSource()
. - ➕ Added
Craft.BaseElementIndex::getRootSource()
. - ➕ Added
Craft.BaseElementIndex::getSourceActions()
. (#11906) - ➕ Added
Craft.BaseElementIndex::getSourceLevel()
. - 👀
Craft.BaseElementSelectInput
now triggers achange
event when elements are added programmatically or removed.
System
- 📜 Name parsing now checks for common German salutations, suffixes, and last name prefixes.
- 👷 “Generating pending image transforms” jobs no longer attempt to process transforms that had previously failed. (#11970)
- 0️⃣ The default system email template now sets the
lang
attribute on the<html>
tag. (#12156) - 0️⃣ The default system email template now includes a
Content-Type
tag. (#12156) - 👌 Improved GraphQL cache reliability. (#11994, #12086)
- Control panel
.twig
templates are now prioritized over.html
. (#11809, #11840) - ⚡️ Updated Yii to 2.0.46.
- 🛠 Fixed a bug where addresses weren’t validating their country codes. (#12161)
- 🛠 Fixed a bug where Entry URI Format, Template, and Default Status switches were focusable within sections’ Site Settings tables, for disabled sites.
- 🛠 Fixed a bug where
craft\helpers\Db::parseParam()
wasn’t generating conditions that would includenull
values when it should have. (#11931)
-
v4.2.8 Changes
October 18, 2022🔄 Changed
- The
setup/keys
command will now set the application ID ifCraft::$app->id
is empty. (#12103)
🛠 Fixed
- 🛠 Fixed an error that could occur when running tests. (#12088, #12089)
- 🛠 Fixed a bug where the
db/restore
command would output a warning about a missinginfo
row, even if one existed in the imported database. (#12101) - 🛠 Fixed a bug where the “Your session has ended” modal could be shown on the control panel’s login page. (#12121)
- 🛠 Fixed a permission error that could occur when uploading a file to an Assets field.
- 🛠 Fixed a bug where custom log targets were getting removed when processing queue jobs. (#12109)
- 🛠 Fixed a bug where Money fields weren’t distinguishing between
0
and empty values. (#12122, #12132) - 🛠 Fixed an error that could occur in the control panel. (#12133)
- 🛠 Fixed a bug where assets uploaded from Assets fields weren’t retaining their original filename for all but the initial site. (#12142)
- 🛠 Fixed a bug where non-admin users couldn’t always see the Temporary Uploads source when selecting assets from an Assets field. (#12128)
- 🛠 Fixed a bug where image transforms that used the
fit
mode but didn’t specify a width or height weren’t getting their missing dimension set on the asset. (#12137)
- The
-
v4.2.7 Changes
October 11, 2022➕ Added
- ➕ Added the
setup/keys
command, which ensure Craft is configured with an application ID and security key.
🔄 Changed
- The
install/craft
command now runssetup/keys
before doing anything else.
- ➕ Added the
-
v4.2.6 Changes
October 11, 2022➕ Added
- ➕ Added the
--as-json
option to thehelp
command. (#12017, #12074) - ➕ Added
craft\helpers\ElementHelper::isAttributeEmpty()
. - ➕ Added
craft\queue\jobs\ResaveElements::$ifEmpty
. - ➕ Added
craft\queue\jobs\ResaveElements::$set
. - ➕ Added
craft\queue\jobs\ResaveElements::$to
. - ➕ Added
craft\queue\jobs\ResaveElements::$touch
.
🔄 Changed
- When passing a PHP callback function to the
--to
option of aresave/*
command, the$element
argument is now optional.
🗄 Deprecated
- 🍱 Deprecated
craft\web\assets\focusvisible\FocusVisibleAsset
. (#12037)
🛠 Fixed
- 🛠 Fixed an error that could occur when editing a draft of an element type that didn’t have change tracking enabled.
- 🛠 Fixed an error that could occur when saving an entry with Matrix blocks, if the entry had been deleted for a site.
- 🛠 Fixed a bug where
resave/*
commands weren’t respecting the--set
,--to
, or--touch
options when--queue
was passed. (#11974) - 🛠 Fixed a bug where
relatedTo
params didn’t support collections. - 🛠 Fixed an error that could occur when passing an element query to a
relatedTo
param, if the parent element query contained any closures. (#11981) - 🛠 Fixed a bug where
craft\log\MonologTarget::$allowLineBreaks
wasn’t getting a default value. (#12004) - 🛠 Fixed a PHP error that occurred when attempting to edit an element by an invalid ID or UUID.
- Fixed a bug where unsaved drafts could be unintentionally deleted when saved, if a plugin or module was blocking the save via
EVENT_BEFORE_SAVE
. (#12015) - 🛠 Fixed a bug where “Propagating tags” jobs would fail if two tags had similar titles.
- 🛠 Fixed a bug where pressing “Disable focal point” within asset preview modals would only reset the focal point position, but not delete it. (#12030)
- 🛠 Fixed a bug where image transforms weren’t getting sized correctly in some cases when
upscaleImages
was disabled. (#12023) - 🛠 Fixed a bug where table cells within Redactor fields could appear to be focused when they weren’t. (#12001, #12037)
- 🛠 Fixed a bug where alerts saying a folder can’t be renamed due to a naming conflict were showing the old folder name instead of the new one. (#12049)
- 🛠 Fixed a bug where custom fields nested within Matrix fields weren’t always updating properly within slideout editors. (#11988, #12058)
- 🛠 Fixed an error that could occur when adding new textual condition rules to a condition. (#12077)
- 🛠 Fixed a bug where Table fields’ Default Values settings were always showing at least one row, even if the setting had been saved without any rows. (#12071)
- 🛠 Fixed a bug where existing rows in Table fields’ Default Values settings were losing the ability to be reordered or deleted when the table columns were changed.
- 🛠 Fixed a bug where sending a password reset email for an inactive user would set them to a pending state. (#12080)
- 🛠 Fixed a bug where some GraphQL results could be missing if multiple sets of nested elements were being queried using the same alias. (#11982)
🔒 Security
- 🛠 Fixed information disclosure vulnerabilities.
- ➕ Added the
-
v4.2.5 Changes
September 20, 2022➕ Added
- ➕ Added
craft\helpers\Image::targetDimensions()
.
🔄 Changed
- Edit Asset pages now show the “View” button for all file types, not just images, PDFs, and text files. (#11936)
✂ Removed
- ✂ Removed the Punycode PHP library. (#11948)
🛠 Fixed
- 🛠 Fixed a bug where image transforms weren’t always getting applied properly to all animation frames. (#11937)
- 🛠 Fixed a bug where animated WebP images would lose their animation frames when transformed. (#11937)
- 🛠 Fixed a bug where image transform dimensions could be calculated incorrectly when
upscaleImages
wasfalse
. (#11837) - 🛠 Fixed a bug where the
users/send-password-reset-email
action wasn’t passing errors back to the template. (#11933) - 🛠 Fixed an error that occurred when setting a non-numeric
width
orheight
on an image transform. (#11837) - 🛠 Fixed a bug where the database connection wasn’t being configured properly when fluent config methods and environment variable overrides were being used in combination. (#11941)
- 🛠 Fixed a bug where slideouts lost their shadows when focused.
- 🛠 Fixed a bug where
relatedTo*
arguments weren’t supported bychildren
fields in GraphQL. (#11918) - 🛠 Fixed a bug where Image Editor and slideout action buttons were obstructed when the Debug Toolbar was enabled. (#11965)
- Fixed an error that occurred when installing Craft when MySQL’s
sql_require_primary_key
setting was enabled. (#11374) - 🛠 Fixed a bug subfolders created by Assets fields could be reported as missing when updating asset indexes, even if they contained assets. (#11949)
- 🛠 Fixed a PHP error that could occur in a potential race condition when calling
craft\helpers\FileHelper::clearDirectory()
. - 🛠 Fixed a bug where Structure section entries that were duplicated via the “Save as a new entry” action on a provisional draft weren’t being placed within the structure properly.
- 🛠 Fixed a bug where element’s
searchScore
properties would be set tonull
when their original score was below 1, rather than rounding to 0 or 1. (#11973)
- ➕ Added