Version 5 supported

5.1.0-rc1

Overview

A full list of module versions included in CMS Recipe 5.1.0-rc1 is provided below. We recommend referencing recipes in your dependencies, rather than individual modules, to simplify version tracking. See Recipes.

Included module versions
ModuleVersion
bringyourownideas/silverstripe-composer-update-checker4.0.0
bringyourownideas/silverstripe-maintenance3.0.1
cwp/agency-extensions3.1.0-rc1
cwp/starter-theme4.0.0
cwp/watea-theme4.0.0
dnadesign/silverstripe-elemental5.1.0-rc1
dnadesign/silverstripe-elemental-userforms4.1.0-rc1
silverstripe-themes/simple3.3.0
silverstripe/admin2.1.0-rc1
silverstripe/asset-admin2.1.0-rc1
silverstripe/assets2.1.0-rc1
silverstripe/auditor3.0.0
silverstripe/blog4.1.0-rc1
silverstripe/campaign-admin2.1.0-rc1
silverstripe/cms5.1.0-rc1
silverstripe/config2.1.0-rc1
silverstripe/contentreview5.1.0-rc1
silverstripe/crontask3.0.2
silverstripe/documentconverter3.1.0-rc1
silverstripe/dynamodb5.0.0
silverstripe/elemental-bannerblock3.1.0-rc1
silverstripe/elemental-fileblock3.1.0-rc1
silverstripe/environmentcheck3.0.1
silverstripe/errorpage2.1.0-rc1
silverstripe/externallinks3.1.0-rc1
silverstripe/framework5.1.0-rc1
silverstripe/graphql5.1.0-rc1
silverstripe/gridfieldqueuedexport3.1.0-rc1
silverstripe/hybridsessions3.0.2
silverstripe/iframe3.1.0-rc1
silverstripe/installer5.1.0-rc1
silverstripe/ldap2.1.0-rc1
silverstripe/login-forms5.1.0-rc1
silverstripe/lumberjack3.0.2
silverstripe/mfa5.1.0-rc1
silverstripe/mimevalidator3.0.0
silverstripe/realme5.2.0-rc1
silverstripe/recipe-authoring-tools2.1.0-rc1
silverstripe/recipe-blog2.1.0-rc1
silverstripe/recipe-cms5.1.0-rc1
silverstripe/recipe-collaboration2.1.0-rc1
silverstripe/recipe-content-blocks3.1.0-rc1
silverstripe/recipe-core5.1.0-rc1
silverstripe/recipe-form-building2.1.0-rc1
silverstripe/recipe-kitchen-sink5.1.0-rc1
silverstripe/recipe-plugin2.0.0
silverstripe/recipe-reporting-tools2.1.0-rc1
silverstripe/recipe-services2.1.0-rc1
silverstripe/registry3.1.0-rc1
silverstripe/reports5.1.0-rc1
silverstripe/restfulserver3.0.0
silverstripe/securityreport3.0.0
silverstripe/segment-field3.1.0-rc1
silverstripe/session-manager2.1.0-rc1
silverstripe/sharedraftcontent3.1.0-rc1
silverstripe/siteconfig5.1.0-rc1
silverstripe/sitewidecontent-report4.1.0-rc1
silverstripe/spamprotection4.1.0
silverstripe/staticpublishqueue6.1.0-rc1
silverstripe/subsites3.1.0-rc1
silverstripe/tagfield3.1.0-rc1
silverstripe/taxonomy3.1.0-rc1
silverstripe/textextraction4.0.0
silverstripe/totp-authenticator5.1.0-rc1
silverstripe/userforms6.1.0-rc1
silverstripe/vendor-plugin2.0.1
silverstripe/versioned2.1.0-rc1
silverstripe/versioned-admin2.1.0-rc1
silverstripe/versionfeed3.1.0-rc1
silverstripe/webauthn-authenticator5.1.0-rc1
symbiote/silverstripe-advancedworkflow6.1.0-rc1
symbiote/silverstripe-gridfieldextensions4.0.3
symbiote/silverstripe-multivaluefield6.0.1
symbiote/silverstripe-queuedjobs5.0.2
tractorcow/silverstripe-fluent7.0.0

Release candidate

This version of Silverstripe CMS is a release candidate for an upcoming stable version, and should not be applied to production websites. We encourage developers to test this version in development / testing environments and report any issues they encounter via GitHub.

Security considerations

This release includes a security fix. Review the vulnerability disclosure for a more detailed description of the security fix. We highly encourage upgrading your project to include the latest security patches.

We have provided a severity rating of the vulnerability below based on the CVSS score. Note that the impact of the vulnerability could vary based on the specifics of each project. You can read the severity rating definitions in the Silverstripe CMS release process.

Released on july 31 2023

A patch for the following security vulnerability was released on July 31 2023. You can learn more about this in the blog post about this patch. Note that there was also a patch for a vulnerability that only affected Silverstripe CMS 4 released on the same day, which you can read about in that blog post.

  • CVE-2023-32302 - Members with no password can be created and bypass custom login forms Severity: None When a new Member record was created in the CMS it was possible to set a blank password. If an attacker knows the email address of the user with the blank password then they can attempt to log in using an empty password. The default member authenticator, login form and basic auth all require a non-empty password, however if a custom authentication method is used it may allow a successful login with the empty password. See the security advisory for more information including how to identify affected Member records.

Features and enhancements

New logo

Silverstripe CMS has a new logo! It will be rolling out on our web presence as we find instances of the old one and now you can see it in this release of Silverstripe CMS. A new logo provides a clearer distinction between Silverstripe (the company) and Silverstripe CMS.

Eager loading

When looping over nested relationships the ORM is prone to the N + 1 query problem where excessive database calls are made. Eager loading has been introduced via the new DataList::eagerLoad() method which alleviates the N + 1 problem by querying the nested relationship tables before they are needed using a single large WHERE ID in ($ids) SQL query instead of many WHERE RelationID = $id queries.

Imagine the following example where there is a Team model with 20 records, with a has_many relation "Players"

// Regular ORM usage without eager loading
// This would result in 21 SQL SELECT queries, 1 for Teams and 20 for Players
$teams = Team::get();

// Using the `eagerLoad()` method to eager load data from nested models (up to 3 relations deep)
// This will result in only 2 SQL SELECT queries, 1 for Teams and 1 for Players
$teams = Team::get()->eagerLoad('Players');

foreach ($teams as $team) {
    foreach ($team->Players() as $player) {
        echo $player->FirstName;
    }
}

In a test setup with looping through 100 DataObjects each with 100 related DataObjects for a total of 10,000 records per test run, the following performance improvements were observed for different types of relations (eager-loading vs not eager-loading):

  • HasOne - 3227% faster (0.0078s vs 0.2595s)
  • HasMany - 25% faster (0.1453s vs 0.1819s)
  • ManyMany - 25% faster (0.1664s vs 0.2083s)
  • ManyManyThrough - 16% faster (0.6586s vs 0.7681s)

Note that those observations were made using MySQL.

Read more about eager loading including its limitations in the developer docs.

ArrayList improvements

ArrayList now supports SearchFilter syntax for filtering

You can now use SearchFilter syntax when calling any of the filter or exclude methods on ArrayList. For example:

use SilverStripe\ORM\ArrayList;

$list = ArrayList::create([
    [
        'Title' => 'Silverstripe CMS is awesome',
    ],
    [
        'Title' => 'ArrayList is now more powerful than ever',
    ],
]);

// This will contain only the item with the title "Silverstripe CMS is awesome"
$filteredList = $list->filter('Title:PartialMatch', 'CMS');

For backwards compatibility, ArrayList filters are explicitly case sensitive by default. This differs from DataList which uses the database configuration to determine its default case sensitivity. See search filter modifiers for more details including how to configure this for your project.

New ArrayList::excludeAny() method

ArrayList now has an excludeAny() method, which mirrors the DataList::excludeAny() method.

Improvement to page search performance with elemental

  • The CMS search has been optimised to reduce the number of database queries made when searching for pages with elemental content blocks. This has resulted in a small performance improvement. In our test environment, with 1,000 pages each with 5 content blocks we observed a 9% performance improvement using MySQL. Performance will vary with your environment.
  • A new opt-in behaviour is available that makes a very large difference to performance when using elemental content blocks. In testing, this behaviour was more than 100% faster (i.e. halving the response time) of the sitetree search request. The opt-in feature disables the default behaviour of rendering all content blocks for CMS search. Instead, it simply extracts the database contents of the elements from its text and html fields. There is a downside to consider which is that any related content not directly on the element will not be matched against the search query. Note this does not use the $searchable_fields config. To opt-in to this behaviour, use the following config:
DNADesign\Elemental\Controllers\ElementSiteTreeFilterSearch:
  render_elements: false

If render_elements is set to false then individual fields on elements can be excluded from search by adding them to a config array:

App\MyElement:
  fields_excluded_from_cms_search:
    - MyFieldToExclude
    - AnotherFieldToExclude

New InheritedPermissions option - only these members

Applying the InheritedPermissionsExtension to a DataObject class gives you the ability to declare that only users in certain groups can view or edit those records. This extension is applied by default to the File and SiteTree classes.

A new permission has been added to InheritedPermissions, which powers that extension. The new permission (InheritedPermissions::ONLY_THESE_MEMBERS) allows you to define which specific Member records should have access to your records, regardless of which groups those members belong to.

