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-beta2

Change log

API changes

  • 2017-07-31 078a508d7 Replace legacy tiny_mce_gzip compressor with asset generator (Damian Mooyman)
  • 2017-07-27 b52319d Introduce thumbnail loading mechanism to support eventually consistent asset store (Damian Mooyman)
  • 2017-07-26 3364f5c5 Use setTitleField to use MenuTitle for selecting internal links (Damian Mooyman)
  • 2017-07-26 79042f5 Implement copy / move at the filesystem level (Damian Mooyman)
  • 2017-07-18 50f0906 Abstract inlining of urls into a configurable service (Damian Mooyman)
  • 2017-07-16 f4af1fab Remove Report::add_excluded_report() and make excluded_reports configurable (Robbie Averill)
  • 2017-07-12 2b266276c Implement new module sorting pattern (Aaron Carlino)
  • 2017-07-12 82d1795 Warn if use non-private configs (declared as config in parent class) (Damian Mooyman)
  • 2017-07-12 824e29e Update module sorting (Damian Mooyman)
  • 2017-07-12 eeb4407 Update module sorting (Damian Mooyman)
  • 2017-07-12 a69600fa Update module sorting (Damian Mooyman)
  • 2017-07-11 ccda816f9 added flatList argument for generating the json tree list with a context string property (Christopher Joe)
  • 2017-07-11 2d04b84 Convert installer to recipe (Damian Mooyman)

