All Versions
336
Latest Version
Avg Release Cycle
7 days
Latest Release
299 days ago
Changelog History
Page 28
Changelog History
Page 28
-
v3.1.5 Changes
January 25, 2019๐ Changed
- Control Panel settings that can be set to environment variables now show a tip about that if the value is not already set to an environment variable or alias.
- ๐ง Control Panel form fields can now be configured with a
tip
property, which will be displayed below the field. - Control Panel templates can now pass
suggestEnvVars: true
andsuggestAliases: true
to autosuggest fields, rather that supplying thesuggestions
array.
๐ Fixed
- ๐ Fixed a bug where the โDuplicateโ action wasnโt available on the Entries index page for non-admin users. (#3705)
- ๐ Fixed a bug where it wasnโt possible to rename an assetโs filename from the Assets index page. (#3707)
- ๐ Fixed an error that occurred when saving a user that had a first or last name set.
- ๐ Fixed a bug where it wasnโt possible to apply project config changes. (#3713)
- ๐ Fixed a bug where the Password field on SMTP and Gmail mail transport settings could be set to an encoded and encrypted password. (#3699)
- ๐ Fixed a bug where it was possible to remove the Primary Site status from the primary site, without offering a new primary site. (#3720)
- Fixed an error that could occur if PHPโs
memory_limit
was set to a higher size (in bytes) thanPHP_INT_MAX
. (#3717)
๐ Security
- โ Control Panel settings that can be set to an alias now show a warning if the current value begins with the
@web
alias.
-
v3.1.4 Changes
January 24, 2019โ Added
- โ Added all the things that came in Craft 3.0.38.
- The System Name setting can now be set to an environment variable. (#3529)
- โ Added the
index-assets/one
console command, which can now be used to index a single subfolder. - โ Added
craft\base\ApplicationTrait::getSystemName()
.
๐ Changed
- ๐ Craft now ensures that installed schema versions match the schema versions in
project.yaml
before syncing project config changes. - ๐ The
project-config/sync
console command now bails if there are pending Craft or plugin migrations.
๐ Fixed
- ๐ Fixed a bug where
site
translations were falling back to English if the translated message was identical to the source message. (#3692) - ๐ Fixed a bug where syncing Matrix field changes to the project config would result in new changes to the project config. (#3695)
- ๐ Fixed an error that occurred when indexing assets in an empty volume.
- ๐ Fixed a bug where soft-deleted assets would show up as missing after indexing.
- ๐ Fixed a JavaScript error that could occur on the Settings โ Plugins page.
- ๐ Fixed a bug where
Craft::parseEnv()
was throwing anInvalidConfigException
if the given string began with@
but was not an alias. (#3700)
๐ Security
- URLs are no longer allowed in usersโ first or last names.
-
v3.1.3 Changes
January 21, 2019โ Added
- โ Added the
|json_decode
Twig filter. (#3678)
๐ Fixed
- ๐ Fixed an error that occurred when updating to Craft 3.1 if a plugin or module was calling any soft-deletable recordsโ
find()
methods. - ๐ Fixed an error that occurred when updating from Craft 2 to Craft 3.1 if there were any RichText fields. (#3677)
- ๐ Fixed a bug where it was possible to create duplicate tags by searching for and selecting the same tag name twice in the same Tags field. (#3676)
- Fixed a bug where system messages were getting sent with the message keys (e.g. โforgot_password_subjectโ and โforgot_password_bodyโ) if Craft didnโt provide a default message translation for the site language, and the message hadnโt been translated for the userโs preferred language. (#3673)
- Fixed a bug where
craft\web\Request::getIsLivePreview()
was returningfalse
on Live Preview requests when called from anyii\base\Controller::EVENT_BEFORE_ACTION
event handler. (#3680)
- โ Added the
-
v3.1.2 Changes
January 18, 2019โ Added
- โ Added the
index-assets <volume>
andindex-assets/all
console commands. (#3595) - โ Added
craft\base\FieldTrait::$oldSettings
. - โ Added
craft\helpers\Install
. - โ Added
craft\services\Fields::prepFieldForSave()
. - โ Added
craft\services\Path::getProjectConfigFilePath()
. - โ Added
craft\services\ProjectConfig::$muteEvents
.
๐ Changed
- 0๏ธโฃ The installer now checks
project.yaml
when determining the default site name, handle, base URL, and language values. (#3661) - ๐ The Base URL field in the web-based installer now autouggests environment variable names and aliases.
- Craft now creates a
.gitignore
file in thestorage/config-backups/
folder, preventing any other files within it from getting tracked by Git. - ๐ Craft no longer prevents changes in
project.yaml
from being synced if a pluginsโ schema version inproject.yaml
doesnโt match up with its installed schema version, if one of them is blank.
๐ Deprecated
- ๐ Deprecated
craft\services\Fields::$ignoreProjectConfigChanges
. - ๐ Deprecated
craft\services\Matrix::$ignoreProjectConfigChanges
.
๐ Fixed
- ๐ Fixed a PHP notice that occurred when updating to Craft 3.1 if there were any plugins installed without settings.
- ๐ Fixed a SQL error that occurred when updating to Craft 3.1 if a plugin or module was calling any
craft\services\Fields
methods. (#3663) - ๐ Fixed a bug where element indexes would forget their source settings after updating to Craft 3.1. (#3659)
- ๐ Fixed a bug where commercial plugins werenโt installable from the Plugin Store.
- ๐ Fixed a bug where Matrix block type fieldsโ
beforeSave()
methods werenโt getting called. - ๐ Fixed a bug where Matrix fields could forget their content table name if they were created with a non-global context.
- ๐ Fixed a bug where links to the Plugin Store from Settings โ Plugins were 404ing. (#3664)
- ๐ Fixed a bug where soft-deleted sections and entry types were still showing up in the Control Panel. (#3648)
- ๐ Fixed a bug where an update to Craft 3.1 would fail with a database error in some scenarios.
- ๐ Fixed a bug where Plugin Storeโs Try buttons would appear as disabled when they should be enabled. (#3619)
- ๐ Fixed an error that occurred when updating to Craft 3.1 if there were any relational fields that were missing some expected settings. (#3641)
๐ Security
- ๐ Fixed two XSS vulnerabilities.
- โ Added the
-
v3.1.2.2 Changes
January 19, 2019๐ Fixed
- ๐ Fixed an error that occurred when updating to Craft 3.1 if a plugin or module was calling any
craft\services\Sections
methods.
- ๐ Fixed an error that occurred when updating to Craft 3.1 if a plugin or module was calling any
-
v3.1.2.1 Changes
January 19, 2019๐ Fixed
- ๐ Fixed an error that occurred when updating to Craft 3.1 if there were any Matrix sub-fields that had their type set to a non-existing class. (#3662)
- ๐ Fixed a bug where the project config could be in an unexpected state if a
project.yaml
file existed already when initially updating to Craft 3.1.
-
v3.1.1 Changes
January 16, 2019โ Added
- ๐ฒ Added support for the
CRAFT_LOG_PHP_ERRORS
PHP constant. (#3619) - โ Added
craft\web\User::generateToken()
.
๐ Changed
- ๐ System error message templates no longer parse exception messages as Markdown.
๐ Fixed
- ๐ Fixed a bug where
craft\services\Volumes::getVolumeByHandle()
wasnโt working. (#3633) - ๐ Fixed a bug where the
clear-caches/cp-resources
command could clear out the wrong directory if theresourceBasePath
config setting began with@webroot
. (#3637) - ๐ Fixed a bug where eager loading Matrix blocks would come up empty. (#3644)
- ๐ Fixed an error that occurred when updating to Craft 3.1 if there were any Matrix blocks without any sub-fields. (#3635)
- ๐ Fixed an error that occurred when updating to Craft 3.1 if there were any Matrix block types left over from a Matrix field that had been converted to something else.
- ๐ Fixed an error that occurred when updating to Craft 3.1 if there were any Assets fields that were missing some expected field settings. (#3641)
- ๐ Fixed an error that occurred when updating to Craft 3.1 if anything was calling
craft\services\Fields::getLayoutById()
orgetLayoutByType()
before the update was applied. - ๐ Fixed an error that could occur when logging deprecation errors on PostgreSQL. (#3638)
- ๐ Fixed a bug where users would get logged out while updating to Craft 3.1, causing a โUser is not permitted to perform this actionโ error.
- ๐ Fixed a bug where โJavaScript must be enabledโ and โCookies must be enabledโ messages werenโt getting positioned correctly. (#3639)
- ๐ Fixed a โVariable "message" does not exist.โ error that could occur in the Control Panel.
- ๐ Fixed a bug where free plugins werenโt installable from the Plugin Store. (#3642)
๐ Security
- The Request panel in the Debug Toolbar now redacts any sensitive information. (#3619)
- ๐ Fixed two XSS vulnerabilities.
- ๐ฒ Added support for the
-
v3.1.0 Changes
January 15, 2019โก๏ธ > {warning} This is a more complex update than usual, and failed update attempts are not uncommon. Please ensure you have a recent database backup, and we recommend you test the update on a local/staging environment before updating your production server.
โ Added
- โ Added the Project Config, a portable and centralized configuration for system settings. (#1429)
- Category groups, elements, entry types, field layouts, global sets, sections, sites, site groups, structures, tag groups, and volumes are now soft-deleted. (#867)
- โช Entries, categories, and users can now be restored within the Control Panel by selecting โTrashedโ from the status menu on element index pages, and clicking the โRestoreโ button.
- โ Added the System Messages utility for editing system messages, replacing the Settings โ Email โ System Messages page. (#3421)
- Some Site settings (Base URL), volume settings (Base URL and File System Path), and email settings (System Email Address, Sender Name, HTML Email Template, Username, Password, and Host Name) can now be set to environment variables using a
$VARIABLE_NAME
syntax. (#3219) - The installer now checks whether a
project.yaml
file exists and applies any changes in it. (#3291) - ๐ Control Panel settings that support environment variables now autosuggest environment variable names (and aliases when applicable) while typing.
- Control Panel settings that define a template path now autosuggest existing template files.
- โ Added cross-domain support for Live Preview. (#1521)
- ๐ Plugins can now have multiple editions.
- Custom fields can now opt out of being included in elementsโ search keywords. (#2600)
- โ Added the
allowAdminChanges
config setting. - โ Added the
softDeleteDuration
config setting. - โ Added the
storeUserIps
config setting. (#3311) - โ Added the
useProjectConfigFile
config setting. - โ Added the
gc
console command, which can be used to run garbage collection tasks. - โ Added the
project-config/sync
console command. (#3510) - โ Added the
trashed
element query param, which can be used to query for elements that have been soft-deleted. - โ Added the
expression()
Twig function, for creating newyii\db\Expression
objects in templates. (#3289) - โ Added the
parseEnv()
Twig function. - โ Added the
plugin()
Twig function. - โ Added the
_includes/forms/autosuggest.html
include template for the Control Panel. - โ Added
Craft::parseEnv()
. - โ Added
craft\base\ApplicationTrait::getIsLive()
. - Added
craft\base\Element::EVENT_AFTER_RESTORE
. - Added
craft\base\Element::EVENT_BEFORE_RESTORE
. - Added
craft\base\Element::EVENT_DEFINE_EAGER_LOADING_MAP
. - โ Added
craft\base\ElementInterface::afterRestore()
. - โ Added
craft\base\ElementInterface::beforeRestore()
. - Added
craft\base\Field::EVENT_AFTER_ELEMENT_RESTORE
. - Added
craft\base\Field::EVENT_BEFORE_ELEMENT_RESTORE
. - โ Added
craft\base\FieldInterface::afterElementRestore()
. - โ Added
craft\base\FieldInterface::beforeElementRestore()
. - Added
craft\base\Model::EVENT_DEFINE_RULES
. - โ Added
craft\base\Plugin::editions()
. - โ Added
craft\base\Plugin::is()
. - โ Added
craft\base\SavableComponentInterface::beforeApplyDelete()
. - โ Added
craft\behaviors\EnvAttributeParserBehavior
. - โ Added
craft\controllers\LivePreviewController
. - โ Added
craft\db\ActiveRecord::prepareForDb()
. - โ Added
craft\db\Command::restore()
. - โ Added
craft\db\Command::softDelete()
. - โ Added
craft\db\Migration::restore()
. - โ Added
craft\db\Migration::softDelete()
. - โ Added
craft\db\SoftDeleteTrait
, which can be used by Active Record classes that wish to support soft deletes. - โ Added
craft\db\Table
. - โ Added
craft\elements\actions\Restore
, which can be included in elementsโdefineActions()
methods to opt into element restoration. - โ Added
craft\events\ConfigEvent
. - โ Added
craft\events\DeleteElementEvent
, which provides a$hardDelete
property that can be set totrue
to force an element to be immediately hard-deleted. (#3403) - โ Added
craft\helpers\App::editionHandle()
. - โ Added
craft\helpers\App::editionIdByHandle()
. - โ Added
craft\helpers\App::mailSettings()
. - โ Added
craft\helpers\ArrayHelper::firstWhere()
. - โ Added
craft\helpers\Db::idByUid()
. - โ Added
craft\helpers\Db::idsByUids()
. - โ Added
craft\helpers\Db::uidById()
. - โ Added
craft\helpers\Db::uidsByIds()
. - โ Added
craft\helpers\ProjectConfig
. - โ Added
craft\helpers\StringHelper::toWords()
. - โ Added
craft\models\FieldLayout::createFromConfig()
. - โ Added
craft\models\FieldLayout::getConfig()
. - โ Added
craft\models\Section::setEntryTypes()
. - โ Added
craft\models\Site::getBaseUrl()
. - โ Added
craft\services\AssetTransforms::getTransformByUid()
. - Added
craft\services\AssetTransforms::EVENT_BEFORE_APPLY_TRANSFORM_DELETE
. - โ Added
craft\services\Categories::getGroupByUid()
. - Added
craft\services\Categories::EVENT_BEFORE_APPLY_GROUP_DELETE
. - โ Added
craft\services\Elements::restoreElement()
. - Added
craft\services\Elements::EVENT_AFTER_RESTORE_ELEMENT
. - Added
craft\services\Elements::EVENT_BEFORE_RESTORE_ELEMENT
. - โ Added
craft\services\Fields::applyFieldDelete()
. - โ Added
craft\services\Fields::applyFieldSave()
. - โ Added
craft\services\Fields::createFieldConfig()
. - โ Added
craft\services\Fields::deleteFieldInternal()
. - โ Added
craft\services\Fields::restoreLayoutById()
. - โ Added
craft\services\Fields::saveFieldInternal()
. - Added
craft\services\Fields::EVENT_BEFORE_APPLY_FIELD_DELETE
. - Added
craft\services\Fields::EVENT_BEFORE_APPLY_GROUP_DELETE
. - โ Added
craft\services\Gc
for handling garbage collection tasks. - โ Added
craft\services\Path::getConfigBackupPath()
. - โ Added
craft\services\ProjectConfig
. - โ Added
craft\services\Routes::deleteRouteByUid()
- โ Added
craft\services\Sections::getSectionByUid()
. - Added
craft\services\Sections::EVENT_BEFORE_APPLY_ENTRY_TYPE_DELETE
. - Added
craft\services\Sections::EVENT_BEFORE_APPLY_SECTION_DELETE
. - โ Added
craft\services\Sites::restoreSiteById()
. - Added
craft\services\Sites::EVENT_BEFORE_APPLY_GROUP_DELETE
. - Added
craft\services\Sites::EVENT_BEFORE_APPLY_SITE_DELETE
. - Added
craft\services\Tags::EVENT_BEFORE_APPLY_GROUP_DELETE
. - Added
craft\services\UserGroups::EVENT_BEFORE_APPLY_GROUP_DELETE
. - Added
craft\services\Volumes::EVENT_BEFORE_APPLY_VOLUME_DELETE
. - โ Added
craft\validators\TemplateValidator
. - โ Added
craft\web\Controller::requireCpRequest()
. - โ Added
craft\web\Controller::requireSiteRequest()
. - Added
craft\web\twig\variables\Cp::EVENT_REGISTER_CP_SETTINGS
. (#3314) - โ Added
craft\web\twig\variables\Cp::getEnvSuggestions()
. - โ Added
craft\web\twig\variables\Cp::getTemplateSuggestions()
. - โ Added the ActiveRecord Soft Delete Extension for Yii2.
- โ Added the Symfony Yaml Component.
- The bundled Vue asset bundle now includes Vue-autosuggest.
๐ Changed
- 0๏ธโฃ The
defaultWeekStartDay
config setting is now set to1
(Monday) by default, to conform with the ISO 8601 standard. - ๐ Renamed the
isSystemOn
config setting toisSystemLive
. - ๐ The
app/migrate
web action now applies pendingproject.yaml
changes, if theuseProjectConfigFile
config setting is enabled. - The
svg()
function now strips<title>
,<desc>
, and comments from the SVG document as part of its sanitization process. - ๐ The
svg()
function now supports aclass
argument, which will add a class name to the root<svg>
node. (#3174) - ๐ The
{% redirect %}
tag now supportswith notice
andwith error
params for setting flash messages. (#3625) - โ
info
buttons can now also have awarning
class. - โ User permission definitions can now include
info
and/orwarning
keys. - The old โAdministrate usersโ permission has been renamed to โModerate usersโ.
- The old โChange usersโ emailsโ permission has been renamed to โAdministrate usersโ, and now comes with the ability to activate user accounts and reset their passwords. (#942)
- All users now have the ability to delete their own user accounts. (#3013)
- System user permissions now reference things by their UIDs rather than IDs (e.g.
editEntries:<UID>
rather thaneditEntries:<ID>
). - Animated GIF thumbnails are no longer animated. (#3110)
- Craft Tokens can now be sent either as a query string param (named after the
tokenParam
config setting) or anX-Craft-Token
header. - ๐ Element types that support Live Preview must now hash the
previewAction
value forCraft.LivePreview
. - Live Preview now loads each new preview into its own
<iframe>
element. (#3366) - ๐ฑ Assetsโ default titles now only capitalize the first word extracted from the filename, rather than all the words. (#2339)
- โ All console commands besides
setup/*
andinstall/craft
now output a warning if Craft isnโt installed yet. (#3620) - All classes that extend
craft\base\Model
now haveEVENT_INIT
andEVENT_DEFINE_BEHAVIORS
events; not just classes that extendcraft\base\Component
. craft\db\mysql\Schema::findIndexes()
andcraft\db\pgsql\Schema::findIndexes()
now return arrays withcolumns
andunique
keys.- 0๏ธโฃ
craft\helpers\ArrayHelper::filterByValue()
now defaults its$value
argument totrue
. craft\helpers\MigrationHelper::doesIndexExist()
no longer has a$foreignKey
argument, and now has an optional$db
argument.craft\mail\Mailer::send()
now swallows any exceptions that are thrown when attempting to render the email HTML body, and sends the email as plain text only. (#3443)craft\mail\Mailer::send()
now fires anafterSend
event withyii\mail\MailEvent::$isSuccessful
set tofalse
if any exceptions were thrown when sending the email, and returnsfalse
. (#3443)craft\services\Routes::saveRoute()
now expects site and route UIDs instead of IDs.- โก๏ธ
craft\services\Routes::updateRouteOrder()
now expects route UIDs instead of IDs. - The
craft\helpers\Assets::EVENT_SET_FILENAME
event is now fired after sanitizing the filename.
โ Removed
- โ Removed
craft\elements\User::authData()
. - โ Removed
craft\fields\Matrix::getOldContentTable()
. - โ Removed
craft\services\Routes::deleteRouteById()
๐ Deprecated
- ๐ Deprecated
craft\base\ApplicationTrait::getIsSystemOn()
.getIsLive()
should be used instead. - ๐ Deprecated
craft\helpers\MigrationHelper::dropAllIndexesOnTable()
. - ๐ Deprecated
craft\helpers\MigrationHelper::dropAllUniqueIndexesOnTable()
. - ๐ Deprecated
craft\helpers\MigrationHelper::dropIndex()
. - โช Deprecated
craft\helpers\MigrationHelper::restoreForeignKey()
. - โช Deprecated
craft\helpers\MigrationHelper::restoreIndex()
. - ๐ Deprecated
craft\models\Info::getEdition()
.Craft::$app->getEdition()
should be used instead. - ๐ Deprecated
craft\models\Info::getName()
.Craft::$app->projectConfig->get('system.name')
should be used instead. - ๐ Deprecated
craft\models\Info::getOn()
.Craft::$app->getIsLive()
should be used instead. - ๐ Deprecated
craft\models\Info::getTimezone()
.Craft::$app->getTimeZone()
should be used instead. - ๐ Deprecated
craft\services\Routes::getDbRoutes()
.craft\services\Routes::getProjectConfigRoutes()
should be used instead. - ๐ Deprecated
craft\services\SystemSettings
.craft\services\ProjectConfig
should be used instead. - ๐ Deprecated
craft\validators\UrlValidator::$allowAlias
.craft\behaviors\EnvAttributeParserBehavior
should be used instead.
๐ Fixed
- ๐ Fixed a bug where the Dashboard could rapidly switch between two column sizes at certain browser sizes. (#2438)
- ๐ Fixed a bug where ordered and unordered lists in field instructions didnโt have numbers or bullets.
- ๐ Fixed a bug where switching an entryโs type could initially show the wrong field layout tab. (#3600)
- ๐ Fixed an error that occurred when updating to Craft 3 if there were any Rich Text fields without any stored settings.
- ๐ Fixed a bug where Craft wasnโt saving Dashboard widget sizes properly on PostgreSQL. (#3609)
- ๐ Fixed a PHP error that could occur if the primary site didnโt have a base URL. (#3624)
- ๐ Fixed a bug where
craft\helpers\MigrationHelper::dropIndexIfExists()
wasnโt working if the index had an unexpected name. - ๐ Fixed an error that could occur if a plugin attempted to register the same Twig extension twice in the same request.
๐ Security
- The web and CLI installers no longer suggest
@web
for the site URL, and now attempt to save the entered site URL as aDEFAULT_SITE_URL
environment variable in.env
. (#3559) - Craft now destroys all other sessions associated with a user account when a user changes their password.
- Itโs no longer possible to spoof Live Preview requests.
-
v3.0.41 Changes
February 22, 2019๐ Changed
- ๐ System error message templates no longer parse exception messages as Markdown.
๐ Security
- โช Database backup/restore exception messages now redact the database password when using PostgreSQL.
- URLs are no longer allowed in usersโ first or last names.
- The Request panel in the Debug Toolbar now redacts any sensitive information. (#3619)
- ๐ Fixed XSS vulnerabilities.
-
v3.0.41.1 Changes
March 12, 2019๐ Changed
- Craft now requires Twig 2.6.