theme:list
, plugin:list
, and mix:list
now display nicely formatted tables.mode: grid
, columns
, and rowHeight
options.Snowboard.url().asset()
that will use the configured app.asset_url
value to generate URLs to asset files.options: author.plugin::lang.departments
).codeeditor
FormWidget via the scrollPastEnd
option that allows the editor to scroll past the end of the document by the specified number of lines.RelationManager
FormWidget to simplify rendering the RelationController
.create:migration
with columns defined from the field configuration for the provided model.showSetup
in list views of the RelationController.create:test
command.bootstrap/cache
folder to the wintercms/winter
repo as it is expected to exist by Laravel core commands related to caching.migrations
table is not yet present on it, the application will also be considered in a protected state and only elevated plugins will be loaded. This is to prevent issues with commands that may attempt to access the database before migrations have been run.filterFields()
and model.filterFields()
will now be called immediately before the Form
widget returns the save data in getSaveData()
.RelationController
to enable more easily extending the default footer used in RelationController
modals.App::normalizeCachePath()
.event:cache
, event:clear
, and event:list
commands.App::hasDatabaseTable()
helper to check if the configured database connection has a specific table.Model::hasDatabaseTable()
and Model->isDatabaseReady()
helpers to check if the model's table is present in the model's database connection.Model->hasAttribute($attribute)
helper to check if the provided attribute would be processed by the model's getAttributeValue()
method (i.e. it exists in attributes
, is castable, or has a mutator / accessor).json()
helper to the Http
network utility class to send requests with a JSON body.limit
property on list column relation value queries.develop.debugSnowboard
will no longer fallback to the value of app.debug
, instead it will default to false
.CmsObject::listInTheme()
will no longer include null entries in the returned list.View::share()
will now also be shared with CMS Twig templates as global variables.backend.list.extendColumnsBefore
event to match backend.forms.extendFieldsBefore
.model.getValidationAttributes
event.afterSave()
, etc) will now be bound to and fired by the event dispatcher instead of firing directly. This allows for more flexibility in the order of event listeners and allows for the event to be cancelled before reaching the original model listener method.Encryptable
database behavior that functions the same as the existing trait but can be dynamically applied to models.deletedAtColumn
to relation pivot configurations.Winter\Storm\Support\Svg::sanitize()
a public method.Throwable
exceptions to the SystemException
base class.SettingsModel
after the database exists but before any migrations have been run.extras
weren't being loaded from the configured app.asset_url
when using custom CDNs.<head>
element instead of the <body>
element.beforeUpdate()
event is cancelled, which provides a way to cancel the updating of partials while still allowing the rest of the request lifecycle to proceed.stripe: false
in the options for a Snowboard.js request when the snowboard extras are present to disable the stripe loading indicator for that request.open_basedir
restriction was in place.form
configuration wasn't allowing stdClass
or string
values.BackedEnum
values in lists and forms.getComponentProperties()
was called.showTree
config value would be cleared when the search term was cleared instead of being preserved.Extendable
trait.Svg::sanitize()
method before being renamed to .svg
files to prevent potential stored XSS attacks.sessions
table..block
, see Winter.Blocks) to the Winter CMS VS Code extension.Sign up to our newsletter and receive updates on Winter releases, new features in the works, plugin and theme promotions and much more!