You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
New #236: Add PaginatorInterface::getFilter() method (@vjik)
New #237: Add Stringable type support to filter values (@vjik)
Chg #151: Rename isRequired() method in PaginatorInterface to isPaginationRequired() (@vjik)
Chg #154: Raise the minimum required PHP version to 8.1 (@vjik)
Chg #159: Replace withNextPageToken() and withPreviousPageToken() of PaginatorInterface with withToken(), getNextPageToken() with getNextToken(), getPreviousPageToken() with getPreviousToken(), and add getToken().
These methods use new PageToken class (@vjik)
Chg #161: PaginatorInterface::getCurrentPageSize() returns 0 instead throws exception if page specified is
not found (@vjik)
Chg #187: LimitableDataInterface::withLimit() now accepts null to indicate "no limit". 0 is now a valid limit
value meaning return nothing (@samdark)
Chg #211, #221, #240: Change PHP constraint in composer.json to 8.1 - 8.5 (@vjik)
Chg #219: Narrow type of page size in PaginatorInterface::withPageSize() method to positive int by psalm
annotation and throw InvalidArgumentException if non-positive value is passed (@vjik)
Chg #219: Throw InvalidArgumentException instead of PaginatorException in OffsetPaginator::withCurrentPage()
method when non-positive value is passed (@vjik)
Chg #219: Don't check correctness of current page in PaginatorInterface::isOnLastPage() method (@vjik)
Chg #219: Rename PaginatorException to InvalidPageException (@vjik)
Chg #224: Change $iterableFilterHandlers to context object in IterableFilterHandlerInterface::match() (@vjik)
Chg #225: Rename classes: All to AndX, Any to OrX. Remove Group class (@vjik)
Chg #226: Refactor filter classes to use readonly properties instead of getters (@vjik)
Chg #233: Remove nullable types from withFilter() and getFilter() methods of FilterableDataInterface (@vjik)
Chg #242, #244: Change IterableDataReader::withAddedFilterHandlers() to $extraFilterHandlers constructor parameter
(@vjik)
Enh #150: PaginatorInterface now extends ReadableDataInterface (@vjik)
Enh #161: Add more specified psalm annotations to CountableDataInterface::count(), PaginatorInterface::getCurrentPageSize() and OffsetPaginator::getTotalItems() (@vjik)
Enh #187, #196: Limit set in data reader is now taken into account by offset paginator. Keyset paginator throws
an exception in this case (@samdark, @vjik)
Enh #190: Use str_contains for case-sensitive match in LikeHandler (@samdark)
Enh #194: Improve psalm annotations in LimitableDataInterface (@vjik)
Enh #201: Disable sorting when limit is set explicitly in a paginator (@samdark)
Enh #202: Check that correct sort is passed to withSort() of keyset paginator (@samdark)
Enh #207: More specific Psalm type for OffsetPaginator::withCurrentPage() (@samdark)
Enh #207: More specific Psalm type for OffsetPaginator::withCurrentPage() parameter (@samdark)
Enh #210: More specific Psalm type for PaginatorInterface::getPageSize() result (@vjik)