Version 4 supported
This version of Silverstripe CMS is still supported though will not receive any additional features. Go to documentation for the most recent stable version.

4.0.0-alpha4

Change log

Security

  • 2016-11-11 4440b8873 Form@httpSubmission will no longer load submitted data to disabled or readonly fields (Daniel Hensby) - See ss-2016-010
  • 2016-11-11 61e4055bd Cast FormField values as Text to prevent readonly fields embeding rogue HTML (Daniel Hensby) - See ss-2016-010
  • 2016-10-27 17097a4d1 Properly escape backURL for template injection (Daniel Hensby) - See ss-2016-016
  • 2016-07-14 ca526b08 Missing ACL check on ReportAdmin (Daniel Hensby) - See ss-2016-012
  • 2016-07-14 cff2ea9a Missing ACL check on ReportAdmin (Daniel Hensby) - See ss-2016-012
  • 2016-07-14 c1525c8b Missing ACL check on ReportAdmin (Daniel Hensby) - See ss-2016-012
  • 2016-07-14 efa20d2d Missing ACL check on ReportAdmin (Daniel Hensby) - See ss-2016-012
  • 2016-07-14 04b4453e Missing ACL check on ReportAdmin (Daniel Hensby) - See ss-2016-012

API changes

  • 2017-01-13 7d67c5b9b Allow users to act-as another (Damian Mooyman)
  • 2017-01-13 ce38f1f1f Allow "removeComponentsByType" to remove multiple component"s" (Robbie Averill)
  • 2017-01-12 2c274c838 Shift Security page class config to separate option (Damian Mooyman)
  • 2017-01-10 9e563ebd3 Moved iShouldSeeAButton to behat-extension (Damian Mooyman)
  • 2017-01-09 ef0bd20 Convert pages to 1-based (Damian Mooyman)
  • 2017-01-05 fb06cc0 Page_Controller to PageController (PSR-2 compliance) (Robbie Averill)
  • 2016-12-29 0927e547 Allow controller discovery without underscore (PSR-2 compliance) (Robbie Averill)
  • 2016-12-20 9be5142fc Set::publish() / canPublish() no longer treats hasChanges() = false as a permission error (Damian Mooyman)
  • 2016-12-16 19f75de Hook up Search.js to AssetAdmin (Damian Mooyman)
  • 2016-12-14 bb71a37cc added enlarge icon (Christopher Joe)
  • 2016-12-12 88b4ae65c Add css class to assist with bootstrapping entwine sections (Damian Mooyman)
  • 2016-12-12 178bd480e s required for asset search behaviour (Paul Clarke)
  • 2016-12-09 63ac2efa Update validation handling (#43) (Damian Mooyman)
  • 2016-12-09 ba555a7 Use new schema response behaviour (#322) (Damian Mooyman)
  • 2016-12-09 bf58c5ae Update to use new form submission handling (#1691) (Damian Mooyman)
  • 2016-12-09 0e5bd3c Enforce PSR-2 and js / scss linting (#289) (Damian Mooyman)
  • 2016-12-07 7f21b25 FileHistoryForm now uses $context (Damian Mooyman)
  • 2016-12-06 6b06fd9f2 Add buttonTooltop to PopoverField and fix critical positioning issue (Damian Mooyman)
  • 2016-12-05 122d522 - Prioritise folder to be sorted first on server-side (Christopher Joe)
  • 2016-12-04 dc82b84 Implement "add from files" for AssetAdmin/UploadField.js (Damian Mooyman)
  • 2016-11-29 4d15c9d Rename FileField -> UploadField (Damian Mooyman)
  • 2016-11-28 97d0fc61d Include psr-2 checks in CI (Damian Mooyman)
  • 2016-11-23 799ebe5ba Expose QueryString library and lib/Format as external for formatting items (Christopher Joe)
  • 2016-11-23 6e589aac7 Updates to Form, ValidationResponse, ValidationException (Damian Mooyman)
  • 2016-11-22 875811fdf Create loading state for schema (Christopher Joe)
  • 2016-11-18 90b46f1 - Added griddle-react module (Damian Mooyman)
  • 2016-11-17 7f40a06 Enable behat tests for asset-admin and add scaffolding for basic behat testing (Damian Mooyman)
  • 2016-11-15 38070ab2 Update tests to reflect renamed services (Damian Mooyman)
  • 2016-11-15 f43a91a4f Add FormField::canSubmitValue() (Damian Mooyman)
  • 2016-11-14 28c1654 Added type for AssetAdmin section (Christopher Joe)
  • 2016-11-13 cac326eeb Add getExtraDataObjects() and getExtraControllers() methods to SapphireTest (Damian Mooyman)
  • 2016-11-07 ffd993865 ShortcodeParser getter and extension points (Jonathon Menz)
  • 2016-11-04 b41be39 Add npm run watch (Damian Mooyman)
  • 2016-11-04 7cba50e3a Refactor UploadField, FileField and AssetField into traits Uploadable and FileUploadable (Damian Mooyman)
  • 2016-11-03 8e4ed776d Expose FieldHolder react component (Damian Mooyman)
  • 2016-11-03 fc50c07 Implement FileField as a react file management field (Damian Mooyman)
  • 2016-10-14 6e8304ff2 Namespace framework tests (Damian Mooyman)

Features and enhancements

  • 2017-01-16 87ac3e397 Display warning on always_populate_raw_post_data not being -1 in php 5 (#6507) (Damian Mooyman)
  • 2017-01-13 3ea5015f8 Move to SwiftMailer powered Emails (#6466) (Daniel Hensby)
  • 2017-01-12 63d190b Optimise folder usage detection (Damian Mooyman)
  • 2017-01-12 408a42d behat tests for deleting files in use checking (Christopher Joe)
  • 2017-01-11 b52a963ed Remove jquery-ui button() api from default HTML editor dialog (Damian Mooyman)
  • 2017-01-11 a4a1cc8 Added logic check for if a file or files in a folder are in use (Christopher Joe)
  • 2016-12-22 84ae232 Gallery View & Create Folder uses GraphQL (fixes #316) (Damian Mooyman)
  • 2016-12-21 977394e Added unit tests for search message composing function (Christopher Joe)
  • 2016-12-21 cf5c055de Campaign admin publish button styles missing (Paul Clarke)
  • 2016-12-20 6b54f0b Clear search form when search is cleared (Christopher Joe)
  • 2016-12-20 e893fc4c5 improve secondary action colours (Paul Clarke)
  • 2016-12-20 ebb6f0d Added breadcrumbs for search (Christopher Joe)
  • 2016-12-19 8c40c58 Added name attribute to AssetDropzone, so multiple instances are distinguishable (Christopher Joe)
  • 2016-12-19 802e604 Enable UploadField.js within non-react sections (#331) (Damian Mooyman)
  • 2016-12-16 b49af82 Added extension check to File replacement and warn if it is different (Christopher Joe)
  • 2016-12-15 5839a1b unit test hasError in GalleryItem (Christopher Joe)
  • 2016-12-15 c118d0d Tweaked AssetDropzone internally for better support of "maxFiles" (Christopher Joe)
  • 2016-12-14 d8843c6fe Split out the fetch call easier mocking (Christopher Joe)
  • 2016-12-14 ede825b Added maxFiles handling for AssetDropzone (Christopher Joe)
  • 2016-12-13 52cad6ce9 Added ImagickBackend::crop() for compatibility with GDBackend (UndefinedOffset)
  • 2016-12-13 ddc9a9c6d up buttons within gridfield search (Will Rossiter)
  • 2016-12-12 7b90ee137 resize icon to sit inline and increase size of search icon and Upload icon (Paul Clarke)
  • 2016-12-09 84256f1 Partially restore behat tests (#326) (Damian Mooyman)
  • 2016-12-09 9ff4e3d Added progress bar for uploads (Christopher Joe)
  • 2016-12-08 085c8f5a4 2x increase in scanning of files for ConfigManifest (Jake Bentvelzen)
  • 2016-12-07 2a25a525c Move temporary JSON block into standard component (Damian Mooyman)
  • 2016-12-05 b4ba606ff HTMLEditorField default alignment setting (Damian Mooyman)
  • 2016-12-05 6ec780493 Add icon size for 14px icons and table padding for asset list (Paul Clarke)
  • 2016-12-02 24dc3428d HTMLEditorField default alignment setting (Jonathon Menz)
  • 2016-11-30 cb6ec11f1 Implement import CSV icon and tidy up import forms (Will Rossiter)
  • 2016-11-23 8590150 Moved close button to after messages (Christopher Joe)
  • 2016-11-22 8ab382ed7 Insert media modal in react (Damian Mooyman)
  • 2016-11-21 35e313de1 height for modal in IE10 (Paul Clarke)
  • 2016-11-21 0d788ddf Code Coverage via CodeCov.io (#1631) (Ingo Schommer)
  • 2016-11-04 42f91b4 Decoupled AssetAdmin and Gallery from router and config, so it can be predictably controlled by props (Christopher Joe)
  • 2016-10-31 776d2fbc6 Allow setting of unlimited row counts on GridFieldPaginator (Daniel Hensby)

Bugfixes

  • 2017-01-16 7ad02787e Regression in CompositeField displaying fields in their holders (Robbie Averill)
  • 2017-01-16 09f967bf6 Prevent type-loss of graphql variables by using JSON.stringify (Damian Mooyman)
  • 2017-01-16 f46c1ca things in the toolbar not aligning well (Christopher Joe)
  • 2017-01-16 96bd4edce things not aligning well in the toolbar (Christopher Joe)
  • 2017-01-16 f68dee3 search button overlapping close button when resolution is small enough (Christopher Joe)
  • 2017-01-15 0ab6b1d Add from files in Upload fields in an entwine context (Christopher Joe)
  • 2017-01-13 ccf349938 fix: calling full method name to pass attributes (Neil Gladwin)
  • 2017-01-13 c707a9120 shift graphql to use post data due to php-5.6.10+ deprecation message (Christopher Joe)
  • 2017-01-12 30d125f14 MySQLQuery::seek() failed to return a row (Loz Calver)
  • 2017-01-12 a4bc9f49d Regression in using template_main to render the Security area (Robbie Averill)
  • 2017-01-11 54c2afd01 regression issues in campaigns (Christopher Joe)
  • 2017-01-11 2d1d2aea7 Remap versioned ClassNames during build process (Robbie Averill)
  • 2017-01-11 773c848c Separate PageController fixture into its own file (PSR-2 compat) (Robbie Averill)
  • 2017-01-11 6fc50cae5 Refactor TestMailer to better be base class (Sam Minnee)
  • 2017-01-11 2390a78 unit tests for delete folder/file check (Christopher Joe)
  • 2017-01-11 4e257435d Shift react breadcrumbs to use flexbox for placement (Christopher Joe)
  • 2017-01-10 62eb0e614 Rename template parser from .inc to .peg so PHP doesn't include it automatically (Robbie Averill)
  • 2017-01-10 ae2861d48 Fix frameworkpath (Damian Mooyman)
  • 2017-01-10 4ea614f04 linting issues (Damian Mooyman)
  • 2017-01-10 63cb343cf Fix modal animations (Damian Mooyman)
  • 2017-01-10 b62f9b60a Fix broken member / group import (Damian Mooyman)
  • 2017-01-10 9959ef63 double-escaped ampersands in CMSMain_TreeView and CMSMain::LinkPageAdd (Colin Tucker)
  • 2017-01-09 87fbd5f78 for v4: Admin returns "Too many pages" for subpages below top level (#6464) (Lee Bradley)
  • 2017-01-09 a2e8d8b ed batch delete behaviour (Ingo Schommer)
  • 2017-01-09 2149294 Fix breadcrumbs display (Damian Mooyman)
  • 2017-01-09 cdd86aaf5 breadcrumbs search results text sometimes disappearing (Christopher Joe)
  • 2017-01-09 9c447cc InsertMediaModal navigation (Damian Mooyman)
  • 2017-01-08 74cdb16 es #345 (Christopher Joe)
  • 2017-01-05 cf3a74ec Remove deprecation tests, bump deprecation version to 5.0 (Robbie Averill)
  • 2016-12-29 6fb49224b SSViewer should resolve templates with or without underscores (Robbie Averill)
  • 2016-12-29 d41ebbaaf Correct namespaes for test classes in upgrade.yml (Robbie Averill)
  • 2016-12-29 6f4162ed7 PHP 7.x should use random_bytes for entropy ahead of deprecated mcrypt lib (Robbie Averill)
  • 2016-12-29 7448622a1 Replace ini casting to int with explicit split and cast for PHP 7.1. Add tests. (Robbie Averill)
  • 2016-12-28 fc45e9e0 ing tests (Daniel Hensby)
  • 2016-12-28 916d7f38 ing tests (Daniel Hensby)
  • 2016-12-23 947c1fe1 broken unit test (Christopher Joe)
  • 2016-12-23 8118448a9 PHP linting issues (Christopher Joe)
  • 2016-12-23 c3e3e3e Fix saving of folders (#344) (Damian Mooyman)
  • 2016-12-21 ffdb99e78 Temp disable shortcode SPLIT behaviour due to crash (#6436) (Damian Mooyman)
  • 2016-12-21 f314b86ad Temp disable shortcode SPLIT behaviour due to crash (#6436) (Damian Mooyman)
  • 2016-12-20 2d5aa7ce0 Campaign List toggle (Fixes #6067) (Will Rossiter)
  • 2016-12-20 7c76d2cb0 show formatting help not appearing (#6423) (Will Rossiter)
  • 2016-12-20 2db9038 Regression in file size display in UploadFieldItem.js (Damian Mooyman)
  • 2016-12-20 1f3ab93 js linting issues (Damian Mooyman)
  • 2016-12-20 4c01e42 NPM test for PreviewImageField-test.js (Damian Mooyman)
  • 2016-12-20 d0f3491 PHP PSR2 linting issues (Damian Mooyman)
  • 2016-12-19 8ad030bab Make GridField filter button selector more specific (Robbie Averill)
  • 2016-12-19 fae005554 Fix missing TRAVIS_NODE_VERSION (#6419) (Damian Mooyman)
  • 2016-12-19 0e19d34 Submitting search by hitting enter now works (Damian Mooyman)
  • 2016-12-18 222ee6bde ed a pagination bug (PingMetal)
  • 2016-12-16 c007e85d1 Suppress HtmlEditorField casting (Damian Mooyman)
  • 2016-12-16 eb0a27406 Update links to docs.ss for default template (Robbie Averill)
  • 2016-12-15 9b3acc4 remove count when unloading folder (Christopher Joe)
  • 2016-12-12 8cef515 Fix JS errors in UploadField.js and InsertMediaModal.js (Damian Mooyman)
  • 2016-12-09 935902e linting / behat errors (Damian Mooyman)
  • 2016-12-09 c9f7e13 linting errors (Damian Mooyman)
  • 2016-12-09 39236a1 HistoryList setting props, removed non-required id prop type (Christopher Joe)
  • 2016-12-09 fcf1eedee getting fileSize shouldn't give a "NaN" (Christopher Joe)
  • 2016-12-08 5248be922 Handle fields with square brackets (Daniel Hensby)
  • 2016-12-08 412b421 upstream tests that were broken (Christopher Joe)
  • 2016-12-06 3fca7b3c4 hard-coded boolean in CsvBulkLoader (Colin Tucker)
  • 2016-12-05 2181e3b86 Fix localisation issues (Damian Mooyman)
  • 2016-12-05 224b2a4c Fix localisation issues in CMS (Damian Mooyman)
  • 2016-12-05 70b5588 - image centering for IE (Paul Clarke)
  • 2016-12-04 fdb1bed0 Fix crash when installed with framework-only (Damian Mooyman)
  • 2016-11-29 9ec1d35f2 Fix behat tests unable to capture HTML editor fields (Damian Mooyman)
  • 2016-11-24 a4760b8ee Fixed issue where a shortcode's location would not get set to split when using the class leftAlone (UndefinedOffset)
  • 2016-11-23 ee40b67 Fix asset-admin tests (Damian Mooyman)
  • 2016-11-23 03b4e6ea3 Tests shouldnt set date or time format to null (Daniel Hensby)
  • 2016-11-22 b2503ac0 content authors unable to duplicate top-level pages (fixes #1685) (Loz Calver)
  • 2016-11-21 682e6070 Correct response code generated from error pages (Damian Mooyman)
  • 2016-11-13 00c9c2c77 Fix DataObject::dbObject assigning incorrect table to DBField instance (Damian Mooyman)
  • 2016-11-13 22cb3d0d7 various ORM test issues (Damian Mooyman)
  • 2016-11-10 804ff7c2 Fixing test errors (Daniel Hensby)
  • 2016-11-09 ebae480c6 Fix regression in aggregate column lookup from #6199 (Damian Mooyman)
  • 2016-11-09 6bf36fbd3 Correct return type for Member::currentUser() (Loz Calver)
  • 2016-11-08 9dbb5c0a1 safari tabs active border (Paul Clarke)
  • 2016-11-07 aca9deed2 for safari scroll in campaign area (Paul Clarke)
  • 2016-11-07 962519c6 for safari height in main container – shows action bar (Paul Clarke)
  • 2016-11-04 f18ef75c3 Fixed crash when BASE_PATH is set by assuming the location of Constants.php (UndefinedOffset)
  • 2016-11-04 8bd5349e Fixed issue on windows where the CMS_DIR constant would be set containing a backslash causing a crash in the cms (UndefinedOffset)
  • 2016-11-04 dd9ade429 UploadField incorrectly setting max upload size (Daniel Hensby)
  • 2016-11-04 c5fb7127 Page History 'Comparing versions' banner missing (Mike Cochrane)
  • 2016-11-03 4fb52ec es gap issue and change gallery to display flex (Paul Clarke)
  • 2016-11-03 f35cf55 unit tests (Christopher Joe)
  • 2016-11-03 edfe51454 Ensure that builds use the 3.4 dependencies. (Sam Minnee)
  • 2016-11-03 135a64761 Ensure that builds use the 3.4 dependencies. (Sam Minnee)
  • 2016-11-01 c61d61d00 default_records are no longer inherited to child classes (Daniel Hensby)
  • 2016-10-30 747bd4cac filterAny error message now refers to correct method name (Daniel Hensby)
  • 2016-10-28 289189d delete action in Editor (Christopher Joe)
  • 2016-10-22 bec5adf09 Versioned sort by ID (Jonathon Menz)
  • 2016-10-19 b0445f72e Ambiguous column SQL error (Jonathon Menz)
  • 2016-10-16 fe816076f Make simplexml_load_file work on shared php-fpm (Nicola Fontana)
  • 2016-10-11 7368deca8 Fix issue with SS_List as datasource for dropdown field (Damian Mooyman)
  • 2016-10-07 ae83b7b5 History controller now shows right comparison versions (Daniel Hensby)
  • 2016-10-04 797be6ac8 Revert natural sort (Jonathon Menz)
  • 2016-10-04 6dde5ce57 Absolute alternate_base_url no longer breaks session cookies (Daniel Hensby)
  • 2016-10-03 98d95cd7 Sort order for duplicated child pages is now retained (Daniel Hensby)
  • 2016-08-03 a84a1b78 es issue #32 (Access tab JS) (Colin Tucker)
  • 2016-07-12 87477a1e Fix incorrect url manipulation (Damian Mooyman)