In the CMS, this new permission is available for files and pages by setting "Who can view/edit this page/file" to "Only these users".

Optimised queries when filtering against iDs

DataList queries filtering against a list of IDs have been optimised when all of the following criteria are met:

  • the column being filtered is a DBPrimarykey or a DBForiegnKey
  • the values being filtered are all either integers or valid integer strings
  • using placeholders for integer ids has been configured off, which is the default config value.

If you want to disable this optimisation you can do so with this configuration:

SilverStripe\ORM\DataList:
  use_placeholders_for_integer_ids: true

The following performance improvements were measured in a test setup where 10,000 record IDs were passed in:

  • DataList::byIDs() - 198% faster - (0.0608s vs 0.1812s)
  • RelationList::foreignIDFilter()

    • HasManyList::foreignIDFilter() - 108% faster (0.1584s vs 0.3304s)
    • ManyManyList::foreignIDFilter() - 108% faster (0.1529s vs 0.3119s)
    • ManyManyThroughList::foreignIDFilter() - 27% faster (0.6901s vs 0.8766s)

Note that those observations were made using MySQL.

Session manager changes

Anonymize stored IP addresses

A configuration option has been added to Session Manager to anonymize stored IP addresses for enhanced privacy and compliance.

If you want to anonymize stored IP addresses then use the following configuration:

SilverStripe\SessionManager\Models\LoginSession:
  anonymize_ip: true

GarbageCollectionService can remove data in batches

A configuration option has been added to GarbageCollectionService to limit the number of items it removes each time you run garbage collection on session data. It will not be limited by default but you can optionally limit the number of items it will remove in a single run by setting the following YAML configuration:

SilverStripe\SessionManager\Services\GarbageCollectionService:
  batch_remove_limit: 1000

See garbage collection for more details.

Threshold for updating LastAccessed in LoginSession

LoginSession used to write to the database on every request to update the LastAccessed field for the logged in user. This adds a bit of overhead to every request that adds up.

A timed threshold (with a default of 300 seconds, or 5 minutes) is now used. The LastAccessed value will only be updated and written to the database if the last time the user made a request to the server was longer than this threshold. You can change the threshold to meet the requirements of your auditing with the following YAML configuration:

SilverStripe\SessionManager\Models\LoginSession:
  last_accessed_threshold: 150

Static publish queue related page regeneration

New configuration options have been added to Static Publish Queue to force regeneration of related pages after publishing or unpublishing a related page. You can enable this with the following configuration:

SilverStripe\CMS\Model\SiteTree:
  regenerate_children: recursive
  regenerate_parents: recursive

Available options are:

  • none: Do not regenerate any parent or child hierarchy
  • direct: Regenerate only one level above or below (direct parent or children, but not grandparent or grandchildren)
  • recursive: Regenerate the entire parent or child hierarchy

Read more about new configuration options.

Other new features

  • You can now exclude specific DataObject models from the check and repair step of dev/build - see ORM Performance for more information.
  • You can change what SearchFilter the TreeDropdownField uses with YAML configuration - see ORM Performance for more information.
  • The i18nTextCollector now collects strings for ORM properties (e.g. $db fields) in DataObject and Extension classes, and from themes. See i18n - collecting text for more details.
  • Extensions which modify permissions for Group records which return true will be respected, the same as when modifying permissions for any other DataObject record.
  • The ListboxField now has a react component, and can be used in react-powered contexts such as within elemental blocks
  • A new FieldsValidator class has been added, which simply calls validate() on all data fields in the form to ensure fields have valid values. Functionally equivalent to an empty RequiredFields validator.
  • In your GraphQL schemas, you can now define the pagination limit at a schema level. See limiting pagination in the GraphQL documentation for more details.

API changes

silverstripe/framework

  • BuildTask now has boolean is_enabled configuration option which has precedence over the existing BuildTask::enabled protected class property. The BuildTask::enabled property has been marked as deprecated and will be removed in CMS 6 if favour of using is_enabled instead.
  • Passing an argument for $limit that is not array|string|null in SilverStripe\ORM\Search\SearchContext::getQuery() will throw a deprecation warning. In CMS 6 the parameter type will be changed from dynamic to array|string|null.
  • You can now declare the default case sensitivity used by SearchFilter implementations, which power the DataList filtering functionality. See search filter modifiers for more details.

silverstripe/elemental-fileblock

  • The FileBlock::getSummaryThumbnail() method has been marked as deprecated and will be removed in CMS 6 without equivalent functionality to replace it, as it is no longer required for the elemental block's preview summary.

Dependency changes

  • The unsupported modules silverstripe/widgets and silverstripe/content-widget were removed from silverstripe/recipe-blog. They were accidentally included in the 2.0.0 release of silverstripe/recipe-blog. The silverstripe/widgets and silverstripe/content-widget modules are CMS-5-compatible though unsupported. If your project relies on silverstripe/widgets or silverstripe/content-widget, manually update your project's composer.json file to explicitly require these modules.

Bug fixes

  • DataList::filterAny() queries on many-many relations that use an aggregate HAVING clause now correctly use an OR conjunction rather than an incorrect AND conjunction.
  • At some point shortly before the release of Silverstripe CMS 4.0.0, SSL support for database connections was accidentally removed. This has now been reinstated - see Using SSL in database connections for more information.
  • The cascade_duplicates property was added to the InheritedPermissionsExtension class so that now when duplicating any object that has the InheritedPermissionsExtension applied, the GroupID values in the ViewerGroups and EditGroups mapping tables will also be duplicated so that new object retains the same viewer and editor groups as the original.
  • Any fields added to a model's $summary_fields configuration which are not backed by database fields (such as method calls) will no longer be pulled through when searchableFields() calls back on it (i.e. because $searchable_fields configuration has not been explicitly declared). This means you do not need to explicitly declare $searchable_fields for models which should only use the summary fields to filter by.
  • The Storybook pattern library for Silverstripe CMS wasn't working when we released Silverstripe CMS 5.0.0, but that has now been fixed.

This release includes a number of bug fixes to improve a broad range of areas. Check the change logs for full details of these fixes split by module. Thank you to the community members that helped contribute these fixes as part of the release!

Change log

Security

  • silverstripe/framework (5.0.0 -> 5.1.0-rc1)

  • silverstripe/developer-docs (5.0.0 -> 5.1.0-rc1)

