Skip to content

Latest commit

 

History

History
136 lines (82 loc) · 6.2 KB

File metadata and controls

136 lines (82 loc) · 6.2 KB

fleetbase/fleetbase-php Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[1.4.1] - 2026-09-14

Changed

  • Track the inspection API's renamed submission answers: answers with a field per entry, replacing custom_field_values with custom_field. Both older spellings are still accepted by the API, and the SDK forwards whichever is given without rewriting it.

1.4.0 - 2026-09-12

Added

  • Inspection Forms and Inspections services, including form reads, typed-answer submission, inspection retrieval/listing, and vehicle inspection history.
  • Caller-supplied idempotency headers and direct-array inspection examples, with compatibility preserved against 1.3.0 and earlier baselines.

Changed

  • Updated the locked Postman inventory to all 270 requests and the disposable contract seed to include published inspection forms.
  • Test the explicitly locked Fleet-Ops implementation using the canonical package-overlay, migration, cache-clear, and worker-reload sequence before fixture seeding.

1.3.0 - 2026-09-10

Added

  • First-class Trailers service and resource, covering creation, retrieval, queries, updates, deletion, tracking, vehicle attachment and detachment, and connection history.
  • vehicles->listVehicleTrailers() and Equipment attachEquipment() / detachEquipment() actions.

Changed

  • Updated the locked Postman contract and executable PHP catalog from 241 to 264 requests, including all trailer and equipment scenarios.
  • Trailer scenarios reuse the canonical Device and Equipment methods; vehicle trailer listings belong to VehicleService.
  • Updated the disposable Fleetbase stack and package pins to include the Trailers API.

Fixed

  • Contract tests now use canonical placeholder names for legacy envelopes when scenario URLs spell the same identifier differently.
  • Restored the complete PHP example catalog required by the website's Postman submodule update.
  • Pinned the validated Xdebug coverage driver and retried delayed GitHub merge metadata so release validation and automatic release detection remain reliable.

1.2.0 - 2026-09-06

Added

  • Fleet membership methods for the endpoints Fleet-Ops added in the public Fleet resource expansion: assignDriverToFleet, assignVehicleToFleet, removeDriverFromFleet, and removeVehicleFromFleet.

Changed

  • Synced the locked contract to Postman 9b59bef, which grows the collection from 220 to 241 requests.
  • Contract requests that exercise a scenario on an existing endpoint now resolve to that endpoint's method instead of generating one of their own. A request such as Create an Order with Empty Relationships documents createOrder, and Expand a Vehicle documents retrieveVehicle with its with parameter, rather than adding a method that only a contract test would ever call.

Fixed

  • Repeated query parameters are no longer collapsed to their last value when the contract manifest is generated, so ?with[]=vendor&with[]=driver keeps both values.
  • A request that inlines its query string in url no longer records that query twice.

1.1.2 - 2026-09-03

Changed

  • Added positional path identifiers and direct body, query, and multipart arrays to all 220 generated methods while preserving the complete published 1.1.0 envelope and named-argument surface.
  • Updated the generated catalog and public examples to hide internal transport envelopes and execute the documented ergonomic calls.

1.1.1 - 2026-09-03

Added

  • Disposable-stack CI that executes all 220 locked Postman requests through their exact PHP SDK methods.
  • Automatic validation and publication when a semantic release/ branch is merged into main.
  • A machine-readable PHP example catalog keyed by stable Postman request IDs for the public API reference.

Changed

  • Normalized order dispatch calls so dispatch($orderId), dispatchOrder($orderId), and the legacy parameter-array form use the same official PATCH endpoint.
  • Corrected the order destination action to use the HTTP verb defined by the official API contract.

1.1.0 - 2026-08-31

Added

  • PHP 8.0 through 8.5 compatibility and PSR-18/PSR-7 transport injection.
  • Typed SDK exception hierarchy, defensive list-response hydration, deterministic contract/API snapshots, hermetic tests, and modern repository guidance.

Changed

  • Relicensed unreleased 1.1.0 code to AGPL-3.0-or-later; released 1.0.x tags remain MIT licensed.
  • Preserved the 1.0.x facade while rebuilding request, response, resource, and service internals.
  • Modernized Composer dependencies and development tooling.

Deprecated

Removed

  • Tracked Composer dependencies under vendor/ and reliance on .env.test for unit tests.

Fixed

  • Empty API keys are rejected.
  • setApiKey() retains host, namespace, version, debug, and injected transport configuration.
  • Tracking-status resources resolve with the correct spelling.
  • Legacy resource lifecycle hooks execute in the documented order and retain caller options.
  • Order services can access the transport, and QR/signature subject paths are generated correctly.
  • HTTP status, malformed JSON, empty body, transport, and Fleetbase error responses are handled consistently without leaking credentials.

Security

1.0.3 - 2022-05-25

Added

  • Additional order resource actions.

1.0.2 - 2022-01-03

Changed

  • Latest baseline whose public API is explicitly preserved by 1.1.0.