Skip to content

Commit

Permalink
Merge pull request #605 from creative-commoners/pulls/6/doc-list-changes
Browse files Browse the repository at this point in the history
DOC Update changelog with list interface changes
  • Loading branch information
GuySartorelli authored Oct 30, 2024
2 parents 436c4c9 + 6acc074 commit ef81ff9
Showing 1 changed file with 9 additions and 0 deletions.
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

0 comments on commit ef81ff9

Please sign in to comment.