Features and enhancements

  • silverstripe/installer (5.0.0 -> 5.1.0-rc1)

    • 2023-08-18 fc510dd Change favicon to reflect new logo (Maxime Rainville)
  • silverstripe/assets (2.0.0 -> 2.1.0-rc1)

    • 2023-08-21 53e8331 Update translations (#570) (Guy Sartorelli)
    • 2023-08-17 a67cc24 Update translations (#569) (Guy Sartorelli)
    • 2023-06-15 47fa6c6 add check for specific user inherited permission (Andrew Paxley)
    • 2023-06-14 f83706e Update translations (Steve Boyd)
    • 2023-06-14 05732c0 Update translations (Steve Boyd)
    • 2023-05-30 7c0cc54 Update translations (Steve Boyd)
  • silverstripe/framework (5.0.0 -> 5.1.0-rc1)

    • 2023-08-29 d01ae8029 Update logo (#10922) (Maxime Rainville)
    • 2023-08-29 b4463d905 Enable ArrayList and EagerLoadedList to use search filters (#10925) (Guy Sartorelli)
    • 2023-08-21 3e72f5e69 Update translations (#10920) (Guy Sartorelli)
    • 2023-08-17 8745890d8 Update translations (#10918) (Guy Sartorelli)
    • 2023-08-08 358cbc9ee Do not use placeholders by default for foreignIDFilter() (Steve Boyd)
    • 2023-08-07 5a52484d8 Add FieldsValidator to ensure fields get validated (Guy Sartorelli)
    • 2023-08-03 ae49e134a Use custom list for eagerloaded relations (#10869) (Guy Sartorelli)
    • 2023-07-25 672396880 Do not use placeholders for int ID filters (Steve Boyd)
    • 2023-07-21 93acba053 Update translations (Steve Boyd)
    • 2023-07-05 85e503d01 Refactor eagerloading fetch into separate methods (Guy Sartorelli)
    • 2023-07-04 6fa71bbf5 avoid multiple calls to records->count() In PermissionCheckboxSetField (#10839) (Thomas Portelange)
    • 2023-06-28 e1d10a0b4 ListboxField react field schema (Andrew Paxley)
    • 2023-06-27 46d793048 Cache DataObject::getSchema() (Steve Boyd)
    • 2023-06-27 ed0730370 Cache $item->ID for eager loading (Steve Boyd)
    • 2023-06-14 2ea66922c Update translations (Steve Boyd)
    • 2023-06-14 34019426d add OnlyTheseMembers Inherited Permission type (Andrew Paxley)
    • 2023-06-14 76e9b78b0 Update translations (Steve Boyd)
    • 2023-06-07 246735101 ORM eager loading (Steve Boyd)
    • 2023-05-30 6b49b6cdb Update translations (Steve Boyd)
    • 2023-04-04 2c874a1e9 Exclude a list of models for checking and repairs (#10746) (Guy Sartorelli)
    • 2023-03-26 280354df0 Allow different search filters on TreeDropdownField (elliot sawyer)
  • silverstripe/admin (2.0.0 -> 2.1.0-rc1)

    • 2023-09-05 4dd12690 Do not show loading spinner when there was a loading error (Steve Boyd)
    • 2023-09-04 105b5ce5 Allow disabling of help_links (Steve Boyd)
    • 2023-08-21 f5e11e41 Update translations (#1552) (Guy Sartorelli)
    • 2023-08-17 66242e7a Update translations (#1550) (Guy Sartorelli)
    • 2023-06-28 e03bc329 add ListboxField react component (Andrew Paxley)
    • 2023-06-23 4f2c5e26 hide permission fields we arent using (Andrew Paxley)
    • 2023-06-19 a4729ba0 Update JS Translations (Steve Boyd)
    • 2023-06-14 ae0952b1 Storybook Doc Blocks (Sabina Talipova)
    • 2023-06-14 bae6d7a1 Update translations (Steve Boyd)
    • 2023-06-14 868b2655 Update translations (Steve Boyd)
    • 2021-08-31 a802828f Pass form validation result to client (Steve Boyd)
    • 2020-04-25 b001d487 Make CMSProfileController use required_permission_codes (mattclegg)
  • silverstripe/asset-admin (2.0.0 -> 2.1.0-rc1)

    • 2023-08-21 6c318880 Update translations (#1386) (Guy Sartorelli)
    • 2023-08-08 fa0fef24 Use archive text when file archiving is enabled (Steve Boyd)
    • 2023-06-15 d48f81d5 update CMS fields to allow user-specific permissions (Andrew Paxley)
    • 2023-06-14 d278be60 Update translations (Steve Boyd)
    • 2023-06-14 be112c2e Update translations (Steve Boyd)
    • 2023-06-13 71a622d8 Storybook Doc Blocks (Sabina Talipova)
  • silverstripe/campaign-admin (2.0.0 -> 2.1.0-rc1)

    • 2023-08-21 d62c2c3 Update translations (#276) (Guy Sartorelli)
    • 2023-06-14 3b5b372 Update translations (Steve Boyd)
    • 2023-06-14 42e5db4 Update translations (Steve Boyd)
  • silverstripe/versioned-admin (2.0.0 -> 2.1.0-rc1)

    • 2023-08-21 7b61f6a Update translations (#304) (Guy Sartorelli)
    • 2023-08-07 addd992 Allow File.keep_archived_assets to show files archive tab (Steve Boyd)
    • 2023-06-14 afcf911 Update translations (Steve Boyd)
    • 2023-06-14 33880e7 Update translations (Steve Boyd)
  • silverstripe/cms (5.0.0 -> 5.1.0-rc1)

    • 2023-08-21 14037a77 Update translations (#2874) (Guy Sartorelli)
    • 2023-08-17 6decb069 Update translations (#2873) (Guy Sartorelli)
    • 2023-06-15 14eb767c update SiteTree permissions in CMS (Andrew Paxley)
    • 2023-06-14 d9b6f7ac Update translations (Steve Boyd)
    • 2023-06-14 cdd6e54f Update translations (Steve Boyd)
    • 2023-05-30 204ccd20 Update translations (Steve Boyd)
  • silverstripe/errorpage (2.0.0 -> 2.1.0-rc1)

    • 2023-08-21 c0062cc Update translations (#87) (Guy Sartorelli)
    • 2023-06-14 4225210 Update translations (Steve Boyd)
    • 2023-06-14 6fb1a24 Update translations (Steve Boyd)
  • silverstripe/reports (5.0.0 -> 5.1.0-rc1)

    • 2023-08-21 03869a75 Update translations (#167) (Guy Sartorelli)
    • 2023-06-14 f6aee12f Update translations (Steve Boyd)
    • 2023-06-14 d2a5d6ea Update translations (Steve Boyd)
  • silverstripe/siteconfig (5.0.0 -> 5.1.0-rc1)

    • 2023-08-21 bd825dce Update translations (#143) (Guy Sartorelli)
    • 2023-06-14 e51a7aa8 Update translations (Steve Boyd)
    • 2023-06-14 014a428e Update translations (Steve Boyd)
  • silverstripe/versioned (2.0.0 -> 2.1.0-rc1)

    • 2023-08-21 302aa4c Update translations (#411) (Guy Sartorelli)
    • 2023-06-14 afb4517 Update translations (Steve Boyd)
    • 2023-06-14 5bae587 Update translations (Steve Boyd)
  • silverstripe/graphql (5.0.0 -> 5.1.0-rc1)

    • 2023-06-27 d8435c5 Enable storing GraphQL schema in silverstripe-cache/ (#534) (Guy Sartorelli)
  • silverstripe/session-manager (2.0.0 -> 2.1.0-rc1)

    • 2023-08-21 845aa34 Update translations (#166) (Guy Sartorelli)
    • 2023-08-16 c82efd9 Don't update LastAccessed if some threshold hasn't been reached (#156) (Thomas Portelange)
    • 2023-08-11 d31ab95 Add option to anonymize ip requests (#161) (Thomas Portelange)
    • 2023-07-04 ad7265d get cached Member in LoginSession (#152) (Thomas Portelange)
    • 2023-07-04 c7a59f2 get cached Member in SessionManagerField (#151) (Thomas Portelange)
    • 2023-06-14 cb90e70 Update translations (Steve Boyd)
    • 2023-06-14 f9d423e Update translations (Steve Boyd)
    • 2023-06-13 65d74c9 Storybook Doc Blocks (Sabina Talipova)
  • silverstripe/login-forms (5.0.0 -> 5.1.0-rc1)

    • 2023-08-18 8aeb6e9 Include new logo (Maxime Rainville)
  • silverstripe/documentconverter (3.0.0 -> 3.1.0-rc1)

    • 2023-08-21 729c9eb Update translations (#56) (Guy Sartorelli)
    • 2023-06-14 f0c5641 Update translations (Steve Boyd)
    • 2023-06-14 d12916b Update translations (Steve Boyd)
  • silverstripe/iframe (3.0.0 -> 3.1.0-rc1)

    • 2023-08-21 9890370 Update translations (#74) (Guy Sartorelli)
    • 2023-06-14 ef07ff3 Update translations (Steve Boyd)
    • 2023-06-14 7070529 Update translations (Steve Boyd)
  • silverstripe/tagfield (3.0.0 -> 3.1.0-rc1)

    • 2023-06-13 f667020 Storybook Doc Blocks (Sabina Talipova)
  • silverstripe/taxonomy (3.0.0 -> 3.1.0-rc1)

    • 2023-08-21 b76ce97 Update translations (#95) (Guy Sartorelli)
    • 2023-06-14 050cb00 Update translations (Steve Boyd)
    • 2023-06-14 6baddb9 Update translations (Steve Boyd)
  • silverstripe/blog (4.0.0 -> 4.1.0-rc1)

    • 2023-08-21 9d3a398 Update translations (#723) (Guy Sartorelli)
    • 2023-08-17 e9390c3 Update translations (#722) (Guy Sartorelli)
    • 2023-06-14 cf4452f Update translations (Steve Boyd)
    • 2023-06-14 7cbeb90 Update translations (Steve Boyd)
    • 2023-05-30 09e79fd Update translations (Steve Boyd)
  • silverstripe/spamprotection (4.0.0 -> 4.1.0)

    • 2023-08-21 19603c3 Update translations (#101) (Guy Sartorelli)
    • 2023-06-14 afbcf59 Update translations (Steve Boyd)
    • 2023-06-14 e08ac10 Update translations (Steve Boyd)
  • silverstripe/contentreview (5.0.0 -> 5.1.0-rc1)

    • 2023-08-21 20d61d7 Update translations (#208) (Guy Sartorelli)
    • 2023-06-14 b6e00e9 Update translations (Steve Boyd)
    • 2023-06-14 91fa889 Update translations (Steve Boyd)
  • silverstripe/sharedraftcontent (3.0.0 -> 3.1.0-rc1)

    • 2023-08-21 bfeb2bd Update translations (#207) (Guy Sartorelli)
    • 2023-08-18 f1a5836 Use new logo (Maxime Rainville)
    • 2023-06-14 bfc5909 Update translations (Steve Boyd)
    • 2023-06-14 b336507 Update translations (Steve Boyd)
    • 2023-05-30 d13d77d Update translations (Steve Boyd)
  • symbiote/silverstripe-advancedworkflow (6.0.0 -> 6.1.0-rc1)

    • 2023-08-21 af03d8d Update translations (#501) (Guy Sartorelli)
    • 2023-08-17 09e3019 Update translations (#500) (Guy Sartorelli)
    • 2023-06-14 e9fd460 Update translations (Steve Boyd)
    • 2023-06-14 0e7caa8 Update translations (Steve Boyd)
  • silverstripe/userforms (6.0.0 -> 6.1.0-rc1)

    • 2023-08-21 c0eb6d6 Update translations (#1231) (Guy Sartorelli)
    • 2023-06-14 c562d13 Update translations (Steve Boyd)
    • 2023-06-14 95d3cee Update translations (Steve Boyd)
    • 2023-05-30 ae34301 Update translations (Steve Boyd)
  • silverstripe/externallinks (3.0.0 -> 3.1.0-rc1)

    • 2023-08-21 20c2231 Update translations (#106) (Guy Sartorelli)
    • 2023-06-14 2560888 Update translations (Steve Boyd)
    • 2023-06-14 61b99e8 Update translations (Steve Boyd)
  • silverstripe/sitewidecontent-report (4.0.0 -> 4.1.0-rc1)

    • 2023-08-21 720336d Update translations (#70) (Guy Sartorelli)
  • bringyourownideas/silverstripe-maintenance (3.0.0 -> 3.0.1)

    • 2023-06-14 17cd10c Update translations (Steve Boyd)
  • silverstripe/versionfeed (3.0.0 -> 3.1.0-rc1)

    • 2023-08-21 d082606 Update translations (#88) (Guy Sartorelli)
    • 2023-06-14 b11db96 Update translations (Steve Boyd)
    • 2023-06-14 2450e85 Update translations (Steve Boyd)
  • dnadesign/silverstripe-elemental (5.0.0 -> 5.1.0-rc1)

    • 2023-08-21 4b19889 Update translations (#1083) (Guy Sartorelli)
    • 2023-07-04 46fd44a Optimise site search (Steve Boyd)
    • 2023-06-14 d6c0bbf Update translations (Steve Boyd)
    • 2023-06-14 34d9faf Update translations (Steve Boyd)
    • 2023-03-13 ddc3c32 Include summary in elemental area by default (#948) (Michael van Schaik)
  • silverstripe/elemental-fileblock (3.0.0 -> 3.1.0-rc1)

    • 2023-06-14 d7ffcd8 Update translations (Steve Boyd)
    • 2023-06-14 8c15457 Update translations (Steve Boyd)
  • silverstripe/elemental-bannerblock (3.0.0 -> 3.1.0-rc1)

    • 2023-06-14 cf0fcf6 Update translations (Steve Boyd)
    • 2023-06-14 060b065 Update translations (Steve Boyd)
  • silverstripe/hybridsessions (3.0.0 -> 3.0.2)

    • 2023-08-18 3df783e Update translations (Guy Sartorelli)
    • 2023-05-30 87087ff Update translations (Steve Boyd)
  • silverstripe/registry (3.0.0 -> 3.1.0-rc1)

    • 2023-08-21 a2b05fa Update translations (#87) (Guy Sartorelli)
    • 2023-06-14 6c319fc Update translations (Steve Boyd)
    • 2023-06-14 55a748f Update translations (Steve Boyd)
  • silverstripe/totp-authenticator (5.0.0 -> 5.1.0-rc1)

    • 2023-08-21 736c2ad Update translations (#133) (Guy Sartorelli)
    • 2023-06-14 9ea2fa1 Update translations (Steve Boyd)
  • silverstripe/mfa (5.0.0 -> 5.1.0-rc1)

    • 2023-06-15 febbf9d Update translations (Steve Boyd)
    • 2023-06-14 48277a9 Update translations (Steve Boyd)
  • silverstripe/crontask (3.0.0 -> 3.0.2)

    • 2023-08-21 9a381d0 Update translations (#81) (Guy Sartorelli)
    • 2023-05-30 8764d5d Update translations (Steve Boyd)
  • silverstripe/gridfieldqueuedexport (3.0.0 -> 3.1.0-rc1)

    • 2023-08-21 488ee05 Update translations (#88) (Guy Sartorelli)
  • silverstripe/ldap (2.0.0 -> 2.1.0-rc1)

    • 2023-08-21 59d639a Update translations (#60) (Guy Sartorelli)
    • 2023-06-14 30b22b8 Update translations (Steve Boyd)
    • 2023-06-14 d5c18e0 Update translations (Steve Boyd)
  • silverstripe/realme (5.0.0 -> 5.2.0-rc1)

    • 2023-08-21 d84abc3 Update translations (#118) (Guy Sartorelli)
    • 2023-06-26 5dfdf4f Update styles to match new RealME branding (#113) (Guy Sartorelli)
    • 2023-06-14 d14d24b Update translations (Steve Boyd)
    • 2023-06-14 193486d Update translations (Steve Boyd)
    • 2023-05-30 3cdc32f Update translations (Steve Boyd)
  • silverstripe/webauthn-authenticator (5.0.0 -> 5.1.0-rc1)

    • 2023-06-14 4e6b717 Update translations (Steve Boyd)
  • silverstripe/subsites (3.0.0 -> 3.1.0-rc1)

    • 2023-08-21 178b521 Update translations (#534) (Guy Sartorelli)
    • 2023-06-14 c847f3e Update translations (Steve Boyd)
    • 2023-06-14 6a8b57b Update translations (Steve Boyd)
  • silverstripe/lumberjack (3.0.0 -> 3.0.2)

    • 2023-08-21 bd35b14 Update translations (#131) (Guy Sartorelli)
    • 2023-05-30 f26bb8c Update translations (Steve Boyd)
  • cwp/agency-extensions (3.0.0 -> 3.1.0-rc1)

    • 2023-08-21 0f68e50 Update translations (#100) (Guy Sartorelli)
    • 2023-06-14 36bdf4e Update translations (Steve Boyd)
    • 2023-06-14 0eb21e7 Update translations (Steve Boyd)
    • 2023-05-30 1f403f3 Update translations (Steve Boyd)
  • dnadesign/silverstripe-elemental-userforms (4.0.0 -> 4.1.0-rc1)

    • 2023-08-21 9ab97a3 Update translations (#79) (Guy Sartorelli)
    • 2023-06-14 f9cce50 Update translations (Steve Boyd)
    • 2023-06-14 5dc8b52 Update translations (Steve Boyd)
    • 2023-05-30 4b6191e Update translations (Steve Boyd)
  • symbiote/silverstripe-gridfieldextensions (4.0.0 -> 4.0.3)

    • 2023-08-21 1e5a1e8 Update translations (#373) (Guy Sartorelli)
    • 2023-06-14 665d231 Update translations (Steve Boyd)
    • 2023-05-30 89a7301 Update translations (Steve Boyd)
  • symbiote/silverstripe-queuedjobs (5.0.0 -> 5.0.2)

    • 2023-08-21 6e0c8df Update translations (#410) (Guy Sartorelli)
    • 2023-06-14 083763e Update translations (Steve Boyd)
    • 2023-06-14 bed9514 Update translations (Steve Boyd)

Bugfixes

  • silverstripe/installer (5.0.0 -> 5.1.0-rc1)

    • 2023-06-04 ab3d7bc Fix link to V5 Docs (minimalic)
  • silverstripe/assets (2.0.0 -> 2.1.0-rc1)

    • 2023-08-15 4c04531 Ensure filenames are not duplicated when moving (Steve Boyd)
    • 2023-08-10 16ab3fa Double encoding image shortcode attributes (Sabina Talipova)
    • 2023-08-07 8597eae Fix for vips intervention image backend (#539) (Niklas Forsdahl)
    • 2023-08-07 d560dd4 Multi HTML entities in image shortcodes (Sabina Talipova)
    • 2023-07-11 7f8057e (Sabina Talipova)
    • 2023-07-11 69cc7ed (Sabina Talipova)
    • 2023-07-11 bd9ebb7 getCachedMarkup returns NULL instead of string if file doesn't exist (Sabina Talipova)
    • 2023-05-18 ae5b661 Use 0775 permissions for directories (Steve Boyd)
  • silverstripe/framework (5.0.0 -> 5.1.0-rc1)

    • 2023-09-13 58696e3ed Set tableName on DBField before calling addToQuery (#10946) (Guy Sartorelli)
    • 2023-09-05 17c33231c Call Textarea validation extension (Steve Boyd)
    • 2023-09-05 7ea25bf9e Call addToQuery on all DBFields (#10936) (Guy Sartorelli)
    • 2023-08-31 374771d4d Correctly implement backwards compatible null comparisons (#10935) (Guy Sartorelli)
    • 2023-08-21 57cb55d6a Typo in CheckboxSetFieldMultiEnumTest class name (closes #10689) (Loz Calver)
    • 2023-08-21 1fd495449 Stop ManyManyThroughList join records incorrectly showing as changed (fixes #10821) (Loz Calver)
    • 2023-08-14 c7cd26299 Fix ArrayList canFilterBy to work with ArrayData (#10915) (Guy Sartorelli)
    • 2023-08-09 8da4aa863 Regression with include argument (fixes #10911) (Loz Calver)
    • 2023-08-08 f34564648 Allow subclasses of ManyMany lists in EagerLoadedList (#10905) (Guy Sartorelli)
    • 2023-08-07 037168a4f Multi HTML entities in shortcodes (Sabina Talipova)
    • 2023-08-04 c9f48089c Ensure DataList::eagerLoad() returns a clone (#10899) (Guy Sartorelli)
    • 2023-08-04 3628cec1f Empty relations don't have extra DB calls with eager-loading (#10886) (Guy Sartorelli)
    • 2023-07-31 c58bc0a7f Use TransportFactory to prevent infinite config loop (Steve Boyd)
    • 2023-07-29 909bee810 fix cache key (Thomas Portelange)
    • 2023-07-29 359cb1427 include Silverstripe core files into roots (Thomas Portelange)
    • 2023-07-24 d24095aba Image in summaryfields breaks search (Sabina Talipova)
    • 2023-07-20 642321db6 Trigger eagerloading for first() and last() (#10875) (Guy Sartorelli)
    • 2023-07-20 7daa3fdb0 Short-array syntax for Enum (Steve Boyd)
    • 2023-07-10 3bf845a9e Protect against loading incorrect eager-loaded relations. (Guy Sartorelli)
    • 2023-07-10 95d1c674a Allow multiple iterations of eager-loaded DataLists (Guy Sartorelli)
    • 2023-07-07 8c3ba8105 PHP 8.1 support in MySQLiConnector::query errors (#10570) (Dylan Wagstaff)
    • 2023-07-06 a03d0fdf6 ListboxField entwine submissions (Andrew Paxley)
    • 2023-07-06 d0ca9cfdd many_many extraFields and join records weren't in eagerloading (Guy Sartorelli)
    • 2023-07-05 612f7e734 Allow repeated iterations of predicated query result (#10857) (Guy Sartorelli)
    • 2023-07-03 7af0fe245 Resolve problems with eagerloading performance (Guy Sartorelli)
    • 2023-06-26 bb5378e17 Gridfiled pagination missing after search (#10828) (Sabina Talipova)
    • 2023-06-21 ad9df9762 LastPage method returns true if TotalPages equals 0 (Sabina Talipova)
    • 2023-06-13 35a8d79f6 Show correct default value (Steve Boyd)
    • 2023-06-12 f4e0c768b Handle TRAIT in i18nTextCollector (Steve Boyd)
    • 2023-06-12 f88b7c3c2 Duplicate page keeps original pages canView and canEdit permission (#10806) (Sabina Talipova)
    • 2023-06-09 33c62033f Fix translation key for DataObject.GENERALSEARCH (#10805) (Bram de Leeuw)
    • 2023-06-07 95eceb8d9 Ensure dir exists before scanning it (Steve Boyd)
    • 2023-06-06 face94371 Passing 0 as first argument breaks template (dominik)
    • 2023-05-22 c4b8d9a24 Add back missing SSL support for database connections (#10784) (Guy Sartorelli)
    • 2023-05-21 f815a9cf2 Provide correct replacement suggestion in deprecation message (Michal Kleiner)
    • 2023-05-16 696fe79dd Use OR conjuctive in filterAny aggregate queries (Steve Boyd)
    • 2023-05-16 2afb01463 Don't redirect admin URLs regardless of trailing slash (#10781) (Guy Sartorelli)
    • 2023-05-16 ef3b91417 Get ApcuCacheFactory and MemcachedCacheFactory working again (Steve Boyd)
    • 2023-05-11 675ba9028 fix issue where member without valid email can not be saved (Nicolaas / Sunny Side Up)
    • 2023-05-08 01808a831 Don't assume searchableFields() exists in gridfield filter (Guy Sartorelli)
    • 2021-06-09 5bb5ef80e Form::defaultAction() didn't work if actions were in CompositeFields (fixes #9975) (Loz Calver)
  • silverstripe/admin (2.0.0 -> 2.1.0-rc1)

    • 2023-09-11 8c89bb32 Allow wrapping an image in a link (#1579) (Guy Sartorelli)
    • 2023-09-06 c9913dc3 Allow wrapping an image in a link (#1577) (Guy Sartorelli)
    • 2023-08-29 8c71ef1d Focus on first search field (Sabina Talipova)
    • 2023-08-29 baf4f501 Update TinyMCE CSS files (Steve Boyd)
    • 2023-08-28 886a626c Don't use state unnecessarily (Guy Sartorelli)
    • 2023-08-03 ee30f31e Popover toggle (Steve Boyd)
    • 2023-06-14 d6a3c470 Don't load a second TinyMCE instance from react (#1525) (Guy Sartorelli)
    • 2023-06-13 f12d38a8 Set current locale based on actual defined dictionaries (#1523) (Guy Sartorelli)
    • 2023-06-13 5697904a Eslint and Storybook errors (Sabina Talipova)
    • 2023-06-12 83e6bc29 Replace 4 space indent with 2 spaces (Sabina Talipova)
    • 2023-06-02 fdad7a87 Syntax error TinyMC when using special characters (#1517) (Sabina Talipova)
    • 2023-05-19 7738c603 fix: update docs and user help urls (Izzudin Anuar)
    • 2023-05-01 7849e187 TinyMCE custom config issue (Sabina Talipova)
  • silverstripe/asset-admin (2.0.0 -> 2.1.0-rc1)

    • 2023-09-11 66f307b2 Allow wrapping an image in a link (#1398) (Guy Sartorelli)
    • 2023-09-07 03973f98 Image tag is converted to shortcode even if it doesn't have parent node (#1395) (Sabina Talipova)
    • 2023-09-06 8a6ee41d Allow wrapping an image in a link (#1397) (Guy Sartorelli)
    • 2023-07-06 3281ee87 ESLint issues (#1371) (Sabina Talipova)
    • 2023-06-19 4be853dd Upload files issue in AssetDropzone (#1368) (Sabina Talipova)
    • 2023-06-12 8bfff8ee Replace 4 space indent with 2 spaces (Sabina Talipova)
    • 2023-05-10 206cb48a Broken Insert Image behat test (Sabina Talipova)
    • 2023-05-04 b5b16f02 Update deprecation notice with correct message (Sabina Talipova)
  • silverstripe/versioned-admin (2.0.0 -> 2.1.0-rc1)

    • 2023-06-15 73cc19d Handle no trailing slash in other tab of archive admin (Steve Boyd)
  • silverstripe/cms (5.0.0 -> 5.1.0-rc1)

    • 2023-09-14 061517ac Regression issue UI URLSegment buttons (Sabina Talipova)
    • 2023-09-11 4a92f5eb Allow wrapping an image in a link (#2884) (Guy Sartorelli)
    • 2023-09-06 ba578cfc Allow wrapping an image in a link (#2883) (Guy Sartorelli)
    • 2023-08-31 269eb5d7 SiteTree::DependentPages method returns non-SiteTree instance (Sabina Talipova)
    • 2023-06-12 39fe63db Duplicate page keeps original pages canView and canEdit permission (#2859) (Sabina Talipova)
    • 2023-05-08 55eabd66 Don't require jQuery on the frontend (#2854) (Guy Sartorelli)
  • silverstripe/versioned (2.0.0 -> 2.1.0-rc1)

    • 2023-06-14 f98b817 Return diff in ChangedFields() (#406) (Guy Sartorelli)
  • silverstripe/graphql (5.0.0 -> 5.1.0-rc1)

    • 2023-08-21 c74fa1c Handle using injected subclasses (Steve Boyd)
    • 2023-07-04 2981640 fix(SortPlugin): amend sorting to all fields (Chris Joe)
    • 2023-05-25 6c8d0d7 NestedInputBuilder doesn't work with nested '*' (mason)
  • silverstripe/session-manager (2.0.0 -> 2.1.0-rc1)

    • 2023-08-11 5b82124 fix missing variables (Thomas Portelange)
    • 2023-08-10 7ea28df fix conflict (Thomas)
    • 2023-06-12 b731fab Replace 4 space indent with 2 spaces (Sabina Talipova)
  • silverstripe/tagfield (3.0.0 -> 3.1.0-rc1)

    • 2023-07-17 efeb8b2 TagField triggers edit form change without changes (Sabina Talipova)
    • 2023-06-12 a2b1a82 Replace 4 space indent with 2 spaces (Sabina Talipova)
  • symbiote/silverstripe-advancedworkflow (6.0.0 -> 6.1.0-rc1)

    • 2023-05-10 f8b2057 Fix typo in userguide (Michal Kleiner)
    • 2023-05-10 788caf5 Fix typo (Ed Wilde)
    • 2021-07-08 8bc9a24 Don't remove jobs when processing via publish job (Will Rossiter)
  • silverstripe/userforms (6.0.0 -> 6.1.0-rc1)

    • 2023-09-05 f1510dc Renable email link to submitted file (Steve Boyd)
    • 2023-08-17 cf9a109 Tighten routing rule for userforms ping action (#1224) (Tyler Trout)
    • 2023-08-08 60717e5 Use absolute URL for submitted file links in emails (#1226) (Guy Sartorelli)
    • 2023-05-31 bf49cab Prevent infinite recursion when field display rules are co-dependent (Steve Boyd)
    • 2023-05-17 7af0009 Passing array to setReplyTo method instead of string (#1208) (Sabina Talipova)
  • dnadesign/silverstripe-elemental (5.0.0 -> 5.1.0-rc1)

    • 2023-08-21 e17dbf1 Save repeated database queries to fetch elemental area name (fixes #928) (Loz Calver)
    • 2021-09-01 fc19dc9 Retain value that failed validation on client side (Steve Boyd)
  • silverstripe/elemental-fileblock (3.0.0 -> 3.1.0-rc1)

    • 2023-07-10 2f06274 HTML showing in inline preview (Sabina Talipova)
  • silverstripe/elemental-bannerblock (3.0.0 -> 3.1.0-rc1)

    • 2023-07-10 450666c HTML showing in inline preview (Sabina Talipova)
  • silverstripe/developer-docs (5.0.0 -> 5.1.0-rc1)

    • 2023-05-10 2639d5a1 Broken icon (#264) (Sabina Talipova)
  • silverstripe/environmentcheck (3.0.0 -> 3.0.1)

    • 2023-05-19 28ca036 Fix arguments order in SolrIndexCheck (Michal Kleiner)
  • silverstripe/gridfieldqueuedexport (3.0.0 -> 3.1.0-rc1)

    • 2023-06-14 4549433 Don't mark mocked response as an error (#82) (Guy Sartorelli)
    • 2023-05-23 bbfeb2d #80 check $gridField exists before calling getConfig() (Luke Fromhold)
  • silverstripe/subsites (3.0.0 -> 3.1.0-rc1)

    • 2023-08-28 fe42821 Set extraCodes to false for CMSProfileController (Steve Boyd)
  • silverstripe/lumberjack (3.0.0 -> 3.0.2)

    • 2023-07-31 ecefcdc Remove infinite loop by reverting #127 (#129) (Guy Sartorelli)
    • 2023-07-20 fcdfcdf Allow extension methods to be used in lumberjack (#127) (wernerkrauss)
  • symbiote/silverstripe-multivaluefield (6.0.0 -> 6.0.1)

    • 2023-01-16 02742df Fix saving of CheckboxSetMultivalueField (Florian Thoma)
  • symbiote/silverstripe-gridfieldextensions (4.0.0 -> 4.0.3)

    • 2023-08-14 47171ee Allow editing extra fields from ManyManyThroughList. (Guy Sartorelli)

API changes

  • silverstripe/vendor-plugin (2.0.0 -> 2.0.1)

    • 2023-02-06 2b85737 Deprecate publicPathExists() (Steve Boyd)
  • silverstripe/framework (5.0.0 -> 5.1.0-rc1)

    • 2023-06-19 4b22ab4df deprecate InheritedPermissions::getJoinTable (Andrew Paxley)
    • 2023-05-16 b51bc427a Remove deprecated template vars (Mohamed Alsharaf)
    • 2023-04-26 73ef035bd Add AbsoluteLink method to RequestHandler (#10749) (Guy Sartorelli)

Dependencies

  • silverstripe/recipe-kitchen-sink (5.0.0 -> 5.1.0-rc1)

    • 2023-06-12 891be0b Remove unsupported modules (Steve Boyd)
  • silverstripe/framework (5.0.0 -> 5.1.0-rc1)

    • 2023-05-30 80c51b6bd Explicitly require psr/HTTP-message ^1 (Steve Boyd)
    • 2023-05-24 e55451619 Explicitly require psr/HTTP-message ^1 (Steve Boyd)
  • silverstripe/admin (2.0.0 -> 2.1.0-rc1)

    • 2023-08-30 724d8453 Update JS dependencies (#1569) (GitHub-actions[bot])
    • 2023-08-24 8851fe36 Update JS dependencies and update TinyMCE_sslink.js onunmatch() (Steve Boyd)
    • 2023-07-11 c0ed41ce Update eslint module (#1535) (Sabina Talipova)
  • silverstripe/asset-admin (2.0.0 -> 2.1.0-rc1)

    • 2023-08-23 959966b3 Update JS dependencies (#1390) (GitHub-actions[bot])
    • 2023-07-11 a9f6a311 Update eslint module (#1373) (Sabina Talipova)
  • silverstripe/campaign-admin (2.0.0 -> 2.1.0-rc1)

    • 2023-08-23 b8c3108 Update JS dependencies (#278) (GitHub-actions[bot])
    • 2023-07-11 9e5e00b Update eslint module (#273) (Sabina Talipova)
  • silverstripe/versioned-admin (2.0.0 -> 2.1.0-rc1)

    • 2023-08-23 1ae7961 Update JS dependencies (#306) (GitHub-actions[bot])
    • 2023-07-11 fc60dac Update eslint module (#299) (Sabina Talipova)
  • silverstripe/cms (5.0.0 -> 5.1.0-rc1)

    • 2023-08-30 2799ef3b Update JS dependencies (#2878) (GitHub-actions[bot])
    • 2023-07-11 c831b1be Update eslint module (#2868) (Sabina Talipova)
  • silverstripe/session-manager (2.0.0 -> 2.1.0-rc1)

    • 2023-08-23 1128742 Update JS dependencies (#168) (GitHub-actions[bot])
    • 2023-07-11 b63bac3 Update eslint module (Sabina Talipova)
  • silverstripe/login-forms (5.0.0 -> 5.1.0-rc1)

    • 2023-08-23 8d74414 Update JS dependencies (#153) (GitHub-actions[bot])
    • 2023-08-03 15f5f83 Bump word-wrap from 1.2.3 to 1.2.5 (dependabot[bot])
    • 2023-07-11 d7f7e6b Update eslint module (#143) (Sabina Talipova)
  • silverstripe/documentconverter (3.0.0 -> 3.1.0-rc1)

    • 2023-08-03 bde3513 Bump word-wrap from 1.2.3 to 1.2.5 (dependabot[bot])
    • 2023-07-11 0112713 Update eslint module (Sabina Talipova)
  • silverstripe/tagfield (3.0.0 -> 3.1.0-rc1)

    • 2023-08-23 d1c02ca Update JS dependencies (#258) (GitHub-actions[bot])
    • 2023-07-11 61cf375 Update eslint module (#250) (Sabina Talipova)
  • silverstripe/recipe-blog (2.0.0 -> 2.1.0-rc1)

    • 2023-06-12 b2ae936 Remove unsupported modules (Steve Boyd)
  • silverstripe/blog (4.0.0 -> 4.1.0-rc1)

    • 2023-08-23 1f3878b Update JS dependencies (#725) (GitHub-actions[bot])
    • 2023-07-19 23fd31c Bump word-wrap from 1.2.3 to 1.2.4 (dependabot[bot])
    • 2023-07-11 1514d0b Update eslint module (#716) (Sabina Talipova)
  • silverstripe/contentreview (5.0.0 -> 5.1.0-rc1)

    • 2023-08-23 fd1fd08 Update JS dependencies (#210) (GitHub-actions[bot])
    • 2023-07-11 a571e5d Update eslint module (#205) (Sabina Talipova)
  • silverstripe/sharedraftcontent (3.0.0 -> 3.1.0-rc1)

    • 2023-08-04 402eee7 Bump word-wrap from 1.2.3 to 1.2.5 (dependabot[bot])
    • 2023-08-04 5a6c069 Bump semver from 6.3.0 to 6.3.1 (dependabot[bot])
    • 2023-07-01 69170f8 Update JS dependencies (GitHub-actions)
  • symbiote/silverstripe-advancedworkflow (6.0.0 -> 6.1.0-rc1)

    • 2023-07-11 31a7ff2 Update eslint module (#498) (Sabina Talipova)
  • silverstripe/segment-field (3.0.0 -> 3.1.0-rc1)

    • 2023-08-23 f3cb3f3 Update JS dependencies (#89) (GitHub-actions[bot])
    • 2023-07-18 0827a2a Bump word-wrap from 1.2.3 to 1.2.4 (dependabot[bot])
    • 2023-07-11 727267a Update eslint module (#83) (Sabina Talipova)
  • silverstripe/userforms (6.0.0 -> 6.1.0-rc1)

    • 2023-08-31 16c3c51 Update JS dependencies (#1235) (GitHub-actions[bot])
    • 2023-07-11 2d89d1b Update eslint module (#1222) (Sabina Talipova)
  • silverstripe/externallinks (3.0.0 -> 3.1.0-rc1)

    • 2023-07-11 be7b01c Update eslint module (#104) (Sabina Talipova)
  • silverstripe/sitewidecontent-report (4.0.0 -> 4.1.0-rc1)

    • 2023-07-20 9962192 Bump word-wrap from 1.2.3 to 1.2.4 (dependabot[bot])
    • 2023-07-11 8488af8 Update eslint module (#67) (Sabina Talipova)
  • dnadesign/silverstripe-elemental (5.0.0 -> 5.1.0-rc1)

    • 2023-08-30 9553867 Update JS dependencies (#1095) (GitHub-actions[bot])
    • 2023-07-11 e8219c4 Update eslint module (#1075) (Sabina Talipova)
  • silverstripe/elemental-bannerblock (3.0.0 -> 3.1.0-rc1)

    • 2023-08-23 d2d790d Update JS dependencies (#124) (GitHub-actions[bot])
    • 2023-07-18 f4cc10a Bump word-wrap from 1.2.3 to 1.2.4 (dependabot[bot])
    • 2023-07-11 7fcf870 Update eslint module (#118) (Sabina Talipova)
    • 2023-07-10 6bc48b9 Bump tough-cookie from 4.1.2 to 4.1.3 (dependabot[bot])
  • silverstripe/totp-authenticator (5.0.0 -> 5.1.0-rc1)

    • 2023-08-23 778e98a Update JS dependencies (#135) (GitHub-actions[bot])
    • 2023-07-18 da9572c Bump word-wrap from 1.2.3 to 1.2.4 (dependabot[bot])
    • 2023-07-11 9ea9c5e Update eslint module (#128) (Sabina Talipova)
  • silverstripe/mfa (5.0.0 -> 5.1.0-rc1)

    • 2023-08-31 f51d8ff Update JS dependencies (#509) (GitHub-actions[bot])
    • 2023-07-11 29260f1 Update eslint module (#503) (Sabina Talipova)
  • silverstripe/gridfieldqueuedexport (3.0.0 -> 3.1.0-rc1)

    • 2023-07-20 3d6a045 Bump word-wrap from 1.2.3 to 1.2.4 (dependabot[bot])
    • 2023-07-11 a2d6df3 Update eslint module (#84) (Sabina Talipova)
  • silverstripe/realme (5.0.0 -> 5.2.0-rc1)

    • 2023-07-20 e653cff Bump word-wrap from 1.2.3 to 1.2.4 (dependabot[bot])
    • 2023-07-11 cc05ad3 Update eslint module (#115) (Sabina Talipova)
  • silverstripe/webauthn-authenticator (5.0.0 -> 5.1.0-rc1)

    • 2023-08-23 6f29cd1 Update JS dependencies (#155) (GitHub-actions[bot])
    • 2023-07-18 9750907 Bump word-wrap from 1.2.3 to 1.2.4 (dependabot[bot])
    • 2023-07-11 781acec Update eslint module (#147) (Sabina Talipova)
    • 2023-07-10 a1d1476 Bump tough-cookie from 4.1.2 to 4.1.3 (dependabot[bot])
  • silverstripe/subsites (3.0.0 -> 3.1.0-rc1)

    • 2023-07-20 7232bcf Bump word-wrap from 1.2.3 to 1.2.4 (dependabot[bot])
    • 2023-07-11 1d1f265 Update eslint module (#530) (Sabina Talipova)
  • cwp/agency-extensions (3.0.0 -> 3.1.0-rc1)

    • 2023-08-30 1ee158f Update JS dependencies (#103) (GitHub-actions[bot])
    • 2023-07-11 4631ce7 Update eslint module (#98) (Sabina Talipova)

Documentation

  • silverstripe/framework (5.0.0 -> 5.1.0-rc1)

    • 2023-06-21 e9358c88a Update eagerLoad() docblock (Steve Boyd)
  • dnadesign/silverstripe-elemental (5.0.0 -> 5.1.0-rc1)

    • 2023-02-14 c0e4994 Update documentation for CMS 5 version of elemental (#1008) (Guy Sartorelli)
  • silverstripe/developer-docs (5.0.0 -> 5.1.0-rc1)

    • 2023-09-12 878fd56b Add missing information to 5.1.0 changelog (#346) (Guy Sartorelli)
    • 2023-09-04 e1c0825c Add dynamodb (Steve Boyd)
    • 2023-09-04 65ffecfc Add dynamodb (Steve Boyd)
    • 2023-08-29 b45605ee Document changes from silverstripe/silverstripe-framework#10925 (#335) (Guy Sartorelli)
    • 2023-08-28 e947f451 Close hint block (#316) (Guy Sartorelli)
    • 2023-08-28 f590481b Performance improvements for changelog (Steve Boyd)
    • 2023-08-23 a0d6a9a5 Correct hyperlink (Nate Devereux)
    • 2023-08-22 9797fc17 Staticpublishqueue changelog entry (Steve Boyd)
    • 2023-08-17 5b9afdd4 Document maximumLimit in GraphQL schema (#329) (Guy Sartorelli)
    • 2023-08-15 0161d551 Add note about limiting session garbage collection (#328) (Guy Sartorelli)
    • 2023-08-15 6c50a46b Add session-manager documentation (Steve Boyd)
    • 2023-08-14 43b6b282 Changelog session manager anonymize IP addresses (Steve Boyd)
    • 2023-08-14 ef31438e Document FieldsValidator (#319) (Guy Sartorelli)
    • 2023-08-11 6f0f2e53 Document fixed issue with non-db summary_fields (Guy Sartorelli)
    • 2023-08-11 a7744574 Add note about FieldsValidator to 5.1 changelog (Guy Sartorelli)
    • 2023-08-08 916cb8ec Update namespace for use_placeholders_for_integer_ids (Steve Boyd)
    • 2023-08-07 e2fc0056 Use correct class for keep_archived_assets config (Steve Boyd)
    • 2023-08-03 89c801eb Document new EagerLoadedDataList (#305) (Guy Sartorelli)
    • 2023-07-31 b6e54b10 Add severity rating for CVSS score of 0 (#306) (Guy Sartorelli)
    • 2023-07-31 0a187eae Warnings about searchable_fields content (Sabina Talipova)
    • 2023-07-25 2995e23a SQL placeholders (Steve Boyd)
    • 2023-07-11 68b1be25 Changelog for FileBlock::getSummaryThumbnail (Sabina Talipova)
    • 2023-07-06 32ddcf4a Document new "Only these users" permission (#298) (Guy Sartorelli)
    • 2023-07-05 051908d4 Changelog for SearchContext::getQuery() parameter (#294) (Sabina Talipova)
    • 2023-07-05 657246c4 CMS 4 Supported modules (Steve Boyd)
    • 2023-07-04 7f5ca7ce Call out ListboxField react component (#295) (Guy Sartorelli)
    • 2023-07-04 24a3893c Changelog CMS search with elemental (Steve Boyd)
    • 2023-07-03 5ffb99ef Update i18n (Antony Thorpe)
    • 2023-06-27 cd758f5d Document storing gql schema in cache dir (#257) (Guy Sartorelli)
    • 2023-06-25 380b81ae Correct bad enum syntax (Maxime Rainville)
    • 2023-06-22 ef4d8a57 Fix typo in Introduction.md (Maxime Rainville)
    • 2023-06-16 8fa5dd06 Update undefinedoffset-sortablegridfield info (Sabina Talipova)
    • 2023-06-14 362f86dd Quote all YAML service definitions (#285) (Guy Sartorelli)
    • 2023-06-13 08f04c86 Review extending docs for truthfulness (#273) (Guy Sartorelli)
    • 2023-06-12 9d5b988a silverstripe/widgets removed (Steve Boyd)
    • 2023-06-12 bcd9d7fa cascade_duplicates property in SiteTree class (#282) (Sabina Talipova)
    • 2023-06-08 51b63278 Eager loading (Steve Boyd)
    • 2023-06-08 b450bad0 BuildTask is_enabled config (Steve Boyd)
    • 2023-06-07 ffbd5979 Use HTMLValue (Steve Boyd)
    • 2023-05-22 08d0828d Document the requirement to install Composer 2 (#275) (Guy Sartorelli)
    • 2023-05-22 de1a71f5 Add note in 5.1 changelog about DB SSL (#272) (Guy Sartorelli)
    • 2023-05-22 3068943e Document using SSL for db connections (#271) (Guy Sartorelli)
    • 2023-05-18 1c6adfca Update configuration docs (#268) (Guy Sartorelli)
    • 2023-05-17 588ba477 fix partial caching config example (Jono Menz)
    • 2023-05-16 f9a19089 Add additional context to CMS 5 changelog (#267) (Guy Sartorelli)
    • 2023-05-16 7d296b4c filterAny() many-many aggregate conjunction (Steve Boyd)
    • 2023-05-14 c5e02441 Review forms section (#254) (Guy Sartorelli)
    • 2023-05-08 14b5ece1 Document changes to i18nTextCollector (Guy Sartorelli)
    • 2023-05-04 0c57c585 Updated recommendation for depreceted class Silverstripe\View\Embed\EmbedResource (Sabina Talipova)
    • 2023-05-04 a1b5b8ce Remove links for unsupported modules (Sabina Talipova)
    • 2023-05-04 a68fb70c Add note regarding the split of the activedirectory module into the saml and ldap modules. (Matt Peel)
    • 2023-05-04 58968964 Fix anchor link to full commits list (Guy Sartorelli)
    • 2023-04-19 1ddb6dfb remove core committer (Stevie Mayhew)
    • 2023-04-10 27d4ab93 Document the changes in silverstripe/silverstripe-framework#10735 (Guy Sartorelli)
    • 2023-04-03 fda0ccbd Add additional context about excluding models from db checks (Guy Sartorelli)
    • 2023-04-03 cb7f3756 Add section on ORM performance (#201) (Guy Sartorelli)
    • 2023-03-13 e6764a37 Fix minor typos to Major release policy (Maxime Rainville)
    • 2023-03-08 fad702f3 Clarify when we will consider changing a module name or namespace (Maxime Rainville)

Other changes

  • silverstripe/installer (5.0.0 -> 5.1.0-rc1)

    • 2023-06-04 d371ae7 Fixed link to V5 "Contributing Code" Docs (minimalic)
  • silverstripe/assets (2.0.0 -> 2.1.0-rc1)

    • 2023-08-10 418906d use dbObject (Thomas Portelange)
    • 2023-08-03 4bf41f3 Update FileLinkTracking.PHP (Thomas Portelange)
    • 2023-06-25 43aecdb use strong return type (Thomas Portelange)
    • 2023-06-23 41dc93c make it private (Thomas Portelange)
    • 2023-06-22 4eb92f4 Don't run onBefore if no assets (Thomas Portelange)
    • 2023-06-22 a7d5386 Don't make query if not needed (Thomas Portelange)
  • silverstripe/config (2.0.0 -> 2.1.0-rc1)

    • 2023-07-18 44769a6 CachedConfigCollection is written to disk on every page load (#89) (Thomas Portelange)
  • silverstripe/framework (5.0.0 -> 5.1.0-rc1)

    • 2023-09-11 17733aa84 added missing returns (fluent setter) (Rastislav Brandobur)
    • 2023-08-30 7ae7e9ff4 added maxLength validation tests (Rastislav Brandobur)
    • 2023-08-28 d6c39e7d3 added missing maxLength validation (Rastislav Brandobur)
    • 2023-08-25 88c70b323 Fixed deprecation notices in PHP 8.2 by using the AllowDynamicProperties (Niklas Forsdahl)
    • 2023-08-15 6c2b5bdbe Update src/Security/Member.PHP (Sunny Side Up)
    • 2023-08-15 93d03f71e MINOR: set a default password encryption for a member, if no password encryption is set. (Sunny Side Up)
    • 2023-08-14 637859a1f Update tests/PHP/ORM/DBCompositeTest.PHP (Thomas Portelange)
    • 2023-08-11 0d4231abb comment test for ss4 (Thomas Portelange)
    • 2023-08-10 d621d00ee DBComposite::writeToManipulation() is never called (Thomas)
    • 2023-08-02 0e839e12c Update src/Core/Manifest/VersionProvider.PHP (Thomas Portelange)
    • 2023-08-02 b9f63001c Update src/Core/Manifest/VersionProvider.PHP (Thomas Portelange)
    • 2023-08-01 c0cc129f1 remove sprintf (Thomas Portelange)
    • 2023-08-01 d3c2fa897 nicer key (Thomas Portelange)
    • 2023-06-28 a019b34fa csfix (Thomas Portelange)
    • 2023-06-28 a96918043 add anonymize (Thomas Portelange)
    • 2023-06-23 9391e696b use Member::class (Thomas Portelange)
    • 2023-06-22 2e73b5eec Use cached query (Thomas Portelange)
    • 2023-06-14 b6a3e3a95 added an additional filter to remove empty array items (#10803) (josephlewisnz)
    • 2023-06-08 30cd4047d Adjust isEnabled method (#10801) (kevingroeger)
    • 2023-05-24 e98f0d45a Use ::create instead of new in GridFieldDetailForm_ItemRequest (#10791) (Bernard Hamlin)
    • 2023-05-15 0ab36f6ae UPD Add support new TinyMC cs_CZ.js (Sabina Talipova)
    • 2023-04-27 9660652fb MINOR: faster checking if record exists (Nicolaas / Sunny Side Up)
    • 2023-04-12 1dbb2bc5b remove manually added config values in test (Florian Thoma)
    • 2023-04-10 0d9724c70 Update tests/PHP/Forms/TreeDropdownFieldTest.PHP (elliot sawyer)
    • 2023-04-05 41c4b4ee0 make Group use tri-state can* extension hooks, fixes #9580 (Florian Thoma)
    • 2023-02-13 04266f77c Update i18nTextCollector to collect strings also from themes (Florian Thoma)
    • 2023-02-13 c0722308a add loading of automatic ORM field labels to i18nTextCollector (Florian Thoma)
  • silverstripe/admin (2.0.0 -> 2.1.0-rc1)

    • 2023-08-25 0b59826b Fixed deprecation notices in PHP 8.2 by using the AllowDynamicProperties (Niklas Forsdahl)
    • 2023-08-17 f2732691 Update util.js (Thomas Portelange)
    • 2023-08-17 1877b387 Update collapse.js (Thomas Portelange)
    • 2023-08-17 4c285f3e remove sourcemap (Thomas Portelange)
    • 2023-08-14 6ef5b9bc Make security admin more easily extensible (Thomas Portelange)
    • 2023-08-11 a77f54b4 EHN Implement the new logo (Maxime Rainville)
  • silverstripe/asset-admin (2.0.0 -> 2.1.0-rc1)

    • 2023-08-08 e0d5fca3 Allows display of validation messages on assets (Bernie Hamlin)
    • 2023-05-12 5eaff19d Adds Folder ID for TinyMCE_sslink-file to allow us to target a specific folder when user clicks on TinyMCE link to file: (Garry Yeatman)
  • silverstripe/cms (5.0.0 -> 5.1.0-rc1)

    • 2023-08-18 3295dd50 Don't make query if not needed (#2863) (Thomas Portelange)
    • 2023-07-28 c455a828 drop duplicated call (Thomas Portelange)
  • silverstripe/graphql (5.0.0 -> 5.1.0-rc1)

    • 2023-08-14 562c251 Revert "NEW Enable storing GraphQL schema in silverstripe-cache/" (Steve Boyd)
    • 2023-07-24 ac6fdc2 Run dev/build add-on only once (Dylan Wagstaff)
    • 2023-07-07 47811b8 test(SortPlugin): add integration test for multi-sort (Chris Joe)
    • 2023-02-09 db1d6d3 Support maximumLimit in pagination (Nils Hellberg)
  • silverstripe/session-manager (2.0.0 -> 2.1.0-rc1)

    • 2023-08-14 9bcd9e7 Update src/Services/GarbageCollectionService.PHP (Thomas Portelange)
    • 2023-08-11 78c27ed Update src/Services/GarbageCollectionService.PHP (Thomas Portelange)
    • 2023-08-11 8f88faf Update src/Services/GarbageCollectionService.PHP (Thomas Portelange)
    • 2023-08-11 9d1fd25 Update src/Services/GarbageCollectionService.PHP (Thomas Portelange)
    • 2023-08-11 6612efc Update src/Services/GarbageCollectionService.PHP (Thomas Portelange)
    • 2023-08-11 d6d1af6 Update src/Services/GarbageCollectionService.PHP (Thomas Portelange)
    • 2023-08-11 43cb4ee Update src/Services/GarbageCollectionService.PHP (Thomas Portelange)
    • 2023-08-11 a4faf82 Update src/Services/GarbageCollectionService.PHP (Thomas Portelange)
    • 2023-08-11 e84f1f6 Update src/Services/GarbageCollectionService.PHP (Thomas Portelange)
    • 2023-08-11 83986d6 Update src/Services/GarbageCollectionService.PHP (Thomas Portelange)
    • 2023-08-11 b2d6021 Update src/Services/GarbageCollectionService.PHP (Thomas Portelange)
    • 2023-08-10 be50af6 Garbage collector do not work on large tables (Thomas)
    • 2023-06-28 30389d1 wording update (Thomas Portelange)
    • 2023-06-28 348fe08 allow mock time in garbage service (Thomas Portelange)
    • 2023-06-28 cef0628 actually show that mock time does something (Thomas Portelange)
  • silverstripe/tagfield (3.0.0 -> 3.1.0-rc1)

    • 2023-08-18 92823c7 Adds back onBlur handler (Bernie Hamlin)
  • silverstripe/blog (4.0.0 -> 4.1.0-rc1)

    • 2023-08-10 bcbb40e Replace deprecated sort rand with shuffle (3Dgoo)
    • 2023-08-10 7189427 Replace deprecated sort rand with shuffle (3Dgoo)
  • silverstripe/spamprotection (4.0.0 -> 4.1.0)

    • 2023-07-11 a358621 Add Cloudflare Turnstile captcha link (Bernard Hamlin)
  • silverstripe/userforms (6.0.0 -> 6.1.0-rc1)

    • 2023-06-07 0dfd299 Use window.ss.config provided adminUrl (#1211) (Michal Kleiner)
    • 2023-04-26 0b61d1a not remove Submissions, use setTitle (Lukas Erni)
    • 2023-04-19 0d7f7ed Submission tab translatable (Lukas Erni)
  • dnadesign/silverstripe-elemental (5.0.0 -> 5.1.0-rc1)

    • 2023-05-15 2c32dc8 Focus PR back to original scope (Guy Sartorelli)
  • silverstripe/developer-docs (5.0.0 -> 5.1.0-rc1)

    • 2023-09-11 949791ee Update en/02_Developer_Guides/05_Extending/01_Extensions.md (Tyler Trout)
    • 2023-09-07 e33ca32d Updated with database column type override info (Tyler Trout)
    • 2023-09-01 bc33bc89 Correct Table of Contents linking (Nate Devereux)
    • 2023-08-14 566fac25 Revert "DOC Document storing gql schema in cache dir" (Steve Boyd)
    • 2023-07-24 51ad53f3 parent 1a73935fdecaa1cbeee0ad12986267d5c1e4a62f (Maxime Rainville)
    • 2023-07-21 393f13dd Update 02_configuring_your_schema.md (Patrick Côté)
    • 2023-06-22 d61a330e Update 00_Introduction.md (Izzudin Anuar)
  • silverstripe/gridfieldqueuedexport (3.0.0 -> 3.1.0-rc1)

    • 2023-06-07 48cf053 Update src/Extensions/UserFormUseQueuedExportExtension.PHP (Luke Fromhold)
  • silverstripe/realme (5.0.0 -> 5.2.0-rc1)

    • 2023-04-28 4dc8654 Replacing all occurances of $backURL with $backUrl in enforeLogin function (LABCAT)
    • 2023-04-19 fe483f4 Fixing "Undefined variable $backURL" in enforeLogin function (LABCAT)
  • silverstripe/subsites (3.0.0 -> 3.1.0-rc1)

    • 2023-08-16 39de471 don't trigger permissionFailure when it's not needed (Thomas Portelange)
    • 2023-06-21 a052bfd Add extension to correctly support element preview (Michal Kleiner)
  • silverstripe/staticpublishqueue (6.0.0 -> 6.1.0-rc1)

    • 2023-08-22 c651e04 Match generate and purge actions to CMS behaviours (#168) (Chris Penny)
  • dnadesign/silverstripe-elemental-userforms (4.0.0 -> 4.1.0-rc1)

    • 2023-09-05 2d2a3fd Adding description ElementForm (LABCAT)