Features and enhancements

  • 2017-08-03 559d761 Allow insert links with display link text (Saophalkun Ponlu)
  • 2017-08-03 417caf29 Allow insert links with display link text (Saophalkun Ponlu)
  • 2017-08-03 4b8c4a4 Allow insert links with display link text (Saophalkun Ponlu)
  • 2017-08-03 06efd2ac1 Ensure flush destroys temp tinymce files (Damian Mooyman)
  • 2017-08-01 5a34552 show all implicit objects regardless of whether they have been published (Christopher Joe)
  • 2017-08-01 ae97c15e4 Soft-code CSS explicit height and compute against rows (Damian Mooyman)
  • 2017-07-26 9627a88 search summary for ModelAdmin (Aaron Carlino)
  • 2017-07-26 74873096b getSummary() API for SearchContext (Aaron Carlino)
  • 2017-07-25 82f4114 InterventionBackend now safely approaches “eventually consistent” assets via a backing-off attempt controlled via a cache (Damian Mooyman)
  • 2017-07-25 2d32afe Switch CheckboxSetField to TreeMultiselectField for better UX (Christopher Joe)
  • 2017-07-21 392cda15f Add updateRules extension point to Director::handleRequest (Robbie Averill)
  • 2017-07-20 0aff59d add support for TreeMultiselectField in react (Christopher Joe)
  • 2017-07-20 78d4d0d5d add support for TreeMultiselectField in react (Christopher Joe)
  • 2017-07-19 a341d48 add unit test for original image and regular file in ThumbnailGenerator (Christopher Joe)
  • 2017-07-19 441cfeb refactored AssetDropzone to allow for optimistic rendering and frontend file validation (Aaron Carlino)
  • 2017-07-18 74b2872 Allow help link to be disabled in user code (Robbie Averill)
  • 2017-07-17 dc8527b added deeper shadow and hover state for inline-toolbar (Christopher Joe)
  • 2017-07-17 c2983a5 Add version provider dependency to use for CMSVersion (Robbie Averill)
  • 2017-07-16 ac851f3a Upgrade to Behat 3, remove old feature contexts, update Travis configuration (Robbie Averill)
  • 2017-07-16 12310d5d Change "only these people" to "only these groups" in permissions (Robbie Averill)
  • 2017-07-16 2dd5bb4d1 Add Behat CMS header tab context methods (Robbie Averill)
  • 2017-07-14 491329a Add edit command and its url test for file insert (Saophalkun Ponlu)
  • 2017-07-14 6fc1491f Add edit command and its url test for page insert (Saophalkun Ponlu)
  • 2017-07-13 a8c2cd1 Use injector for creating SSViewer (Robbie Averill)
  • 2017-07-13 a418c70 Use injector for creating SSViewer (Robbie Averill)
  • 2017-07-13 1cf8a67f Use injector for creating SSViewer (Robbie Averill)
  • 2017-07-12 f367a0aa6 add web accessible colours to web view dev/build (Sacha Judd)
  • 2017-07-10 0b0a488 add search functionality to folder location (Christopher Joe)
  • 2017-07-10 823e49526 Allow SSViewer and SSViewer_FromString to be injectable (Robbie Averill)
  • 2017-07-06 de799f0 Create a component that handles click event outside of a component (Saophalkun Ponlu)
  • 2017-07-06 c36f284 Ensure apollo client sets accept header (#137) (Damian Mooyman)
  • 2017-07-06 d112695 Simplify form transforms, make factories more customisable (#136) (Aaron Carlino)
  • 2017-07-04 ee4d8b4d4 Add new SilverStripeVersionProvider to provider module versions (Robbie Averill)
  • 2017-07-04 bd5782adc Allow index type to be configured per DBField instance (Robbie Averill)
  • 2017-07-03 4c1dbd40 Change "only these people" to "only these groups" in permissions (Robbie Averill)
  • 2017-06-23 c9c439061 Ensure polymorphic has_one fields are indexed (Robbie Averill)
  • 2017-05-19 be0ec0d added an inline-toolbar providing edit/remove of links in HTML editor (Saophalkun Ponlu)
  • 2017-05-18 c2841b6d6 Remove "Remove link" button from the editor's main toolbar (Saophalkun Ponlu)
  • 2016-12-23 ed26b251c Better output type detection for debugging (Damian Mooyman)

Bugfixes

  • 2017-08-07 7873fe1 FormBuilderLoader calls initialize on redux-form after setting a new schema (#180) (Chris Joe)
  • 2017-08-07 068156710 Fix flushing on live mode (#7241) (Damian Mooyman)
  • 2017-08-06 f7bebdd8f Fix install issue with IIS (Damian Mooyman)
  • 2017-08-03 2828216 class check (Christopher Joe)
  • 2017-08-03 81dba5c unit tests with handler mock for ImageLoadActions (Christopher Joe)
  • 2017-08-03 b6a8e4588 Ensure mocked controller has request assigned (Damian Mooyman)
  • 2017-08-03 1d4e524 translations in list (Christopher Joe)
  • 2017-08-03 ccdda08 move placeholders to config and added extension hook for placeholder groups (Christopher Joe)
  • 2017-08-03 32edfa0 some of the feedback addressed (Christopher Joe)
  • 2017-08-02 3e3ea75 FormStateManager to include the schema data, so transformations are more informed (Christopher Joe)
  • 2017-08-02 e64acef53 Fix invalid i18n yaml (Damian Mooyman)
  • 2017-08-02 1b6ac6d style fixes and test cleanup (Christopher Joe)
  • 2017-08-02 8949d7f Allow buttons to retain their font size on small screens if they don't have an icon (#152) (Robbie Averill)
  • 2017-08-02 841801145 linting issues (Damian Mooyman)
  • 2017-08-01 685320450 Fix ajax loading wait for behat tests (Damian Mooyman)
  • 2017-07-31 2403c8f Center align folder preview icons in edit panel (Robbie Averill)
  • 2017-07-31 62ce8d6 added overlay for Editor while FormBuilderLoader is loading (Christopher Joe)
  • 2017-07-31 2f2d8d3 Cleaned up "onLoadingSuccess" and "onLoadingError" API, made "onFetchingSchema" API more intuitive to be before fetching. (Christopher Joe)
  • 2017-07-28 53a0206b check if parent context is SiteTree instance (Nic Horstmeier)
  • 2017-07-28 980d6b7ef ?showqueries=inline failed on PDO databases (fixes #7199) (Loz Calver)
  • 2017-07-28 a85bc86fd behat tree dropdown trigger (Damian Mooyman)
  • 2017-07-27 4e222fc18 add function for selecting a value in the new tree dropdown in behat using react (Christopher Joe)
  • 2017-07-27 31e1fcb behat tests that use tree dropdowns (Christopher Joe)
  • 2017-07-27 8102870 Quote yample starting with % (Daniel Hensby)
  • 2017-07-27 3ef9ca69d DBComposite doesn't allow arbitrary property assignment (Aaron Carlino)
  • 2017-07-27 a6a254c sass linting (Damian Mooyman)
  • 2017-07-27 47f24ce05 up test linting (Damian Mooyman)
  • 2017-07-26 52ee858 Fixed broken reload check (Damian Mooyman)
  • 2017-07-26 49a758d remove clearSchema, as it wasn't doing anything (Christopher Joe)
  • 2017-07-26 cb7d157 history list to load last in the stack (Christopher Joe)
  • 2017-07-25 fa96953 list scaffolded DataObjects when not paginated (#112) (Chris Joe)
  • 2017-07-24 980bf83 recipe plugin version constraint (Damian Mooyman)
  • 2017-07-24 7a0b55d ed linting issue (Damian Mooyman)
  • 2017-07-21 654e057 Use correct yml syntax (Daniel Hensby)
  • 2017-07-21 f393471 Use correct yml syntax (Daniel Hensby)
  • 2017-07-21 d49a5f5a Yaml syntax (Daniel Hensby)
  • 2017-07-21 5bf9ccc23 Deprecated yml syntax (Daniel Hensby)
  • 2017-07-21 1088f75 query the object after creation, so data is the same as if queried again (#109) (Chris Joe)
  • 2017-07-21 2385b7385 fix config rules to match updated Except (Damian Mooyman)
  • 2017-07-20 db5f81d3 behat tests (Saophalkun Ponlu)
  • 2017-07-20 cc6b4422 ContentController still using global $project; (Aaron Carlino)
  • 2017-07-20 6fd6a3894 Fix unassigned nestedFrom (Damian Mooyman)
  • 2017-07-20 41c3d21 Fix issue with non-associative rule conditions (Damian Mooyman)
  • 2017-07-19 8aeec9208 FulltextSearchable DB engine not set correctly (Daniel Hensby)
  • 2017-07-19 292aaf653 Cache IDs grouped by site first (Daniel Hensby)
  • 2017-07-18 fca3ba73 Pages search now defaults to list view (Saophalkun Ponlu)
  • 2017-07-18 b77274c1a Add unique prefix to cache stores to prevent cache leak (Daniel Hensby)
  • 2017-07-18 ac388a559 Exclude thirdparty dir from code coverage (Robbie Averill)
  • 2017-07-18 a5ca4ecb5 Log in as someone else returns user back to login screen (Robbie Averill)
  • 2017-07-18 e3282cb switch to using TinyMCE's serializer and domparser for changetracker (Christopher Joe)
  • 2017-07-18 fb6e6162 Use better inheritance based logic for deciding which active tab to display in edit page (Robbie Averill)
  • 2017-07-17 e8c77463 Use injection for CMSMain in tests (Robbie Averill)
  • 2017-07-17 a8cbfa8 Add getter and setter for the version provider dependency on LeftAndMain (Robbie Averill)
  • 2017-07-17 ba9ad5527 Base URL defaults to a slash in currentURL if not defined already (Robbie Averill)
  • 2017-07-17 515a7cb5 Make sure VirtualPage renders correct templates (Daniel Hensby)
  • 2017-07-17 da4e46e4d Use merge and set instead of update for config calls (Robbie Averill)
  • 2017-07-17 c6b5f3c Use set instead of update for config calls (Robbie Averill)
  • 2017-07-17 54777a7 Use merge and set instead of update for config calls (Robbie Averill)
  • 2017-07-17 3216b4b Use merge instead of update for config calls (Robbie Averill)
  • 2017-07-17 c3cda42b Use merge or set instead of update for config calls (Robbie Averill)
  • 2017-07-17 c806261 Use merge instead of update for config calls (Robbie Averill)
  • 2017-07-17 ea4181166 Ensure phpdbg calls are registered by SilverStripe core as a CLI call (Robbie Averill)
  • 2017-07-17 99c1838 check that an entry is found before destructuring it (Christopher Joe)
  • 2017-07-17 fc9495b retain view when searching or closing the file editor (Christopher Joe)
  • 2017-07-16 dd4d5740 Ensure tab states are reflected when switching on page edit screen (Robbie Averill)
  • 2017-07-16 85c79d4e Re-enable code coverage runs with phpdbg (Robbie Averill)
  • 2017-07-16 8b12e97d7 Enable code coverage builds with phpdbg and 7.1.7 (Robbie Averill)
  • 2017-07-15 1a38feff2 Version provider uses early bound config getter, move LeftAndMain config to admin module (Robbie Averill)
  • 2017-07-14 6523c00 linting and default value issues (Christopher Joe)
  • 2017-07-14 844462108 diff reference (Damian Mooyman)
  • 2017-07-14 ad9dc0e typo in Focusedzone property (Christopher Joe)
  • 2017-07-14 9a66f80 add doc blocks and juggle logic for loading a tree (Christopher Joe)
  • 2017-07-13 a11115b Fix ini2bytes (Damian Mooyman)
  • 2017-07-13 b726d64d1 SearchEngine to use quoted table names (martimiz)
  • 2017-07-13 b16896f22 Ignore exceptions thrown when deleting test databases (Robbie Averill)
  • 2017-07-13 5fcd7d084 Fix registered shutdown function not handling responsibility for outputting redirection response (Damian Mooyman)
  • 2017-07-13 e60631c Ensure dimensions are cached (Damian Mooyman)
  • 2017-07-13 16b66440c Incorrect module delimiter (Aaron Carlino)
  • 2017-07-13 e30855b Incorrect module delimited (Damian Mooyman)
  • 2017-07-13 4898c0a4a Incorrect module delimited (Damian Mooyman)
  • 2017-07-13 3cf9910f Incorrect module delimited (Damian Mooyman)
  • 2017-07-13 8fb4cb5 Incorrect module delimited (Damian Mooyman)
  • 2017-07-12 32a02e7 missing translations (Christopher Joe)
  • 2017-07-11 d347896 Prevent brutal discard of constructed Image_Backend instances (Damian Mooyman)
  • 2017-07-10 960a0f834 Make File::ini2bytes() compliant with binary prefixes (fixes #7145) (Loz Calver)
  • 2017-07-07 9764e6a broken menu items for model admins (#141) (Saophalkun Ponlu)
  • 2017-07-06 a6db16b22 OS X issue with Convert::html2raw, HTMLText::FirstSentence, HTMLText::Summary and Text::FirstSentence. (Roman Schmid)
  • 2017-07-06 445d3b8 add lint disable for most scss lines (Christopher Joe)
  • 2017-07-06 85359ad59 Ensure that installer can create an initial admin account (Damian Mooyman)
  • 2017-07-05 55dc3724d Invalid composer.json (Damian Mooyman)
  • 2017-07-05 5ff0985 Limit to current folder checkbox click behaviour (Saophalkun Ponlu)
  • 2017-07-05 0d1971e keyboard accessibility broke with current version of react-select (Christopher Joe)
  • 2017-07-04 c836a2e2d Module resource regex does not allow ports (Aaron Carlino)
  • 2017-07-04 f14e6bae2 numeric field for null values (John Milmine)
  • 2017-07-04 9c213ff unnamespaced i18n keys (#35) (Damian Mooyman)
  • 2017-07-04 4b2320583 unnamespaced i18n keys (Damian Mooyman)
  • 2017-06-29 79a7b1016 add missing $rootCall param from LeftAndMain (Daniel Hensby)
  • 2017-06-26 eb7f53b Orientation of images based on EXIF data now works (Daniel Hensby)
  • 2017-06-22 c2ad41ef Allow RedirectorPage to have non-redirected actions, move redirection to index (Robbie Averill)
  • 2017-06-22 ad54e7eb3 ImportButton not opening the modal (Will Rossiter)
  • 2017-05-19 42c3b87 Remove legacy translation behaviour in template (Robbie Averill)
  • 2017-05-19 fc036208 Remove legacy sprintf style translations in favour of placeholders (Robbie Averill)
  • 2017-05-18 1d2ea7b Remove legacy sprintf style translations in favour of named placeholders (Robbie Averill)
  • 2017-05-09 3dd303679 Ensure GridState_Component is added to GridField config even if we set config with GridField::setConfig (Klemen Dolinsek)
  • 2017-02-04 e307f067e Replace deprecated %s placeholders in translations with named placeholders (Robbie Averill)