Skip to content

2.0.0

Latest

Choose a tag to compare

@V4ulthunt3r V4ulthunt3r released this 02 Jun 20:02
10e4264

Major release addressing the findings from a full code audit. Includes breaking API changes (see Migration).

Highlights

  • Reliable cancellationOPClient.cancelFetch() now aborts the in-flight network request and decoding (Task-based with withTaskCancellationHandler).
  • No more silent data lossOPDecodingOperation exposes per-element decode failures via elementErrors instead of only printing them.
  • Antimeridian fix in OPBoundingBox longitude normalization.
  • HTTPS endpoints for the French and Swiss servers; corrected the Taiwan endpoint path.
  • Test suite added — 29 tests covering client, decoding, bounding box, query builder, polygon checker, and enums.

Demo app

  • Throwing query builder (no more try!), fixed dictionary mutation during iteration, broke a map retain cycle, added the location usage description, removed debug prints.
  • Deployment target lowered 18.4 → 17.0, duplicate SPM dependency removed, unused secondary Package.swift removed.

Docs

  • Fixed broken README screenshot links and the example-project path.

⚠️ Migration (breaking changes)

  • Removed unused public OPRequestError cases: nilData, decodingFailed, queryCancelled, queryChanged. If you switched over these, update your error handling. Cancellation now surfaces as OPRequestError.operationCancelled.
  • .french and .swiss endpoints now use https://.

Full Changelog: 1.0.0...2.0.0