Skip to content

v1.5.0

Latest

Choose a tag to compare

@hra42 hra42 released this 17 Oct 01:15
Immutable release. Only release title and notes can be modified.
cb3ba97

Support for customer API spec v0.20143_c5f8b54b3_20261005 (Go SDK v1.5.0 parity)

New APIs

  • Catalog items: $client->catalogItems with list(), all(), get(), create(), update() (full PUT replacement), and delete(). Requires the product catalog feature.
  • Custom thumbnail sizes: files->getThumbnail($uuid, $width, $height) fits thumbnails within 1–2000 px, preserving aspect ratio.
  • Timed rentals: optional isFullDay, issueAt, and dueAt on rental create/update requests (omitted when null), exposed on RentalCaseResponse.

Rate limiting and errors

  • Clients throttle to 200 requests per minute by default, evenly spaced without bursts. Pass requestsPerMinute to any Client::with*() factory to override it, or 0 to disable. Throttling blocks the calling process and does not retry HTTP 429 responses.
  • ApiException now exposes response $headers and header(), plus retryAfter() to parse Retry-After as delay-seconds or an HTTP date.

Changes

  • Task reminders: reminders: null omits the field; [] explicitly disables reminders.
  • Breaking: rooms and locations return API responses unchanged; {uuid, fields} unwrapping and Helpers::unwrapResourceFields() are removed.
  • Breaking: PersonResponse reads flat records only; the UUID comes from person_uuid (the uuid alias is removed).
  • Fix: persons->all(), users->all(), and catalogItems->all() yield sequential keys across pages, so iterator_to_array() no longer drops earlier pages.

Documentation and verification

  • Updated README (including a corrected Rentals example) and end-to-end demo with catalog and timed-rental steps.
  • 265 unit tests passed on PHP 8.5.11 against the merged tree.
  • 46 live integration tests passed, no skips, covering catalog CRUD, timed rentals, custom thumbnails, optional reminders, rate limiting, and error headers. Run before the final all() key fix, which is covered by unit tests.
  • Live demo completed successfully.

Pull request: #8

Full changelog: v1.4.0...v1.5.0