Releases: craftcms/cms
Releases · craftcms/cms
4.5.8
- Improved the styling and accessibility of revision pages. (#13857, #13850)
- Added the
focalPoint
argument to asset save mutations. (#13846) - The
up
command now accepts a--no-backup
option. {% cache %}
tags now store any<meta>
tags registered withyii\web\View::registerMetaTag()
. (#13832)- Added
craft\errors\ExitException
. - Added
craft\web\View::startMetaTagBuffer()
. - Added
craft\web\View::clearMetaTagBuffer()
. - Added support for modifying the application config via a global
craft_modify_app_config()
function. (#13855) - Fixed a bug where
{% exit %}
tags without a status code weren’t outputting any HTML that had already been output in the template. (#13848) - Fixed a bug where it wasn’t possible to Ctrl/Command-click on multiple elements to select them. (#13853)
4.5.7
- Field containers are no longer focusable unless a corresponding validation message is clicked on. (#13782)
- Improved element save performance.
- Added
pgpassword
andpwd
to the list of keywords that Craft will look for when determining whether a value is sensitive and should be redacted from logs, etc. - Added
craft\events\DefineCompatibleFieldTypesEvent
. - Added
craft\services\Fields::EVENT_DEFINE_COMPATIBLE_FIELD_TYPES
. (#13793) - Added
craft\web\assets\inputmask\InputmaskAsset
. craft\web\Request::accepts()
now supports wildcard (e.g.application/*
). (#13759)Craft.ElementEditor
instances are now configured with anelementId
setting, which is kept up-to-date when a provisional draft is created. (#13795)- Added
Garnish.isPrimaryClick()
. - Fixed a bug where relational fields’ element selector modals weren’t always getting set to the correct site per the field’s “Relate entries from a specific site?” setting. (#13750)
- Fixed a bug where Dropdown fields weren’t visible when viewing revisions and other static forms. (#13753, craftcms/commerce#3270)
- Fixed a bug where the
defaultDirMode
config setting wasn’t being respected when thestorage/runtime/
andstorage/logs/
folders were created. (#13756) - Fixed a bug where the “Save and continue editing” action wasn’t working on Edit User pages if they contained a Money field. (#13760)
- Fixed a bug where relational fields’ validation messages weren’t using the actual field name. (#13807)
- Fixed a bug where element editor slideouts were appearing behind element selector modals within Live Preview. (#13798)
- Fixed a bug where element URIs weren’t getting updated for propagated sites automatically. (#13812)
- Fixed a bug where dropdown input labels could overflow out of their containers. (#13817)
- Fixed a bug where the
transformGifs
andtransformSvgs
config settings weren’t always being respected when using@transform
GraphQL directives. (#13808) - Fixed a bug where Composer operations were sorting
require
packages differently than how Composer does it natively, whenconfig.sort-packages
was set totrue
. (#13806) - Fixed a MySQL error that could occur when creating a Plain Text field with a high charcter limit. (#13781)
- Fixed a bug where entries weren’t always being treated as live for View and Preview buttons, when editing a non-primary site. (#13746)
- Fixed a bug where Ctrl-clicks were being treated as primary clicks in some browsers. (#13823)
- Fixed a bug where some language options were showing “false” hints. (#13837)
- Fixed a bug where Craft was tracking changes to elements when they were being resaved. (#13761)
- Fixed a bug where sensitive keywords weren’t getting redacted from log contexts.
- Fixed RCE vulnerabilities.
3.9.5
- Added
pgpassword
andpwd
to the list of keywords that Craft will look for when determining whether a value is sensitive and should be redacted from logs, etc. - Fixed a bug where the
defaultDirMode
config setting wasn’t being respected when thestorage/runtime/
andstorage/logs/
folders were created. (#13756) - Fixed a bug where the
CRAFT_VENDOR_PATH
,CRAFT_BASE_PATH
,CRAFT_CONFIG_PATH
,CRAFT_CONTENT_MIGRATIONS_PATH
,CRAFT_STORAGE_PATH
,CRAFT_TEMPLATES_PATH
,CRAFT_TRANSLATIONS_PATH
, andCRAFT_TESTS_PATH
PHP constants weren’t being respected if the directories didn’t exist. - Fixed RCE vulnerabilities.
4.5.6.1
4.5.6
- When slideouts are opened within Live Preview, they now slide up over the editor pane, rather than covering the preview pane. (#13739)
- Cross-site validation now only involves fields which were actually modified in the element save. (#13675)
- Row headings within Table fields now get statically translated. (#13703)
- Element condition settings within field layout components now display a warning if the
autosaveDrafts
config setting is disabled. (#12348) - Added the
resave/addresses
command. (#13720) - The
resave/matrix-blocks
command now supports an--owner-id
option. - Added
craft\helpers\App::phpExecutable()
. - Added
craft\helpers\Component::cleanseConfig()
. craft\helpers\Component::createComponent()
now filters outas X
andon X
keys from the component config.craft\services\Announcements::push()
now has an$adminsOnly
argument. (#13728)Craft.appendHeadHtml()
andappendBodyHtml()
now load external scripts asynchronously, and return promises.- Improved the reliability of Composer operations when PHP is running via FastCGI. (#13681)
- Fixed a bug where it wasn’t always possible to create new entries from custom sources which were limited to one section.
- Fixed a bug where relational fields weren’t factoring in cross-site elements when enforcing their “Min Relations”, “Max Relations”, and “Validate related entries” settings. (#13699)
- Fixed a bug where pagination wasn’t working for admin tables, if the
onQueryParams
callback method wasn’t set. (#13677) - Fixed a bug where relations within Matrix blocks weren’t getting restored when restoring a revision’s content. (#13626)
- Fixed a bug where the filesystem and volume-creation slideouts could keep reappearing if canceled. (#13707)
- Fixed an error that could occur when reattempting to update to Craft 4.5. (#13714)
- Fixed a bug where date and time inputs could be parsed incorrectly, if the user’s formatting locale wasn’t explicitly set, or it changed between page load and form submit. (#13731)
- Fixed JavaScript errors that could occur when control panel resources were being loaded from a different domain. (#13715)
- Fixed a PHP error that occurred if the
CRAFT_DOTENV_PATH
environment variable was set, or a console command was executed with the--dotenvPath
option. (#13725) - Fixed a bug where long element titles weren’t always getting truncated in the control panel. (#13718)
- Fixed a bug where checkboxes could be preselected if they had an empty value. (#13710)
- Fixed a bug where links in validation summaries weren’t working if the offending field was in a collapsed Matrix block. (#13708)
- Fixed a bug where cross-site validation could apply even if
craft\services\Elements::saveElement()
was called with$runValidation
set tofalse
. - Fixed some wonky scrolling behavior on pages where the details pane was shorter than the content pane. (#13637)
- Fixed a division by zero error. (#13712)
- Fixed an RCE vulnerability.
3.9.4
- Added
craft\helpers\App::phpExecutable()
. - Added
craft\helpers\Component::cleanseConfig()
. craft\helpers\Component::createComponent()
now filters outas X
andon X
keys from the component config.- Improved the reliability of Composer operations when PHP is running via FastCGI. (#13681)
- Fixed an RCE vulnerability.
4.5.5
- Added the
maxGraphqlBatchSize
config setting. (#13693) - Fixed a bug where page sidebars and detail panes weren’t scrolling properly if their height was greater than the main content pane height. (#13637)
- Fixed an error that could occur when changing a field’s type, if a backup table needed to be created to store the old field values. (#13669)
- Fixed a bug where it wasn’t possible to save blank Dropdown values. (#13695)
3.9.3
4.5.4
- Added the
@stripTags
and@trim
GraphQL directives. (#9971) - Added
SK
to the list of keywords that Craft will look for when determining whether a value is sensitive and should be redacted from logs, etc. (#3619) - Improved the scrolling behavior for page sidebars and detail panes. (#13637)
- Filesystem edit pages now have a “Save and continue editing” alternative submit action, and the Command/Ctrl + S keyboard shortcut now redirects back to the edit page. (#13658)
- Attribute labels are no longer surrounded by asterisks for front-end validation messages. (#13640)
- The
|replace
Twig filter now has aregex
argument, which can be set tofalse
to disable regular expression parsing. (#13642) - Added
craft\events\DefineUserGroupsEvent
. - Added
craft\services\Users::EVENT_DEFINE_DEFAULT_USER_GROUPS
. (#12283) - Added
craft\services\Users::getDefaultUserGroups()
. craft\events\UserAssignGroupEvent
now extendsDefineUserGroupsEvent
, giving it a new$userGroups
property.craft\helpers\DateTimeHelper::toDateTime()
now supportsDateTimeImmutable
values. (#13656)craft\web\Response::setCacheHeaders()
no longer includespublic
in theCache-Control
header when$overwrite
isfalse
. (#13676)- Deprecated
craft\events\UserAssignGroupEvent
.DefineUserGroupsEvent
should be used instead. - Fixed a bug where the “Active Trials” section in the Plugin Store cart modal wasn’t listing plugins in trial. (#13661)
- Fixed a bug where changed fields weren’t being tracked properly when applying a draft for a multi-site entry.
craft\services\Elements::duplicateElement()
now supports passing asiteAttributes
array to the$attributes
argument, for setting site-specific attributes.- Fixed an error that could occur when executing a GraphQL query with fragments. (#13622)
- Fixed a bug where addresses queried via GraphQL had a
photo
field. - Fixed a bug where boolean environment variables weren’t always getting the correct value indicators within Selectize fields. (#13613)
- Fixed a bug where some system icons were getting black backgrounds when displayed within Vue apps. (#13632)
- Fixed a bug where the user and address field layouts were getting new UUIDs each time they were saved. (#13588)
- Fixed an error that could occur if a Money field was set to an array without a
value
key. (#13648) - Fixed a bug where relations weren’t getting restored when restoring a revision’s content. (#13626)
- Fixed a bug where “Entry Type” fields were showing
typeId
labels for admin users with “Show field handles in edit forms” enabled. (#13627) - Fixed a bug where Lightswitch fields with only one label weren’t getting the correct padding on the unlabelled side of the container. (#13629)
- Fixed a bug where the
transformGifs
andtransformSvgs
config settings weren’t always being respected. (#13624, #13635) - Fixed a bug where filesystems weren’t requiring the “Base URL” setting to be set. (#13657)
- Fixed a bug where applying a draft could redirect to the “Current” revision on a different site, if a new site had been added on the draft. (#13668)
- Fixed an error that could occur when changing a field’s type, if a backup table needed to be created to store the old field values. (#13669)
- Fixed a bug where Matrix blocks that were initially created for a newly-added site within a draft could be lost when applying the draft. (#13670)
- Fixed a bug where
fill
transform properties weren’t being passed along bycraft\elements\Asset::getUrlsBySize()
andgetSrcset()
. (#13650) - Fixed a bug where SVG asset icons weren’t visible in Safari. (#13685)
- Fixed two RCE vulnerabilities.
3.9.2
- Added
SK
to the list of keywords that Craft will look for when determining whether a value is sensitive and should be redacted from logs, etc. (#3619) - Improved the scrolling behavior for page sidebars and detail panes. (#13637)
- Fixed an error that could occur when saving an element with an Assets field from a console command. (#13623)
- Fixed a bug where the “Active Trials” section in the Plugin Store cart modal wasn’t listing plugins in trial. (#13661)
- Fixed two RCE vulnerabilities.