This upgrade includes CMS and Framework version 3.6.5.

Upgrade to Recipe 1.8.1 is optional, but is recommended for all CWP sites.

This upgrade can be carried out by any development team familiar with SilverStripe CMS, but if you would like SilverStripe's assistance, please let us know.

Upgrading Instructions

In order to update an existing site to use the new basic recipe the following changes to your composer.json can be made:

"require": {
    "cwp/cwp-recipe-basic": "~1.8.1@stable",
    "cwp/cwp-recipe-blog": "~1.8.1@stable",
    "cwp/starter-theme": "~1.1.0@stable"
"prefer-stable": true

Security fixes

No security fixes have been discovered since the previous CWP Recipe Release (1.8.0).

Accepted failing tests


  • CommentingControllerTest::testCommentsForm - fails due to Akismet integration needing user defined configuration.
Expected output modified by the starter theme
  • CommentsExtensionTest::testCommentsForm
  • CommentsGridFieldActionTest::testGetColumnContent
  • CommentsTest::testReplyForm


  • UploadFieldTest.testAllowedExtensions — Behaviour intentionally altered by the MimeValidator module
  • UploadFieldTest.testSelect — Behaviour altered by SelectUploadField intentionally
  • UploadTest.testUploadTarGzFileTwiceAppendsNumber — This test is now expected to fail as the new MimeValidator module will no longer allow random content to be uploaded with a mismatched mime and file extension. The original test is attempting to upload a bunch of text as a gzip file.
Expected output modified by the starter theme
  • CheckboxSetFieldTest.testSetDefaultItems
  • EmailFieldTest.testEmailFieldPopulation
  • LookupFieldTest.testNullValueWithNumericArraySource
  • LookupFieldTest.testStringValueWithNumericArraySource
  • LookupFieldTest.testUnknownStringValueWithNumericArraySource
  • LookupFieldTest.testArrayValueWithAssociativeArraySource
  • LookupFieldTest.testArrayValueWithNumericArraySource
  • LookupFieldTest.testArrayValueWithSqlMapSource
  • LookupFieldTest.testWithMultiDimensionalSource
  • OptionsetFieldTest.testSetDisabledItems
  • GridFieldDetailFormTest.testValidator
  • GridFieldSortableHeaderTest.testRenderHeaders


  • QueuedJobsTest.testStartJob - Test self-aborts when detecting lack of available system resources (inconclusive).
  • QueuedJobsTest.testImmediateQueuedJob - Test self-aborts when detecting lack of available system resources (inconclusive).



Expected output modified by the starter theme
  • UserDefinedFormControllerTest.testValidation - Test failure affected by global state (starter theme template overrides).
  • UserDefinedFormControllerTest.testRenderingIntoFormTemplate - Test failure affected by global state.
  • UserDefinedFormControllerTest.testRenderingIntoTemplateWithSubstringReplacement - Test failure affected by global state.

Change Log

Features and Enhancements

  • 2017-11-14 47f87be Log job output into the job messages. (Sam Minnee)
  • 2017-11-13 1f0d551 Add DeleteAllJobsTask (Sam Minnee)
  • 2017-11-10 a99f165 Allow queueing of build tasks (Sam Minnee)


  • 2018-03-12 e80d7ad Skip test if optional dependency not present (Dylan Wagstaff)
  • 2018-03-11 dc6ea39 backport fix for lack of HTMLPurifier breakage (Dylan Wagstaff)
  • 2018-02-19 f948afe ing non int pagination variable server error (3Dgoo)
  • 2018-02-04 96cde0f Ensure display rules work correctly for EditableFormHeading (#712) (Scott Hutchinson)
  • 2018-01-26 416915b tableName is blank in CompositeDBField->addToQuery (Dominik Beerbohm)
  • 2018-01-25 cf69d04 Fix ping including requirements (Damian Mooyman)
  • 2018-01-24 c2cd6b3 Fix Member_GroupSet::removeAll() (fixes #3948) (Loz Calver)
  • 2018-01-24 f2b4c19 Fix UploadField cuts off “Save” button (closes #2862) (Loz Calver)
  • 2018-01-23 7384e3f Gridfields with dropdowns having lots of overflow (Scott Hutchinson)
  • 2018-01-09 2ef4a2d , adding a missing return statement. (Nathan)
  • 2017-12-21 44930f2 Allow HTML 5 input tags in FunctionalTest form submissions (Daniel Hensby)
  • 2017-12-14 81150c5 Use PHP 5.3 array syntax (Daniel Hensby)
  • 2017-12-12 91dedf6 (MultiValueField) Better support for 3.5+ which uses the 'value' field in attributes exclusively (Marcus Nyeholt)
  • 2017-12-12 0d9ed71 (multivaluefield.css) Revert previous display inline block which breaks the field in the CMS (Marcus Nyeholt)
  • 2017-12-12 9256ddb (MultiValueField) solves issue 51 (not tagging it because it's not fixed in master yet) (Marcus Nyeholt)
  • 2017-12-01 18fe0a9 Add missing translation for GridFieldBlogPostState (Raissa North)
  • 2017-11-30 0927553 Remove PHP 5.3 from build matrix and include PHP 7.1 (Robbie Averill)
  • 2017-11-30 e5ec697 Do not assign a default title if one has been set already (Robbie Averill)
  • 2017-11-22 ec8ad45 added missing image for private modules (Tomas Cantwell)
  • 2017-11-15 a950213 Better messages. (Sam Minnee)
  • 2017-09-08 2cbdeba Remove Behat tests from Travis matrix for SS3 (Robbie Averill)
  • 2017-09-04 04a07d5 Backport and sanitiseClassName for the "Save" action URL (Jake B)
  • 2017-08-31 58200f8 When setting the page sizes, reset items per page to the first value (Robbie Averill)
  • 2016-10-21 8e5bb6f Fix : relObject() should return null if one of the node is null (Jason)
  • 2016-03-15 22b3a71 ing val reference to url in https hotlink (Denise Rivera)
  • 2015-04-22 1f63637 for #4095, TinyMCE not able to modify props of embed media (bug 1) and invalid HTML inserted (bug 2) (Patrick Nelson)

Was this article helpful?