Function unset() preserves numeric keys and method removeRequiredField() will give a PHP notice about nonexistent array key and loop won't iterate throughout all elements in array on second method call (and all subsequent).
So it's better to use foreach loop and array_splice() function (it doesn't preserve numeric keys).
+ has a special meaning in the URLs so overall it's a good idea to
strip them out. Otherwise they would need to appear in their ugly url
encoded form "%2B".
Refer: http://open.silverstripe.org/ticket/7929
Also removing the 'changed' class from the form once
no further fields are marked as changed. That's important
now that we're surfacing the state much more visibly
through the alternative "save" button styles in the CMS.
Title in CMS is set using header X-Title. But UTF-8 characters can't be used in HTTP headers. So the title should be encoded just before sending X-Title header and decoded before setting HTML document title (fixes#7942).
Specifically, the change removed the "add page" panel padding,
because it moved padding from .cms-panel-padded into
commonly contained elements, like .ui-tabs-panel.
Apart from breaking layouts, it makes the class meaningless,
since its only padded depending on which elements it contains.
In order to rectify some introduced inconsistencies,
much too complex were required, e.g.
.ui-tabs .cms-edit-form, .ui-tabs .cms-content-fields {...}.
Was originally added for CMS grouped actions,
but can't see any effect. Probably related to the unreleased
changes around the new "batch actions" and "add page" panel styling.
It breaks button height in the top toolbar, by shifting from jQuery
UI's (well tested) mode of applying padding to the container,
to applying padding to the contained text instead. This
conflicts with the line-height set on many buttons.
BUG Issue with deleted records not being queried properly.
API DataQuery::expressionForField no longer requires a second parameter. Rather the query object is inferred from the DataQuery itself. This should improve consistency of use of this function.
The new 'liszt:ready' handler is called late enough to trigger the
update, whereas the redraw is called to early for IE8 to pick up the
class change. The class property is changed correcly though, it looks
like an IE8 rendering issue.
http://open.silverstripe.org/ticket/8095
Move onresize handler from entwine to regular event for IE8. The
fromWindow::onresize does not trigger otherwise.
Refer to http://open.silverstripe.org/ticket/8095
Although PGSQL build will still be executed, a failure of that build won't registre as a Travis failure. This is a workaround until the PGSQL build has been fixed.
Introduced new FormField->castedCopy() method
which tries to replicate the existing form field instance
as closely as possible.
Primarily, the fix was targeted at consistently passing
through FormField->description to all of its variations.