View on GitHub CMS Changes Framework Changes
- All default backend controller behaviors (i.e.
RelationController, etc) no longer require a configuration property (i.e.
$relationConfig, etc) defined on the implementing controller if the default config file is being used (i.e.
winter:downcommand now requires a user to explicitly confirm the action by typing
DELETEin their CLI.
plugin:removecommand now requires a user to explicitly confirm the action by typing the plugin code in their CLI.
- Added Created At & Updated At columns to the Backend User & User Roles lists, marked invisible by default.
- Updated the syntax highlighting language used by the backend custom CSS brand setting to acurately reflect the actual language in use (LESS, not CSS).
- The Markdown editor will now add a
https://template when adding a link or image, to encourage use of secure links.
- Removed the timeout when running
- Fixed styling issue with color pickers on the Mail Brand Settings page in the backend.
- Files in the CMS Theme Editor AssetList component will now be sorted alphabetically.
- Added ability to manage the list of users associated with a given role from that role's update page.
- Added "slug" input preset to the Administrator Role's code field.
- Permissions registered without the
rolesproperty defined will now only be inherited by the
developersystem role, not all system roles.
- Added Snowboard.js, a new JS framework intended to replace the existing AJAX Framework that is more modular and no longer depends on jQuery.
- Added support for Laravel Mix via the following commands:
- Added autodetection of Laravel Mix package configuration files when
winter.mix.jsis present in a plugin, theme, or module.
System\Classes\MixAssetsfor managing Laravel Mix packages provided by plugins, themes, & modules. See
registerMixAssets()now available as a registration method for
MixAssets::registerCallback()for Modules, and the
- Classes implementing the
System\Traits\PropertyContainertrait to provide dynamic property options for Inspector fields no longer need to have zero (or one optional) parameters in their constructor in order to work correctly. Note that if your constructor requires a value in any property and does not define a default, this will still fail, so ideally you should still use a class specifically set up for handling Inspector properties.
| md_lineTwig filter to make use of the
Markdown::parseLine()method in Twig templates.
plugin:removecommand now provides a
--no-rollbackoption which disables the rolling back of database migrations for a plugin when it is being removed, allowing the plugin data to be retained.
- Added support for the
ASSET_URLconfiguration options for use with the
| assetTwig Filter
imageHeight()available as Twig Functions
- Integers can now be used as values for options provided to the Inspector
- Fixed issue with list of available encodings for importing where ISO 8859-9 was incorrectly referenced as ISO 8859-0.
- Fixed issue that could occur when running console commands on a project that had replaced plugins and their replacing plugins present at the same time.
- Fixed incorrect exception message when attempting to impersonate a user without authorization.
- Fixed color picker widget not allowing empty values.
- Fixed color picker widget showing misleading mouse cursors in read-only mode.
- Fixed color picker widget not triggering dependent fields on change.
- Fixed issue where attempting to render a theme without a database present would fail because the AssetMaker trait was attempting to get the system build information from the database even though the DB wasn't present.
- Fixed PHP 8 compatibility issue where a component with no controller throws an error when checking the existence of a method on the non-existent controller.
- Fixed bug introduced in v1.1.5 where an infinite loop would occur when attempting to impersonate a backend user while logged in as a user without the
- Modules will now be seeded before plugin migrations are run to support plugin migrations that interact with module seeded data.
- Fixed issue where setting the
datepickerFormWidgets would leave the field greyed out but still editable.
- Improved the Twig SecurityPolicy to block more potentially dangerous entry points from being abused by accounts with access to Twig but not PHP.
- Themes can no longer be imported while
- Added a warning message to the system status dashboard widget when the default admin user is detected on the system.
- Limited inheritance of "orphaned" (permissions without default roles assigned) to just the "Developer" role instead of all system roles.
- Fixed issue where users without the
backend.access_dashboardcould still access the dashboard if they did not have access to any other main menu items in the backend.
- Removed the
is_safe="html"flag from the System Twig filters (
| imageWidth, &
| imageHeight) as none of them should ever return values that should be injected into templates without escaping the results.
- Improved Latvian translation.
- Improved Ukrainian translation.
- Improved French translation.
- Improved Italian translation.
- Improved Slovak translation.
- Improved Russian translation.
- Improved Persian translation.
- Improved Japanese translation.
Winter.Notes, a new first party plugin for adding notes to any record type in Winter was released. It provides a custom
notesFormWidget that presents a note management experience similar to the Mac OS Notes App.
- All code examples in the official documentation now has proper language highlighting depending on the language of each example.
- The console commands documentation has been signficantly refactored with an introductory page with a list of all commands now available. Commands are now grouped by their logical function.
- Added a default
.vscode/settings.jsonto the project to help VS Code correctly identify the language (PHP, Twig, or WinterCMS Template) used for
.htmfiles based on where in the project they are located.
- Added a default
.vscode/extensions.jsonto the project to provide recommendations on extensions for VS Code that work well with Winter
- Laravel 6.x LTS does not support PHP 8.1 so Winter has limited the supported PHP versions to PHP 7.2.9 -> PHP 8.0.*. PHP 8.1 support will come with Winter 1.2 using Laravel 9.x LTS in February/March 2022.