Releases: craftcms/cms
Releases · craftcms/cms
6.0.0-alpha.3
- Added the
compiledTemplatesPathconfig setting. (#18861) - Added a missing migration that adds
minAuthorsto the section table (#18875) - Fixed a bug where the
cpTriggerwould be appended twice to the URL after running migrations from the control panel. (#18858) - Fixed an error that occurred when rendering element indexes with blank source headings. (#18891)
- Fixed an error that occurred when uninstalling plugins. (#18862)
- Fixed an error that could occur when Control Panel HTML values were passed as
Stringableobjects. (#18883) - Fixed a bug where plugin package config files could affect plugin settings before being published. (#18885)
- Fixed a bug where the control panel would continuously poll for queue job info, even if there were no active jobs. (#18853)
- Fixed a bug where legacy redirect responses were not being handled. (#18860)
- Fixed a bug where email addresses couldn’t be saved when applying unpublished user drafts. (#18882)
- Fixed a bug where the Updates utility wasn’t showing available updates. (#18884)
5.10.1
- Fixed a bug where assets’ Alternative Text values weren’t always being set when replacing an existing asset’s file. (#18713)
- Fixed a bug where element indexes had horizontal scroll bars while loading. (#18870)
- Fixed a bug where elements selected by Link fields weren’t getting replaced with their localized versions when propagating content for newly-created elements to other sites. (#18743)
- Fixed a bug where it wasn’t possible to replace the selected element within Link fields with a localized version of the same element. (#18873)
- Fixed a bug where nested entries weren’t getting their Post Date values set. (#18872)
- Fixed a bug where it was difficult to interact with element source paths within element selector modals. (#18876)
4.18.0.1
6.0.0-alpha.2
- Added support for SQLite backups and restores. (#18803)
- Added support for Symfony-style array config files in
config/craft/sanitizers/. (#18808) - Added support for configuring the system time zone during installation. (#18794)
- Added the legacy
paginateTwig variable back. - Added CP access permission checks to Control Panel action routes.
- The
craftAsset()Twig function now resolves to Vite versioned assets. (#18801) - Renamed the
|moneyTwig filter’sformatLocaleargument tolocale. - Deprecated the
csrfTokenName,enableCsrfCookie, andenableCsrfProtectiongeneral config settings. (#18806) - Removed support for the Debug Toolbar. Laravel Debugbar can be used instead. (#18812)
- Improved Control Panel icon loading performance.
- Fixed a PHP error that occurred when saving a Structure section with a Max Levels value. (#18809)
- Fixed a bug where plugin settings pages were missing registered scripts and styles. (#18815)
- Fixed a PHP error that occurred when saving an entry type. (#18816)
- Fixed an issue with Typecast where typed setters wouldn't have precedence over private properties.
- Fixed a bug where Control Panel templates failed to load on Windows due to mismatched directory separators or drive-letter casing in
CraftCms\Cms\View\TwigEngine. (#18804) - Fixed a bug where Craft’s Vite hot file configuration could override the host application’s Vite hot file. (#18810)
- Fixed a bug where
CraftCms\Cms\Support\Typecastcould give private properties precedence over typed setters. - Fixed a bug where
runQueueAutomaticallywasn’t being respected. (#18817) - Fixed a bug where
CraftCms\Cms\Validation\Rules\EnvValueRulecould parse boolean values incorrectly. - Fixed a bug where Blade templates weren’t resolving correctly.
- Fixed a bug where console command aliases weren’t prefixed with
craft:. - Fixed a bug where element duplication included IDs.
- Fixed a bug where legacy action requests didn’t resolve correctly when using
DefaultController. - Fixed a bug where legacy controller CSRF validation exclusions weren’t always respected.
- Fixed a bug where legacy plugin settings weren’t saved correctly.
- Fixed a bug where legacy redirects and streamed responses weren’t forwarded to Laravel correctly.
- Fixed a bug where preview requests could write template caches.
- Fixed a bug where private templates couldn’t be used as section templates.
- Fixed a bug where the legacy
Application::EVENT_AFTER_REQUESTevent wasn’t triggered. - Fixed a bug where the password reset email throttle applied to Control Panel requests.
- Fixed a bug where the Support widget could render unescaped HTML.
- Fixed a bug where Twig macros were allowed in sandboxed templates.
- Fixed a bug where user passkeys weren’t persisting.
- Fixed an error that occurred when validation errors stored in the session were plain arrays.
- Fixed compatibility issues with legacy element queries.
- Fixed compatibility issues with legacy fallback routes.
- Fixed legacy model behavior when unsafe config keys were provided.
- Fixed permissions enforcement when duplicating Matrix blocks.
- Fixed permissions enforcement when saving user fields through generic element save endpoints.
- Fixed a bug where a
yii\base\InvalidConfigExceptionwould be thrown when a Yii2-based plugin registered an asset bundle. (#18818) - Fixed a bug where using
{{ successMessageInput() }}would not decrypt the resulting message for the flash message. - Fixed a bug where a missing widget from an uninstalled plugin would throw instead of mapping to a MissingWidget.
- Fixed a bug where an address' ownership ids could be overridden unintentionally.
- Fixed a bug where
getHasSsoIdentity()would returnfalsewhen Socialite was not installed but the user had an SSO identity. - Fixed a bug where the site's offline status was not being enforced on matched element routes.
- Fixed a user photo validation issue with file extensions.
- Fixed a bug where legacy controllers could return
nullbut were not considered handled. - Improved performance of the dashboard by reducing the amount of queries for widgets
- Fixed a bug where criteria added to clones of executed element queries could be ignored. (#18826)
- Fixed a bug where Yii2 behaviors registered from plugins weren’t getting attached at the right time. (#18824)
- Fixed an error that occurred when running
craft:installin environments where Laravel Prompts can only render tasks statically. (#18830) - Fix legacy model array access for null properties (#18843)
- Fix Twig access to Laravel error bags (#18841)
- Fixed a bug where singles were throwing an exception (#18845)
- Fixed a bug where plugin settings were not saving consistently (#18849)
- Fixed a bug where deprecated string-based
orderBy()arguments could cause element queries to throw an unknown column exception. (#18852) - Fixed a bug where Laravel HTTP exceptions weren’t passed to legacy error handler event listeners. (#18854)
- Fixed a bug where FieldLayouts were being flashed to the session as arrays. (#18847)
5.10.0
Content Management
- Collapsed Matrix blocks now show their entries’ UI labels as preview text, whenever possible. (#18484)
- Element-level actions within nested element management fields (Matrix, Addresses, etc.) now consistently affect all selected elements, when performed on a selected element. (#18561)
- Elements within Matrix and Addresses fields now have “Paste above” actions when a compatible element is copied. (#17406)
- Elements now keep track of the index page’s URL their edit page was linked to from, and explicitly redirect back to that page after save, rather than always redirecting to the referrer. (#18680)
- Addresses fields now have a “Copy all addresses” field-level action. (#18561)
- Matrix fields’ “Expand”, “Collapse”, and “Copy” field-level actions now always affect all nested entries, regardless of whether any entries are selected. (#18561)
- Matrix fields no longer have “Duplicate” and “Delete” field-level actions. (#18561)
- Number fields now show their selected currency beside their input, if their Preview Format setting is set to “As currency values”. (#18498)
- Color field previews are now blank for fields without a value. (#18614)
- Text condition rules now have “does not equal”, “is one of” and “is not one of” operators.
- Numeric condition rules now have “is one of” and “is not one of” operators. (#18734)
- Editable table columns now set
min-widthstyles based on their configured widths, if set. (#18534) - Entry post dates are no longer automatically set until the entry is fully saved as enabled. (#18642)
- Element edit screens now have a “Save as a new draft” action when editing an explicitly-created draft. (#18722)
- Address edit screens now have “Field settings” action menu items. (#18544)
- Asset edit screens now have “Volume settings” and “Filesystem settings” action menu items. (#18544)
- Entries’ “Entry type settings” and “Section settings” action menu items are now only shown for element edit screens’ primary action menus.
- Category indexes can now have “Group” columns. (#18553)
- Element slideouts now automatically refresh when the same element is updated in another tab/slideout. (#18625)
- Added the “Time Zone” user preference. (#8518)
- Element indexes now automatically refresh after duplicating elements and the queue is completed, if there’s an active search term. (#18636)
- Timestamps in the control panel now include their time zone abbreviation. (#18639)
- Generated field values are no longer truncated within element cards. (#18646)
- Assets’ Alternative Text values are now automatically set on upload, based on descriptive text data found in the uploaded file’s metadata. (#18744)
- When deleting elements, a modal window is now shown alerting the user of any potential issues, such as existing relationships. (#18728)
- “Verification Code” and “Recovery Code” forms no longer get auto-submitted when entering a value.
- Number columns within Table fields are now formatted according to the user’s preferred formatting locale. (#18823)
Administration
- It’s now possible to replace the selected custom field for existing field layout elements. (#18814)
- Sections now have a “Min Authors” setting. (#18662)
- Time fields’ “Max Time” settings can now be set to an earlier time than “Min Time”, for overnight time ranges. (#18575)
- Component chips within component select inputs now have “Replace” actions.
- Newlines in system message bodies are now replaced with
<br>tags. (#18058) - Added the
--to-defaultoption toresavecommands. (#18522) - Added the
--methodoption to theusers/remove-2facommand. (#18732)
Development
- Added the
heading()/h()andh1()…h6()Twig functions. (#18524) - The
tag()Twig function now accepts a string for its second argument. (#18524) - The
|attr,|parseAttr, and|removeClassTwig filters no longer log warnings when performed on a string without an HTML tag. (#17622) - The
|defaultTwig filter andis emptyTwig test now treat allyii\base\Modelinstances as not empty. (#18727) - The
|numberTwig filter now has alocaleargument. (#18823) - The
|timeand|datetimeTwig filters now havewithTimeZonearguments. (#18639) - The
|timestampTwig filter now returns the current time, if applied to anull/empty string value. (#18642) dataUrl()is no longer allowed in sandboxed Twig environments by default.deleteGraphQL queries now have ahardDeleteargument. (#18511)- Entry
postDatevalues are nownullon creation, rather than set to thedateCreatedvalue. (#18642) - Assets’
urlGraphQL fields’immediatelyarguments are no longer deprecated. (#18581) - JSON fields now support array values in POST data. (#18705)
- Added
craft\filters\SecFetchSiteFilterfor request origin verification. (#18641) craft\fields\data\LinkData::getUrl()now has an$anyStatusargument, which can be set tofalseto prevent a value from being returned if a disabled/pending/expired element is linked. (#18527)- Markdown parsing now respects the first number of ordered lists. (#18671)
Extensibility
- Added
craft\base\DefaultableFieldInterface. (#18522) - Added
craft\base\Element::EVENT_DEFINE_DELETION_BLOCKERS. (#18728) - Added
craft\base\ElementActionInterface::getTriggerId(). - Added
craft\base\ElementInterface::deletionBlockers(). (#18728) - Added
craft\base\ElementInterface::setDirtyFieldTracking(). - Added
craft\elements\PopulateElementEvent::$content. - Added
craft\elements\db\ElementQuery::$activeQuery. - Added
craft\elements\db\ElementQueryInterface::collectIds(). - Added
craft\elements\deletionblockers\BaseDeletionBlocker. (#18728) - Added
craft\elements\deletionblockers\DeletionBlockerInterface. (#18728) - Added
craft\elements\deletionblockers\EntryAuthorsBlocker. (#18728) - Added
craft\elements\deletionblockers\RelationDeletionBlocker. (#18728) - Added
craft\errors\FieldNotFoundException::$fieldId. - Added
craft\events\DefineElementDeletionBlockersEvent. (#18728) - Added
craft\fieldlayoutelements\CustomField::setFieldId(). - Added
craft\helpers\ElementHelper::belongsToCanonicalOwner(). - Added
craft\helpers\Html::jsWithVars(). - Added
craft\helpers\Markdown. (#18671) - Added
craft\models\Section::$minAuthors. (#18662) - Added
craft\queue\jobs\ReplaceRelations. (#18728) - Added
craft\services\Elements::REF_TAG_PATTERN. - Added
craft\services\Entries::reassignEntries(). - Added
craft\validators\TimeValidator::$outOfRange. (#18575) - Added
Craft.CpScreenSlideout::reload(). (#18625) - Added
Craft.ElementDeletionManager. craft\elements\PopulateElementEvent::$rowno longer includesfieldValuesorgeneratedFieldValueskeys.craft\helpers\DateTimeHelper::timeZoneAbbreviation()is no longer deprecated, and now has a$dateargument.craft\i18n\Formatter::asTime()andasDatetime()now have$withTimeZonearguments. (#18639)- Removed
craft\controllers\AppController::actionResourceJs(). (#18559) Craft.CPnow triggers aqueueCompletedevent when the last queue job is completed.- Deprecated
craft\controllers\UsersController::EVENT_DEFINE_CONTENT_SUMMARY. ([#18728](https...
4.18.0
Development
- The
|defaultTwig filter andis emptyTwig test now treat allyii\base\Modelinstances as not empty. (#18727) - Added
craft\filters\SecFetchSiteFilterfor request origin verification. (#18641) dataUrl()is no longer allowed in sandboxed Twig environments by default.
Extensibility
- Removed
craft\controllers\AppController::actionResourceJs(). (#18559)
System
- Cross-domain script tags added by JavaScript are now loaded directly, rather than via a proxy. (#18559)
- Updated the built-in composer.phar to 2.9.8. (#18761)
- Fixed a moderate-severity JavaScript injection vulnerability. (GHSA-c55v-343g-5xff)
- Fixed a moderate-severity path traversal vulnerability. (GHSA-287w-mxq6-x2cp)
5.9.23
- Updated Yii to 2.0.55. (#18833)
- Fixed a bug where the “Move…” asset index action was always disabled for files. (#18798)
- Fixed a bug where nested elements would get soft-deleted after running the
entrify/global-setcommand on subsequent environments. (#18767) - Fixed a bug where row headings within Table fields weren’t getting statically translated in the control panel. (#13703)
- Fixed a bug where entry type chips within Matrix settings could be missing their action items.
- Fixed a bug where custom field override settings’ Label, Handle, and Instructions fields could be missing their placeholder values.
- Fixed a bug where site name and language values set to environment variables were getting replaced with their resolved values when installing Craft. (#18780)
- Fixed a bug where site name values set to environment variables were getting replaced with their resolved values on save. (#18789)
- Fixed a bug where browser tabs weren’t always getting refreshed when nested elements were reordered on another browser tab.
- Fixed a bug where reordering nested elements on a draft could reorder them on the canonical owner element as well. (#18751)
- Fixed a high-severity XSS vulnerability. (GHSA-24x4-j6x9-rfw5)
- Fixed a moderate-severity XSS vulnerability. (GHSA-xrqc-p465-2xvg)
4.17.16
- Updated Yii to 2.0.55. (#18833)
- Fixed a bug where the “Move…” asset index action was always disabled for files. (#18798)
- Fixed a high-severity XSS vulnerability. (GHSA-24x4-j6x9-rfw5)
6.0.0-alpha.1
Development
- Reference tags now support fallback values when no attribute is specified. (#17688)
- Deprecated support for categories, global sets, and tags. (#18009)
Extensibility
- Added
CraftCms\Cms\Support\Arr. - Added
CraftCms\Cms\Support\DateTimeHelper. - Added
CraftCms\Cms\Support\File. - Added
CraftCms\Cms\Support\Facades\Path. - Added
CraftCms\Cms\Support\Facades\Markdown. - Added
CraftCms\Cms\Support\Path. - Added
CraftCms\Cms\Support\Str. - Added
CraftCms\Cms\Support\URL. - Added
CraftCms\Cms\action_url(),CraftCms\Cms\cp_url(), andCraftCms\Cms\site_url()helper functions. craft\services\Elements::stopCollectingCacheInfo()no longer sets the returned duration to thecacheDurationconfig setting if a duration wasn’t explicitly declared. (#16796)- Deprecated
craft\helpers\ArrayHelper.CraftCms\Cms\Support\Arrshould be used instead. - Deprecated
craft\helpers\ConfigHelper.CraftCms\Cms\Support\Configshould be used instead. - Deprecated
craft\helpers\DateTimeHelper.CraftCms\Cms\Support\DateTimeHelpershould be used instead. - Deprecated
craft\helpers\Diff.CraftCms\Cms\Support\Diffshould be used instead. - Deprecated
craft\helpers\ElementHelper.CraftCms\Cms\Element\ElementHelpershould be used for core element helper APIs,CraftCms\Cms\Element\ElementSourcesfor source lookup,CraftCms\Cms\Element\ElementAttributeRendererfor attribute rendering,CraftCms\Cms\Element\Draftsfor provisional draft helpers,CraftCms\Cms\Field\Enums\TranslationMethodfor translation helpers, andIlluminate\Support\Facades\ContextwithCraftCms\Cms\Element\Drafts::CONTEXT_PREVIEW_USER_IDfor preview-user context. - Deprecated
craft\helpers\Html.CraftCms\Cms\Support\Htmlshould be used instead. - Deprecated
craft\helpers\HtmlPurifier.CraftCms\Cms\Support\HtmlSanitizer\HtmlSanitizersshould be used for HTML sanitization, andCraftCms\Cms\Support\Strshould be used for UTF-8 cleanup instead. - Deprecated
craft\helpers\HtmlPurifier::process().CraftCms\Cms\Support\HtmlSanitizer\HtmlSanitizers::sanitize()should be used instead. - Deprecated
craft\helpers\HtmlPurifier::cleanUtf8(). - Deprecated
craft\helpers\HtmlPurifier::convertToUtf8().CraftCms\Cms\Support\Str::convertToUtf8()should be used instead. - Deprecated
craft\helpers\HtmlPurifier::configure().CraftCms\Cms\Support\HtmlSanitizer\HtmlSanitizers::defaults()or a custom sanitizer registration should be used instead. - Deprecated
config/craft/htmlpurifier/*.jsonsanitizer config files. Sanitizers should be registered onCraftCms\Cms\Support\HtmlSanitizer\HtmlSanitizersinstead. - Deprecated
craft\services\Path.CraftCms\Cms\Support\Pathshould be used instead. - Deprecated
craft\helpers\SessionHelper.Illuminate\Support\Facades\Sessionshould be used instead. - Deprecated
craft\helpers\Sequence.CraftCms\Cms\Support\Sequenceshould be used instead. - Deprecated
craft\helpers\StringHelper.CraftCms\Cms\Support\Strshould be used instead. - Deprecated
Craft::$app->getConfig()->getGeneral().CraftCms\Cms\Config\GeneralConfigshould be used instead. This can be used through dependency injection or throughapp(CraftCms\Cms\Config\GeneralConfig::class). - Deprecated
craft.app.config.generalin Twig.app.config.craft.generalshould be used instead. - Deprecated
craft\helpers\App::env(),CraftCms\Cms\Support\Env::get()should be used instead. - Deprecated
craft\markdown\Markdown,craft\markdown\GithubMarkdown,craft\markdown\MarkdownExtra, andcraft\markdown\PreEncodedMarkdown.CraftCms\Cms\Support\Facades\Markdownshould be used instead. - Deprecated
craft\helpers\DateRange.CraftCms\Cms\Shared\Enums\DateRangeTypeandCraftCms\Cms\Shared\Enums\DateRangePeriodshould be used instead. - Deprecated
craft\helpers\Cp. One of the following classes should be used instead:CraftCms\Cms\Cp\AlertsCraftCms\Cms\Cp\FormFieldsCraftCms\Cms\Cp\Html\ContentHtmlCraftCms\Cms\Cp\Html\ElementHtmlCraftCms\Cms\Cp\Html\ElementIndexHtmlCraftCms\Cms\Cp\Html\MenuHtmlCraftCms\Cms\Cp\Html\PreviewHtmlCraftCms\Cms\Cp\Html\StatusHtmlCraftCms\Cms\Cp\IconsCraftCms\Cms\Cp\RequestedSite
- Deprecated
craft\helpers\Json.CraftCms\Cms\Support\Jsonshould be used instead. - Deprecated
craft\services\Composer.CraftCms\Cms\Support\Composershould be used instead. - Deprecated
craft\enums\Color.CraftCms\Cms\Support\Enums\Colorshould be used instead. - Deprecated
craft\enums\AttributeStatus.CraftCms\Cms\Element\Enums\AttributeStatusshould be used instead. - Deprecated
craft\enums\CmsEdition.CraftCms\Cms\Editionshould be used instead. - Deprecated
craft\enums\ElementIndexViewMode.CraftCms\Cms\Element\Enums\ElementIndexViewModeshould be used instead. - Deprecated
craft\enums\LicenseKeyStatus.CraftCms\Cms\Support\Enums\LicenseKeyStatusshould be used instead. - Deprecated
craft\enums\MenuItemType.CraftCms\Cms\Element\Enums\MenuItemTypeshould be used instead. - Deprecated
craft\enums\PropagationMethod.CraftCms\Cms\Element\Enums\PropagationMethodshould be used instead. - Deprecated
craft\enums\TimePeriod.CraftCms\Cms\Support\Enums\TimePeriodshould be used instead. - Deprecated
craft\services\Gc.CraftCms\Cms\GarbageCollection\GarbageCollectionshould be used instead. - Deprecated
craft\services\Api.CraftCms\Cms\Support\Apishould be used instead. - Deprecated
craft\helpers\Api.CraftCms\Cms\Support\Apishould be used instead. - Deprecated
craft\nameparsing\CustomLanguage.CraftCms\Cms\Shared\Nameparser\CustomLanguageshould be used instead. - Deprecated
craft\helpers\App. The following classes/methods should be used instead:-
General helpers
App:devMode()->app()->hasDebugModeEnabled()App:parseBooleanEnv()-->\CraftCms\Cms\Support\Env::parseBoolean()App:normalizeValue()-->\CraftCms\Cms\normalizeValue()App:maxPowerCaptain()-->\CraftCms\Cms\maxPowerCaptain()App:silence()-->\CraftCms\Cms\silence()App:backtrace()-->\CraftCms\Cms\backtraceAsString()-
Env
App:env()-->\CraftCms\Cms\Support\Env::get()App:parseEnv()-->\CraftCms\Cms\Support\Env::parse()-
PHP
App:phpVersion()-->\CraftCms\Cms\Support\PHP::version()App:extensionVersion()-->\CraftCms\Cms\Support\PHP::extensionVersion()App:phpConfigValueAsBool()-->\CraftCms\Cms\Support\PHP::configValueAsBool()App:phpConfigValueInBytes()-->\CraftCms\Cms\Support\PHP::configValueInBytes()App:phpSizeToBytes()-->\CraftCms\Cms\Support\PHP::sizeToBytes()App:phpConfigValueAsPaths()-->\CraftCms\Cms\Support\PHP::configValueAsPaths()App:normalizePhpPaths()-->\CraftCms\Cms\Support\PHP::normalizePaths()App:isPathAllowed()-->\CraftCms\Cms\Support\PHP::isPathAllowed()App:phpExecutable()-->\CraftCms\Cms\Support\PHP::executable()App:testIniSet()-->\CraftCms\Cms\Support\PHP::testIniSet()App:checkForValidIconv()-->\CraftCms\Cms\Support\PHP::checkForValidIconv()App:supportsIdn()-->\CraftCms\Cms\Support\PHP::supportsIdn()-
License
App:licenseKey()-->app(\CraftCms\Cms\License\License::class)->key()App:licensingIssues()-->app(\CraftCms\Cms\License\License::class)->issues()App:licenseShunCookieName()-->app(\CraftCms\Cms\License\License::class)->shunCookieName()App:licensingIssuesHash()-->app(\CraftCms\Cms\License\License::class)->issuesHash()
-
- Deprecated
Craft::createGuzzleClient().CraftCms\Cms\Support\Facades\Http::create()should be used instead. - Deprecated
craft\helpers\FileHelper.CraftCms\Cms\Support\Fileshould be used instead. - Deprecated
craft\helpers\UrlHelper.CraftCms\Cms\Support\URLshould be used instead.
Deprecator
- Added
CraftCms\Cms\Support\Facades\Deprecator. - Added
CraftCms\Cms\Deprecator\Commands\ClearDeprecations. - Removed
craft\console\controllers\ClearDeprecationsController.php. - Deprecated
craft\services\Deprecator.CraftCms\Cms\Deprecator\Deprecatorshould be used instead. - Deprecated
craft\models\DeprecationError.CraftCms\Cms\Deprecator\Models\DeprecationErrorshould be used instead. - Deprecated
craft\errors\DeprecationException.CraftCms\Cms\Deprecator\Exceptions\DeprecationExceptionshould be used instead.
Console commands
- Added
php craft twig:cache- Precompile Twig views - Added
php craft twig:clear- Clear precompiled Twig views craft\console\controllers\EnvControllerhas been removed in favor of the classes below:CraftCms\Cms\Console\Commands\Env\EnvRemoveCommand=>php craft env:removeCraftCms\Cms\Console\Commands\Env\EnvSetCommand=>php craft env:setCraftCms\Cms\Console\Commands\Env\EnvShowCommand=>php craft env:show
craft\console\controllers\IndexAssetsControllerhas been removed in favor of the classes below:CraftCms\Cms\Asset\Commands\CleanupAssetIndexesCommand=>php craft index-assets:cleanupCraftCms\Cms\Asset\Commands\IndexAllAssetsCommand=>php craft index-assets:allCraftCms\Cms\Asset\Commands\IndexOneAssetCommand=>php craft index-assets:one
craft\console\controllers\BaseSystemStatusController,craft\console\controllers\OnController, andcraft\console\controllers\OffControllerhave been removed in favor of the classes below:CraftCms\Cms\Console\Commands\System\OnCommand=>php craft on- `CraftCms\Cms\Cons...
5.9.22
- Fixed a bug where dependencies required by
composer.jsonwere getting updated when installing/updating plugins. (#18755) - Fixed a bug where element thumbnails weren’t always getting loaded when they became visible.
- Fixed a bug where two-step verification setup was working even if the user failed to re-authenticate, if they already had an elevated session. (#18753)
- Fixed a bug where changes to Table fields’ “Table Columns” settings would cause existing data to be lost, if the “Static Rows” setting was enabled. (#18764)
- Fixed a moderate-severity authorization bypass vulnerability. (GHSA-7h62-6v23-v8fm)