Version 5 supported

5.3.0

Overview

A full list of module versions included in CMS Recipe 5.3.0 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.1.2
bringyourownideas/silverstripe-maintenance3.2.0
colymba/gridfield-bulk-editing-tools4.1.0
cwp/agency-extensions3.3.0
cwp/starter-theme4.2.0
cwp/watea-theme4.2.0
dnadesign/silverstripe-elemental5.3.0
dnadesign/silverstripe-elemental-userforms4.1.1
silverstripe-themes/simple3.3.2
silverstripe/admin2.3.0
silverstripe/asset-admin2.3.0
silverstripe/assets2.3.0
silverstripe/auditor3.2.0
silverstripe/blog4.3.0
silverstripe/campaign-admin2.3.0
silverstripe/cms5.3.0
silverstripe/config2.1.1
silverstripe/contentreview5.3.0
silverstripe/crontask3.0.4
silverstripe/documentconverter3.3.0
silverstripe/dynamodb5.0.1
silverstripe/elemental-bannerblock3.3.0
silverstripe/elemental-fileblock3.1.0
silverstripe/environmentcheck3.0.2
silverstripe/errorpage2.3.0
silverstripe/externallinks3.3.0
silverstripe/framework5.3.0
silverstripe/graphql5.2.3
silverstripe/gridfieldqueuedexport3.3.0
silverstripe/hybridsessions3.0.5
silverstripe/iframe3.2.1
silverstripe/installer5.3.0
silverstripe/ldap2.2.3
silverstripe/linkfield4.1.0
silverstripe/login-forms5.3.0
silverstripe/lumberjack3.2.0
silverstripe/mfa5.3.0
silverstripe/mimevalidator3.1.0
silverstripe/realme5.4.0
silverstripe/recipe-authoring-tools2.3.0
silverstripe/recipe-blog2.3.0
silverstripe/recipe-cms5.3.0
silverstripe/recipe-collaboration2.3.0
silverstripe/recipe-content-blocks3.3.0
silverstripe/recipe-core5.3.0
silverstripe/recipe-form-building2.3.0
silverstripe/recipe-kitchen-sink5.3.0
silverstripe/recipe-plugin2.0.1
silverstripe/recipe-reporting-tools2.3.0
silverstripe/recipe-services2.3.0
silverstripe/registry3.2.0
silverstripe/reports5.3.0
silverstripe/restfulserver3.0.2
silverstripe/securityreport3.1.1
silverstripe/segment-field3.3.0
silverstripe/session-manager2.3.0
silverstripe/sharedraftcontent3.3.0
silverstripe/siteconfig5.3.0
silverstripe/sitewidecontent-report4.3.0
silverstripe/spamprotection4.2.1
silverstripe/staticpublishqueue6.2.2
silverstripe/subsites3.3.0
silverstripe/tagfield3.3.0
silverstripe/taxonomy3.2.2
silverstripe/textextraction4.1.1
silverstripe/totp-authenticator5.3.0
silverstripe/userforms6.3.0
silverstripe/vendor-plugin2.0.3
silverstripe/versioned2.3.0
silverstripe/versioned-admin2.3.0
silverstripe/versionfeed3.2.3
silverstripe/webauthn-authenticator5.3.0
symbiote/silverstripe-advancedworkflow6.3.0
symbiote/silverstripe-gridfieldextensions4.1.0
symbiote/silverstripe-multivaluefield6.1.0
symbiote/silverstripe-queuedjobs5.2.0
tractorcow/silverstripe-fluent7.2.0

Security considerations

Three security fixes that were previously released in the July security release are mentioned in the Silverstripe CMS security patches July 2024 blog post are listed below.

Review the individual vulnerability disclosure for more detailed descriptions of each security fix. We highly encourage upgrading your project to include the latest security patches.

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

Features and enhancements

Changes to TinyMCEConfig

In order to facilitate fixing a bug related to the sanitisation of HTML content via the HTMLEditorSanitiser class, some changes had to be made to the TinyMCEConfig class. Those changes are as follows:

  • If valid_elements and extended_valid_elements are both empty, all HTML elements will be stripped out of the HTML content.
  • A default set of valid_elements has been defined for all TinyMCEConfig instances. If you use custom TinyMCEConfig definitions and have not explicitly set the valid_elements option, you may have more elements permitted than you were expecting.
  • There is a new TinyMCEConfig.default_options configuration property which allows you to define the default options for all TinyMCEConfig instances.

If you use custom TinyMCEConfig definitions, we strongly recommend double checking if they include a definition of valid_elements, and if they don't, validate whether the default set defined in TinyMCEConfig.default_options is suitable for you.

You can either change the TinyMCEConfig.default_options configuration value to affect the options for all TinyMCEConfig definitions, or explicitly define valid_elements for your specific configuration instances. See setting options for more details.

See sanitisation of HTML for more information about the bug that was fixed.

High-level API for converting files

There is now a high-level API for converting files from one format to another. This builds on top of the low-level API which was added in 5.2.0.

Files can be converted both in PHP code and in templates:

// Convert an image to webp format and apply the FitMax manipulation to the result
$this->MyImage()->Convert('webp')->FitMax(100, 100);
<%-- Convert an image to webp format and apply the FitMax manipulation to the result --%>
$MyImage.Convert('webp').FitMax(100, 100)

Out of the box silverstripe/assets provides the new InterventionImageFileConverter class which converts images to other image formats using Intervention Image. You can add your own FileConverter implementations in projects or modules for any file convertions you might need.

See convert a file to a different format for more details.

Improve customisability of rendered images

We've aligned how images added to an HTMLEditorField and images invoked in templates are rendered. The markup up for both <img> tags are now generated from the same template file. This makes it easier to customise how images are rendered on your site.

The template for this is templates/SilverStripe/Assets/Storage/DBFile_Image.ss. Add a file with that path to your Silverstripe CMS theme if you want to override it.

This opens many interesting possibilities. For example, this code snippet will provide a WebP version of any image rendered on your site.

<picture>
    <source srcset="$Convert('webp').Link" type="image/webp">
    <img $AttributesHTML >
</picture>

You can also choose to have different rendering logic for HTMLEditorField images and for images invoked in templates by overriding different templates.

  • Add a SilverStripe/Assets/Shortcodes/ImageShortcodeProvider_Image.ss to your theme to control images added to an HTMLEditorField.
  • Add a DBFile_Image.ss file to the root of your theme to control only images invoked in templates.

Validation for inline-editable elemental blocks

Elemental content blocks now support validation when saving or publishing individual content blocks using the "three-dot" context menu in the top-right of the block.

Validation can be added to a content block using standard Model Validation and Constraints by implementing a DataObject::validate() method on a content block, or by using Form Validation where there are several options available.

Elemental data is no longer sent when saving the parent DataObject (usually a Page) that contains an ElementalAreaField. Instead, when saving the parent DataObject, all the child inline-editable elements that have unsaved changes are inline saved at the same time. This change was done to consolidate the saving process down to a single code path. The code that was previously used to process any element data sent with the parent data has been removed.

FormField scaffolding for DataObject models

We've made a few improvements to how form fields are scaffolded for DataObject::getCMSFields().

Define scaffolded form fields for relations

Most DataObject classes will rely on some amount of automatic scaffolding of form fields in their getCMSFields() implementations. However, it's common for modules to provide a specialised form field which is intended to always be used with a specific DataObject class. In those cases, even though you always want to use that form field with that class, you have to copy some boilerplate code from the module's documentation to set it up.

You can now define what form fields should be used when scaffolding form fields for has_one, has_many, and many_many relations. This is defined on the class on the child-side of the relationship. For example, for the below has_one relation you would implement scaffoldFormFieldForHasOne() on the MyChild class.

namespace App\Model;

use SilverStripe\ORM\DataObject;

class MyParent extends DataObject
{
    // ...
    private static array $has_one = [
        'MyChild' => MyChild::class,
    ];
}
namespace App\Model;

use SilverStripe\Forms\FormField;
use SilverStripe\ORM\DataObject;

class MyChild extends DataObject
{
    // ...

    public function scaffoldFormFieldForHasOne(
        string $fieldName,
        ?string $fieldTitle,
        string $relationName,
        DataObject $ownerRecord
    ): FormField {
        return /* instantiate some FormField here */;
    }
}

This means modules can pre-define the form field that should be used for their custom models, which reduces the amount of boilerplate code developers need to include in their getCMSFields() implementations.

For more information see scaffolding for relations.

FormScaffolder options

The FormScaffolder class (which is responsible for scaffolding form fields for getCMSFields()) has some new options:

optiondescription
mainTabOnlyOnly set up the "Root.Main" tab, but skip scaffolding actual form fields or relation tabs. If tabbed is false, the FieldList will be empty.
ignoreFieldsDeny list of field names. If populated, database fields and fields representing has_one relations which are in this array won't be scaffolded.
ignoreRelationsDeny list of field names. If populated, form fields representing has_many and many_many relations which are in this array won't be scaffolded.
restrictRelationsAllow list of field names. If populated, form fields representing has_many and many_many relations not in this array won't be scaffolded.

In particular, the ignoreFields and ignoreRelations options are useful ways to prevent form fields from being scaffolded at all. You can use this instead of calling $fields->removeFieldByName(), for example if you are adding database fields that you don't want to be edited with form fields in the CMS.

These options are now also configurable using the new DataObject.scaffold_cms_fields_settings configuration property.

See the scaffolding section for more details.

Support for JOIN in SQL UPDATE

