Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOC Update changelog with list interface changes #605

Merged
Merged
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
9 changes: 9 additions & 0 deletions en/08_Changelogs/6.0.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ title: 6.0.0 (unreleased)
- [Changes to some extension hook names](#hooks-renamed)
- [Strict typing for `Factory` implementations](#factory-strict-typing)
- [Elemental `TopPage` class names changed](#elemental-top-page)
- [List interface changes](#list-interface-changes)
- [General changes](#api-general)
- [Other changes](#other-changes)
- [MySQL 5 no longer supported](#mysql-5-support)
Expand Down Expand Up @@ -716,6 +717,14 @@ The class names for the `TopPage` feature in [`dnadesign/silverstripe-elemental`

If you reference any of these classes in your project or module, most likely in config if you have [`tractorcow/silverstripe-fluent`](https://github.com/tractorcow/silverstripe-fluent) installed, then you will need to update the references to the new class names.

### List interface changes {#list-interface-changes}

The [`SS_List`](api:SilverStripe\Model\List\SS_List) interface now includes the methods from the `Filterable`, `Limitable`, and `Sortable` interfaces, which have now been removed. This means that any class that implements `SS_List` must now also implement the methods from those interfaces.

Many of the methods on `SS_List` and the classes that implement it are now strongly typed. This means that you will need to ensure that any custom classes that implement `SS_List` have the correct types for the methods that they implement.

As part of these changes [`ArrayList::find()`](api:SilverStripe\Model\List\ArrayList::find()) will no longer accept an int argument for the `$key` param, it will now only accept a string argument.

### General changes {#api-general}

- [`DataObject::write()`](api:SilverStripe\ORM\DataObject::write()) has a new boolean `$skipValidation` parameter. This can be useful for scenarios where you want to automatically create a new record with no data initially without restricting how developers can set up their validation rules.
Expand Down