32.0.0 (2026-08-10)
Bug Fixes
- config: name the owning class in the managed cURL option rejection (8a4aead)
Features
- response: narrow the column and pagination seams (a26e846)
- response: scope the template registry to an instance (d6d329e)
BREAKING CHANGES
- response:
CNR\Column is deleted -- use CNIC\Column and read
values through ColumnInterface::getStringByIndex() /
RecordInterface::getStringByKey(), adding both methods if you implement
either interface. ResponseInterface::getRecordsTotalCount() and
getRecordsLimitation() return ?int, so an implementation must widen its
return types and a consumer must handle null on a non-list response;
getPagination()["TOTAL"]/["LIMIT"]/["CURRENTPAGE"] are null there
too. A brand Response no longer declares getCurrentPageNumber(),
hasNextPage() or hasPreviousPage(), and hasPreviousPage() now answers
FIRST > 0, so it reports true on an unaligned window where it used to
report false.
See MIGRATION.md → v32.0.0
- response: the response-template registry is an instance, not
public static array $templates; resetTemplates() is removed. Register
on a ResponseTemplateManager instance and pass it as
new Response($id, templates: $registry).
See MIGRATION.md → v32.0.0