The SQLUpdate class now supports all of the same JOIN operations (using the same methods) that SQLSelect does.

This is particularly helpful if you need to update columns in one table to match values from another table.

Autologin token regeneration changes

The Autologin ('remember me') feature stores cookies in the user's browser to allow recreation of their session when it expires. Currently, one of the cookies is regenerated whenever a user's session is recreated. This can cause unexpected logouts in certain situations, and has minimal value from a security standpoint.

In 5.3, the current behaviour is retained, but can be disabled via configuration:

SilverStripe\Security\RememberLoginHash:
  replace_token_during_session_renewal: false

This will cause the token to be generated once during login, and not be regenerated during session renewal.

From 6.0 onwards, tokens will never be regenerated during session renewal, and this configuration will be removed.

Other new features

  • silverstripe/linkfield now has improved accessibility support for screen readers and keyboard navigation. Focus states have also been made consistent between keyboard and mouse interaction.
  • silverstripe/graphql-devtools contains a new GraphQLSchemaInitTask to help you initialise a basic GraphQL schema.
  • GridFieldDetailForm_ItemRequest now uses a PjaxResponseNegotiator to handle PJAX responses for the save and publish actions. This aligns it with responses from other form submissions in the CMS.
  • Primitive types inside an iterable object will now be automatically converted to relevant DBField types so can be rendered in a template. This allows the use of return ArrayList::create(['lorem', 123]); from a ContentController method that is then looped over in a template.
  • A new TabSet::changeTabOrder() method has been added that allows you to change the order of tabs in a TabSet. See tabbed forms for details.

API changes

  • Passing a non-array $fields argument to both FieldList::addFieldsToTab() and FieldList::removeFieldsFromTab() has been deprecated.
  • The BaseElement::getDescription() method has been deprecated. To update or get the CMS description of elemental blocks, use the description configuration property and the localisation API.
  • The RememberLoginHash::renew() method has been deprecated without replacement, since the associated behaviour will be removed in 6.0.

    • The onAfterRenewToken extension point within this method will likely be replaced with a new extension point in 6.0.
  • The RememberLoginHash.replace_token_during_session_renewal configuration property has been added to allow disabling token regeneration during session renewal. This property will be removed in 6.0.
  • Code for the CMS GraphQL admin schema which provided endpoints for the CMS has been deprecated and will be removed in CMS 6. Functionality which the GraphQL endpoints are currently responsible for will be replaced with regular Silverstripe controller endpoints instead. Extension hooks will be added to the new controller endpoints that return data to allow for customisation. Frontend schemas, such the default schema, will continue to work in CMS 6.
  • IPUtils has been deprecated and its usage has been replaced with the IPUtils class from symfony/http-foundation which is now included as a composer dependency in silverstripe/framework.
  • Code in silverstripe/blog which supported integration with silverstripe/widgets has been deprecated and will be removed in CMS 6.0.
  • DataExtension, SiteTreeExtension, and LeftAndMainExtension have been deprecated and will be removed in CMS 6.0. If you subclass any of these classes, you should now subclass Extension directly instead.

Bug fixes

  • If you use <% loop %> in your templates without telling it what to loop, previously the behaviour was to fail silently. This will now loop over what is currently in scope. See looping over lists for more details.
  • Reordering elemental blocks used to update the published sort order immediately, without pressing the publish button. That wasn't consistent with the way any other sort order updates happen in the CMS. We've changed this so that the sort order won't update in your published site until you publish one of the blocks in the elemental area that the reordered blocks live in. This is consistent with what happens when you reorder pages in the site tree.

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!

Sanitisation of HTML

When you save content in a HTMLEditorField, the HTMLEditorSanitiser class is responsible for ensuring the HTML content is safe and matches the valid_elements and extended_valid_elements options you've defined.

There was a bug that resulted in HTMLEditorSanitiser using the 'active' HTMLEditorConfig instance rather than the instance which was defined for the field. In many cases this goes unnoticed because the default active instance is very permissive, and TinyMCE does a lot of this work on the client-side, but it was possible to bypass the defined allowed HTML elements by sending requests directly to the server.

This bug has been fixed, but some additional changes were required to facilitate it. See changes to TinyMCEConfig for more details about those changes.

Restore batch action removed

The "Restore" batch action was removed from the batch actions dropdown menu in the CMS as it has not functioned correctly for a long time. There is no intention at this stage to reintroduce this feature.

Change log

Security

  • silverstripe/framework (5.2.0 -> 5.3.0)

  • silverstripe/reports (5.2.0 -> 5.3.0)

