The Winter CMS maintainers are pleased to announce that Winter CMS v1.2.2 is now available. You may upgrade to this version automatically by running a Composer update in your Winter CMS install directory through
One of our biggest releases, we focused on some cool new features including child themes, the Icon Picker form widget, support for our new Blocks plugin that provides a block-based theme development experience and various improvements to the Media Manager.
parentproperty of a theme's configuration file (
theme.yamlfiles present in the DatabaseDatasource when using the Database Templates feature).
iconpickerFormWidget with support for custom icon libraries.
assetsdirectory within the component directory will now be mirrored by the
Winter\Storm\Console\Commandnow implement Laravel's CLI components for rendering messages.
datetimemode - the date input size has been slightly increased, and the time input size has been slightly decreased, to better fit their respective content.
slugvalidation rule that validates a string as a valid URL slug (alpha-numeric and a defined separator, defaults to
Str::isJson()method to check if a string is valid JSON as well as the
is_json()global helper function.
File::isAbsolutePath()method to the
Winter\Storm\Filesystem\Filesystemclass to check if a path is absolute.
modeproperty for the
mediafinderFormWidget. Supported modes include:
metadataJSON blob column to the
headblock in the backend views via
lastModifiedattributes to media items returned by the Media Manager's
$formWidgetas a variable made available to partial fields.
trueas the second parameter to the
::extend()static method in order to run extension code within the context of the class being extended giving the code access to protected and private properties and methods.
extend()method on an instance of an Extendable class to have that extension apply only to that instance of the object.
backend.ui.widgetHandlerSnowboard plugins, refactored the IconPicker, ColorPicker, & Sensitive FormWidgets widgets as Snowboard plugins.
develop.debugSnowboard, has been added to
config/develop.php, to allow overriding if Snowboard debugging and console logging is enabled, independent of the
RESTRICT_BASE_DIRenvironment variable to control the
contentfunction in Twig now can return a boolean, thus allowing usage as a conditional for fallback content if a content file does not exist.
Markdownparser now uses the CommonMark library by the PHP League, as this library is already a Laravel dependency.
$settingsCacheTtlproperty may be provided for models that implement the
SettingsModelbehavior. This property accepts an integer and allows you to set the length of time (in seconds) that settings in this model will be cached for, defaulting to 1440 seconds (24 minutes).
Winter\Storm\Halcyon\Processors\SectionParserinto three methods (
renderMarkup()) as well as added three methods for parsing the sections (
parseMarkup()). This makes it much easier to extend the
SectionParserto build customer parsers. Demonstrated in the Winter.Blocks plugin.
ClassLoaderto support PSR-4 autoloading for packages added via the
autoloadPackage($namespace, $path)method (modules & plugins). The old method of lowercase folders with proper case files is still supported as well.
Winter\Storm\Support\Traits\Singletontrait to bind to the application container instead of the global scope, which was causing issues with running multiple instances of Winter CMS in the same PHP process (i.e. unit tests, Laravel Vapor, Octane, etc).
remove()methods on the
Winter\Storm\Database\Concerns\BelongsToOrMorphsToManyrelation were passing the model key instead of the model instance to the
rootpaths, also simplified the logic for generating thumbnails.
FormBuilderwould generate elements with empty
onLoadMovePopup()MediaManager AJAX handler.
dependsusage in the Inspector widgets for
camelpreset tools enabled wouldn't respect the max length of the field.
Appfacade being used instead of the local reference to the
appinstance which should improve support for multiple instances of Winter CMS in the same PHP process.
name@context) could not be removed via
plugin:installcommand inside the
winter:installcommand, due to a change in the former command's parameters.
System\Models\File::getPublicPath()method if the storage being used was not a local file storage.
\TestCasealias has been set up to point to the correct base test class for unit tests, removing the need for adding a polyfill class in unit tests to support testing in both Winter v1.1 and v1.2. By extending this alias, unit tests should now work in both branches.
league/commonmarkfor the Markdown parser which was already included by Laravel and improves compliance with the CommonMark specification.
~2.1.0to allow for the
replaceconfiguration of dependencies to be merged together.
Full Changelog: https://github.com/wintercms/winter/compare/v1.2.1...v1.2.2
The Winter CMS maintainers are pleased to announce that Winter CMS v1.2.1 is now available. You may upgrade to this version automatically by running a Composer update in your Winter CMS install directory through
The main focus of this release was improving support for more complex hosting solutions such as Laravel Vapor or Amazon Web Services that use ephemeral microservices, proxying and cloud storage, meaning less configuration and customisation in order to run Winter CMS on SaaS platforms. In addition, we refined our API to follow Laravel 9 more closely and fixed several bu...Read more Winter: 16 Months Later With the first year of Winter behind us, let's take a look at what we were able to achieve in 2021. Read more v1.2 with Laravel 9 Support Now Available! v1.2 with Laravel 9 Support Now Available For Testing! Read more
Sign up to our newsletter and receive updates on Winter releases, new features in the works, plugin and theme promotions and much more!