Version 3 end of life
This version of Silverstripe CMS will not recieve any additional bug fixes or documentation updates. Go to documentation for the most recent stable version.

3.1.0-rc1

Overview

TODO

API Changes

  • 2013-06-20 fb784af Enforce $allowed_actions in RequestHandler->checkAccessAction() (Ingo Schommer)
  • 2013-06-13 be986c6 Allow $summary_fields to support methods on DBFields (Damian Mooyman)
  • 2013-06-12 0c4b2f8 SiteTree->validURLSegment() prioritizes extension votes (Ingo Schommer)
  • 2013-06-07 9602307 Removed user_error when setting missing option on UploadField via setConfig. Added documentation to this function as a replacement for the check. (Damian Mooyman)
  • 2013-05-27 7f057ce UploadField functions on new records (Damian Mooyman)
  • 2013-05-22 30b53e6 Full-width HTMLEditorField by default (Ingo Schommer)
  • 2013-05-17 bccd2f8 Add a missing alternatePreviewLink hook for SiteTree extensions. (Mateusz Uzdowski)
  • 2013-05-11 1a36bb6 Add sync_blacklisted_patterns for configuring files to skip in sync tasks (Will Rossiter)
  • 2013-05-10 bfff11e New CMSForm class to allow validation responses in CMS (fixes #1777) (Ingo Schommer)
  • 2013-05-11 7181089 Add ArrayLib::flatten($array, $preserveKeys) (Will Rossiter)
  • 2013-05-10 1325d73 Add Director::is_https() (Will Rossiter)
  • 2013-05-10 61312a5 Added SiteTreeExtension::updateRelativeLink Updated SiteTreeExtension PHPDoc Refactored out Translatable extension in RelativeLink (Damian Mooyman)
  • 2013-05-08 513270c Allow array of fields passed to FieldList::removeByName() (Simon Erkelens)
  • 2013-05-08 3e88c98 Restrict MemberLoginForm to POST requests for increased security (Ingo Schommer)
  • 2013-04-22 7c66e8e try to place source_file_comments after doctype instead of html (Zauberfisch)
  • 2013-03-25 14c59be Form::setStrictFormMethodCheck() and strict argument to setFormMethod() (Ingo Schommer)
  • 2013-01-24 11f4b2c HTTP::urlRewriter with (string)$code deprecated in 3.1. Fixed regressions and CSS urls. (Damian Mooyman)

Features and Enhancements

  • 2013-06-26 f6ff393 <% include %> inherits iterator scope of parent template (Jeremy Thomerson)
  • 2013-06-24 ffc764d Allow configuration of initial insertion width for images and media (jonom)
  • 2013-06-17 b8908ef allow sites to override meta generator tag (Jeremy Thomerson)
  • 2013-06-14 3d9e12b Allow programmers to set OwnerID for new files. (CheeseSucker)
  • 2013-06-05 6618507 replaced privete with protected in order to have MySQLDatabase class extensible (g4b0)
  • 2013-06-04 80808a1 allow disabling of Versioned prepopulate_versionnumber_cache (Jeremy Thomerson)
  • 2013-06-04 4c0b452 allow overridable JS/CSS minification (Jeremy Thomerson)
  • 2013-06-03 12cade8 Do not attempt to run abstract test classes (Jeremy Thomerson)
  • 2013-06-02 a3c406e Merge i18nTextCollector with existing (fixes #1838) (Ingo Schommer)
  • 2013-05-31 34bc067 Add Thumbnails to 'Choose another file' dialogue (jonom)
  • 2013-05-31 4548b67 Add LeftAndMain.session_keepalive_ping config option. (Sam Minnee)
  • 2013-05-30 f1e567e More helpful message for 'sake dev/build' on new envs. (Sam Minnee)
  • 2013-05-29 fbfcb6d video formats in allowed_extensions (Ingo Schommer)
  • 2013-05-16 6e0e356 Added beforeExtending, afterExtending, and beforeUpdateCMSFields to allow user code better control over interaction with extending methods (Damian Mooyman)
  • 2013-04-21 eb583c5 Added DataObject::getQueriedDatabaseFields() as faster alternative to toMap() API: CompositeDBField::setValue() may be passed an object as its second argument, in addition to array. (Sam Minnee)
  • 2013-03-27 6018bdd 'Choose another file' button on upload field AAS-917 (jean)
  • 2013-03-26 429ac17 Allow setting of ASSETS_DIR in _ss_environment.php (Loz Calver)
  • 2013-03-18 b401d39 Move temp data into a user-specific subfolder, to stop temp-permission bugs from occurring. (Sam Minnee)
  • 2013-03-08 22c7bbf UploadField displays a warning before overwriting files (only relevant if config.yml: Upload:replaceFile = true). (Julian Seidenberg)
  • 2012-08-24 efea4db Allow specifying priority for translations (Hamish Friedlander)

Bugfixes

  • 2013-08-06 17e0432 adding a more descriptive message when the CMS session times out. It used to say "Forbidden", now it says "Not logged in". (Julian Seidenberg)
  • 2013-08-05 5f9387c Constants magic_quotes handling needs function from Core (Hamish Friedlander)
  • 2013-08-05 041466f Token redirect where in IIS a / needs adding between host & url (Hamish Friedlander)
  • 2013-08-02 a685a8d Include flushtoken when install redirects to successfullyinstalled (Hamish Friedlander)
  • 2013-08-01 3420587 Flush on memory exhaustion and headers sent (Hamish Friedlander)
  • 2013-07-31 919a8c2 pass controller as reference inside closure. (Will Rossiter)
  • 2013-07-23 a1ea905 Nice errors and allows flush on module removal (Hamish Friedlander)
  • 2013-07-23 b3ca4a2 Fixed divide by zero with SetRatioSize on missing image file Fixes issue #2047 (Damian Mooyman)
  • 2013-07-22 84011aa Only suppress fatal errors (Hamish Friedlander)
  • 2013-07-19 a312cd0 Ignore invalid tokens instead of throwing 403 (Hamish Friedlander)
  • 2013-07-19 036c36a Have ParameterConfirmationToken work regardless of include path (Hamish Friedlander)
  • 2013-07-18 d4a6f73 First error should take precedence here. No further checks needed. (Mateusz Uzdowski)
  • 2013-07-18 1298d4a Prevent DOS by checking for env and admin on ?flush=1 (#1692) (Hamish Friedlander)
  • 2013-07-15 999fd39 preg_replace_callback in emailer was broken (Stephen Shkardoon)
  • 2013-07-11 d4a1e6d Prevent clickjacking in CMS and Security controllers (fixes #2215) (Ingo Schommer)
  • 2013-07-10 ddd6a15 RestfulService header parsing now accepts non-title case headers (Daniel Hensby)
  • 2013-07-09 b446413 ConfigManifest regenerating every request if variantKeySpec is an empty array() (Cam Spiers)
  • 2013-07-06 2886f6e Session was started every time, even if no data set (Hamish Friedlander)
  • 2013-07-06 d629d94 Session::$cookie_secure so Sessions still work via HTTP (Hamish Friedlander)
  • 2013-07-05 c6b4d99 Director::forceSSL and forceWWW not setting Vary header (Hamish Friedlander)
  • 2013-07-04 041f5f5 UploadField action buttons aren't disabled when editing an item (Loz Calver)
  • 2013-07-04 ca63e33 Recent patch to DataObject#db changed API which broke core (Hamish Friedlander)
  • 2013-07-04 a5f00ae Not checking stage in SiteTree#canView (Hamish Friedlander)
  • 2013-07-04 a862b4d Fixed missing allowed_actions on UploadField_SelectHandler (Damian Mooyman)
  • 2013-07-03 dacb2aa HtmlEditorField not re-checking sanitisation server side (Hamish Friedlander)
  • 2013-07-02 50e9eee #2174: SearchFilter needs casting helper for DataObject base fields (Jeremy Thomerson)
  • 2013-07-01 5484283 changing environment in config.php changes matched yaml rules (Hamish Friedlander)
  • 2013-06-28 feb03f5 Fixed issue where time value was being parsed incorrectly in some locales (Damian Mooyman)
  • 2013-06-28 e74c002 Only and Except rules in Configs not working (Hamish Friedlander)
  • 2013-06-28 03aa9e4 ConfigManifest caching to not use existing cache from wrong $base (Hamish Friedlander)
  • 2013-06-26 e55be50 ConfigStaticManifest not handling multipart namespaces (Simon Welsh)
  • 2013-06-25 755a95e UploadField: IE10 single click for upload trigger (Ingo Schommer)
  • 2013-06-25 ae3e3f3 Arguments to method calls reseting scope (Hamish Friedlander)
  • 2013-06-20 f47383f Fixed issue where file upload via the HTML Editor media dialogue would not prompt users to overwrite existing files (Damian Mooyman)
  • 2013-06-20 328467f ConfirmedPasswordField used to expose existing hash (Hamish Friedlander)
  • 2013-06-20 dff5447 Fix for Cookie expiry timeout being passed as a large number on 64 bit machines (Kirk Mayo)
  • 2013-06-19 526b404 Ensure that actions inferred from templates with the "_action" suffix also respect allowed_actions. FIX: Ensure SSViewer::hasTemplate() is aware of themes. (Sam Minnee)
  • 2013-06-19 36d9563 make sure select dropdowns in add page dialog aren't cut off due to .parent-mode class having overflow:auto (Ryan O'Hara)
  • 2013-06-18 690f1c1 Manually require SS_DAG in Core.php (Ingo Schommer)
  • 2013-06-18 b520871 ViewableData::obj() would sometimes return an empty object (CheeseSucker)
  • 2013-06-15 964b3f2 <% if Link %> wasn't working (Jeremy Thomerson)
  • 2013-06-13 3b40711 Resize infinite loops in IE8 (fixes #575) (Ingo Schommer)
  • 2013-06-12 eaf0fe4 Fix JS issues in treedropdownfield for link editor (Robert Curry)
  • 2013-06-10 78bd73d Temporarily disable overwrite warning on HtmlEditorField "insert media" dialogue until this feature properly supports validation error recovery. (Damian Mooyman)
  • 2013-06-08 9775204 Allow filtering on joined columns (Will Rossiter)
  • 2013-06-08 83bff54 If BackURL set, validation errors send the user to wrong place. (Sean Harvey)
  • 2013-06-07 ff5624c Fixed dropdown step definition for "preview" dropdowns (Ingo Schommer)
  • 2013-06-06 23e51b8 Accept $limit=0 in SQLQuery->setLimit() (Ingo Schommer)
  • 2013-06-03 f61ab73 Correct relation saving in DataObject->duplicateRelations() (Ingo Schommer)
  • 2013-06-03 d2eef63 Trigger TinyMCE onChange more frequently (Ingo Schommer)
  • 2013-06-02 db85f3c extra_requirements to accept non associative arrays. (Will Rossiter)
  • 2013-05-31 ab40dcc make augmentSQL API consistent for strict PHP (Jeremy Thomerson)
  • 2013-05-31 1a19e27 Deprecation $manifest not in global scope (Mark-M)
  • 2013-05-31 f2c918d Make session timeout inactive-time only. (Sam Minnee)
  • 2013-05-30 7bcaf90 fixed "regression" inserted with 9281ebc64764a58f86f685f9765e1d8b60995e5a adding a new class to SiteTree elem (edit-disabled) (g4b0)
  • 2013-05-30 238f290 fixed "regression" inserted with 9281ebc64764a58f86f685f9765e1d8b60995e5a adding a new class to SiteTree elem (edit-disabled) (g4b0)
  • 2013-05-30 4a15845 Convert newlines to <br /> tags in string fields (fixes #1942) (Loz Calver)
  • 2013-05-30 b154c0f Removed regression introduced in 9741d1. With the former in place, CMS authors can no longer perform batch publish actions (Russell Michell)
  • 2013-05-29 3290511 Add missing 'groupby' and remove redundant conditional in 'having' (Tom Densham)
  • 2013-05-28 295f76e Making path names consistent (Daniel Hensby)
  • 2013-05-28 9fc58fe correct handling of multiple classes (g4b0)
  • 2013-05-27 f19ac42 Fixing missing </div> and </button> in UploadField_uploadtemplate (Sean Harvey)
  • 2013-05-27 c7f1412 #651 Broken redirection after creating new folder in assets (Mike Parkhill)
  • 2013-05-27 85f5a45 #651 Broken redirection after creating new folder in assets (Mike Parkhill)
  • 2013-05-27 0ee79d4 Fixed major issue with testing dataobjects that implement TestOnly and extend non-TestOnly dataobjects. Database regeneration would incorrectly populate the ClassName column (Damian Mooyman)
  • 2013-05-26 20f044c Fixing regression from silverstripe/sapphire/67d1327 (Sean Harvey)
  • 2013-05-25 60cad99 Fix select from files treedropdown (Naomi Guyer)
  • 2013-05-25 8235afc Display of AssetUpload upload fields (Naomi Guyer)
  • 2013-05-25 203cfa2 Classes applied to media are too generic to use (Naomi Guyer)
  • 2013-05-25 d540c44 IE8 does not bubble reset form events. Use click handler for reset button. (Fixes #1640) (Will Rossiter)
  • 2013-05-25 be5eaf1 Fix alignment of media button (Naomi Guyer)
  • 2013-05-25 698a75d Correct page title shown when restoring a page, instead of html of tree node (jean)
  • 2013-05-24 5512d7c UnsavedRelationList did not call its constructor (Jeremy Thomerson)
  • 2013-05-24 071d5b6 error message doesn't always include class name (Jeremy Thomerson)
  • 2013-05-24 edaf709 #1971: Check if the search term is set (Devlin)
  • 2013-05-24 5596442 Form::set_current_action() never gets called. (uniun)
  • 2013-05-24 9741d1f Pages set as 'deletedindraft' were allowed to be published through CMS batch-actions leaving an empty title in the SiteTree. (Russell Michell)
  • 2013-05-23 c85c495 GridFieldFilterHeader works without non-filterable cols (Ingo Schommer)
  • 2013-05-23 b2934d7 exclude directory from available themes when underscore is first character (Colin Richardson)
  • 2013-05-23 d36fbfb singleton('Group')->Members() fails (Tom Densham)
  • 2013-05-23 9281ebc Content authors with SiteTree#canView() but not SiteTree#canEdit() were unable to click on SiteTree items in the CMS. - The 'disabled' attribute in <li> will now only render if the author really can't do anything (Russell Michell)
  • 2013-05-23 8aa8674 Treedropdowns broken inside togglecomposite fields (fixes #1945) (Naomi Guyer)
  • 2013-05-23 2f7fd96 Clean up the logOut and session destructon routines. (Mateusz Uzdowski)
  • 2013-05-22 bc9567c Environment file finder logic (Daniel Hensby)
  • 2013-05-22 734a5fb Fixed declaration of Versioned::updateCMSFields to be compatible with DataExtension::updateCMSFields (Damian Mooyman)
  • 2013-05-21 55a4fb4 Remove left margin on stacked form field descriptions (fixes #1958) (Loz Calver)
  • 2013-05-20 57e4bca Minor CSS issues on DatetimeField (Loz Calver)
  • 2013-05-20 b1ba8bd Updated protocol check to become more stringent. (Jeremy Shipman)
  • 2013-05-20 d21fd1f Don't rewrite urls to be absolute, if they are a URI with a protocol. This is determined in this fix by the existence of a colon ':', to show the uri has a protocol. (Jeremy Shipman)
  • 2013-05-16 b480886 All tabs are in open state when changing the name of a folder. (Mateusz Uzdowski)
  • 2013-05-15 9f532fe GridField action onclick assuming URL without "?" character (Sean Harvey)
  • 2013-05-14 f51448c 'Add new' page button missing ParentID (Loz Calver)
  • 2013-05-14 3de75f3 Avoid unnecessary user_error when no controller set for friendly errors in Debug class (jean)
  • 2013-05-14 a681b8e Don't redirect to ErrorPage in CMS with x-cms-edit-link (Sean Harvey)
  • 2013-05-13 ebac1bf Fixing Filesystem::sync breaking subsite pages with same URLSegments (Sean Harvey)
  • 2013-05-13 4f88dcb ShowUnpublished checkbox with initial state not working (Sean Harvey)
  • 2013-05-13 fdb4a1d Enable dropdown so alignment on images can be updated. (Mateusz Uzdowski)
  • 2013-05-11 7ade1eb Money should use current locale by default. (Fixes: #6558) (Will Rossiter)
  • 2013-05-11 8b073c1 allow cite elements in TinyMCE (Will Rossiter)
  • 2013-05-11 a99dbae NumericField should work with numbers like 54,6 (Will Rossiter)
  • 2013-05-11 7c68414 Rename search locale variable to avoid conflicts with locale switcher. (Will Rossiter)
  • 2013-05-11 c8af0fd If CSV column mapping maps to function, keep key value as key. (Will Rossiter)
  • 2013-05-11 42cf2a9 Add support for multi dimensional source arrays in LookupField (open/6132) (Will Rossiter)
  • 2013-05-10 f6cd582 Remove version field from default scaffolded CMS fields. (Will Rossiter)
  • 2013-05-10 94d6b1c Disable autocomplete on ConfirmedPasswordField instances. (Will Rossiter)
  • 2013-05-10 de41a2a Fixes issue with '+' characters in url. (Damian Mooyman)
  • 2013-05-10 be25c30 Escape the sitetree_link shortcode return value (Simon Welsh)
  • 2013-05-08 16231ce Falling back to summaryFields() should skip non database fields. (Will Rossiter)
  • 2013-05-08 22e8ba6 Check for POST support in installer (Will Rossiter)
  • 2013-05-08 7a9f142 ensure config variables exist (Will Rossiter)
  • 2013-05-08 00b8ffd File class typo (Tony Air)
  • 2013-05-07 197516b ImageMagick cropped resize (a2nt)
  • 2013-05-07 f1a4e72 Fixing queries on non-existent table breaking archive site (Sean Harvey)
  • 2013-05-05 835aefb Handle PHP 5.4's short array notation everywhere arrays are parsed. (Simon Welsh)
  • 2013-05-03 ea7b942 Enable $forceWrite argument of DataObject#write() (Fred Condo)
  • 2013-05-04 423c737 media dialog add url button fix (a2nt)
  • 2013-04-30 7ecf564 URL concat in tree actions (broke with 'translatable' module) (Ingo Schommer)
  • 2013-04-29 bd5c852 Use the correct variable as the key into $record (Fred Condo)
  • 2013-04-29 5efae23 Template discovery on themed Layout templates (Ingo Schommer)
  • 2013-04-29 0ae3050 Allow Director::$rules like //$Action (Hamish Friedlander)
  • 2013-04-27 d5f6aac Longer dropzone title wraps to two lines (Elvinas)
  • 2013-04-27 084341c Column with buttons in GridField is too wide (Elvinas)
  • 2013-04-26 b211f22 JSONDataFormatter wrong relation identifiers (fixes #1795) (Ingo Schommer)
  • 2013-04-26 0e5b099 Unquoted shortcodes weren't parsed (fixes #680) (Ingo Schommer)
  • 2013-04-20 41c0f80 Only block root vendor folder (colymba)
  • 2013-04-19 c4eac53 Instead of CsvBulkLoader->findExistingRecord out right failing (i.e. no duplicate found) when the duplicate check field is empty, it will now continue on to check other duplicateCheck fields. Added extra testing data to CSVBulkLoaderTest so that it fails. (Jeremy Shipman)
  • 2013-04-12 1eadff5 Security::permissionFailure() fixing permissionDenied hook inconsistency (Sean Harvey)
  • 2013-03-05 1853fc8 Do not blindly pass input values to GridField_FormAction URL's (Will Rossiter)
  • 2013-03-05 36d3303 GridField export and print actions should preserve state. (Will Rossiter)
  • 2013-01-30 b24a0a5 Remove extraneous </div> breaking IE8 image embedding (os#8218) (Mateusz Uzdowski)
  • 2012-10-26 d8b106e TestRunner was not cleaning up DB on failure (Craig Weber)