Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions en/08_Changelogs/6.3.0.md
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the other bits we have in every changelog (e.g. bug fixes with its blurb) - can't remember if there's more bits but if there is add them too

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Copy link
Member

@GuySartorelli GuySartorelli Feb 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You've added a "performance documentation" and "API changes" which are not in every changelog, and you didn't add the "bug fixes" bit which is in every changelog.

The new section is now also not under "features and enhancements" which is probably where it should be, though it could be considered an API change so I'm okay with either one. Just wanna make sure the section change was intentional

Maybe we should add a "create a pull request to add the next minor changelog using this template" step to the beta release process to streamline this going forward.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, raise a new card for it

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have added bugfix section and removed api and performance sections

Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
---
title: 6.3.0 (unreleased)
---

# 6.3.0 (unreleased)

## Overview

<details>

<summary>Included module versions</summary>

<!-- markdownlint-disable enhanced-proper-names -->

| Module | Version |
| ------ | ------- |

<!-- markdownlint-enable enhanced-proper-names -->

</details>

## Features and enhancements

### Other new features and enhancements {#other-new}

No other new features or enhancements have been documented yet for this release.

### React class components converted to functional components {#react-functional-components}

Form field components in the CMS have been converted from React class components to functional components. This is part of an ongoing modernisation effort — functional components are simpler, have better tooling support, and align with current React best practices.

For most projects this change is invisible. However, if your project extends any of these components as an ES6 class (`extends TextField`), that pattern will no longer work because functional components cannot be subclassed.

To ease migration, the original class-based implementations are preserved as `Legacy`-prefixed copies in `client/src/legacy/ReactComponents/`. Only class components that were previously defined in the [`client/src/bundles/bundle.js`](https://github.com/silverstripe/silverstripe-admin/blob/3.2/client/src/bundles/bundle.js) file in `silverstripe/admin`, or were a parent class of an exported component, are available as legacy components. If your project subclasses a converted component, update the import to use the legacy version:

Before:

```js
import TextField from 'components/TextField/TextField';

class MyCustomField extends TextField {
// ...
}
```

After:

```js
import LegacyTextField from 'legacy/ReactComponents/LegacyTextField';

class MyCustomField extends LegacyTextField {
// ...
}
```

You will need the latest version of [@silverstripe/webpack-config](https://www.npmjs.com/package/@silverstripe/webpack-config) to use the legacy components, which includes an updated externals configuration to support the new import paths.

Note that these legacy class components are provided as a short-term migration aid and will be removed in CMS 7. Projects should plan to move away from class inheritance before then.

The new functional components provide exports (for example `getInputProps()`, `handleChange()`, and `render()`) that were previously provided via class inheritance. If you previously extended class components, migrate to functional components by composing the exported helpers in your own components.

## Bug fixes

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!