Fix Versioned::augmentSQL() when the data query was null.
formHtmlContent() uses missing FormEncType() call

it needs to call $this->getEncType() instead..
FIX UploadField validation error and styles

UploadField now return the validator's error message instead of 403. Plus nicer layout for error messages.
Allow GridFields without titles to be found.
Update install.php5

Defaulting to MySQL here is really dumb. There is an explicit type as an argument so falling back to mysql could result in "I couldn't write to path ....db" despite the real error that the include of the sqlite3/code/SQLiteDatabaseConfigurationHelper.php failed for some reason.

Other uses of getDatabaseConfigurationHelper also need a similar error handler.
BUG Ensure TreeMultiSelectField doesn't populate menus with "unchanged".
TreeMultiSelectField's default for its value property is 'unchanged'
which causes menus to not load and generates console errors. Fixes #2795
BUG: #2503 Fixes performReadonlyTransformation for OptionSetField

NEW: Adding unit test for performReadonlyTransformation #nd fixing OptionSetField #2503

BUG: Fixing undefined variables and function parameters for PerformReadonlyTransformation unit tests

NEW: Adding unit test to OptionsetField for read only fields
API Removed auto-detection for i18n date/time formats

Default to "yyyy-MM-dd" for date format, and "H:mm" for time_format.
Switched to config API for setting/getting values.

Avoid using "MMM" in particular, since it causes
inconsistencies in month names between jQuery UI and Zend_Locale_Format.

Fixes https://github.com/silverstripe/silverstripe-cms/issues/544
Merge pull request #2841 from chillu/pulls/dateformat-simplified

API Default to "yyyy-MM-dd" for date format
Merge remote-tracking branch 'origin/3.1'
FIX: Ensure valid CSS classes for GridField header (fixes #2361)
FIX: Fixed regression in ContentController template selection.

https://github.com/silverstripe/silverstripe-cms/commit/47582b3e3c7cad2957087d50b368fddedeeccdfe improved
template selection, but has introduced a regression.  Specifically, it applies to contorllers that are
created by making a direct subclass of Page_Controller (a pattern used in a few modules to make a page
that looks like a CMS page but doesn't appear in the sitetree).  Previously Page.ss would be used as a
template, because when Page_Controller was interrogated in the template stack, the strtok(Page_Controller,_)
was called before looking up the template.

The code was refactored to use SSViewer::get_templates_by_class(), which doesn't do this.  This function
is used by LeftAndMain as well, so rather than re-add the strtok() call, which might cause unintended
side-effects, I've instead just have it ignore _controller in a classname.  Strictly speaking, this is
an API change, but as long as people have followed page type class naming conventions, it will still
work in the relevant cases.
Merge pull request #2881 from sminnee/fix-forum-templates

FIX: Fixed regression in ContentController template selection.
Removing broken reference to "getNextID()"

It doesn't exist.
Merge pull request #2888 from willmorgan/patch-2

Removing broken reference to "getNextID()"
Making Director::test() ignore URL Anchors
Anchors should never make it to the server when they are in the browser URL bar, however tests are slightly different and some `Link()` functions may return a URL anchor. Instead of every test checking a link and stripping the anchor, I feel the Director::test() function should strip them off.
FIX Log out current member when forgotten password

At the moment, if a user is logged in on a device (say, their phone) but has forgotten their password.

If they attempt to reset their password on their desktop, then open the email on their phone they then see the reset password form *with* the CurrentPassword field. I'm not entirely sure what happens if a DIFFERENT user is currently logged in, but I think they remain logged in and you're effectively trying to change their password.

Both scenarios are not ideal and (in fact) this happens a lot in the real world as it's a legitimate complaint we're receiving from a visitors of one of our client's websites.
updating comments for HTTPRequest - immutability

SS_HTTPRequest can be read like an array, e.g. echo $request['a'], but cannot be written like an array, e.g. $request['a'] = 5; Added comment to caution people.

See line 375:
==================================================================
	/**
	 * @ignore
	 */
	public function offsetSet($offset, $value) {}
	
	/**
	 * @ignore
	 */
	public function offsetUnset($offset) {}
==================================================================

Might be good to write something about how you are supposed to modify a request, or what you are supposed to do instead (a redirect?).
Merge branch '3.1'

Conflicts:
	forms/Form.php
	forms/FormField.php
	security/Member.php
	security/MemberLoginForm.php
Corrects merge errors.

Closes #2937