grab cursor when hovering over table headers to indicate that they are a scrollable containercssClass: 'inline-options' to their propertiesrequired property for fields that have required_if model validation rulesCookie::set() (i.e. objects & arrays) then you will need to change your code so that those values are JSON encoded / decoded before and after being stored in the cookie.System\Traits\ResponseMaker trait to the base Backend\Classes\Controller class (and the Cms\Classes\Controller controller). Adds the following methods: setStatusCode($code), getStatusCode(), setResponse($response), setResponseHeader($key, $values, $replace = true), setResponseCookie($cookie), getResponseHeaders(), and makeResponse($contents).media.file.upload event now passes the $path argument by reference.brand.customLessPathevent.which and other methods of determining the selected keys to the new event.keyremovePermission($owner, $code) to the BackendAuth manager class to enable plugins to dynamically remove permissions from the available list registered with the BackendAuth manager class.Winter\Rain\Network\Http->setOption($option, $value) as long as it corresponds to a valid CURLOPT_ constantgetConfig($value, $default = null) method to the Backend\Classes\ListColumn class to mirror what's available on the Backend\Classes\FormField classorder option to the relation FormWidget to allow relation options to be ordered by a custom order statement.email field type (type: email)services.mailgun.endpoint config item in config/services.phpsystem.assets.beforeAddAsset) that is listened to by the HeathDutton.CloudFlare plugin. Recommend any CloudFlare users using Rocket Loader to use that plugin going forwardpermissions property on form fields, list columns, and list filter scopes. Property supports either a single string or an array of permissions that the current backend user must have access to at least one of in order to access the field / column / filter scope.mode: switch to the Backend\FormWidgets\PermissionEditor FormWidget that defines permissions as either expliclity allowed (1) or denied (-1).availablePermissions property to the Backend\FormWidgets\PermissionEditor FormWidget that accepts an array of permission codes to filter the list of permission codes to be managed by that widget instance down to.clear-full, clear-left, and clear-right CSS classes that can be used to apply clearfixes to form fields by adding them to the field's cssClass propertyCURLOPT_POSTFIELDS cURL option to be manually overriden when using the Winter\Rain\Network\Http wrapper.dependsOn to filter scopes of type: group. All current filter scopes (including their current values) will be passed to the options method as an array of scope objects to be used in redetermining the available options to provide when the scopes that are targeted with dependsOn are updated.getSortColumn() and getSortDirection() public methods to the Lists widget.' and &.parseClean() method to Winter\Rain\Parse\Markdown that enables safe mode on the markdown parser used.\Winter\Rain\Database\Attach\Resizer class, specifically for .gif images by processing .gif images with imagescale() instead of imagecopyresampled()SettingsManager could fail if a user wasn't provided to filterItemPermissions() at that point in the requestYAML::parseFile() caching which simplifies the Theme processing code and fixes some bugs related to cache invalidationphp artisan clear-compiledPreferenceMaker trait in Build 1.0.457$this->param() but returned as '0' from {{ this.param.slug }}databaseTemplates feature from Build 1.0.456 wouldn't support templates in subfolders. Nesting limit is still 2 (/template-type/subfolder1/template.htm) but the issue where it was just 1 when databaseTemplates was enabled has been fixed.change event was not triggered on removing a recordfinder's value with the clear buttonis_string instead of checking if value wasn't every other type of variable available.model.beforeSave event would be fired twice under some conditions when using a HasOneOrMany relationship.argv is not available in the server variables.0 for either the minimum or maximum value.datepicker FormWidget wouldn't trigger the JS change event on the field.App::error() would fail with FormatException not found.recordfinder field's value where having fields that dependsOn that recordfinder field would receive the old value in the AJAX refresh.Mail::queue would ignore the subject set in the mail template and instead use Mailable as their subject if a custom subject wasn't set in the callback.ocJSON() to framework.js for parsing loose JSON safelybackend::lang.repeater.add_new_item)JSON.parse() instead of $.parseJSON() in core JSYAML::parseFile() when debug mode is disabled. The cache key is prefixed with yaml:: and is generated from the path provided along with the last modified time of that file to ensure that it's always properly invalidated. Cache is stored for a maximum of 30 days.tests/jsbackend.page.beforeDisplay, backend.menu.extendItems, backend.user.login, backend.beforeRoute, backend.route, cms.beforeRoute, cms.route, cms.block.render, cms.combiner.beforePrepare, system.settings.extendItems, and system.extendConfigFileSign up to our newsletter and receive updates on Winter releases, new features in the works, plugin and theme promotions and much more!