From 9ec1d35f2bd09bee50d3a3629d9589f8871abd98 Mon Sep 17 00:00:00 2001 From: Damian Mooyman Date: Tue, 29 Nov 2016 14:49:39 +1300 Subject: [PATCH 1/2] BUG Fix behat tests unable to capture HTML editor fields --- .../Test/Behaviour/CmsFormsContext.php | 46 +++++++++---------- 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/tests/behat/features/bootstrap/SilverStripe/Framework/Test/Behaviour/CmsFormsContext.php b/tests/behat/features/bootstrap/SilverStripe/Framework/Test/Behaviour/CmsFormsContext.php index bacd1d11a..07604d3ff 100644 --- a/tests/behat/features/bootstrap/SilverStripe/Framework/Test/Behaviour/CmsFormsContext.php +++ b/tests/behat/features/bootstrap/SilverStripe/Framework/Test/Behaviour/CmsFormsContext.php @@ -11,7 +11,8 @@ use Behat\Behat\Context\ClosuredContextInterface, Behat\Gherkin\Node\PyStringNode, Behat\Gherkin\Node\TableNode, Behat\MinkExtension\Context\MinkContext as MinkContext; - + +use Behat\Mink\Element\NodeElement; use Symfony\Component\DomCrawler\Crawler; // PHPUnit @@ -74,13 +75,9 @@ class CmsFormsContext extends BehatContext { * @When /^I fill in "(?P(?:[^"]|\\")*)" for the "(?P(?:[^"]|\\")*)" HTML field$/ */ public function stepIFillInTheHtmlFieldWith($field, $value) { - $field = $this->fixStepArgument($field); + $inputField = $this->getHtmlField($field); $value = $this->fixStepArgument($value); - $page = $this->getSession()->getPage(); - $inputField = $page->findField($field); - assertNotNull($inputField, sprintf('HTML field "%s" not found', $field)); - $this->getSession()->evaluateScript(sprintf( "jQuery('#%s').entwine('ss').getEditor().setContent('%s')", $inputField->getAttribute('id'), @@ -92,13 +89,9 @@ class CmsFormsContext extends BehatContext { * @When /^I append "(?P(?:[^"]|\\")*)" to the "(?P(?:[^"]|\\")*)" HTML field$/ */ public function stepIAppendTotheHtmlField($field, $value) { - $field = $this->fixStepArgument($field); + $inputField = $this->getHtmlField($field); $value = $this->fixStepArgument($value); - $page = $this->getSession()->getPage(); - $inputField = $page->findField($field); - assertNotNull($inputField, sprintf('HTML field "%s" not found', $field)); - $this->getSession()->evaluateScript(sprintf( "jQuery('#%s').entwine('ss').getEditor().insertContent('%s')", $inputField->getAttribute('id'), @@ -110,11 +103,7 @@ class CmsFormsContext extends BehatContext { * @Then /^the "(?P(?:[^"]|\\")*)" HTML field should(?P not? |\s*)contain "(?P.*)"$/ */ public function theHtmlFieldShouldContain($locator, $negative, $html) { - $locator = $this->fixStepArgument($locator); - $page = $this->getSession()->getPage(); - $element = $page->findField($locator); - assertNotNull($element, sprintf('HTML field "%s" not found', $locator)); - + $element = $this->getHtmlField($locator); $actual = $element->getValue(); $regex = '/'.preg_quote($html, '/').'/ui'; $failed = false; @@ -154,10 +143,7 @@ class CmsFormsContext extends BehatContext { * @Given /^"(?P([^"]*))" in the "(?P(?:[^"]|\\")*)" HTML field should(?P(?: not)?) be (?P(.*))$/ */ public function stepContentInHtmlFieldShouldHaveFormatting($text, $field, $negate, $formatting) { - $field = $this->fixStepArgument($field); - $page = $this->getSession()->getPage(); - $inputField = $page->findField($field); - assertNotNull($inputField, sprintf('HTML field "%s" not found', $field)); + $inputField = $this->getHtmlField($field); $crawler = new Crawler($inputField->getValue()); $matchedNode = null; @@ -192,10 +178,7 @@ class CmsFormsContext extends BehatContext { * @When /^I select "(?P([^"]*))" in the "(?P(?:[^"]|\\")*)" HTML field$/ */ public function stepIHighlightTextInHtmlField($text, $field) { - $field = $this->fixStepArgument($field); - $page = $this->getSession()->getPage(); - $inputField = $page->findField($field); - assertNotNull($inputField, sprintf('HTML field "%s" not found', $field)); + $inputField = $this->getHtmlField($field); $inputFieldId = $inputField->getAttribute('id'); $text = addcslashes($text, "'"); @@ -266,4 +249,19 @@ JS; } } + /** + * Locate a HTML editor field + * + * @param string $locator Raw html field identifier as passed from + * @return NodeElement + */ + protected function getHtmlField($locator) + { + $locator = $this->fixStepArgument($locator); + $page = $this->getSession()->getPage(); + $element = $page->find('css', 'textarea.htmleditor[name=\'' . $locator . '\']'); + assertNotNull($element, sprintf('HTML field "%s" not found', $locator)); + return $element; + } + } From 792a9ec3ed53d756f4c6f92d0dd5d70420c1c0c0 Mon Sep 17 00:00:00 2001 From: Damian Mooyman Date: Tue, 29 Nov 2016 16:21:14 +1300 Subject: [PATCH 2/2] Add missing changelog content --- docs/en/04_Changelogs/3.5.0.md | 90 ++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/docs/en/04_Changelogs/3.5.0.md b/docs/en/04_Changelogs/3.5.0.md index 6987368ce..f308a4d00 100644 --- a/docs/en/04_Changelogs/3.5.0.md +++ b/docs/en/04_Changelogs/3.5.0.md @@ -3,3 +3,93 @@ ## Change Log + +### Security + + * 2016-11-11 [4440b88](https://github.com/silverstripe/silverstripe-framework/commit/4440b887304fe80ca77366800457cbc2ac705654) Form@httpSubmission will no longer load submitted data to disabled or readonly fields (Daniel Hensby) - See [ss-2016-010](http://www.silverstripe.org/download/security-releases/ss-2016-010) + * 2016-11-11 [61e4055](https://github.com/silverstripe/silverstripe-framework/commit/61e4055bdb13e37df6aa0d8edca0bf5d9345dc7e) Cast FormField values as Text to prevent readonly fields embeding rogue HTML (Daniel Hensby) - See [ss-2016-010](http://www.silverstripe.org/download/security-releases/ss-2016-010) + * 2016-10-27 [17097a4](https://github.com/silverstripe/silverstripe-framework/commit/17097a4d11274b157eadf64f32708acef204d510) Properly escape backURL for template injection (Daniel Hensby) - See [ss-2016-016](http://www.silverstripe.org/download/security-releases/ss-2016-016) + * 2016-08-02 [62a2421](https://github.com/silverstripe/silverstripe-framework/commit/62a242154ec3508fe9b174a40713c8520ac1684c) value / title escaping in CheckboxSetField and OptionsetField (Damian Mooyman) - See [ss-2016-015](http://www.silverstripe.org/download/security-releases/ss-2016-015) + * 2016-08-02 [12a6b35](https://github.com/silverstripe/silverstripe-framework/commit/12a6b357e761f09d818fd0013eb2d85014de79a0) value / title escaping in CheckboxSetField and OptionsetField (Damian Mooyman) - See [ss-2016-015](http://www.silverstripe.org/download/security-releases/ss-2016-015) + * 2016-08-02 [049cdef](https://github.com/silverstripe/silverstripe-framework/commit/049cdefacfd3122d59d5488c1317f999fe8aacc4) value / title escaping in CheckboxSetField and OptionsetField (Damian Mooyman) - See [ss-2016-015](http://www.silverstripe.org/download/security-releases/ss-2016-015) + * 2016-07-25 [b1f4497](https://github.com/silverstripe/silverstripe-framework/commit/b1f449762b5d11658b11d5036d5ae361a95fd61e) Autologin cookies are ignored if autologin is disabled (Daniel Hensby) - See [ss-2016-014](http://www.silverstripe.org/download/security-releases/ss-2016-014) + * 2016-07-25 [fa7f5af](https://github.com/silverstripe/silverstripe-framework/commit/fa7f5af8618a83c865b11fd6cc981ad9661046e6) Autologin cookies are ignored if autologin is disabled (Daniel Hensby) - See [ss-2016-014](http://www.silverstripe.org/download/security-releases/ss-2016-014) + * 2016-07-25 [1c7d5de](https://github.com/silverstripe/silverstripe-framework/commit/1c7d5de51bcdf16ebb21c5a0ebe5fe9e31f9a822) Autologin cookies are ignored if autologin is disabled (Daniel Hensby) - See [ss-2016-014](http://www.silverstripe.org/download/security-releases/ss-2016-014) + * 2016-07-22 [281b0de](https://github.com/silverstripe/silverstripe-framework/commit/281b0de571fe0ae159ac47891c02acf2214fa619) Uncasted member name (Daniel Hensby) - See [ss-2016-013](http://www.silverstripe.org/download/security-releases/ss-2016-013) + * 2016-07-22 [83e3302](https://github.com/silverstripe/silverstripe-framework/commit/83e3302c0425d9b0e4fe42e82e3df03379f4dca5) Uncasted member name (Daniel Hensby) - See [ss-2016-013](http://www.silverstripe.org/download/security-releases/ss-2016-013) + * 2016-07-22 [6817c57](https://github.com/silverstripe/silverstripe-framework/commit/6817c57f64b9eb2b271b81662cd83b074a3daee4) Uncasted member name (Daniel Hensby) - See [ss-2016-013](http://www.silverstripe.org/download/security-releases/ss-2016-013) + * 2016-07-15 [298f615](https://github.com/silverstripe/silverstripe-framework/commit/298f61521c55b07e5c898a92264dbe111735a87a) Reset `Member::Salt` on password change (Daniel Hensby) - See [ss-2016-008](http://www.silverstripe.org/download/security-releases/ss-2016-008) + * 2016-07-15 [f85dea2](https://github.com/silverstripe/silverstripe-framework/commit/f85dea2e6d5b303abd43b5e5efc07c66c8d2acf4) Reset `Member::Salt` on password change (Daniel Hensby) - See [ss-2016-008](http://www.silverstripe.org/download/security-releases/ss-2016-008) + * 2016-07-15 [dc47f7e](https://github.com/silverstripe/silverstripe-framework/commit/dc47f7ec9adf67a3f31887467de5b110e8e5b285) Reset `Member::Salt` on password change (Daniel Hensby) - See [ss-2016-008](http://www.silverstripe.org/download/security-releases/ss-2016-008) + * 2016-07-14 [6606d98](https://github.com/silverstripe/silverstripe-framework/commit/6606d986634f5b5dec16462acaa8d9a513c29fec) ChangePasswordForm does not check $member->canLogin before login (Daniel Hensby) - See [ss-2016-011](http://www.silverstripe.org/download/security-releases/ss-2016-011) + * 2016-07-14 [6d41db7](https://github.com/silverstripe/silverstripe-framework/commit/6d41db77fa78f473db7bcff389456c980ef4e412) ChangePasswordForm does not check $member->canLogin before login (Daniel Hensby) - See [ss-2016-011](http://www.silverstripe.org/download/security-releases/ss-2016-011) + * 2016-07-14 [2b30ade](https://github.com/silverstripe/silverstripe-framework/commit/2b30ade44d333a4da4d13b31ffa28d0a34597442) ChangePasswordForm does not check $member->canLogin before login (Daniel Hensby) - See [ss-2016-011](http://www.silverstripe.org/download/security-releases/ss-2016-011) + * 2016-07-14 [efa20d2](https://github.com/silverstripe/silverstripe-reports/commit/efa20d2da03f80758cce7fe697c62f7f42fe098a) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012) + * 2016-07-14 [cff2ea9](https://github.com/silverstripe/silverstripe-reports/commit/cff2ea9a98f592d80083633aef6bd082480281d9) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012) + * 2016-07-14 [ca526b0](https://github.com/silverstripe/silverstripe-reports/commit/ca526b08c32ffe171368c1f6e456a8bfffa287d7) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012) + * 2016-07-14 [5f73d34](https://github.com/silverstripe/silverstripe-cms/commit/5f73d3454ecbc4850e91a0a3007102f6d4d9b853) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012) + * 2016-05-03 [3fa84cf](https://github.com/silverstripe/silverstripe-framework/commit/3fa84cf0c64a539d78600c36364817a8e38411d8) Encode user supplied URL for embeding into page (Daniel Hensby) - See [ss-2016-007](http://www.silverstripe.org/download/security-releases/ss-2016-007) + +### API Changes + + * 2016-11-15 [f43a91a](https://github.com/silverstripe/silverstripe-framework/commit/f43a91a4f8d6d5b6bfdda0c67d8647c056f8d62e) Add FormField::canSubmitValue() (Damian Mooyman) + * 2016-11-07 [ffd9938](https://github.com/silverstripe/silverstripe-framework/commit/ffd993865299522c66b0dd91beeab35dde1da5fb) ShortcodeParser getter and extension points (Jonathon Menz) + * 2016-09-15 [b87c668](https://github.com/silverstripe/silverstripe-framework/commit/b87c668bf4184abb4d7348e77a63853038ad2de2) support dblib (#5996) (Damian Mooyman) + * 2016-09-05 [c6457c5](https://github.com/silverstripe/silverstripe-framework/commit/c6457c50e970654b43ff009933a80a1a493186fb) Allow has_many fixtures to be declared with array format as well as many_many (#5944) (Damian Mooyman) + * 2016-07-15 [d08ab6a](https://github.com/silverstripe/silverstripe-framework/commit/d08ab6ac81b67220f08f80a16dd804a6d489ff97) Allow X-Frame-Options to be configured (Damian Mooyman) + * 2016-06-20 [e810a99](https://github.com/silverstripe/silverstripe-framework/commit/e810a9928c2d0771ba8f44934ed6295bbed418b3) Add optimistic_connect to SS_Database (Damian Mooyman) + +### Features and Enhancements + + * 2016-06-10 [19b9413](https://github.com/silverstripe/silverstripe-framework/commit/19b9413432a8baa66ad262c24a4663be0ec7bb33) Use injector for MemberLoginForm fields (Daniel Hensby) + * 2016-05-15 [c401d9d](https://github.com/silverstripe/silverstripe-framework/commit/c401d9daff6d4add3bbded2d1a97e66bedb66992) added hide_from_cms_tree and hide_from_hierarchy (John Milmine) + * 2015-02-11 [dae2295](https://github.com/silverstripe/silverstripe-framework/commit/dae2295e16caed0c38076fdc5f3ed0a962e8f170) Allow the paddedresize to take another hex value to specify a transparency on the padded color (Nick) + +### Bugfixes + + * 2016-11-24 [a4760b8](https://github.com/silverstripe/silverstripe-framework/commit/a4760b8ee409c2c96a0e77445debf931259cb9aa) Fixed issue where a shortcode's location would not get set to split when using the class leftAlone (UndefinedOffset) + * 2016-11-23 [03b4e6e](https://github.com/silverstripe/silverstripe-framework/commit/03b4e6ea3201736c62a73e301489fe6a65a01a0f) Tests shouldnt set date or time format to null (Daniel Hensby) + * 2016-11-09 [ebae480](https://github.com/silverstripe/silverstripe-framework/commit/ebae480c662032d58a14f44055428b9309563874) Fix regression in aggregate column lookup from #6199 (Damian Mooyman) + * 2016-11-09 [6bf36fb](https://github.com/silverstripe/silverstripe-framework/commit/6bf36fbd30c9d0e1375430e692b0e50206a0cfcb) Correct return type for Member::currentUser() (Loz Calver) + * 2016-11-04 [dd9ade4](https://github.com/silverstripe/silverstripe-framework/commit/dd9ade429454b1053ab5c2003663eeb66b5866d6) UploadField incorrectly setting max upload size (Daniel Hensby) + * 2016-11-03 [edfe514](https://github.com/silverstripe/silverstripe-framework/commit/edfe514540aae0772f49225f3614ce045ad9e1d4) Ensure that builds use the 3.4 dependencies. (Sam Minnee) + * 2016-11-03 [135a647](https://github.com/silverstripe/silverstripe-framework/commit/135a64761fac74cc7ac75640551c5a14874ade95) Ensure that builds use the 3.4 dependencies. (Sam Minnee) + * 2016-11-01 [c61d61d](https://github.com/silverstripe/silverstripe-framework/commit/c61d61d00324e764022489968b5a114271793522) default_records are no longer inherited to child classes (Daniel Hensby) + * 2016-10-30 [747bd4c](https://github.com/silverstripe/silverstripe-framework/commit/747bd4cac00383fffea66dea75f7e21e13df7088) filterAny error message now refers to correct method name (Daniel Hensby) + * 2016-10-22 [bec5adf](https://github.com/silverstripe/silverstripe-framework/commit/bec5adf09b733904a4e8d0aa55bdc337489af533) Versioned sort by ID (Jonathon Menz) + * 2016-10-19 [b0445f7](https://github.com/silverstripe/silverstripe-framework/commit/b0445f72e4cce324308bb32384d578e43753cd6d) Ambiguous column SQL error (Jonathon Menz) + * 2016-10-16 [fe81607](https://github.com/silverstripe/silverstripe-framework/commit/fe816076fc5a2b3b1e497b8c51c76430311eea2c) Make simplexml_load_file work on shared php-fpm (Nicola Fontana) + * 2016-10-11 [7368dec](https://github.com/silverstripe/silverstripe-framework/commit/7368deca8f409c5aba94a6b646d7c0ac4fbd452f) Fix issue with SS_List as datasource for dropdown field (Damian Mooyman) + * 2016-10-07 [ae83b7b](https://github.com/silverstripe/silverstripe-cms/commit/ae83b7b5ef28df5f5b3f752435f3b36b078f619a) History controller now shows right comparison versions (Daniel Hensby) + * 2016-10-04 [797be6a](https://github.com/silverstripe/silverstripe-framework/commit/797be6ac82f6938af06c24c99150648ff214f797) Revert natural sort (Jonathon Menz) + * 2016-10-04 [6dde5ce](https://github.com/silverstripe/silverstripe-framework/commit/6dde5ce5718911d8e405eb590c68036ceaa6e608) Absolute alternate_base_url no longer breaks session cookies (Daniel Hensby) + * 2016-10-03 [98d95cd](https://github.com/silverstripe/silverstripe-cms/commit/98d95cd70708ae1f15a9bf5c5a661cd66f449f2f) Sort order for duplicated child pages is now retained (Daniel Hensby) + * 2016-09-29 [ae4108b](https://github.com/silverstripe/silverstripe-framework/commit/ae4108bf00e9503c5748c4129df7e1c3ea8c8b5f) Content-Disposition header breaks in Firefox (#4087) (Anton Smith) + * 2016-09-19 [32d1856](https://github.com/silverstripe/silverstripe-framework/commit/32d1856d40416438c52b8eb0651814a0fd32c0eb) Debug::caller() will now handle errors from outside function calls (#6029) (Daniel Hensby) + * 2016-09-19 [d2d770c](https://github.com/silverstripe/silverstripe-framework/commit/d2d770c6fbaeb3ea209853dd44017198a6232c01) Frontend UploadField wouldn't call ssdialog (Cristian Torres) + * 2016-09-14 [cd8904e](https://github.com/silverstripe/silverstripe-framework/commit/cd8904e0454617b243c8e89c06c694844817f212) ing button destroy bug (3Dgoo) + * 2016-09-12 [a14df0b](https://github.com/silverstripe/silverstripe-framework/commit/a14df0bc2d08f953ff7dd6f57899dbf260ab13a5) Force line endings to LF on sake file (Daniel Hensby) + * 2016-09-06 [e7ecf6c](https://github.com/silverstripe/silverstripe-framework/commit/e7ecf6cf15d4b3d4adaf0a415a5c4f9f2a15a003) Bad strpos call in HTTP::register_etag() (Daniel Hensby) + * 2016-09-01 [f2ed59e](https://github.com/silverstripe/silverstripe-framework/commit/f2ed59e1851b4506f02994dd4a1f3ffa86938cb9) Empty dmyfields on DateField now validate as true (Daniel Hensby) + * 2016-08-22 [59be597](https://github.com/silverstripe/silverstripe-cms/commit/59be597004da21064e51c6237fbb451628bebf66) #1052 (Daniel Hensby) + * 2016-08-22 [4998b80](https://github.com/silverstripe/silverstripe-framework/commit/4998b8044530a83c617194d544b76a98f742386e) ArrayList sorting now caseinsensitive (Daniel Hensby) + * 2016-08-15 [95c640a](https://github.com/silverstripe/silverstripe-cms/commit/95c640ae6b5620be83d38e8060317554bc0820ed) Fix regression in FormField casting (Damian Mooyman) + * 2016-08-15 [5ad8157](https://github.com/silverstripe/silverstripe-cms/commit/5ad8157655a5dd581cbc90a95e8588907794a9c9) Fix regression in FormField casting (Damian Mooyman) + * 2016-08-15 [a6a9cd7](https://github.com/silverstripe/silverstripe-cms/commit/a6a9cd729fd24b19f7b39fdeb867a491489687e0) Fix regression in FormField casting (Damian Mooyman) + * 2016-08-11 [d4114b3](https://github.com/silverstripe/silverstripe-framework/commit/d4114b3dce73ffaf786af7ce76f2e1c6f1483d47) include related fields on canFilter() check (Jonathon Menz) + * 2016-08-09 [63fc4db](https://github.com/silverstripe/silverstripe-cms/commit/63fc4dbcaebcc7063f8075681d8b1f09608afe1c) Fix extra border in page settings (Damian Mooyman) + * 2016-08-07 [86add3e](https://github.com/silverstripe/silverstripe-framework/commit/86add3e02113f5087b168ee6529c55283c7243cc) Use create syntax for CMSMemberLoginForm remember me form (Daniel Hensby) + * 2016-08-04 [5fcdf8c](https://github.com/silverstripe/silverstripe-framework/commit/5fcdf8c3132376d6724700235c960c8133711f14) don't look in node_modules (Michael Strong) + * 2016-08-03 [a84a1b7](https://github.com/silverstripe/silverstripe-siteconfig/commit/a84a1b785c1e943951203ffdb584af5a34e41bdb) es issue #32 (Access tab JS) (Colin Tucker) + * 2016-07-28 [56f0b72](https://github.com/silverstripe/silverstripe-framework/commit/56f0b72e8dbf5b7205ae12c80e0f4c9a0614d1a2) ETag header now properly quoted (Daniel Hensby) + * 2016-07-15 [9282662](https://github.com/silverstripe/silverstripe-framework/commit/9282662293b28cce056abf88e94123c8cdd172f4) ing bad syntax from PR (Daniel Hensby) + * 2016-07-15 [3662240](https://github.com/silverstripe/silverstripe-framework/commit/366224078b6b0d67aeebab2f9041c76a33ae5626) Allow caching of false config values (Fixes #4755) (#4762) (Sam Minnée) + * 2016-07-08 [74c555e](https://github.com/silverstripe/silverstripe-framework/commit/74c555e00443b1bc619f0a3970beedc3dbce99e6) for #5784: Added ->setReplyTo(), deprecated ->replyTo() for API consistency. Revamping, fixing, and enhancing internal Email API documentation. Simplified code and brought up-to-date with latest standards. (Patrick Nelson) + * 2016-07-05 [9afd602](https://github.com/silverstripe/silverstripe-framework/commit/9afd6020076dd1eb3b91f9566557cbe695121468) calling $record->write() breaks other 3rd party fields that write to an UnsavedRelationList. (Jake Bentvelzen) + * 2016-07-04 [637167f](https://github.com/silverstripe/silverstripe-framework/commit/637167f2f9b97cdb3c3d2a64c38f87ce0d4c7e7a) Fix missing icons (Damian Mooyman) + * 2016-06-09 [3bb32eb](https://github.com/silverstripe/silverstripe-reports/commit/3bb32eb013d5d12a1ba39e934181b92e75e38eab) Tests need the DB (Daniel Hensby) + * 2016-06-09 [68c4040](https://github.com/silverstripe/silverstripe-reports/commit/68c40402999894d267e49674585913be1e913458) No longer hardcoding admin links (Daniel Hensby) + * 2016-06-03 [429ce55](https://github.com/silverstripe/silverstripe-framework/commit/429ce557561f7d4fd648b73cb83d12c1f424cead) ViewableData::setFailover() didn't remove cached methods (Loz Calver) + * 2016-06-01 [8a58041](https://github.com/silverstripe/silverstripe-framework/commit/8a58041fbaa01c5f5890fa274c001eee13164c24) Remove default from address for error emails (Sam Minnee) + * 2016-05-27 [11aad47](https://github.com/silverstripe/silverstripe-framework/commit/11aad47eeb62c6b412282b6a6aaa3ee217bbeab3) invalid syntax in TinyMCE config (#5593) (Loz Calver) + * 2016-05-19 [b1df9dc](https://github.com/silverstripe/silverstripe-framework/commit/b1df9dcb1d378c778e941a8fabd3c376e8a5a45a) check that we have a token and a UID before attempting a member auto login (Stevie Mayhew)