Skip to content

v2.0.0-alpha.1

Pre-release
Pre-release

Choose a tag to compare

@loevgaard loevgaard released this 18 Jun 18:43
· 13 commits to 2.x since this release

First alpha of the 2.x line — a full rewrite. Not production-ready; the API may still change before the stable 2.0.0.

2.x re-architects the SDK while keeping the PHP >=8.1 requirement:

  • Immutable, constructor-injected Client — sandbox toggle via new Client($user, $key, sandbox: true); all setters removed.
  • Base-class endpoints with getPage() / paginate(); pickupPoints()->search() returns a plain list; get()/post()/delete() return decoded arrays.
  • Typed request DTOs (SalesOrderRequest, WebhookRequest, …) serialized via Valinor's normalizer; class constants replaced by native enums.
  • Resource responses expose the full untouched payload via ->raw for any field not yet typed.
  • Typed exception hierarchy under the ShipmondoException marker interface, with getError().
  • Tooling: PHPStan at level max, dependency analysis via composer-dependency-analyser. Verified end-to-end against the Shipmondo sandbox.

Upgrading from 1.x

See UPGRADE.md for the complete migration guide covering every breaking change.

Full rewrite details in #5.