Skip to content

v1.4.0

Choose a tag to compare

@hra42 hra42 released this 24 Sep 14:16
· 4 commits to main since this release
Immutable release. Only release title and notes can be modified.
ab60880

Support for the nine new endpoints in customer API spec v0.19571_89862c247_20260915

New APIs

  • Barcode lookup: objects->getByBarcode() safely URL-encodes raw scancodes and supports archived objects.
  • Resource history: paginated history() methods on objects, rooms, locations, persons, tasks, and rentals, with HistoryListOptions and pagination metadata. Non-object resources expose typed history entries; object history preserves dynamic event payloads.
  • PDF reports: reports->listTemplates() returns available templates, and reports->create(new CreateReportRequest(...)) returns binary PDF data in the requested object order.

Compatibility and fixes

  • Accept flat and {uuid, fields} responses for persons, rooms, and locations while preserving custom fields.
  • Support both person_uuid and uuid aliases, preferring a non-empty legacy identifier.
  • Add ApiException::isFeatureInactive() to distinguish explicit inactive-feature responses from permission denials.
  • Gracefully skip rental history in the demo and new integration coverage when the API explicitly reports an inactive rentals feature. Unexpected errors remain failures.

Documentation and verification

  • Updated README and end-to-end demo covering the new APIs.
  • 279 tests passed, 1,006 assertions, no failures or skips: 239 unit tests and 40 live integration tests on PHP 8.5.10.
  • Live demo completed successfully, including PDF generation, resource history, CRUD flows, file attachments, and authentication cleanup.
  • Disabled-feature handling covered with mocked responses; the live instance has rentals enabled.
  • PHP syntax checks passed. The merged main tree matches the tested revision.

Pull request: #7

Full changelog: v1.3.0...v1.4.0