Features and enhancements

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

    • 2024-06-05 955a8d2 Use class name instead of self (Steve Boyd)
  • silverstripe/vendor-plugin (2.0.2 -> 2.0.3)

    • 2024-06-05 34f656b Use class name instead of self (Steve Boyd)
  • silverstripe/assets (2.2.0 -> 2.3.0)

    • 2024-08-21 9584c31 ensure file title constructed from original filenam (Mohamed Alsharaf)
    • 2024-07-29 401277c Don&apos;t use keyword &quot;self&quot; (#622) (Guy Sartorelli)
    • 2024-06-30 cf787b0 Align rendering of image genercated by ImageShortCodeProvider with generic Image generation (#596) (Maxime Rainville)
    • 2024-06-14 7979fd7 Use class name instead of self (Steve Boyd)
    • 2024-06-07 20cc083 Scaffold formfields for File and Image using new API (#613) (Guy Sartorelli)
    • 2024-06-04 db48540 Allow devs to define support for third-party intervention drivers (#610) (Guy Sartorelli)
    • 2024-04-10 ff5e8a7 File converter API (#595) (Guy Sartorelli)
  • silverstripe/config (2.1.0 -> 2.1.1)

    • 2024-06-05 6563cb0 Use class name instead of self (Steve Boyd)
  • silverstripe/framework (5.2.0 -> 5.3.0)

    • 2024-08-12 dca62c738 Make CMSFields scaffolding configurable, plus new options (#11328) (Guy Sartorelli)
    • 2024-08-11 eee7a84a4 Add new method TabSet::changeTabOrder(). (#11329) (Guy Sartorelli)
    • 2024-07-31 9091ecfd3 Don&apos;t use the keyword &quot;self&quot; (#11315) (Guy Sartorelli)
    • 2024-07-29 d9bccaff3 Don't use keywords self (#11313) (Guy Sartorelli)
    • 2024-06-17 620c1b046 Use class name instead of self (Steve Boyd)
    • 2024-06-07 be0eab2ba Allow DataObject classes to define scaffolded relation formfields (#11269) (Guy Sartorelli)
    • 2024-05-28 e35f12c66 Update AttributesHTML to output alt attribute even if it's empty (#11217) (Maxime Rainville)
    • 2024-05-16 56625081b Use allowed view button for readonly GridField (#11228) (Guy Sartorelli)
    • 2024-05-15 12a741fee Rendering scalars in ArrayList in templates (Steve Boyd)
    • 2024-04-26 142a318fa Return PJAX responses from gridfield edit forms (#11206) (Guy Sartorelli)
    • 2024-04-18 72692f9f1 Make default TinyMCE settings configurable (Guy Sartorelli)
    • 2024-04-18 2bdc24c86 Set default valid_elements for new TinyMCE config (Guy Sartorelli)
    • 2024-04-01 b442d9d45 Let unit tests manipulate the DB before loading fixtures (#11182) (Guy Sartorelli)
    • 2024-03-25 492cb800f store tableList in cache (#11183) (Thomas Portelange)
    • 2024-03-21 b167f470d Add Nice to DBField (Thomas Portelange)
  • silverstripe/admin (2.2.0 -> 2.3.0)

    • 2024-07-18 ef327402 Wait for promises before submitting forms (Steve Boyd)
    • 2024-06-18 cca9ed5f Remove unused legacy graphql code (Steve Boyd)
    • 2024-06-14 7daeee4d Use class name instead of self (Steve Boyd)
    • 2024-05-22 65c0adb4 Highlight the tabs which have validation errors (#1753) (Guy Sartorelli)
    • 2024-05-09 2fea8ca3 Rebuild bundle (Steve Boyd)
    • 2024-04-26 d43e6dcc move private method to framework (#1730) (Guy Sartorelli)
    • 2024-04-18 d03d790c Remove duplicated default settings from cms TinyMCE config (#1725) (Guy Sartorelli)
    • 2024-04-17 447fd34b Add workflow permissions (Steve Boyd)
    • 2021-11-08 7130ae94 Open GridField rows in a new tab with Shift/Ctrl/Meta key (Sergey Shevchenko)
  • silverstripe/asset-admin (2.2.0 -> 2.3.0)

    • 2024-08-15 ea422107 Don't emit deprecation warnings for unavoidable API calls (#1483) (Guy Sartorelli)
    • 2024-06-20 32ede202 Remove unused legacy graphql code (Steve Boyd)
    • 2024-06-14 1f32e330 Use class name instead of self (Steve Boyd)
  • silverstripe/versioned-admin (2.2.0 -> 2.3.0)

    • 2024-06-05 6a731c2 Use class name instead of self (Steve Boyd)
  • silverstripe/cms (5.2.0 -> 5.3.0)

    • 2024-09-11 1dab0904 Update default homepage content (#3001) (Annie Kyles)
    • 2024-08-15 96ce0927 Don't emit deprecation warnings for unavoidable API calls (#2985) (Guy Sartorelli)
    • 2024-06-17 ea38c43e Use class name instead of self (Steve Boyd)
  • silverstripe/errorpage (2.2.0 -> 2.3.0)

    • 2024-06-14 f70cfc9 Use class name instead of self (Steve Boyd)
  • silverstripe/reports (5.2.0 -> 5.3.0)

    • 2024-06-05 5819a3bd Use class name instead of self (Steve Boyd)
  • silverstripe/siteconfig (5.2.0 -> 5.3.0)

    • 2024-06-05 c7260fbe Use class name instead of self (Steve Boyd)
  • silverstripe/versioned (2.2.0 -> 2.3.0)

    • 2024-06-18 cde029b Remove unused legacy graphql code (Steve Boyd)
    • 2024-06-05 09902f9 Use class name instead of self (Steve Boyd)
  • silverstripe/graphql (5.2.0 -> 5.2.3)

    • 2024-06-17 c965269 Use self::class::method() syntax (Steve Boyd)
    • 2024-06-14 fb18d9d Use class name instead of self (Steve Boyd)
  • silverstripe/session-manager (2.2.0 -> 2.3.0)

    • 2024-06-14 7552424 Use class name instead of self (Steve Boyd)
  • silverstripe/login-forms (5.2.0 -> 5.3.0)

    • 2024-06-05 b34ad95 Use class name instead of self (Steve Boyd)
  • silverstripe/documentconverter (3.2.0 -> 3.3.0)

    • 2024-06-05 0ba82ee Use class name instead of self (Steve Boyd)
  • silverstripe/tagfield (3.2.0 -> 3.3.0)

    • 2024-06-05 5bc5479 Use class name instead of self (Steve Boyd)
  • silverstripe/blog (4.2.0 -> 4.3.0)

    • 2024-06-05 6c37e8f Use class name instead of self (Steve Boyd)
  • silverstripe/spamprotection (4.2.0 -> 4.2.1)

    • 2024-06-14 7ad6f85 Use class name instead of self (Steve Boyd)
  • colymba/gridfield-bulk-editing-tools (4.0.2 -> 4.1.0)

    • 2023-08-21 2f3f149 Update translations (#245) (Guy Sartorelli)
    • 2023-06-15 0b610fb Update translations (Steve Boyd)
    • 2023-06-14 e038dc3 Update translations (Steve Boyd)
    • 2023-05-30 c818128 Update translations (Steve Boyd)
  • silverstripe/contentreview (5.2.0 -> 5.3.0)

    • 2024-06-05 061245f Use class name instead of self (Steve Boyd)
  • silverstripe/sharedraftcontent (3.2.0 -> 3.3.0)

    • 2024-06-05 be78f89 Use class name instead of self (Steve Boyd)
  • symbiote/silverstripe-advancedworkflow (6.2.0 -> 6.3.0)

    • 2024-06-05 ef49170 Use class name instead of self (Steve Boyd)
  • silverstripe/userforms (6.2.0 -> 6.3.0)

    • 2024-06-14 6541365 Use class name instead of self (Steve Boyd)
    • 2024-04-15 1eb0c5f Add classname to p tag (#1280) (Annie Kyles)
    • 2024-03-17 32d0158 Add 'Includes' condition option to EmailRecipientCondition (#1275) (Sukhwinder Singh)
    • 2024-03-12 6191b49 Add extension hook for modifying submissions GridField (#1273) (James Cocker)
  • silverstripe/externallinks (3.2.0 -> 3.3.0)

    • 2024-06-05 e9de952 Use class name instead of self (Steve Boyd)
  • silverstripe/securityreport (3.1.0 -> 3.1.1)

    • 2024-06-05 32575f4 Use class name instead of self (Steve Boyd)
  • silverstripe/sitewidecontent-report (4.2.0 -> 4.3.0)

    • 2024-06-05 7b8e23f Use class name instead of self (Steve Boyd)
  • bringyourownideas/silverstripe-maintenance (3.1.0 -> 3.2.0)

    • 2024-05-09 e894458 Update reference to supported modules data (#220) (Guy Sartorelli)
  • bringyourownideas/silverstripe-composer-update-checker (4.1.0 -> 4.1.2)

    • 2024-06-05 94ba665 Use class name instead of self (Steve Boyd)
  • silverstripe/restfulserver (3.0.0 -> 3.0.2)

    • 2024-06-14 d395845 Use class name instead of self (Steve Boyd)
  • silverstripe/versionfeed (3.2.0 -> 3.2.3)

    • 2024-06-05 b2dd034 Use class name instead of self (Steve Boyd)
  • dnadesign/silverstripe-elemental (5.2.0 -> 5.3.0)

    • 2024-08-15 4f4a006 Don't emit deprecation warnings for unavoidable API calls (#1233) (Guy Sartorelli)
    • 2024-07-24 823cc53 Inline save all rendered element forms on parent form submit (Steve Boyd)
    • 2024-06-18 e58f939 Remove unused legacy graphql code (Steve Boyd)
    • 2024-06-14 51b178c Use class name instead of self (Steve Boyd)
    • 2024-04-30 344bc54 Refactor Element and graphql hoc (Steve Boyd)
    • 2024-04-18 e3dd091 Refactor Element to function component (Steve Boyd)
    • 2024-04-16 4789b34 Validation of fields when inline saving (Steve Boyd)
  • silverstripe/elemental-bannerblock (3.2.0 -> 3.3.0)

    • 2024-07-29 fbbad23 Don&apos;t use keyword &quot;self&quot; (#155) (Guy Sartorelli)
  • silverstripe/environmentcheck (3.0.1 -> 3.0.2)

    • 2024-06-05 0908db8 Use class name instead of self (Steve Boyd)
  • silverstripe/hybridsessions (3.0.3 -> 3.0.5)

    • 2024-06-05 70b760d Use class name instead of self (Steve Boyd)
  • silverstripe/mfa (5.2.0 -> 5.3.0)

    • 2024-06-05 84cdae1 Use class name instead of self (Steve Boyd)
  • silverstripe/crontask (3.0.3 -> 3.0.4)

    • 2024-06-05 cadce9e Use class name instead of self (Steve Boyd)
  • silverstripe/ldap (2.2.0 -> 2.2.3)

    • 2024-06-05 b200f00 Use class name instead of self (Steve Boyd)
  • silverstripe/textextraction (4.1.0 -> 4.1.1)

    • 2024-06-05 7149050 Use class name instead of self (Steve Boyd)
  • silverstripe/realme (5.3.0 -> 5.4.0)

    • 2024-06-05 aae799a Use class name instead of self (Steve Boyd)
  • silverstripe/webauthn-authenticator (5.2.0 -> 5.3.0)

    • 2024-06-05 14806b2 Use class name instead of self (Steve Boyd)
  • silverstripe/subsites (3.2.0 -> 3.3.0)

    • 2024-06-05 ad2c5d8 Use class name instead of self (Steve Boyd)
    • 2024-03-28 6ba7385 Use cached table list from ClassInfo (#564) (Thomas Portelange)
  • silverstripe/lumberjack (3.1.0 -> 3.2.0)

    • 2024-06-05 9f5dbbe Use class name instead of self (Steve Boyd)
  • silverstripe/staticpublishqueue (6.2.0 -> 6.2.2)

    • 2024-06-14 ade614c Use class name instead of self (Steve Boyd)
  • cwp/agency-extensions (3.2.0 -> 3.3.0)

    • 2024-06-05 dc59615 Use class name instead of self (Steve Boyd)
  • symbiote/silverstripe-gridfieldextensions (4.0.5 -> 4.1.0)

    • 2024-08-01 6c6f43c Don&apos;t use keyword &quot;self&quot; (#410) (Guy Sartorelli)
    • 2024-06-05 abe2359 Use class name instead of self (Steve Boyd)
    • 2024-04-12 db3edd7 Initial nested gridfield component (Niklas Forsdahl)
  • symbiote/silverstripe-queuedjobs (5.1.0 -> 5.2.0)

    • 2024-06-27 dbbcd67 Send an email notification when a job is broken (Steve Boyd)
    • 2024-06-14 793e73d Use class name instead of self (Steve Boyd)
  • tractorcow/silverstripe-fluent (7.1.0 -> 7.2.0)

    • 2024-07-29 8c9745e Don't use keyword self (Guy Sartorelli)
    • 2024-06-10 201826e Revert temporary locale fix (Steve Boyd)
    • 2024-06-05 092638a Use class name instead of self (Steve Boyd)
    • 2024-04-04 d426370 Localisation manager links available for CMS edit link capable models. (Mojmir Fendek)
    • 2024-03-27 9aea31d Added dev/task to initialise DataObjects for existing datasets (Nathan J. Brauer)
    • 2024-03-20 fd05311 Add ability to ignore domains entirely (Thomas Portelange)
  • silverstripe/linkfield (4.0.0 -> 4.1.0)

    • 2024-08-15 c76fdba Don't emit deprecation warnings for unavoidable API calls (#319) (Guy Sartorelli)
    • 2024-06-05 81a65c0 Use class name instead of self (Steve Boyd)
    • 2024-04-02 ef75425 Better use of ARIA attributes (Steve Boyd)
    • 2024-04-02 b5c56e9 Improve component focusing (Steve Boyd)
    • 2024-04-02 5864546 Use li for multi links (Steve Boyd)
    • 2024-04-01 495dc35 Add migration task from gorriecoe/silverstripe-link (#253) (Guy Sartorelli)
    • 2024-03-20 4d9c84f LinkableMigrationTask for migrating sheadawson-linkable links (Sabina Talipova)
    • 2024-03-19 393f64f Add migration task from older versions of the module (#244) (Guy Sartorelli)

Bugfixes

  • silverstripe/assets (2.2.0 -> 2.3.0)

    • 2024-06-04 c4081b9 Ensure manipulations start with base file (#612) (Guy Sartorelli)
    • 2024-05-15 7266f83 Ensure public url slashes are forward slashes (Steve Boyd)
    • 2024-04-30 41378dc Make sure the cache shortcode value is used in FileShortcodeProvider (#598) (Maxime Rainville)
  • silverstripe/framework (5.2.0 -> 5.3.0)

    • 2024-09-20 829a28dc6 Member form validator fix. (Mojmir Fendek)
    • 2024-08-14 25a41de8b Run ANALYZE TABLE before fetching table stats (Steve Boyd)
    • 2024-08-08 7b91207c1 Don't error if template global is null (#11331) (Guy Sartorelli)
    • 2024-08-06 8c80a4fd1 Do not suffix trailing slash to external links (Steve Boyd)
    • 2024-08-06 9fae48bbd Allow clearing lazyloaded SearchableDropdownField. (#11324) (Guy Sartorelli)
    • 2024-08-06 c3f0104a8 Clear table logic for MySQL 8 (Steve Boyd)
    • 2024-07-25 fb7b1734e Readonly transformation of lazy-loaded searchable dropdown (#11297) (Johannes Hammersen)
    • 2024-07-25 f91b279ef Don&apos;t generate table alias for &quot;from&quot; statement that are not column names. (Maxime Rainville)
    • 2024-07-19 539d4645b Truncate table to clear table (Steve Boyd)
    • 2024-07-09 c13ec3411 Don&apos;t strip &lt;header&gt; tag from HTMLValue (#11302) (Guy Sartorelli)
    • 2024-07-08 0bb88d098 Don't pass labelfield as value for SEarchableDropdownField (#11303) (Guy Sartorelli)
    • 2024-07-03 1943f9d41 DBForeignKey scaffolding missing parameter (#11295) (Johannes Hammersen)
    • 2024-06-19 ce5cfcac6 Remove write from SearchableDropdownTrait (johannes.hammersen)
    • 2024-06-16 1e0b9056f Don't load data up front for lazy-loaded searchable dropdown (#11278) (Guy Sartorelli)
    • 2024-05-21 f0aaba550 HTMLEditorField is not able to show html or xml code examples (#11243) (Sabina Talipova)
    • 2024-05-19 470293a6d 'which' check in 'sake' now works for aliases (#11232) (Hernold Koch)
    • 2024-05-17 699a8bf2d Loop over current scope when no argument passed to loop block (Guy Sartorelli)
    • 2024-05-13 50a001836 many_many through should allow subclasses (#11230) (Guy Sartorelli)
    • 2024-05-07 0f6d21060 Correctly eagerload polymorphic has_one relations (#11204) (Dominik Beerbohm)
    • 2024-05-06 3449d8bf2 Revert &quot;ENH Add Nice to DBField&quot; (#11222) (Guy Sartorelli)
    • 2024-05-06 a198c9162 Don't throw exception for empty eagerloaded relation (#11220) (Guy Sartorelli)
    • 2024-05-06 a92baeaf6 Allow double dots in path when not attempting directory traversal (#11219) (Guy Sartorelli)
    • 2024-05-02 b8f0b8ca4 Handle getting HasOneRelationFieldInterface passed as an array (Steve Boyd)
    • 2024-04-18 a4adad60e Don't skip sanitisation when no valid elements are defined (Guy Sartorelli)
    • 2024-04-15 a53301f67 OutOfBoundsException when recipe-core isn't installed (fixes #11197) (Loz Calver)
    • 2024-03-26 135f9c6d3 Ensure eagerLoading don't load has_one twice (#11170) (Dominik Beerbohm)
    • 2024-03-14 9361382be mark a successful login attempt when completing a password reset (#10099) (Will Rossiter)
    • 2023-10-15 99e965b5d Use field editorconfig when sanitising content (Bernie Hamlin)
  • silverstripe/admin (2.2.0 -> 2.3.0)

    • 2024-09-24 901f0bf6 Don't trigger init if already redirected (Thomas Portelange)
    • 2024-08-25 27a2da76 Fix TinyMCE edit link when link contains html (#1814) (Mo Alsharaf)
    • 2024-07-29 806ba31e Correctly set img tag attributes for WYSIWYG (#1798) (Guy Sartorelli)
    • 2024-06-20 2730ef73 Restore correct margin for gridfield (#1790) (Guy Sartorelli)
    • 2024-06-19 a11d448e Use correct argument for FormBuilder context (Steve Boyd)
    • 2024-05-31 effbe4f3 Allow reloading react forms based on changes to a prop (#1771) (Guy Sartorelli)
    • 2024-05-22 8dc91bd1 Ensure tab is highlighted for validation error (#1751) (Guy Sartorelli)
    • 2024-05-08 78eb1775 Update model class importers (Mike Nuguid)
    • 2024-05-07 98096401 Rebuild bundle (Steve Boyd)
    • 2024-05-05 038173c2 SearchableDropdownField pass incorrect value on onChange event (Sabina Talipova)
    • 2024-04-30 34348736 Repalce mouseDown with keyDown event on treedropdown option button (#1732) (Sabina Talipova)
    • 2024-04-17 494203ea Ensure message events are handled correctly (#1724) (Guy Sartorelli)
    • 2024-03-14 64135431 Enable bypassing entwine onsubmit handler (Steve Boyd)
  • silverstripe/versioned-admin (2.2.0 -> 2.3.0)

    • 2024-06-18 0c02307 Allow no recordId to be passed in to avoid console error in dev (#347) (Steve Boyd)
  • silverstripe/cms (5.2.0 -> 5.3.0)

    • 2024-09-11 42f72f5b Remove legacy fields which prevent page publish (fixes #2455) (Loz Calver)
    • 2024-07-18 90723451 Don't double up the breadcrumb on list views (Maxime Rainville)
    • 2024-05-09 687c69c5 Remove broken restore batch action (Steve Boyd)
  • silverstripe/versioned (2.2.0 -> 2.3.0)

    • 2024-08-19 0650135 Include deprecation import (Steve Boyd)
  • silverstripe/graphql (5.2.0 -> 5.2.3)

    • 2024-05-08 d6e7735 Don't attempt to correct sort when passed as an argument (closes #571) (Loz Calver)
  • silverstripe-themes/simple (3.3.1 -> 3.3.2)

    • 2019-02-05 2ba821e #64: TinyMCE text and image alignment issue (Shenghan Chen)
  • silverstripe/blog (4.2.0 -> 4.3.0)

    • 2024-05-10 bad865d Don't hardcode table name (#629) (Werner Krauß)
  • colymba/gridfield-bulk-editing-tools (4.0.2 -> 4.1.0)

    • 2024-09-19 901c64f fix multiple things in EditHandler (Thomas Portelange)
    • 2024-05-29 e6b27ac No more floating checkboxes (#286) (Guy Sartorelli)
    • 2024-04-29 f842a30 fix missing import (Thomas Portelange)
    • 2024-03-04 379fda0 HTTPBulkToolsResponse.addSuccessRecords() fn (Peter Schiffer)
  • silverstripe/userforms (6.2.0 -> 6.3.0)

    • 2024-10-15 fadfec2 Ensure UserFormsColumnCleanTask runs safely (#1335) (Guy Sartorelli)
    • 2024-08-27 db8adf5 Duplicate userforms using cascade_duplicates config (#1320) (Guy Sartorelli)
    • 2024-08-05 c822f24 Update EditableFormHeading.php to output unique ID attributes to comply with accessibility standards (Dan)
    • 2024-05-30 cccc3f7 fix: prevent CMS requirements from leaking into preview email (Will Rossiter)
    • 2024-05-30 b429efb Fix layout issues with userform in elemental context (#1294) (Mo Alsharaf)
    • 2024-05-24 24ba62a Don't emit deprecation warning for calling deprecated methods (#1293) (Guy Sartorelli)
  • silverstripe/restfulserver (3.0.0 -> 3.0.2)

    • 2024-10-23 c169fad Add protection against deprecated warning from mb_check_encoding() (#136) (Ed Wilde)
  • dnadesign/silverstripe-elemental (5.2.0 -> 5.3.0)

    • 2024-08-16 42fc926 Don't update sort order in live until a block has been published (#1234) (Guy Sartorelli)
    • 2024-06-20 3ce68e5 Restore correct margin for elemental history (#1213) (Guy Sartorelli)
    • 2024-05-07 e2f742b Improve non-inline validation (Steve Boyd)
  • silverstripe/auditor (3.1.0 -> 3.2.0)

    • 2024-04-24 7a1b7b1 Use correct namespace for session manager controller (Steve Boyd)
  • silverstripe/developer-docs (5.2.0 -> 5.3.0)

    • 2024-04-11 cdfaf149 Fix FieldName typo (Corey Sewell)
  • silverstripe/subsites (3.2.0 -> 3.3.0)

    • 2024-08-13 6536e8f Correct trailing slash for subsite in another domain (#590) (Guy Sartorelli)
  • silverstripe/lumberjack (3.1.0 -> 3.2.0)

    • 2019-03-19 126a7df Ensure correct link is used when gridfield is readonly (Aljoša Balažic)
  • symbiote/silverstripe-gridfieldextensions (4.0.5 -> 4.1.0)

    • 2024-06-21 c8cbc47 Prevent popping open cms-menu when using nested gridfield (Steve Boyd)
    • 2024-05-21 945ea7f Make child responsible for its own nested gridfield (Guy Sartorelli)
    • 2020-06-01 80a4d9c Fixed move to prev/next page functionality (fixes #307) (Loz Calver)
  • tractorcow/silverstripe-fluent (7.1.0 -> 7.2.0)

    • 2024-08-19 4448bef Remove header filter from localisation grid field (Mohamed Alsharaf)
    • 2024-08-13 8f7d803 Correct trailing slash for locale in another domain (#872) (Guy Sartorelli)
    • 2024-06-10 713786b Preview link when no locale set (Steve Boyd)
    • 2024-06-06 2714bff Create a temp locale if there is not a default (Steve Boyd)
    • 2024-06-06 eaece0a Only select columns from the current database (Steve Boyd)
    • 2024-03-24 11e92f4 fix: check for request prior to access (Damian Mooyman)
    • 2024-03-24 8985d8c fix: check for request prior to access (Damian Mooyman)
    • 2024-03-24 6961bc7 fix: don't invoke db for ready check outside of dev urls (Damian Mooyman)
    • 2024-03-20 05ef577 fix: redundant import (Damian Mooyman)
    • 2024-03-20 f79f0f9 fix: don't invoke db for ready check outside of dev urls (Damian Mooyman)
    • 2024-02-08 14ecdb1 allows i18nTextCollector to concatenate keys (David Toews)
    • 2023-11-14 f18bc71 fix: allow plugins (Damian Mooyman)
    • 2023-05-23 f07b036 Don't try to preview unlocalised objects (#781) (Guy Sartorelli)
  • silverstripe/linkfield (4.0.0 -> 4.1.0)

    • 2024-09-11 2ca8c0a Don't split ID into separate digits (#335) (Guy Sartorelli)
    • 2024-08-07 05f0bd7 Check canArchive() permission instead of canDelete() (Steve Boyd)
    • 2024-05-23 33621d0 Don't pass null into ArrayList (#290) (Guy Sartorelli)
    • 2024-05-02 e5cc291 Handle a string &quot;0&quot; value (Steve Boyd)
    • 2024-03-26 8e8a47a Linkfield sorting issue (Sabina Talipova)

Api changes

  • silverstripe/framework (5.2.0 -> 5.3.0)

    • 2024-08-20 743fe245a Deprecate DataExtension (Steve Boyd)
    • 2024-07-03 724e813b8 Make token regeneration optional during autologin session renewal (Garion Herman)
    • 2024-06-12 049e54624 Deprecate references to installation tool (#11275) (Guy Sartorelli)
    • 2024-05-14 0ba85bc1d Deprecate passing non-arrays to FieldList methods (Steve Boyd)
  • silverstripe/admin (2.2.0 -> 2.3.0)

    • 2024-08-20 611dc588 Deprecate LeftAndMainExtension (Steve Boyd)
  • silverstripe/asset-admin (2.2.0 -> 2.3.0)

    • 2024-08-22 ae7c21eb Deprecate extension to be replaced with config (#1489) (Guy Sartorelli)
    • 2024-08-18 81b03208 Deprecate GraphQL (Steve Boyd)
  • silverstripe/campaign-admin (2.2.0 -> 2.3.0)

    • 2024-08-22 af19bc1 Deprecate extension to be replaced with config (#325) (Guy Sartorelli)
  • silverstripe/cms (5.2.0 -> 5.3.0)

    • 2024-08-20 5e3e8479 Deprecate SiteTreeExtension (Steve Boyd)
    • 2024-08-18 391c1cea Deprecate GraphQL (Steve Boyd)
    • 2024-06-12 8fa7bffd Deprecate references to installation tool (#2962) (Guy Sartorelli)
  • silverstripe/versioned (2.2.0 -> 2.3.0)

    • 2024-08-18 812d1a1 Deprecate GraphQL (Steve Boyd)
    • 2024-08-15 4bc9abd Deprecate Versioned::canArchive() (#461) (Guy Sartorelli)
  • silverstripe/session-manager (2.2.0 -> 2.3.0)

    • 2024-08-19 8c23041 Use symfony for IPUtils (Steve Boyd)
  • silverstripe/blog (4.2.0 -> 4.3.0)

    • 2024-08-20 7ad58bb Deprecate widget classes (Steve Boyd)
  • colymba/gridfield-bulk-editing-tools (4.0.2 -> 4.1.0)

    • 2024-08-19 13809b9 Added fileID and record variables to onBulkUpload hook (Benjamin Blake)
  • silverstripe/sharedraftcontent (3.2.0 -> 3.3.0)

    • 2024-08-22 9453721 Deprecate extension to be replaced with config (#255) (Guy Sartorelli)
  • dnadesign/silverstripe-elemental (5.2.0 -> 5.3.0)

    • 2024-08-22 35e3eb9 Deprecate extension to be replaced with config (#1243) (Guy Sartorelli)
    • 2024-08-19 c3f3660 Deprecate GraphQL (Steve Boyd)
    • 2024-05-29 35c723d Deprecate BaseElement::getDescription() (#1196) (Guy Sartorelli)
  • silverstripe/auditor (3.1.0 -> 3.2.0)

    • 2024-04-28 5fe202e Deprecate ProxyDBExtension (Steve Boyd)
  • tractorcow/silverstripe-fluent (7.1.0 -> 7.2.0)

    • 2023-02-17 43dc86d Standardise deprecations (Guy Sartorelli)

Dependencies

  • silverstripe/framework (5.2.0 -> 5.3.0)

    • 2024-08-19 16a8132be Use symfony for IPUtils (Steve Boyd)
  • silverstripe/admin (2.2.0 -> 2.3.0)

    • 2024-09-01 c21cf6d2 Update JS dependencies (#1821) (github-actions[bot])
    • 2024-07-29 5df97257 Conflict with incompatible version of elemental (#1800) (Guy Sartorelli)
    • 2024-06-10 df02655f Update validator js dep to fix date validation bug (#1775) (Guy Sartorelli)
    • 2024-06-05 fc76d17d Bump ejs from 3.1.9 to 3.1.10 (#1735) (dependabot[bot])
    • 2024-04-01 a667c2d7 Update JS dependencies (#1716) (github-actions[bot])
  • silverstripe/asset-admin (2.2.0 -> 2.3.0)

    • 2024-09-01 18cd4095 Update JS dependencies (github-actions)
    • 2024-06-05 a40e4102 Move babel to devDependencies (Steve Boyd)
    • 2024-04-02 0abb6ac8 Update JS dependencies (#1449) (github-actions[bot])
  • silverstripe/campaign-admin (2.2.0 -> 2.3.0)

    • 2024-09-01 5855f59 Update JS dependencies (github-actions)
    • 2024-04-01 70a0629 Update JS dependencies (#298) (github-actions[bot])
  • silverstripe/versioned-admin (2.2.0 -> 2.3.0)

    • 2024-09-01 4ecee4e Update JS dependencies (github-actions)
    • 2024-04-02 bd47d34 Update JS dependencies (#333) (github-actions[bot])
  • silverstripe/cms (5.2.0 -> 5.3.0)

    • 2024-09-01 0b6f9c02 Update JS dependencies (github-actions)
    • 2024-04-02 6a19ed9a Update JS dependencies (#2928) (github-actions[bot])
  • silverstripe/session-manager (2.2.0 -> 2.3.0)

    • 2024-09-01 b5b898e Update JS dependencies (github-actions)
    • 2024-04-01 17eb0bc Update JS dependencies (#187) (github-actions[bot])
  • silverstripe/login-forms (5.2.0 -> 5.3.0)

    • 2024-09-01 b8af4b0 Update JS dependencies (github-actions)
    • 2024-04-01 6757f0a Update JS dependencies (#170) (github-actions[bot])
  • silverstripe/documentconverter (3.2.0 -> 3.3.0)

    • 2024-09-01 533e918 Bump braces from 3.0.2 to 3.0.3 (dependabot[bot])
    • 2024-09-01 ba7f07b Bump micromatch from 4.0.5 to 4.0.8 (dependabot[bot])
    • 2024-08-31 72a04e6 Bump webpack from 5.91.0 to 5.94.0 (dependabot[bot])
    • 2024-08-02 a1e9d62 Bump requirejs from 2.3.6 to 2.3.7 (dependabot[bot])
    • 2024-06-18 52688c8 Bump ws from 7.5.9 to 7.5.10 (dependabot[bot])
    • 2024-04-01 045f6a9 Update JS dependencies (#74) (github-actions[bot])
  • silverstripe/tagfield (3.2.0 -> 3.3.0)

    • 2024-09-01 6687921 Update JS dependencies (github-actions)
    • 2024-07-09 2b29c42 Bump minimum version of framework (Steve Boyd)
    • 2024-04-02 45d5a10 Update JS dependencies (#284) (github-actions[bot])
  • silverstripe/blog (4.2.0 -> 4.3.0)

    • 2024-09-01 67be150 Update JS dependencies (#783) (github-actions[bot])
    • 2024-04-01 b4605f3 Update JS dependencies (#751) (github-actions[bot])
  • colymba/gridfield-bulk-editing-tools (4.0.2 -> 4.1.0)

    • 2024-06-20 a13e101 Update eslint-config dependency (#292) (Guy Sartorelli)
    • 2024-04-02 3c38967 Update JS dependencies (Steve Boyd)
    • 2023-10-03 5b21477 Update javascript dependencies (#254) (Guy Sartorelli)
  • silverstripe/contentreview (5.2.0 -> 5.3.0)

    • 2024-09-01 440e434 Update JS dependencies (github-actions)
    • 2024-07-09 4ea50b3 Bump minimum version of framework (Steve Boyd)
    • 2024-04-02 efa4dda Update JS dependencies (#228) (github-actions[bot])
  • silverstripe/sharedraftcontent (3.2.0 -> 3.3.0)

    • 2024-09-01 9bb4569 Bump micromatch from 4.0.7 to 4.0.8 (dependabot[bot])
    • 2024-04-01 9fe444e Update JS dependencies (#229) (github-actions[bot])
  • symbiote/silverstripe-advancedworkflow (6.2.0 -> 6.3.0)

    • 2024-07-09 f78f120 Bump minimum version of framework (Steve Boyd)
    • 2024-06-05 07c3fee Bump remarkable from 1.7.1 to 1.7.4 (#534) (dependabot[bot])
    • 2024-04-02 54bfc48 Update JS dependencies (Steve Boyd)
  • silverstripe/segment-field (3.2.0 -> 3.3.0)

    • 2024-09-01 d9ab70a Bump micromatch from 4.0.7 to 4.0.8 (dependabot[bot])
    • 2024-04-01 9b3845b Update JS dependencies (#102) (github-actions[bot])
  • silverstripe/userforms (6.2.0 -> 6.3.0)

    • 2024-09-01 11e5994 Update JS dependencies (github-actions)
    • 2024-07-09 843353f Bump minimum version of framework (Steve Boyd)
    • 2024-04-01 4d17efd Update JS dependencies (#1277) (github-actions[bot])
  • silverstripe/externallinks (3.2.0 -> 3.3.0)

    • 2024-09-01 4a22b96 Bump micromatch from 4.0.7 to 4.0.8 (dependabot[bot])
    • 2024-04-02 d6d537b Update JS dependencies (#122) (github-actions[bot])
  • silverstripe/sitewidecontent-report (4.2.0 -> 4.3.0)

    • 2024-09-01 479a252 Update JS dependencies (github-actions)
    • 2024-04-01 38cb2aa Update JS dependencies (#84) (github-actions[bot])
  • bringyourownideas/silverstripe-maintenance (3.1.0 -> 3.2.0)

    • 2024-06-21 eab0c25 Rebuild yarn.lock (#231) (Guy Sartorelli)
    • 2024-04-02 5f7caec Update JS dependencies (Steve Boyd)
  • dnadesign/silverstripe-elemental (5.2.0 -> 5.3.0)

    • 2024-09-01 d832181 Update JS dependencies (github-actions)
    • 2024-07-23 6306618 Update minimum dependencies (#1223) (Guy Sartorelli)
    • 2024-07-10 8776381 Bump framework dependency (Steve Boyd)
    • 2024-05-21 d7bdd13 Bump framework dependency (Steve Boyd)
    • 2024-04-01 0e7dffe Update JS dependencies (#1159) (github-actions[bot])
  • silverstripe/elemental-bannerblock (3.2.0 -> 3.3.0)

    • 2024-09-01 41bc938 Update JS dependencies (github-actions)
    • 2024-04-02 7b705ca Update JS dependencies (#140) (github-actions[bot])
  • silverstripe/auditor (3.1.0 -> 3.2.0)

    • 2024-07-09 52f459a Bump minimum version of framework (Steve Boyd)
    • 2024-03-26 a9627f9 Use the canonical repository for proxy-db (#72) (Michal Kleiner)
  • silverstripe/developer-docs (5.2.0 -> 5.3.0)

    • 2024-07-01 b8dfee95 Update JS dependencies (github-actions)
    • 2024-04-01 eae39d5f Update JS dependencies (#488) (github-actions[bot])
  • silverstripe/totp-authenticator (5.2.0 -> 5.3.0)

    • 2024-09-01 851087b Update JS dependencies (github-actions)
    • 2024-04-02 252803e Update JS dependencies (#149) (github-actions[bot])
  • silverstripe/mfa (5.2.0 -> 5.3.0)

    • 2024-09-01 1e93852 Bump micromatch from 4.0.5 to 4.0.8 (dependabot[bot])
    • 2024-07-09 84022f7 Bump minimum version of framework (Steve Boyd)
    • 2024-04-01 23fc087 Update JS dependencies (#532) (github-actions[bot])
  • silverstripe/gridfieldqueuedexport (3.2.0 -> 3.3.0)

    • 2024-09-01 4f5fbd9 Update JS dependencies (github-actions)
    • 2024-04-01 d7925bf Update JS dependencies (#102) (github-actions[bot])
  • silverstripe/ldap (2.2.0 -> 2.2.3)

    • 2024-07-09 267667e Bump minimum version of framework (Steve Boyd)
  • silverstripe/realme (5.3.0 -> 5.4.0)

    • 2024-09-01 814b340 Update JS dependencies (github-actions)
    • 2024-04-02 dff66ae Update JS dependencies (#135) (github-actions[bot])
  • silverstripe/webauthn-authenticator (5.2.0 -> 5.3.0)

    • 2024-09-01 1e8dbfd Update JS dependencies (github-actions)
    • 2024-07-09 da521b1 Bump minimum version of framework (Steve Boyd)
    • 2024-04-01 57ea49b Update JS dependencies (#173) (github-actions[bot])
  • silverstripe/subsites (3.2.0 -> 3.3.0)

    • 2024-09-01 ff50db1 Update JS dependencies (github-actions)
    • 2024-07-09 5025c32 Bump minimum version of framework (Steve Boyd)
    • 2024-04-01 f337fdc Update JS dependencies (#565) (github-actions[bot])
  • silverstripe/lumberjack (3.1.0 -> 3.2.0)

    • 2024-09-01 465d794 Bump micromatch from 4.0.7 to 4.0.8 (dependabot[bot])
    • 2024-04-01 6a05f4a Update JS dependencies (#142) (github-actions[bot])
  • silverstripe/staticpublishqueue (6.2.0 -> 6.2.2)

    • 2024-07-11 f9d8410 Bump minimum version for framework (Steve Boyd)
    • 2024-05-07 5092eb4 Bump minimum queuedjobs version (Steve Boyd)
  • cwp/starter-theme (4.1.0 -> 4.2.0)

    • 2024-08-31 44b9922 Bump webpack from 5.91.0 to 5.94.0 (dependabot[bot])
    • 2024-06-18 83bb5d3 Bump ws from 8.16.0 to 8.17.1 (dependabot[bot])
    • 2024-04-02 55d7616 Update JS dependencies (Steve Boyd)
  • cwp/agency-extensions (3.2.0 -> 3.3.0)

    • 2024-09-01 5d5c123 Bump micromatch from 4.0.5 to 4.0.8 (dependabot[bot])
    • 2024-08-31 f1fafa8 Bump webpack from 5.91.0 to 5.94.0 (dependabot[bot])
    • 2024-08-02 e4a0b8c Bump requirejs from 2.3.6 to 2.3.7 (dependabot[bot])
    • 2024-06-18 0cd5225 Bump ws from 7.5.9 to 7.5.10 (dependabot[bot])
    • 2024-04-01 9424879 Update JS dependencies (#116) (github-actions[bot])
  • cwp/watea-theme (4.1.0 -> 4.2.0)

    • 2024-09-01 8cea89c Update JS dependencies (github-actions)
    • 2024-04-02 7507d01 Update JS dependencies (#184) (github-actions[bot])
  • tractorcow/silverstripe-fluent (7.1.0 -> 7.2.0)

    • 2024-09-01 1f327ef Update JS dependencies (github-actions)
    • 2024-04-02 aa2953b Update JS dependencies (Steve Boyd)
    • 2024-04-01 4628a66 Update JS dependencies (github-actions)
  • silverstripe/linkfield (4.0.0 -> 4.1.0)

    • 2024-09-01 7d4db3c Update JS dependencies (github-actions)
    • 2024-07-30 7543862 Remove unused apollo dependency (Steve Boyd)
    • 2024-07-11 9c87e9c Bump minimum version of framework (Steve Boyd)
    • 2024-04-01 fc56c05 Update JS dependencies (#266) (github-actions[bot])

Documentation

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

    • 2023-04-19 190bf80 Update README.md for CMS 5 (Guy Sartorelli)
  • silverstripe/taxonomy (3.2.0 -> 3.2.2)

    • 2024-05-27 5801fce Update doc structure for docs.silverstripe.org (#114) (Guy Sartorelli)
  • silverstripe/developer-docs (5.2.0 -> 5.3.0)

    • 2024-10-23 fb4b33e2 fix a typo in SearchableMultiDropdownField (Andrew Paxley)
    • 2024-08-25 814b856b Deprecate DataExtension and others (Steve Boyd)
    • 2024-08-20 8f61725a Deprecate widgets code (Steve Boyd)
    • 2024-08-19 54677c32 Deprecate IPUtils (Steve Boyd)
    • 2024-08-19 e592d10e Deprecate CMS GraphQL endpoints (Steve Boyd)
    • 2024-08-16 5b809f87 Document change to sorting elemental blocks (#554) (Guy Sartorelli)
    • 2024-08-15 782ce192 Remove recommendation for GraphQL (Steve Boyd)
    • 2024-08-14 8634522e Update docs about community peer reviewers (Guy Sartorelli)
    • 2024-08-08 f0dcf5b0 Document changes to FormScaffolder options. (Guy Sartorelli)
    • 2024-08-08 9c5801a9 Document new TabSet::changeTabOrder() method. (Guy Sartorelli)
    • 2024-07-22 64ae2316 Document always inline saving elements (Steve Boyd)
    • 2024-07-10 40411277 Stop implying we don't support webp out of the box (#546) (Guy Sartorelli)
    • 2024-07-08 ac654801 Update links to elvis (#544) (Guy Sartorelli)
    • 2024-07-04 41bbb211 Add autologin token regeneration changes to 5.3 changelog (Garion Herman)
    • 2024-06-30 81c3f935 Explain how to customise image rendering (#529) (Maxime Rainville)
    • 2024-06-27 19a1c294 Clarify we test with the latest LTS for MariaDB and MySQL (#535) (Guy Sartorelli)
    • 2024-06-26 79b8f5ec Remove Guy Marriott from Core Committers page (#536) (Guy Sartorelli)
    • 2024-06-18 cf989d29 Document new community contributions project on GitHub (#534) (Guy Sartorelli)
    • 2024-06-17 38d394b9 Do not use self (Steve Boyd)
    • 2024-06-07 a87b9885 Document scaffolding formfields for model relations (#527) (Guy Sartorelli)
    • 2024-06-04 6e577201 Document update to convert API (#526) (Guy Sartorelli)
    • 2024-05-29 0e3245c9 Update cascade_deletes information for many_many relationships (#523) (Ed Wilde)
    • 2024-05-29 2076fd8b Update branch protection rules (Steve Boyd)
    • 2024-05-29 50e0b9ae Document deprecation of BaseElement::getDescription() (#521) (Guy Sartorelli)
    • 2024-05-17 c441d972 Document the current scope loop (Guy Sartorelli)
    • 2024-05-16 0ded0112 Deprecate passing non-array $field argument (Steve Boyd)
    • 2024-05-15 400b86e9 Update writing style guide (Steve Boyd)
    • 2024-05-14 aadcbbc2 Convert primitves to DBField in iterables (Steve Boyd)
    • 2024-05-13 d10e7634 Document using raw SQL to query join tables (#508) (Guy Sartorelli)
    • 2024-05-13 100dbf25 Use table name, not class name. (#509) (Guy Sartorelli)
    • 2024-05-09 d88efe54 Mention that restore batch action has been removed (Steve Boyd)
    • 2024-04-30 1d9ff216 Change hint to tip (Steve Boyd)
    • 2024-04-26 faf1f2ac Document using pjax response from gridfield (#502) (Guy Sartorelli)
    • 2024-04-18 f27be141 Document TinyMCE changes (#498) (Guy Sartorelli)
    • 2024-04-18 f6d9ea60 type/i18n label (Steve Boyd)
    • 2024-04-10 c93e8a88 Document new file conversion API (#491) (Guy Sartorelli)
    • 2024-04-10 d11fd21b GraphQL schema init task (Steve Boyd)
    • 2024-04-09 8e8903cc Update model validation docs (Steve Boyd)
    • 2024-04-02 8e49ea18 linkfield accesibility improvements (Steve Boyd)
    • 2024-04-01 395fa14c Document creating fixtures in custom DB tables (#484) (Guy Sartorelli)
    • 2024-03-19 bcb3bf4a Add changelog note about SQLUpdate supporting JOIN (#481) (Guy Sartorelli)
    • 2024-03-17 3b7f9e05 Add elemental block validation to 5.3.0 changelog (Steve Boyd)
  • symbiote/silverstripe-gridfieldextensions (4.0.5 -> 4.1.0)

    • 2024-07-03 ae80302 Correct spacing in YML example for nested gridfield (#408) (Maxime Rainville)
    • 2024-05-27 7f4413a Updated Nested GridField docs (Sabina Talipova)
  • tractorcow/silverstripe-fluent (7.1.0 -> 7.2.0)

    • 2024-04-02 07328cf Updated documentation for new DataObject initialisation task (Nathan J. Brauer)
  • silverstripe/linkfield (4.0.0 -> 4.1.0)

    • 2024-04-10 0d81597 Linting (Steve Boyd)
    • 2024-04-03 69c6099 Enable deprecations for linkfield v3 (Steve Boyd)

Translations

  • silverstripe/assets (2.2.0 -> 2.3.0)

    • 2024-08-06 b363901 Update translations (#626) (Guy Sartorelli)
    • 2024-05-07 82e5f58 Update translations (#601) (Guy Sartorelli)
  • silverstripe/framework (5.2.0 -> 5.3.0)

    • 2024-08-06 a8d0d1ef5 Update translations (#11323) (Guy Sartorelli)
    • 2024-05-07 241d03b35 Update translations (#11224) (Guy Sartorelli)
    • 2024-05-06 e468b719c Update translations (#11221) (Guy Sartorelli)
  • silverstripe/admin (2.2.0 -> 2.3.0)

    • 2024-08-06 b3eeb088 Update translations (#1807) (Guy Sartorelli)
    • 2024-05-07 66a937af Update translations (#1740) (Guy Sartorelli)
  • silverstripe/asset-admin (2.2.0 -> 2.3.0)

    • 2024-08-06 f61698d9 Update translations (#1480) (Guy Sartorelli)
    • 2024-05-07 56e98869 Update translations (#1456) (Guy Sartorelli)
  • silverstripe/campaign-admin (2.2.0 -> 2.3.0)

    • 2024-08-06 f59bcba Update translations (#319) (Guy Sartorelli)
    • 2024-05-07 611ffaf Update translations (#303) (Guy Sartorelli)
  • silverstripe/versioned-admin (2.2.0 -> 2.3.0)

    • 2024-05-07 17aa581 Update translations (#337) (Guy Sartorelli)
  • silverstripe/cms (5.2.0 -> 5.3.0)

    • 2024-08-06 003df23c Update translations (#2982) (Guy Sartorelli)
    • 2024-05-07 5e1706e6 Update translations (#2937) (Guy Sartorelli)
  • silverstripe/errorpage (2.2.0 -> 2.3.0)

    • 2024-08-06 859e696 Update translations (#116) (Guy Sartorelli)
    • 2024-05-07 e22c8bc Update translations (#104) (Guy Sartorelli)
  • silverstripe/reports (5.2.0 -> 5.3.0)

    • 2024-05-07 3e7e8e91 Update translations (#179) (Guy Sartorelli)
  • silverstripe/siteconfig (5.2.0 -> 5.3.0)

    • 2024-08-06 7d95ee06 Update translations (#172) (Guy Sartorelli)
    • 2024-05-07 cbf0bbc1 Update translations (#159) (Guy Sartorelli)
  • silverstripe/versioned (2.2.0 -> 2.3.0)

    • 2024-08-06 5bb8eb0 Update translations (#459) (Guy Sartorelli)
    • 2024-05-07 22c72a4 Update translations (#442) (Guy Sartorelli)
  • silverstripe/session-manager (2.2.0 -> 2.3.0)

    • 2024-05-07 6dc6d14 Update translations (#192) (Guy Sartorelli)
  • silverstripe/login-forms (5.2.0 -> 5.3.0)

    • 2024-08-06 9e8654f Update translations (#195) (Guy Sartorelli)
    • 2024-05-07 7d5c403 Update translations (#174) (Guy Sartorelli)
  • silverstripe/documentconverter (3.2.0 -> 3.3.0)

    • 2024-05-07 e33c5f1 Update translations (#76) (Guy Sartorelli)
  • silverstripe/iframe (3.2.0 -> 3.2.1)

    • 2024-05-07 3f8f6ca Update translations (#83) (Guy Sartorelli)
  • silverstripe/taxonomy (3.2.0 -> 3.2.2)

    • 2024-05-07 71b0294 Update translations (#109) (Guy Sartorelli)
  • silverstripe/blog (4.2.0 -> 4.3.0)

    • 2024-08-06 d77d90b Update translations (#774) (Guy Sartorelli)
    • 2024-05-07 799cc44 Update translations (#754) (Guy Sartorelli)
  • colymba/gridfield-bulk-editing-tools (4.0.2 -> 4.1.0)

    • 2024-08-05 dd8a557 Update translations (#300) (Guy Sartorelli)
    • 2024-05-07 dfd07f7 Update translations (#280) (Guy Sartorelli)
    • 2024-02-29 1e4b319 Allow to translate column name Select (Peter Schiffer)
    • 2023-11-07 fab0f95 Update translations (Steve Boyd)
  • silverstripe/sharedraftcontent (3.2.0 -> 3.3.0)

    • 2024-05-07 d5a6198 Update translations (#231) (Guy Sartorelli)
  • symbiote/silverstripe-advancedworkflow (6.2.0 -> 6.3.0)

    • 2024-08-06 90314a3 Update translations (#544) (Guy Sartorelli)
    • 2024-05-07 3310709 Update translations (#527) (Guy Sartorelli)
  • silverstripe/userforms (6.2.0 -> 6.3.0)

    • 2024-08-06 da53d26 Update translations (#1313) (Guy Sartorelli)
    • 2024-05-07 83fafdf Update translations (#1284) (Guy Sartorelli)
  • silverstripe/externallinks (3.2.0 -> 3.3.0)

    • 2024-08-06 3e6198f Update translations (#139) (Guy Sartorelli)
  • bringyourownideas/silverstripe-maintenance (3.1.0 -> 3.2.0)

    • 2024-08-06 4306da1 Update translations (#235) (Guy Sartorelli)
    • 2024-08-05 26303eb Update translations (#233) (Guy Sartorelli)
  • bringyourownideas/silverstripe-composer-update-checker (4.1.0 -> 4.1.2)

    • 2024-05-07 8f4969b Update translations (#83) (Guy Sartorelli)
  • silverstripe/versionfeed (3.2.0 -> 3.2.3)

    • 2024-05-07 fe86df7 Update translations (#105) (Guy Sartorelli)
  • dnadesign/silverstripe-elemental (5.2.0 -> 5.3.0)

    • 2024-08-06 ddf8565 Update translations (#1230) (Guy Sartorelli)
    • 2024-05-07 0093776 Update translations (#1185) (Guy Sartorelli)
  • silverstripe/elemental-bannerblock (3.2.0 -> 3.3.0)

    • 2024-05-07 363f83f Update translations (#142) (Guy Sartorelli)
  • silverstripe/hybridsessions (3.0.3 -> 3.0.5)

    • 2024-05-07 534478e Update translations (Guy Sartorelli)
  • silverstripe/totp-authenticator (5.2.0 -> 5.3.0)

    • 2024-05-07 385e0d9 Update translations (#154) (Guy Sartorelli)
  • silverstripe/mfa (5.2.0 -> 5.3.0)

    • 2024-08-06 9f34765 Update translations (#557) (Guy Sartorelli)
    • 2024-05-07 384a78b Update translations (#537) (Guy Sartorelli)
  • silverstripe/ldap (2.2.0 -> 2.2.3)

    • 2024-05-07 40aeb78 Update translations (#73) (Guy Sartorelli)
  • silverstripe/realme (5.3.0 -> 5.4.0)

    • 2024-05-07 5c09680 Update translations (#138) (Guy Sartorelli)
  • silverstripe/webauthn-authenticator (5.2.0 -> 5.3.0)

    • 2024-05-07 bf6c6eb Update translations (#177) (Guy Sartorelli)
  • silverstripe/subsites (3.2.0 -> 3.3.0)

    • 2024-08-06 f78ad58 Update translations (#588) (Guy Sartorelli)
    • 2024-05-07 dbbfded Update translations (#568) (Guy Sartorelli)
  • silverstripe/lumberjack (3.1.0 -> 3.2.0)

    • 2024-08-06 f6a0e10 Update translations (#165) (Guy Sartorelli)
    • 2024-05-07 8970ea9 Update translations (#145) (Guy Sartorelli)
  • cwp/agency-extensions (3.2.0 -> 3.3.0)

    • 2024-05-07 c4efc2f Update translations (#117) (Guy Sartorelli)
  • symbiote/silverstripe-gridfieldextensions (4.0.5 -> 4.1.0)

    • 2024-08-06 54b5fc1 Update translations (#412) (Guy Sartorelli)
    • 2024-05-07 1bd74e0 Update translations (#387) (Guy Sartorelli)
    • 2024-05-06 256d06b Update translations (#385) (Guy Sartorelli)
  • symbiote/silverstripe-queuedjobs (5.1.0 -> 5.2.0)

    • 2024-08-06 9f6dea6 Update translations (#441) (Guy Sartorelli)
    • 2024-08-05 aed2991 Update translations (#439) (Guy Sartorelli)
    • 2024-05-07 374d41c Update translations (#424) (Guy Sartorelli)
  • tractorcow/silverstripe-fluent (7.1.0 -> 7.2.0)

    • 2024-08-06 41015aa Update translations (#870) (Guy Sartorelli)
    • 2024-05-07 5d66753 Update translations (Guy Sartorelli)
  • silverstripe/linkfield (4.0.0 -> 4.1.0)

    • 2024-08-06 77a1497 Update translations (#314) (Guy Sartorelli)
    • 2024-05-07 a55f48f Update translations (#283) (Guy Sartorelli)

Other changes

  • silverstripe/framework (5.2.0 -> 5.3.0)

    • 2024-09-27 55564814b Add a test. (Mojmir Fendek)
    • 2024-06-22 90eac66ea Update sake (Giancarlo Di Massa)
    • 2024-05-30 9546450cf improve DataList and ArrayList docblock comments for PHPStorm (#11263) (Mason Dechaineux)
    • 2024-03-19 25f61141c Enhancements required for linkfield migration (#11171) (Guy Sartorelli)
    • 2024-01-30 90a3d60b5 Update DropdownField.php (Antony Thorpe)
  • silverstripe/admin (2.2.0 -> 2.3.0)

    • 2024-10-02 188e45e0 add comment (Thomas Portelange)
    • 2024-09-26 0bdc20ff Update code/ModelAdmin.php (Thomas Portelange)
    • 2024-09-25 8137907f use default tab if redirected (Thomas Portelange)
    • 2024-09-25 d89ccebd Keep default tab (Thomas Portelange)
    • 2024-03-08 cdcf2506 Abstract out GridField 'open link in new tab' logic (Loz Calver)
  • colymba/gridfield-bulk-editing-tools (4.0.2 -> 4.1.0)

    • 2024-09-30 1cf3602 update icons (Thomas Portelange)
    • 2024-09-30 d2ae01e update syntax (Thomas Portelange)
  • symbiote/silverstripe-gridfieldextensions (4.0.5 -> 4.1.0)

    • 2024-05-15 a42cd43 Only allow one GridFieldNestedForm component per GridField. (Niklas Forsdahl)
    • 2024-05-15 c476ced Added more documentation for nested gridfields. (Niklas Forsdahl)
    • 2024-05-07 a9b0a70 Throw 404 error on grid field nested form move-to-parent action, (Niklas Forsdahl)
    • 2024-05-07 8f50565 Only add nested form to nested gridfield child if that child is of (Niklas Forsdahl)
    • 2024-05-07 9ab3ed6 Throw an exception in Nesed Gridfield if an invalid relation is configured. (Niklas Forsdahl)
    • 2024-05-07 1993acb Linting and typehinting fixes for nested grid field (Niklas Forsdahl)
    • 2024-04-24 1ad6acb Refactored grid field nested form link to be a button with aria-attributes, (Niklas Forsdahl)
    • 2024-04-24 46e5ccc Changed some PHPDoc return types to real typehings in nested gridfield. (Niklas Forsdahl)
    • 2024-04-24 bc1180b Throw exception in nested gridfields if the relation is invalid. (Niklas Forsdahl)
    • 2024-04-24 5e60972 Added phpdoc for nested grid field item request handler class. (Niklas Forsdahl)
    • 2024-04-24 70b838e Removed legacy disabling of security token and strict form method check (Niklas Forsdahl)
    • 2024-04-24 c517c69 Don't assume records are DataObjects in nested gridfields. (Niklas Forsdahl)
    • 2024-04-24 f7b8aea PHPDoc additions and linting fixes for gridfield nested form (Niklas Forsdahl)
    • 2024-04-24 847ce07 Fixes and some refactoring for max nesting level handling in (Niklas Forsdahl)
    • 2024-04-23 cfcf8d2 Refactored nested GridField move to parent functionality. (Niklas Forsdahl)
    • 2024-04-23 32d980e Fixed moving nested gridfield items to other gridfields (Niklas Forsdahl)
    • 2024-04-18 fc40420 Added configurable max nesting level for nested GridFields (Niklas Forsdahl)
    • 2024-04-18 4fc20fb Added one more unit test for GridFieldNestedForm (Niklas Forsdahl)
    • 2024-04-18 f8c777d Changed naming schema for nested GridFields, to not include [ or ] (Niklas Forsdahl)
    • 2024-04-18 c415d43 Fixed linting issues (Niklas Forsdahl)
    • 2024-04-18 c043220 Changed base-class of GridFieldNestedForm, it doesn't share much with (Niklas Forsdahl)
    • 2024-04-18 654b729 Renamed GridFieldNestedForm_ItemRequest, to conform with coding styles. (Niklas Forsdahl)
    • 2024-04-15 bcc4ea1 Added initial user documentation for Nested GridFields. (Niklas Forsdahl)
    • 2024-04-15 19a7cff Added initial unit test for GridFieldNestedForm (Niklas Forsdahl)
    • 2024-04-15 27dc636 Styling for nested GridFields without title. (Niklas Forsdahl)
  • symbiote/silverstripe-queuedjobs (5.1.0 -> 5.2.0)

    • 2024-04-24 d90ebc1 Replace assignment with intended comparison (Fred Condo)
  • tractorcow/silverstripe-fluent (7.1.0 -> 7.2.0)

    • 2024-06-06 b14687a . (Steve Boyd)
    • 2024-04-08 07f2821 PR feedback. (Mojmir Fendek)
    • 2024-02-09 2a8e81e Adds full namespace to string literal (David Toews)
    • 2023-11-14 9ab08d1 copy Bugfix from here https://github.com/tractorcow-farm/silverstripe-fluent/pull/793 to Version 6.0 (“mlindenhofer”)
    • 2023-09-01 904e3f4 chore: fix linting (Damian Mooyman)
    • 2023-08-31 9d04d7a feat: add absolute base url for locale (Damian Mooyman)
    • 2023-06-16 43b4214 Add onAfterDuplicate to FluentVersionedExtension (Remy Vaartjes)
    • 2023-06-16 336dca2 Implement onAfterDuplicate (Remy Vaartjes)
    • 2023-05-31 034dd15 Update FluentExtension.php (mikey-harveycameron)