Winter v1.2.9

Released on October 15, 2025

UX/UI Improvements

  • Added support for setting failover transports to the backend Mail Settings page.

DX Improvements

  • config:clear command now warns users that caching configuration files is not currently supported in Winter CMS.
  • Improved create:command scaffolder to allow for hyphens in generated command names and added optional --description option to set the help text for the generated command.
  • Enhanced winter:util compile to download FontAwesome assets required to compile backend LESS files if not present.
  • Added the Form's id attribute to the forms generated by the default FormController views.
  • Registered the Illuminate\Contracts\Auth\Access\Gate contract with the application as a null gate to prevent plugins and IDE extensions that expect the contract to be present from throwing unhelpful errors.
  • Exceptions passed to the Backend\Traits\ErrorMaker trait are now logged in the backend error log (excluding ApplicationExceptions).

API Changes

  • Added iconClass option for the fileupload FormWidget to specify the icon that should be used for the upload button.
  • Added search widget configuration options to the RelationController's view & manage mode configuration (prompt, mode, scope, searchOnEnter).

Bug Fixes

  • Improved compatiblity of Winter's ConfigRepository with Laravel by aliasing top level config keys (currently prefixed with *:: to reflect the namespaced config system used in Winter) to their naked versions (i.e. debugbar is still internally stored as *::debugbar but will also be accessible from the getItems() and all() methods on the ConfigRepository as debugbar). This paves the way for support for Laravel Nightwatch which relies on directly accessing the underlying config data structure for performance reasons.
  • Improved handling of package names as input to the vite:compile and vite:watch commands.
  • Fixed issue where winter:util purge uploads could sometimes delete files that were actually in use.
  • Improved vite base path generation to fix importing fonts.
  • Improved error handling when using the default FormController views.
  • Improved handling of form data in Snowboard.request() to skip null or undefined values.
  • Removed the registration of the non-existant Backend\FormWidgets\TimePicker FormWidget.
  • Updated bootstrap/autoload.php to return a 500 header when the vendor files are not present.
  • Fixed issue with the DataTable widget not being able to actually save data.
  • Fixed Preview labeling on the fancy toolbar for the default FormController view.

Security Improvements

  • Ignored vendor & node_modules in the default .gitignore to ensure that those directories are ignored at every level of the project, not just at the project root.

Community Improvements

Dependencies

  • Improved support for PHP 8.4.

New Contributors

Full Changelog: https://github.com/wintercms/winter/compare/v1.2.8...v1.2.9

Keep informed

Sign up to our newsletter and receive updates on Winter releases, new features in the works, plugin and theme promotions and much more!