php artisan winter:install
.unique
validation rule can now be used without any additional information, previously it required the table name to be specified in the form of unique:table_name
. This also means that unique
validation rules will respect the current model's $table
property.Backend::makeCarbon($dateTime)
helper for setting the backend timezone on date values.php artisan winter:util purge orphans
command that removes any system_files
records that do not have matching files stored on the filesystem.registerValidationRules
in the Plugin.php
plugin registration file to register custom validation rules.min
, max
, and step
values on the number
and numberrange
List Filter scope types.Http
utility.$ok
indicator to the Http
utility to indicate if the last response was successful (ie. an HTTP 2xx response code was returned){% framework %}
Twig tag based on the current version stored in the database. Use artisan winter:version
to set the correct version for your project.Lang::registerNamespaceAlias('real.namespace', 'aliased.namespace')
.Config::registerNamespaceAlias($original, $alias);
to allow aliasing a config namespaces to another config namespace, i.e. Config::registerNamespaceAlias('winter.debugbar', 'debugbar');
would return the config items from winter.debugbar
when accessing the debugbar
config. This is useful for forked packages or when integrating Laravel packages into Winter.Config::registerPackageFallback($original, $fallback)
to allow the config items to be loaded from the global $fallback
config when present if the $original
global config isn't present. Useful when forking plugins to ensure existing installations with customized configs at the global level continue to work.Winter\Storm\Support\ClassLoader->addAliases(['Real\Class' => 'Alias\For\Class'])
method.Winter\Storm\Support\ClassLoader->addNamespaceAliases(['Real\Namespace' => 'Aliased\Namespace'])
method.Winter\Storm\Support\ClassLoader->getAlias($aliasedClass)
methodreplaces
key in the pluginDetails()
method. See wintercms/winter#41 & wintercms/docs#11 for more details. Methods added to PluginBase
: getReplaces($includeConstraints = false)
, canReplacePlugin($plugin, $version)
, getPluginIdentifier()
, getPluginPath()
, and getPluginVersion()
.app.loadDiscoveredPackages
set to false, as the manifest was reset to null
as opposed to an empty array.id
. This used to be controlled by the undocumented keyFrom
option on the recordfinder, but is now handled behind the scenes automatically.File
relationships on PostgreSQL would fail with the message "Varchar <> Integer comparison is not allowed"" introduced in 1.1.2 since it was causing issues when strict typing was enabled.PluginManager->getRegistrationMethodValues()
would attempt to call protected methods on PHP 7.4.//
but not allowing ://
to account for poorly constructed paths that are still technically valid.winter:version
, different version branches (1.0, 1.1, etc) can now be correctly identified.database.connections.sqlite.database
to base_path('storage/database.sqlite')
to better support applications using a mirrored public directory.Event
facade was available would always be reported as "Class Event does not exist" instead of the actual problem..gif
images would result in imagecolorsforindex(): Argument #2 ($color) is out of range
..gif
images with no transparent colour set would result in the white colour being replaced with the default transparent colour.null
as the image source to the | resize
filter resulted in an exception being thrown instead of more gracefully silently ignoring the input and returning an emptry string.init.php
wouldn't be loaded by the plugin boot process when running unit tests.winter:down
commandroutes.php
file would not have names registered via Route::name()
actually registered with the internal route name mapping meaning that route($name)
would not be able to resolve to those routes.xml
from the list of default allowed extensions to upload, can be added back through the configuration if required.rename
and move
action language keys to the backend module instead of the CMS module.perPageOptions
configuration propertyWinter\Storm\Events\Dispatcher
class to extend and override the base Laravel Event Dispatcher rather than just duplicating and implementing the contract for greater compatibility with Laravel.fzaninotto/faker
package to the maintained fakerphp/faker
package.Sign up to our newsletter and receive updates on Winter releases, new features in the works, plugin and theme promotions and much more!