mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
0a61f7ed16
It's far too common for people to follow 4.0.0, only to get surprised theres more to it
413 lines
41 KiB
Markdown
413 lines
41 KiB
Markdown
# 4.1.0
|
|
|
|
## Overview {#overview}
|
|
|
|
* Support for public webroot folder `public/`
|
|
* Better support for cross-platform filesystem path manipulation
|
|
|
|
## Upgrading
|
|
|
|
Note: if you receive an error message about an undefined constant while
|
|
upgrading with `composer`, re-running the command should solve the issue.
|
|
|
|
### Upgrade `public/` folder (optional) {#public-folder}
|
|
|
|
This release allows the maintenance of a public webroot folder which separates all
|
|
web-accessible files from protected project files (like the vendor folder
|
|
and all of your PHP files). This makes your web hosting more secure, and
|
|
less likely to leak information through accidentally deployed files like
|
|
a project README. New projects will default to this behaviour. Existing
|
|
projects (updating from 3.x or 4.0) will continue working as-is, but we
|
|
strongly recommend switching to the public webroot structure in order to
|
|
get the security benefits.
|
|
|
|
> This folder name is not configurable, but is turned on by creating this folder, and off by ensuring
|
|
this folder doesn't exist.
|
|
|
|
When separating the public webroot from the BASE_PATH it is necessary to move a few files during migration:
|
|
|
|
- Move your existing `.htaccess` from base to `public/`
|
|
- Update the `RewriteRule` directives in the `.htaccess` (check the [default .htaccess](https://github.com/silverstripe/recipe-core/blob/1.1/public/.htaccess))
|
|
- Create a new `.htaccess` in base that contains:
|
|
```
|
|
RewriteEngine On
|
|
RewriteRule ^(.*)$ public/$1
|
|
```
|
|
- Move `index.php` from base to `public/`
|
|
- If upgrading from 4.0, replace the [index.php](https://github.com/silverstripe/recipe-core/blob/1.1/public/index.php) file from `recipe-core` in order to fix autoloading paths
|
|
- Move `assets` folder (including the nested `assets/.protected` folder) into `public/`.
|
|
This is the only folder which needs write permissions.
|
|
- Ensure that the `public/resources` folder exists; If this folder already exists in root, you should
|
|
delete this, and re-generate it by running `composer vendor-expose` in your root path.
|
|
- Any public assets committed directly to your project intended to be served directly to the
|
|
webserver. E.g. move `mysite/javascript/script.js` to `public/javascript/script.js`.
|
|
You can then use `Requirements::css('javascript/script.js');` /
|
|
`<% require css('javascript/script.js') %>` to include this file.
|
|
- Ensure that the web-root configured for your server of choice points to the public/ folder instead of the base path.
|
|
E.g. an apache virtualhost configuration would look like:
|
|
|
|
```
|
|
<VirtualHost *:80>
|
|
ServerName mywebsite.com
|
|
ServerAlias *.mywebsite.com
|
|
VirtualDocumentRoot "/var/www/Sites/mywebsite/public/"
|
|
</VirtualHost>
|
|
```
|
|
|
|
You may also need to add various changes to your code if you reference the BASE_PATH directly:
|
|
|
|
- You should use `Director::publicFolder()` instead of `Director::baseFolder()` if referring to the
|
|
public folder.
|
|
- You can check if a public folder exists with `Director::publicDir()`
|
|
|
|
### Example `public/` folder structure {#public-folder-example}
|
|
|
|
For example, this is an existing folder structure:
|
|
|
|
```
|
|
/var/www/mysite
|
|
├── assets/
|
|
│ └── .protected/
|
|
├── mysite/
|
|
│ ├── code/
|
|
│ │ ├── Page.php
|
|
│ │ └── PageController.php
|
|
│ └── css/
|
|
│ └── projectstyle.css
|
|
├── resources/ _(auto-generated by vendor-plugin `composer vendor-expose` command)_
|
|
│ └── silverstripe/
|
|
│ └── blog/
|
|
│ └── css/ _(symlink)_
|
|
│ └── blog.css
|
|
├── themes/
|
|
│ └── mytheme/
|
|
│ ├── css/
|
|
│ │ └── theme.css
|
|
│ └── templates/
|
|
│ └── BlogPage.ss
|
|
├── vendor/
|
|
│ └── silverstripe/
|
|
│ └── blog/
|
|
│ ├── css/ _(exposed in blog composer.json)_
|
|
│ │ └── blog.css
|
|
│ └── composer.json
|
|
├── .htaccess
|
|
├── composer.json
|
|
├── favicon.ico
|
|
├── index.php
|
|
└── install.php
|
|
```
|
|
|
|
After migration the folder structure would look like:
|
|
|
|
```
|
|
/var/www/mysite
|
|
├── mysite/
|
|
│ └── code/
|
|
│ ├── Page.php
|
|
│ └── PageController.php
|
|
├── public/
|
|
│ ├── assets/
|
|
│ │ └── .protected/
|
|
│ ├── css/
|
|
│ │ └── somestyle.css
|
|
│ ├── resources/ _(auto-generated by vendor-plugin `composer vendor-expose` command)_
|
|
│ │ ├── themes/
|
|
│ │ │ └── mytheme/
|
|
│ │ │ └── css/ _(symlink)_
|
|
│ │ │ └── theme.css
|
|
│ │ └── vendor/
|
|
│ │ └── silverstripe/
|
|
│ │ └── blog/
|
|
│ │ └── css/ _(symlink)_
|
|
│ │ └── blog.css
|
|
│ ├── .htaccess
|
|
│ ├── favicon.ico
|
|
│ ├── index.php
|
|
│ └── install.php
|
|
├── themes/
|
|
│ └── mytheme/
|
|
│ ├── css/ _(exposed in root composer.json)_
|
|
│ │ └── theme.css
|
|
│ └── templates/
|
|
│ └── BlogPage.ss
|
|
├── vendor/
|
|
│ └── silverstripe/
|
|
│ └── blog/
|
|
│ ├── css/ _(exposed in blog composer.json)_
|
|
│ │ └── blog.css
|
|
│ └── composer.json
|
|
└── composer.php
|
|
```
|
|
|
|
### Use new `$public` theme set {#public-theme}
|
|
|
|
In addition there is a new helper pseudo-theme that you can configure to expose files in the `public/`
|
|
folder to the themed css / javascript file lookup. For instance, this is how you can prioritise those
|
|
files:
|
|
|
|
```yaml
|
|
---
|
|
Name: mytheme
|
|
---
|
|
SilverStripe\View\SSViewer:
|
|
themes:
|
|
- '$public'
|
|
- 'simple'
|
|
- '$default'
|
|
```
|
|
|
|
This would allow `<% require themedCSS('style.css') %>` to find a file comitted to `public/css/style.css`.
|
|
|
|
Note that `Requirements` calls will look in both the `public` folder (first) and then the base path when
|
|
resolving css or javascript files. Any files that aren't in the public folder must be exposed using
|
|
the composer.json "expose" mechanism described below.
|
|
|
|
### Expose root project files {#expose-root-files}
|
|
|
|
If you have files comitted to source control outside of the `public` folder, but you need them to be available
|
|
to the web server, you can also use the composer.json `expose` directive to symlink / copy these to `public/resources/`.
|
|
|
|
**composer.json** (in project root)
|
|
|
|
```json
|
|
{
|
|
"extra": {
|
|
"expose": [
|
|
"mysite/client"
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
You will also need to set your project `type` to `silverstripe-something`, for example `silverstripe-project` like so:
|
|
|
|
**composer.json** (in project root)
|
|
|
|
```json
|
|
{
|
|
"type": "silverstripe-project"
|
|
}
|
|
```
|
|
|
|
Then run the composer helper `composer vendor-expose` in your project root. This will symlink (or copy)
|
|
the `mysite/client` directory to `public/resources/mysite/client`.
|
|
|
|
If you are using third party modules which may not have explicit `expose` directives,
|
|
you can also expose those assets manually by declaring the full path to the directory to expose.
|
|
This works the same for `silverstripe-module` and `silverstripe-vendormodule` types.
|
|
|
|
```json
|
|
{
|
|
"extra": {
|
|
"expose": [
|
|
"vendor/somevendor/somemodule/css",
|
|
"anothermodule/css"
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
For more information on how vendor modules work please see the documentation on the
|
|
[vendor plugin page](https://github.com/silverstripe/vendor-plugin) or the
|
|
[publishing a module](/developer_guides/extending/how_tos/publish_a_module) documentation.
|
|
|
|
### Path manipulation helpers{#path-manipulation}
|
|
|
|
The following filesystem helpers have been added in order to better support working with cross-platform
|
|
path manipulation:
|
|
|
|
* `SilverStripe\Core\Convert::slashes()` to convert directory separators to either `/` or `\`
|
|
* `SilverStripe\Core\Path::join()` which will join one or more relative or absolute paths.
|
|
* `SilverStripe\Core\Path::normalise()` which will normalise and trim directory separators in a relative or absolute path
|
|
|
|
For example: normalising `Convert::normalise('/some\\dir/')` will convert to `/some/dir`.
|
|
Setting the second arg to true will also trim leading slashes.
|
|
E.g. `Convert::normalise('/sub\\dir/', true)` will convert to `sub/dir`.
|
|
|
|
It is preferrable to use these helpers in your code instead of assuming `DIRECTORY_SEPARATOR` === `/`
|
|
<!--- Changes below this line will be automatically regenerated -->
|
|
|
|
## Change Log
|
|
|
|
### API Changes
|
|
|
|
* 2018-02-13 [eed518b](https://github.com/silverstripe/silverstripe-assets/commit/eed518b00f9f8ea3e1785a82f0bcd3d69371f6ea) Shift TestAssetStore to non-test dev namespace to ensure this class is available for other modules (Damian Mooyman)
|
|
* 2018-02-01 [03cb478](https://github.com/silverstripe/silverstripe-asset-admin/commit/03cb4782a63d6ac50497dc9303e0da9ccf4faba5) Enable upload / attach options on UploadField to be individually toggled on or off (Damian Mooyman)
|
|
* 2018-01-30 [1b13072](https://github.com/silverstripe/silverstripe-versioned/commit/1b1307246d1a042213c49c203bece916d7b3b031) Ensure that duplications fail over to owned objects (Damian Mooyman)
|
|
* 2018-01-30 [aa2c71424](https://github.com/silverstripe/silverstripe-framework/commit/aa2c71424dbd4937abdcda63c37fca1ef56d3a51) Implement cascade_duplications (Damian Mooyman)
|
|
* 2018-01-22 [04050b275](https://github.com/silverstripe/silverstripe-framework/commit/04050b27538b6c3050ea4b66a6664a23f618f3b6) Director::host() now formally includes port in host (Damian Mooyman)
|
|
* 2018-01-18 [4b8140e](https://github.com/silverstripe/silverstripe-versioned/commit/4b8140e15e59a88b5908b6beb1523df7ca643c20) Refactor GridFieldVersionedState into versioned module (Damian Mooyman)
|
|
* 2018-01-18 [f4092f7bc](https://github.com/silverstripe/silverstripe-framework/commit/f4092f7bcf03b511816fcee695e5e3c036fc3219) Deprecate GridFieldVersionedState (Damian Mooyman)
|
|
* 2018-01-12 [8d077203d](https://github.com/silverstripe/silverstripe-framework/commit/8d077203d4d2a6f98b738f9c5f83e3264545677f) Implement support for public/ webroot folder (#7741) (Damian Mooyman)
|
|
* 2017-12-21 [8900298](https://github.com/silverstripe/silverstripe-assets/commit/890029813a73de5297397e3d432c9600c46e1e96) Support public/ webroot folder (Damian Mooyman)
|
|
* 2017-12-19 [b2ce6b4](https://github.com/silverstripe/recipe-core/commit/b2ce6b426703c2f75007745cc8459ab39c0c7112) Update to support public-files (Damian Mooyman)
|
|
* 2017-12-13 [c4ff8443b](https://github.com/silverstripe/silverstripe-framework/commit/c4ff8443bb1ea60a34d8eb941e6a5f368eb97635) Shift basic auth checking into middleware (Damian Mooyman)
|
|
* 2017-12-11 [c59c9e0](https://github.com/silverstripe/silverstripe-versioned/commit/c59c9e04cec808c2bc492cda32d840da1df84962) Split ownership and recursive publishing into RecursivePublishable (Damian Mooyman)
|
|
* 2017-12-11 [9170220d2](https://github.com/silverstripe/silverstripe-framework/commit/9170220d2c5f53a19ffc033f13c38f0b78931962) Add onAfterSave extension point to GridFieldDetailForm_ItemRequest (Damian Mooyman)
|
|
* 2017-11-27 [1fedc5fc](https://github.com/silverstripe/silverstripe-cms/commit/1fedc5fc10b6a1d2af417a051d7fe6bd8182b191) Make `CMSMain::getSiteTreeFor()` default to `null` nodeCount (#2029) (Lee Bradley)
|
|
* 2017-11-14 [f863573d1](https://github.com/silverstripe/silverstripe-framework/commit/f863573d1c2029be0414f352634adee3bc222663) Add getShortName to DBClassName (Damian Mooyman)
|
|
* 2017-11-07 [642cbdafc](https://github.com/silverstripe/silverstripe-framework/commit/642cbdafc8cf16d2ca48dcd0d51d5655f23ad664) Allow an array as a param to makeFieldReadOnly() (Reece Alexander)
|
|
|
|
### Features and Enhancements
|
|
|
|
* 2018-03-05 [32637413d](https://github.com/silverstripe/silverstripe-framework/commit/32637413deceb1a3c647fd51a78e1352e91ee15a) Improve upgrade rules to support advanced upgrader rewrites (#7903) (Damian Mooyman)
|
|
* 2018-03-05 [8c35e339](https://github.com/silverstripe/silverstripe-cms/commit/8c35e3391cf334917c5e314c6f1c459e9d06fbbc) Improve upgrade rules to support advanced upgrader rewrites (#2114) (Damian Mooyman)
|
|
* 2018-03-01 [61cfcc5](https://github.com/silverstripe/silverstripe-versioned/commit/61cfcc52a46895b6ff7fdb12956e01c48bfcf343) Improve upgrade rules to support advanced upgrader rewrites (Damian Mooyman)
|
|
* 2018-03-01 [e77e0f7](https://github.com/silverstripe/silverstripe-assets/commit/e77e0f758ed243a249c6056dbfc44f48b9fa535d) Improve upgrade rules to support advanced upgrader rewrites (Damian Mooyman)
|
|
* 2018-02-27 [aaf4f5a](https://github.com/silverstripe/silverstripe-asset-admin/commit/aaf4f5ad1b1160fc2dc0428d032617284e2b6f9c) expose extension point for item props in uploadfield (Christopher Joe)
|
|
* 2018-02-19 [9ebea37b](https://github.com/silverstripe/silverstripe-cms/commit/9ebea37b33d5d13ddf72a3dba4036cf5cf3209ad) Add extension point to CMSMain::Breadcrumbs (Robbie Averill)
|
|
* 2018-02-19 [1ae5f46](https://github.com/silverstripe/silverstripe-versioned/commit/1ae5f46409c03fa84da641c131ecea57dca8306c) Allow CMS breadcrumb badge to be extended (Robbie Averill)
|
|
* 2018-02-12 [9ce21338a](https://github.com/silverstripe/silverstripe-framework/commit/9ce21338a3083c80128c5923eab3d8b968f4dd83) composer.json missing notice (zanderwar)
|
|
* 2018-02-02 [dd225215](https://github.com/silverstripe/silverstripe-siteconfig/commit/dd2252156e6bb8450819a3cd544d31403acc060b) Use Bootstrap alerts instead of legacy message classes for install.php warning (Robbie Averill)
|
|
* 2018-02-02 [f582954a](https://github.com/silverstripe/silverstripe-cms/commit/f582954aea6b9f644283f1424ab0aefc41a05892) Use Bootstrap alerts instead of legacy message classes for install.php warning (Robbie Averill)
|
|
* 2018-01-31 [71f9a30](https://github.com/silverstripe/silverstripe-asset-admin/commit/71f9a30c9bad1ccf898f8d9c9e1deca0d2ad17e7) UploadField uses injector for child components (#722) (Chris Joe)
|
|
* 2018-01-30 [5892acf](https://github.com/silverstripe/silverstripe-versioned/commit/5892acfb958e4d5eade675689e7be94d7aa0c282) GraphQL versioning support (#83) (Aaron Carlino)
|
|
* 2018-01-30 [296d18c](https://github.com/silverstripe/silverstripe-graphql/commit/296d18c4657464c89df5b67c958a1cad024964c9) Versioning support for scaffolded operations (#128) (Aaron Carlino)
|
|
* 2018-01-24 [456871fd9](https://github.com/silverstripe/silverstripe-framework/commit/456871fd914cec8f8142dd5a00949c7f28caff26) Updated PasswordValidator to fallback to config options - still retains instance variables (Christopher Joe)
|
|
* 2018-01-24 [e99bd6f4](https://github.com/silverstripe/silverstripe-cms/commit/e99bd6f49e8ebb13cc6d44e9c79e47a2c26e16ce) Ensure all base folders are excluded (Damian Mooyman)
|
|
* 2018-01-23 [fcf502255](https://github.com/silverstripe/silverstripe-framework/commit/fcf50225509a7776527be351e212fcd391a28003) Add support for ordinals in DBDate::Format() (Loz Calver)
|
|
* 2018-01-22 [89c8a28](https://github.com/silverstripe/silverstripe-admin/commit/89c8a28b05097bf9974482440f2f9757cccd8daa) Put gridfield page count in button toolbar for security admin (Damian Mooyman)
|
|
* 2018-01-17 [827537f](https://github.com/silverstripe/silverstripe-versioned/commit/827537f8ac597e3aab979046964b7ead01e18fa9) Add version status badge in gridfield detail view (Saophalkun Ponlu)
|
|
* 2018-01-12 [9fddb5de9](https://github.com/silverstripe/silverstripe-framework/commit/9fddb5de999bb4faf3f95c81efcd23c19c857247) Add getter and setter for removeRelation in GridFieldDeleteAction (Robbie Averill)
|
|
* 2017-12-22 [ce1a3a4](https://github.com/silverstripe/silverstripe-versioned/commit/ce1a3a4fc704f5bbc1a8d437c7d592cfdde09837) Gridfield uses versioned by default (Saophalkun Ponlu)
|
|
* 2017-12-21 [294cfc8](https://github.com/silverstripe/silverstripe-admin/commit/294cfc8b4476a51820b2e9b1b3ea7006e40d1543) Add data object status badge in gridffield detail view (Saophalkun Ponlu)
|
|
* 2017-12-17 [8a29918a](https://github.com/silverstripe/silverstripe-reports/commit/8a29918ac586b2254a7e8daf7121105cee350b99) Remove duplicated report heading (Robbie Averill)
|
|
* 2017-12-13 [31e04c849](https://github.com/silverstripe/silverstripe-framework/commit/31e04c84917b66afd94cdda21ac8059ede09f508) Allow html in security failure message (Saophalkun Ponlu)
|
|
* 2017-12-12 [06cecc6](https://github.com/silverstripe/silverstripe-campaign-admin/commit/06cecc648774ce2080d70de5e604105121bf7b84) Set .gitattributes to ignore tests folder, and some source asset files which are not needed (Christopher Joe)
|
|
* 2017-12-12 [c342f49](https://github.com/silverstripe/silverstripe-asset-admin/commit/c342f499b52df747ef905f4bfaa916a0bdd22c3d) re-instate `setAllowedMaxFileNumber()` to the new UploadField (Christopher Joe)
|
|
* 2017-12-12 [4f946aa](https://github.com/silverstripe/silverstripe-assets/commit/4f946aaf9eadf9361ed401a5151d1852778e002c) Add cache service for file inherited permissions (Aaron Carlino)
|
|
* 2017-12-11 [d0e5bc1](https://github.com/silverstripe/silverstripe-admin/commit/d0e5bc1f9ae22a88e19855f0036c82c0120e9f73) Major refactor of validation and error handling on react forms (Aaron Carlino)
|
|
* 2017-12-10 [ccece4b](https://github.com/silverstripe/silverstripe-installer/commit/ccece4bf1c669cc5930cd7297e785e05aa157eba) update composer with --prefer-source flag so that tests are included (Christopher Joe)
|
|
* 2017-12-10 [1c1f9a1](https://github.com/silverstripe/silverstripe-versioned/commit/1c1f9a186a2a35383b91c4f38d27b3a71c711ec3) Set .gitattributes to ignore docs and tests folder, and some source asset files which are not needed (Christopher Joe)
|
|
* 2017-12-10 [33a68dda](https://github.com/silverstripe/silverstripe-siteconfig/commit/33a68ddabc8692152eff1c376f5fb5a0cfdee1f0) Set .gitattributes to ignore docs and tests folder, and some source asset files which are not needed (Christopher Joe)
|
|
* 2017-12-10 [4d805361](https://github.com/silverstripe/silverstripe-reports/commit/4d8053611d4b669e0f637c207ac7d8de728ee296) Set .gitattributes to ignore docs and tests folder, and some source asset files which are not needed (Christopher Joe)
|
|
* 2017-12-10 [b959af3](https://github.com/silverstripe/silverstripe-graphql/commit/b959af3cb800aa351cc800a2add062ac58f6e9e7) Set .gitattributes to ignore docs and tests folder, and some source asset files which are not needed (Christopher Joe)
|
|
* 2017-12-10 [aff4babfa](https://github.com/silverstripe/silverstripe-framework/commit/aff4babfa51ad458ebcf087e2a325ffed87612ac) Set .gitattributes to ignore docs and tests folder, and some source asset files which are not needed (Christopher Joe)
|
|
* 2017-12-10 [50ed744](https://github.com/silverstripe/silverstripe-errorpage/commit/50ed744e8072190eb51b1364db0c3fd3fb34a05e) Set .gitattributes to ignore docs and tests folder, and some source asset files which are not needed (Christopher Joe)
|
|
* 2017-12-10 [2985b4a6](https://github.com/silverstripe/silverstripe-cms/commit/2985b4a6e9f6aace7cca63b0f38fc25f6c067a01) Set .gitattributes to ignore docs and tests folder, and some source asset files which are not needed (Christopher Joe)
|
|
* 2017-12-10 [d08d472](https://github.com/silverstripe/silverstripe-assets/commit/d08d472155875d745a2b5690e07c7e4bf23538a2) Set .gitattributes to ignore docs and tests folder, and some source asset files which are not needed (Christopher Joe)
|
|
* 2017-12-10 [0d422e9](https://github.com/silverstripe/silverstripe-asset-admin/commit/0d422e9a2d0895c492c88fc85910b68049b09860) Set .gitattributes to ignore tests folder, and some source asset files which are not needed (Christopher Joe)
|
|
* 2017-12-07 [b8c9027](https://github.com/silverstripe/silverstripe-admin/commit/b8c9027f9d85ae69759b12518cc3c5c44626b9c9) Set .gitattributes to ignore docs and tests folder, and some source asset files which are not needed (Christopher Joe)
|
|
* 2017-11-30 [8ee5d9f5](https://github.com/silverstripe/silverstripe-cms/commit/8ee5d9f5ceddd4124feae69af9caf5a0f9b019f5) Cache canCreate (Aaron Carlino)
|
|
* 2017-11-29 [2dcb3fd2a](https://github.com/silverstripe/silverstripe-framework/commit/2dcb3fd2ab5c60c98068c8f92dde740e0e45d94e) Add documentation for pattern library (Christopher Joe)
|
|
* 2017-11-27 [a7847b573](https://github.com/silverstripe/silverstripe-framework/commit/a7847b573b65c1dc2f3d1e36ed3f53f9b1577abf) Add the ability to redirect a user to a custom page (Damian Mooyman)
|
|
* 2017-11-15 [c7ab5846d](https://github.com/silverstripe/silverstripe-framework/commit/c7ab5846df7e3f460b1c38e04a0946a914a35c19) Don't infer trace if explicitly provided (Damian Mooyman)
|
|
* 2017-11-07 [81aa617](https://github.com/silverstripe/silverstripe-campaign-admin/commit/81aa617f4c59928e6150f401a0b5e073a91d384a) eslint config (Aaron Carlino)
|
|
* 2017-11-07 [8adde15](https://github.com/silverstripe/silverstripe-asset-admin/commit/8adde153f5543dc5b3b590ba13f5f7677dcf1650) eslint config (Aaron Carlino)
|
|
* 2017-11-07 [7f3db6b](https://github.com/silverstripe/silverstripe-admin/commit/7f3db6b6fc6708e0805d16ab89faa4c596aed176) dependencies for eslint package (Aaron Carlino)
|
|
* 2017-11-06 [2e43780a8](https://github.com/silverstripe/silverstripe-framework/commit/2e43780a8ae664ead109bd99c094f3873defbfea) Add sort columns to DB index automatically (Daniel Hensby)
|
|
* 2017-11-01 [91f1a5801](https://github.com/silverstripe/silverstripe-framework/commit/91f1a58018b208b3677550dc4d22ac5d83f5124a) Allow chain-ability on adding and removing fields (zanderwar)
|
|
* 2017-10-23 [5b335ad5](https://github.com/silverstripe/silverstripe-reports/commit/5b335ad511a9cdef77c1ecb568d0cb92ba2dd2db) Add support for callable link formatting (Will Rossiter)
|
|
* 2017-09-28 [2f0a0cb63](https://github.com/silverstripe/silverstripe-framework/commit/2f0a0cb63f12c9428cce9403fdd11dd155f73116) Add (alt text) to title field for clarity (Robbie Averill)
|
|
* 2017-01-19 [da9c133c1](https://github.com/silverstripe/silverstripe-framework/commit/da9c133c1b294da9aaa580700353b6814e1d2c47) Add flattenFields() function to iterate over all deeply nested fields in a form (Jake Bentvelzen)
|
|
|
|
### Bugfixes
|
|
|
|
* 2018-03-11 [2b9faf46](https://github.com/silverstripe/silverstripe-cms/commit/2b9faf46fe6606a9236f9e1ec987f9a22689a2c7) Fix InSection failing on non-page controllers (Damian Mooyman)
|
|
* 2018-03-07 [bf2cee398](https://github.com/silverstripe/silverstripe-framework/commit/bf2cee3989028aaa461e9f0f929724b7738c1399) - Correct duplicate nesting of 'Content' to be returned to template (Joe Harvey)
|
|
* 2018-03-06 [5fee4a81a](https://github.com/silverstripe/silverstripe-framework/commit/5fee4a81aa880338fba7bb72731fd2b7be4643de) Files dataobjects with missing asset shouldn't un-attach themselves from parent object on save (Damian Mooyman)
|
|
* 2018-03-05 [dde13493](https://github.com/silverstripe/silverstripe-cms/commit/dde134936825e196ca97cb86ac3f5bc24d52278e) Fix invalid css classname in virtualpage (Damian Mooyman)
|
|
* 2018-03-05 [985a0af](https://github.com/silverstripe/silverstripe-admin/commit/985a0af292bb833ba48fa907a1b75892182ec390) Fix page icons (Damian Mooyman)
|
|
* 2018-03-02 [3bd714d](https://github.com/silverstripe/silverstripe-assets/commit/3bd714d293c3f6c12e8f7a0b3c7e054d99b410bd) Typo in "audio file" translation (Robbie Averill)
|
|
* 2018-03-01 [40c2e299a](https://github.com/silverstripe/silverstripe-framework/commit/40c2e299a0a9a63b4e64e14dff95e9f7d480db6e) "mb_stripos(): Empty delimiter" warning when no search-keywords are given for `DBText::ContextSummary`. (Roman Schmid)
|
|
* 2018-02-27 [d91c6ed](https://github.com/silverstripe/silverstripe-admin/commit/d91c6ed0dc699f769802e5d1310f3fe111dd8ecf) Fix $CMSVersion appearing visually (Damian Mooyman)
|
|
* 2018-02-26 [b27102f81](https://github.com/silverstripe/silverstripe-framework/commit/b27102f810e873d287fa04678a4ff242c40699f6) Fix incorrect assets created when ASSETS_PATH !== BASE_PATH . '/assets' (Damian Mooyman)
|
|
* 2018-02-22 [012bfec5](https://github.com/silverstripe/silverstripe-cms/commit/012bfec5bf8e0902f3325c8e7fb237d48bd189ad) Bug field help text translations no longer need to be HTML encoded (Rick Hambrook)
|
|
* 2018-02-20 [83c4ab8d](https://github.com/silverstripe/silverstripe-cms/commit/83c4ab8d180954b3d80d16ed5f5764e3c647ca6d) Fix test regressions in CMS page filters (Damian Mooyman)
|
|
* 2018-02-19 [cfe82e9](https://github.com/silverstripe/silverstripe-assets/commit/cfe82e912616ca230b8fd29fba3bd3270fac2502) Fix behaviour towards versioned but unstagable records (Damian Mooyman)
|
|
* 2018-02-19 [42c6caa](https://github.com/silverstripe/silverstripe-versioned/commit/42c6caadabe6f193ef6820efff6c470e8796dfe5) Fix behaviour towards versioned but unstagable records (4.1 specific) (Damian Mooyman)
|
|
* 2018-02-19 [4fc8166](https://github.com/silverstripe/silverstripe-versioned/commit/4fc816653e84c0a883a01afe30e16e8bd4129f53) Fix behaviour towards versioned but unstagable records (Damian Mooyman)
|
|
* 2018-02-19 [0e26c0664](https://github.com/silverstripe/silverstripe-framework/commit/0e26c066440d2591401e84d9688cbeef0595afcc) Fix behaviour towards versioned but unstagable records (Damian Mooyman)
|
|
* 2018-02-19 [3be0478e](https://github.com/silverstripe/silverstripe-cms/commit/3be0478e1c40cd2b9f577818596c4222b365b6b6) Fix behaviour towards versioned but unstagable records (Damian Mooyman)
|
|
* 2018-02-19 [33165e5](https://github.com/silverstripe/silverstripe-versioned/commit/33165e5b8f33ed1916b99b37cc61de182177897c) Always run updateBadge extension, even if Versioned has no badges of its own (Robbie Averill)
|
|
* 2018-02-19 [8be3930](https://github.com/silverstripe/silverstripe-versioned/commit/8be393061e8578c3bd9056c6540e5f0bbff43801) Fix doRollbackTo() writing old / unsaved version over restored version (Damian Mooyman)
|
|
* 2018-02-14 [2fab96b](https://github.com/silverstripe/silverstripe-asset-admin/commit/2fab96b11dff2e15f150f2b1cd9d2461d247b953) behat tests with new cms button labels (Christopher Joe)
|
|
* 2018-02-13 [911a50c](https://github.com/silverstripe/silverstripe-errorpage/commit/911a50c35c74e0482dbf182762112099eee30fbe) tests to use new TestAssetStore (Damian Mooyman)
|
|
* 2018-02-13 [c767e472d](https://github.com/silverstripe/silverstripe-framework/commit/c767e472dc494408460ef47c27b8d34475da4ac6) DataObject singleton creation (Jonathon Menz)
|
|
* 2018-02-13 [f2b82b1f7](https://github.com/silverstripe/silverstripe-framework/commit/f2b82b1f77a60de4bf1b5807e1b820aad263ae1b) docs for configuring before/after a specific config file (Christopher Joe)
|
|
* 2018-02-13 [0b7cf8033](https://github.com/silverstripe/silverstripe-framework/commit/0b7cf8033198077cf6594f91e3f816d562cabc50) Fix incorrect convert slashes argument (Damian Mooyman)
|
|
* 2018-02-13 [c6095cf](https://github.com/silverstripe/silverstripe-config/commit/c6095cfc0a07a74bb932e2191215d06f102e992a) word boundary issue with pathname matching (Christopher Joe)
|
|
* 2018-02-13 [1d27a14](https://github.com/silverstripe/silverstripe-admin/commit/1d27a14be75efb33a503f7f1c15b093ab3b59c7f) Remove border-radius add hover states to non-active tabs (Sacha Judd)
|
|
* 2018-02-12 [ad52ced](https://github.com/silverstripe/silverstripe-versioned/commit/ad52ced4353b8abe312aeacfb2c95657169feedc) Prevent nested permissions from breaking recursive publishing (Damian Mooyman)
|
|
* 2018-02-12 [0f08f85](https://github.com/silverstripe/silverstripe-admin/commit/0f08f85508d01a578015848caff032ae0fd62e4c) improve the browser warning logic show (Christopher Joe)
|
|
* 2018-02-12 [423cbe0](https://github.com/silverstripe/silverstripe-graphql/commit/423cbe0ada53fcb63789cbdbafc94952dc2d7637) Fix broken createArgs() for scaffolded reads (#138) (Damian Mooyman)
|
|
* 2018-02-08 [d86e5dfc](https://github.com/silverstripe/silverstripe-cms/commit/d86e5dfc883267ffaa0c43e9ece7576c4f42ed61) remove now superfluous print action destroyer (Dylan Wagstaff)
|
|
* 2018-02-08 [d3278d547](https://github.com/silverstripe/silverstripe-framework/commit/d3278d5470165bba14ee5026453ec7d529901f42) Add Nested DB transaction support (#7848) (Daniel Hensby)
|
|
* 2018-02-08 [0a486b8f5](https://github.com/silverstripe/silverstripe-framework/commit/0a486b8f5705242de523489190f3975d55b3b3e6) Fix issue with CLIDebugView failing on class name of existing class (Damian Mooyman)
|
|
* 2018-02-08 [df62ffa](https://github.com/silverstripe/silverstripe-versioned/commit/df62ffa2616212f4b6000ec7c7b51558e5414e61) Fix createArgs() for Versioned graphql operations (Damian Mooyman)
|
|
* 2018-02-07 [dd3fbf2c7](https://github.com/silverstripe/silverstripe-framework/commit/dd3fbf2c73a662a5d525178800d9697a895feea1) Fix installer checking wrong location for files (Damian Mooyman)
|
|
* 2018-02-07 [a0fa38b](https://github.com/silverstripe/silverstripe-asset-admin/commit/a0fa38b36fbe81941bcc56158428a2cc924532c0) Fit sort dropdown to icon on smaller sizes to prevent wrapping (Luke Edwards)
|
|
* 2018-02-07 [86f2ff4](https://github.com/silverstripe/silverstripe-asset-admin/commit/86f2ff4a13200305ff0800abd45c3939fe22c452) Align buttons to right to keep consistency (Luke Edwards)
|
|
* 2018-02-07 [24dfe11](https://github.com/silverstripe/silverstripe-asset-admin/commit/24dfe114cb926df3009aa59aeb59393fd63dbab8) Asset admin toolbar buttons stacking vertically on small screens (Luke Edwards)
|
|
* 2018-02-07 [e5ff48b35](https://github.com/silverstripe/silverstripe-framework/commit/e5ff48b352fc94cfab15f29132535752f7a7ed2f) Fix incorrect BASE_URL when webroot is parent of public folder (Damian Mooyman)
|
|
* 2018-02-07 [168b8999](https://github.com/silverstripe/silverstripe-cms/commit/168b899917957981086bc20f1d8259d7c8e6789f) Add missing button styles to restore draft action (Luke Edwards)
|
|
* 2018-02-07 [b060892](https://github.com/silverstripe/silverstripe-installer/commit/b060892992735cb12a2d57bbf6ba45c3803a03c8) Fix routing error for public assets (Damian Mooyman)
|
|
* 2018-02-06 [0094c19](https://github.com/silverstripe/silverstripe-admin/commit/0094c19304eea5ac02daf42095da341315dae84f) Add text-colour to status-archived, remove span.badge styles (Sacha Judd)
|
|
* 2018-02-06 [6b38031a1](https://github.com/silverstripe/silverstripe-framework/commit/6b38031a1e16e94d5bafcbcce4bdcb2d6b3680ed) Fix Director::test() not persisting removed session keys on teardown (Damian Mooyman)
|
|
* 2018-02-06 [660dfd34a](https://github.com/silverstripe/silverstripe-framework/commit/660dfd34a828e7eb7dc8ef9986b201a14620d17f) Issue where default admin has no password encryption (Daniel Hensby)
|
|
* 2018-02-05 [28ca11dd7](https://github.com/silverstripe/silverstripe-framework/commit/28ca11dd7e5e9a1c4fd1f5d4acbec856adfb7176) Regex range identifier correctly escaped (Daniel Hensby)
|
|
* 2018-02-05 [db9aa2c5c](https://github.com/silverstripe/silverstripe-framework/commit/db9aa2c5c7be75cfdf1a803c77e6c74d151163b0) Fix regression in has_one getters breaking DataDifferencer (Damian Mooyman)
|
|
* 2018-02-04 [dbecf1c](https://github.com/silverstripe/silverstripe-versioned/commit/dbecf1c5a7d8d94d18f653c53cf3a0debbc542e1) Prevent versioned records self-publishing (Damian Mooyman)
|
|
* 2018-02-04 [1ff32b3](https://github.com/silverstripe/silverstripe-admin/commit/1ff32b347911c1a6f8521f31e79131db68ed3084) Ensure lang is detected from html tag (Martin P)
|
|
* 2018-02-02 [6a025f7](https://github.com/silverstripe/silverstripe-versioned/commit/6a025f7893145e61767e59c789ed580d6f7cca86) Remove unnecessary recursivePublish() calls (Damian Mooyman)
|
|
* 2018-02-01 [bc2fc7f2d](https://github.com/silverstripe/silverstripe-framework/commit/bc2fc7f2dbf18d92ad6ef29c8173ff26b5213608) Prevent invalid members being written to database if validation_enabled is false (Damian Mooyman)
|
|
* 2018-01-31 [884cee7](https://github.com/silverstripe/silverstripe-versioned/commit/884cee753a97a47fa3232fbe64f2def368ea8741) Prevent versioned crashing in absence of graphql module (Damian Mooyman)
|
|
* 2018-01-30 [07e70148](https://github.com/silverstripe/silverstripe-cms/commit/07e70148dacb8cd84f976f796320c9f47c33b3a0) Add some exist check for tabsets which may not be there (#2079) (Chris Joe)
|
|
* 2018-01-30 [206e8b4](https://github.com/silverstripe/silverstripe-graphql/commit/206e8b44b85809789bbcee9eaead5535b1e813a9) Remove duplicate extensible traits (#133) (Damian Mooyman)
|
|
* 2018-01-26 [416915b08](https://github.com/silverstripe/silverstripe-framework/commit/416915b08248285083518850ad8d015ca8ed25c2) tableName is blank in CompositeDBField->addToQuery (Dominik Beerbohm)
|
|
* 2018-01-25 [cf69d0486](https://github.com/silverstripe/silverstripe-framework/commit/cf69d048665befa90eb43146f86cde984b876b3a) Fix ping including requirements (Damian Mooyman)
|
|
* 2018-01-24 [c2cd6b383](https://github.com/silverstripe/silverstripe-framework/commit/c2cd6b3832c6bc4775b2742df593b445c2aca391) Fix Member_GroupSet::removeAll() (fixes #3948) (Loz Calver)
|
|
* 2018-01-24 [f2b4c192e](https://github.com/silverstripe/silverstripe-framework/commit/f2b4c192ec4d70779f7c667a976e741a7f3a26c5) Fix UploadField cuts off “Save” button (closes #2862) (Loz Calver)
|
|
* 2018-01-24 [c23acae](https://github.com/silverstripe/recipe-core/commit/c23acaed9e0b629c6812f0e923eb008dacd5f0fb) remove linting error for dependents' benefit (Dylan Wagstaff)
|
|
* 2018-01-23 [cbcff97](https://github.com/silverstripe/silverstripe-admin/commit/cbcff97c97629666f07ad23a2d1da9d9c6b0b59e) performance issue with context for injector (#405) (Chris Joe)
|
|
* 2018-01-23 [7384e3fc2](https://github.com/silverstripe/silverstripe-framework/commit/7384e3fc25987742ea08af74b704857a936e8ec0) Gridfields with dropdowns having lots of overflow (Scott Hutchinson)
|
|
* 2018-01-22 [c32b3dd5b](https://github.com/silverstripe/silverstripe-framework/commit/c32b3dd5bae8d2eb43cf0049ae80a4d7495c1c9a) Prevent versioned from breaking gridfield tests (Damian Mooyman)
|
|
* 2018-01-18 [b32cc57](https://github.com/silverstripe/silverstripe-versioned/commit/b32cc57832ee00868507fd771fca1930c31407ca) breadcrumbs casting (Damian Mooyman)
|
|
* 2018-01-17 [7eef400](https://github.com/silverstripe/recipe-core/commit/7eef40098e73dfed8c21ea2be057c98fedbb7489) Ensure there is an error response if composers autoloader cant be found (Daniel Hensby)
|
|
* 2018-01-16 [ca2fe3b1f](https://github.com/silverstripe/silverstripe-framework/commit/ca2fe3b1f63823e059fb8652eb2d0d7098537f69) Fix themed editor.css url not being resolved properly (Damian Mooyman)
|
|
* 2018-01-16 [20348b5f4](https://github.com/silverstripe/silverstripe-framework/commit/20348b5f42d343e704e8cd8200a50a17e7a38326) Fix `upgrade-code doctor` with public path (Damian Mooyman)
|
|
* 2018-01-15 [15ef769e1](https://github.com/silverstripe/silverstripe-framework/commit/15ef769e1d68909908caf97daed9f8d854173c72) Don't re-declare manually-declared variables for public folder (Damian Mooyman)
|
|
* 2018-01-15 [292647d](https://github.com/silverstripe/recipe-core/commit/292647d26f13f9a9e139536f3f04cfdb6b283186) Fix routing error for public assets (Damian Mooyman)
|
|
* 2018-01-12 [23a23043](https://github.com/silverstripe/silverstripe-cms/commit/23a23043bc250f1e87a4bfdae719f6f36cc52ed6) successfullyinstalled() (#2069) (Damian Mooyman)
|
|
* 2018-01-02 [b3ae11fe4](https://github.com/silverstripe/silverstripe-framework/commit/b3ae11fe478a14b025a26858236e4bf86aaac661) Missing Part of Sentence (David Lloyd)
|
|
* 2017-12-22 [212178bb0](https://github.com/silverstripe/silverstripe-framework/commit/212178bb0d59199dc4ed2d214957db30d1c03b39) `SSViwer::execute_template` should allow requirements to be included (Daniel Hensby)
|
|
* 2017-12-19 [2fd81eea](https://github.com/silverstripe/silverstripe-cms/commit/2fd81eea9e593e97ccc939b0597e7369a459f87f) no button view type toggle when searching pages (Saophalkun Ponlu)
|
|
* 2017-12-19 [646ba571](https://github.com/silverstripe/silverstripe-cms/commit/646ba57152dee2cd2e168f95085c6fa55b878fc1) Amend rules to ignore test files only (Christopher Joe)
|
|
* 2017-12-19 [5fdd3a5](https://github.com/silverstripe/silverstripe-campaign-admin/commit/5fdd3a5d1520bbc3f2e324e21aeb4539bcd2a574) Amend rules to ignore test files only (Christopher Joe)
|
|
* 2017-12-19 [ae9d016](https://github.com/silverstripe/silverstripe-asset-admin/commit/ae9d016295461eeea0cd9ddb864f8320ab3fd7e7) Amend rules to ignore test files only (Christopher Joe)
|
|
* 2017-12-19 [fe319e85c](https://github.com/silverstripe/silverstripe-framework/commit/fe319e85ccf8fbd3cacab0b27539c184051e5e76) Amend rules to ignore test files only (Christopher Joe)
|
|
* 2017-12-18 [74cd028](https://github.com/silverstripe/silverstripe-admin/commit/74cd0281b2ad8691315ec9da1d9a545edd785214) applyTransforms not using new addErrors() API (Aaron Carlino)
|
|
* 2017-12-14 [c5bd9bb42](https://github.com/silverstripe/silverstripe-framework/commit/c5bd9bb424006a4cbce1c71806c323d9ca3328e1) Fix incorrect BASE_DIR inferred in CLI (Damian Mooyman)
|
|
* 2017-12-14 [b1099a9](https://github.com/silverstripe/silverstripe-asset-admin/commit/b1099a907b0441087263c842686a2f43397d653c) php lint errors (Saophalkun Ponlu)
|
|
* 2017-12-14 [140ed72e2](https://github.com/silverstripe/silverstripe-framework/commit/140ed72e2aa91a55e0923d9691587933968d1127) Fix message casting for html security messages (Damian Mooyman)
|
|
* 2017-12-14 [3eda4e0](https://github.com/silverstripe/silverstripe-admin/commit/3eda4e09849643ec8e0f54770842a2d3900fe0eb) Clean up i18n._t() (Christopher Joe)
|
|
* 2017-12-14 [8b1b9f022](https://github.com/silverstripe/silverstripe-framework/commit/8b1b9f022b5dae9fb2b6c78c2505cd21dc042968) linting issues (Damian Mooyman)
|
|
* 2017-12-14 [b4a35293](https://github.com/silverstripe/silverstripe-reports/commit/b4a3529339345b88cf9db9503caef1b386709dc6) Minor linting violation in Report (Robbie Averill)
|
|
* 2017-12-13 [210213a4](https://github.com/silverstripe/silverstripe-cms/commit/210213a45586b097c5478654286d9d9569ce10d2) search behaviour (Damian Mooyman)
|
|
* 2017-12-13 [c2d54a57](https://github.com/silverstripe/silverstripe-cms/commit/c2d54a571dfa8e5527202d8b7ce2036670ce5021) up code style, fix tests (Damian Mooyman)
|
|
* 2017-12-13 [749616e](https://github.com/silverstripe/silverstripe-admin/commit/749616ecf58f8a19b229cc578aa956e2226d337b) linting issues (Damian Mooyman)
|
|
* 2017-12-12 [8a04e9c4](https://github.com/silverstripe/silverstripe-cms/commit/8a04e9c46b3b6bfe75f7dfba7270cabfaceab475) wrong/confusing url segment (Saophalkun Ponlu)
|
|
* 2017-12-11 [6dd07b52](https://github.com/silverstripe/silverstripe-cms/commit/6dd07b5262c6d43f0b373214ff24b1c1d5a686e0) CI config for 4 branch (Damian Mooyman)
|
|
* 2017-12-10 [627b49637](https://github.com/silverstripe/silverstripe-framework/commit/627b49637986ab9baa9134aaf4aa4639fc3d705d) linting issue (Damian Mooyman)
|
|
* 2017-12-07 [381ad756f](https://github.com/silverstripe/silverstripe-framework/commit/381ad756f2fe9b81c13ac7f9f2aa4abfa8cb2d03) tests (Saophalkun Ponlu)
|
|
* 2017-12-07 [b391db49](https://github.com/silverstripe/silverstripe-cms/commit/b391db4977c7a6bdfd7c8fc8668c1e636acaf13a) search view (Saophalkun Ponlu)
|
|
* 2017-12-03 [fa2cb40](https://github.com/silverstripe/silverstripe-asset-admin/commit/fa2cb4020041706d66fef1184cd50e6ee0a598c9) travis (Christopher Joe)
|
|
* 2017-12-01 [682ef89](https://github.com/silverstripe/silverstripe-admin/commit/682ef89bde9bd30b19710c9f2b3ba757d4939893) loading order for modules (Christopher Joe)
|
|
* 2017-11-30 [0884f05](https://github.com/silverstripe/silverstripe-asset-admin/commit/0884f054268b367186748b9a0bb9703136d69501) Fix broken unit tests (Christopher Joe)
|
|
* 2017-11-29 [2717f0134](https://github.com/silverstripe/silverstripe-framework/commit/2717f013447069fd1879b24140dd84145ece9cef) link to nginx.org wiki (JorisDebonnet)
|
|
* 2017-11-29 [4b69fa49e](https://github.com/silverstripe/silverstripe-framework/commit/4b69fa49ece5065a6413559325fb4ea682cf1036) Fix travis (Christopher Joe)
|
|
* 2017-11-29 [5b40419](https://github.com/silverstripe/silverstripe-asset-admin/commit/5b404192426096cc194e1156402366d9d98ba411) Fix removed scss variables (Christopher Joe)
|
|
* 2017-11-27 [86f84597](https://github.com/silverstripe/silverstripe-reports/commit/86f845972f926d09186eabcd39cdabfa672b9f35) Actioned feedback (Christopher Joe)
|
|
* 2017-11-14 [4ba6056](https://github.com/silverstripe/silverstripe-admin/commit/4ba605688ef3e887ec4a2e89b82b17d5908b9eaa) update lock and eslintrc reference (Christopher Joe)
|
|
* 2017-11-14 [b5345fd](https://github.com/silverstripe/silverstripe-campaign-admin/commit/b5345fd7d2f4a69f92a8231bb1b5e3d34e775149) update lock and eslintrc reference (Christopher Joe)
|
|
* 2017-11-14 [861bfa7](https://github.com/silverstripe/silverstripe-asset-admin/commit/861bfa729f38b889566068aeb88ff5cdf9f07d00) update lock and eslintrc reference (Christopher Joe)
|
|
* 2017-11-09 [ba2c5b48f](https://github.com/silverstripe/silverstripe-framework/commit/ba2c5b48f7f0308db7878989cd17b37af7ee59a0) Ensure relObject() safely bails on empty objects (Damian Mooyman)
|
|
* 2017-10-26 [0dcc9d6](https://github.com/silverstripe/silverstripe-assets/commit/0dcc9d66aa442b1727f74c5085fe2bf7074ddd07) Prevent massive recursion of publish writes (Damian Mooyman)
|
|
* 2017-10-16 [cafa3fc29](https://github.com/silverstripe/silverstripe-framework/commit/cafa3fc29ae39c01dbbe52373bb366846e886798) switch to `trigger_error()` when a resource is not found (#7468) (Chris Joe)
|
|
* 2017-10-11 [7adedd0](https://github.com/silverstripe/silverstripe-admin/commit/7adedd0c0e67b29a6d2cc16060228c4c4666acfd) Remove duplicate "field" class in FieldGroup holder template (Robbie Averill)
|
|
* 2017-09-27 [c95916037](https://github.com/silverstripe/silverstripe-framework/commit/c959160375ddb77db5cff269c48c5721fad8cd51) Misnamed test namespaces (Daniel Hensby)
|
|
* 2016-10-21 [8e5bb6fbd](https://github.com/silverstripe/silverstripe-framework/commit/8e5bb6fbdce0b2ca2d08a45534df2264db5e6b12) Fix : relObject() should return null if one of the node is null (Jason)
|
|
* 2016-03-15 [22b3a71ec](https://github.com/silverstripe/silverstripe-framework/commit/22b3a71ec0c8cd8c38030fa0bf5449abefafe8a3) ing val reference to url in https hotlink (Denise Rivera)
|
|
* 2015-04-22 [1f63637b9](https://github.com/silverstripe/silverstripe-framework/commit/1f63637b9369d4644a92523ada5d1a5dc0576c12) for #4095, TinyMCE not able to modify props of embed media (bug 1) and invalid HTML inserted (bug 2) (Patrick Nelson)
|