3.0.1 (2012-07-31)

Overview

3.0.1 fixes issues that weren't severe enough to prevent the release of 3.0.0, or which
have come up in testing since the 3.0.0 release, with special focus on CMS state updating
and data consistency.

DataList and ArrayList mutability

In 3.0 there was some confusion as to whether a method would mutate an instance of a
DataList or ArrayList. For instance subtract was non-mutating, so you would call
$list = $list->subtract(...), but filter was mutating, so you would call $list->filter(...).

In 3.0.1 we have explicitly stated that all methods that do not alter the underlying data
store should be non-mutating. That is, you should call $list = $list->filter(....).

For backwards compatibility, in the 3.0.x line methods that were mutating will remain so
until 3.1. However all mutating methods also now return clones of themselves, and so
can all be used as if they were non-mutating - new code should always use the new
immutable style to ensure compatibility with 3.1.

CMS stability

By far the biggest number of bug fixes in the 3.0.1 line were related to improving the CMS,
fixing features that were missed in 3.0 and ensuring the CMS always updated to reflect the
state of the system after an action. The SiteTree now updates to indicate changes to a
page, the page List view is now functioning, the assets area now shows thumbnails of
images, etc.

Upgrading

There should be no changes required to upgrade from 3.0.0 or any of the 3.0.1 release candidates

2012-07-16 b15faba open ticket 5880 always show the current page type in the page type dropdown list (Kirk Mayo)

2012-07-15 b9ed6f7 When Chosen dropdowns are instantiated on hidden tabs, the width is rendered very small and they are unreadable. This is a known bug in Chosen. A change has been proposed at the Chosen page here: https://github.com/harvesthq/chosen/issues/92 but no pull request has been executed. (unclecheese)