NOTE: This build contains a number of changes made as a part of the upgrade from Laravel 5.5 LTS to 6.x LTS, it is highly recommended that you review the upgrade guide to ensure you aren't affected.
php artisan winter:util purge uploads
console command that purges invalid files (Files that don't have a matching entry in system_files
) and empty directories from the uploads
directory. This only works on uploads stored on the local disk for now.| resize(width, height, options)
, | imageWidth
, | imageHeight
) and a new backend List column type (image
). See https://github.com/wintercms/winter/pull/5231 for more information.develop.allowDeepSymlinks
which allows for symlinks at any subdirectory level when generating a public URL from a local path.System\Controllers\Settings
controller now provides a formGetWidget
method to retrieve the form widget used for Settings forms.Backend\Models\User
and Winter\Storm\Auth\Models\User
have been loosened by no longer having a max length since passwords are stored in the database as hashed values and the length of the input has no effect on the length of the output.winter:env
will now use QUEUE_CONNECTION
instead of QUEUE_DRIVER
to refer to the queue connection when generating a .env file from the config files.hasOneThrough
relationships.eloquent.retrieved
Model event that Laravel added in 5.5.2.app:name
Artisan command was removed as Laravel removed it in L6 and Winter never really had a need for it.Model::flushDuplicateCache()
to flush a given model's duplicate query cache during a request lifecycle.http_build_url()
core PHP function.php artisan create:theme $code
scaffolding command.Arr::undot()
and array_undot
helper methods / functions (transforms a flat, dot-notated array into a normal nested array)config_path()
helper function.resolve_path()
helper function that closely emulates the PHP realpath()
function, but supports resolving paths for missing files and subdirectories. This is provided by the Winter\Rain\Filesystem\PathResolver
helper class, which can resolve canonical paths and determine if given paths are within given directories.Winter\Storm\Database\Attach\File
model now uses "fillable" attributes as opposed to "guarded" attributes to control mass assignment. If you extend the File
(or the main System\Models\File
) model to provide additional fields, you must now copy the "fillable" attributes to your extension and add any additional fields to this definition.Winter\Storm\Database\Attach\File
model will now log exceptions when getThumb()
fails in addition to generating the broken image file as the thumbnail as per existing behaviour.Winter\Storm\Html\HtmlBuilder::limit()
method now considers whitespaces and line breaks to be one character, regardless of the line break type or number of spaces. This ensures a consistent result across both Windows and Linux.File::isLocalDisk($filesystemAdapterDisk)
method to check if the provided disk is using the Local Flysystem adapter. Winter\Rain\Database\Attach\File
has switched it's internal method isLocalStorage()
to using it, so if you are overriding that method you may be able to remove your overridden method implementation so long as your getDisk()
method is returning the correct disk for your custom FileModel.data-browser-validate
from the default controller scaffolding files as HTML5 form validation does not play nice with anything beyond the most basic forms. Also removed from the System Settings backend forms.getAllPlugins()
method to the System\Classes\PluginManager
class to retrieve all plugins detected on the system instead of just the enabled ones.Illuminate\Foundation\Application
to Winter\Storm\Foundation\Application
in the application container to better support Laravel packages that typehint the Application class directly rather than the contract.message()
method is now used to return a fallback message (optionally translated), and there is no need to specify a validate()
method anymore.winter:util set build
command has been replaced with the winter:version
command, which now does a more accurate build version check by comparing the Winter CMS installation files with a manifest kept on GitHub, and no longer queries the Winter CMS servers simply for the latest stable or edge build.QueryBuilder->remember()
method did not properly support being passed DateTime instances for cache expiry.use Session as WinterSession
) were no longer being included in the parsed PHP because of a bug fix in Build 1.0.468.BelongsTo
relationships were unable to be updated using the RelationController behavior.thumbnailWidth
(even when providing a thumbnailHeight
) for the FileUpload
FormWidget
would cause it to default to 100x100.HasOne
or BelongsTo
relationship with the RelationController would not fully clear it from the view widget being displayed.HasOne
or BelongsTo
relationship with the RelationController would not fully remove any existing relationship./
.ftp
and sftp
storage drivers are now included with the core.postmark
mail driver is now included with the core.leefo/scssphp
dependency has been replaced with scssphp/scssphp
lessc.inc.php
included dependency has been replaced with wikimedia/less.php
Sign up to our newsletter and receive updates on Winter releases, new features in the works, plugin and theme promotions and much more!