Skip to content

Releases: cboxdk/laravel-nexus

v0.2.1 — ship the MIT licence text

Choose a tag to compare

@sylvesterdamgaard sylvesterdamgaard released this 03 Aug 10:46

The previous tag declared "license": "MIT" in composer.json but carried no LICENSE file — the licence commit landed on main after the tag, so it was never released.

A consumer vendoring that version received a package asserting MIT with no licence grant inside it, and any SBOM or compliance scan reading the file rather than the metadata would flag it as unlicensed.

No code change.

v0.2.0 — an unresolvable threshold is Unknown, not Below

Choose a tag to compare

@sylvesterdamgaard sylvesterdamgaard released this 26 Jul 14:18

Added — NexusStatus::Unknown

A state whose threshold cannot be resolved is now reported as Unknown rather than Below, and NexusReport::unknown() exposes those states.

The threshold source is remote, so a firewalled deployment, a misconfigured location, or a mirror serving a layout the consumer does not read resolves null for every state — and reporting that as Below reads as "no obligation" when the honest answer is "cannot tell". A seller could cross every threshold in the country and see a clean board.

Hosts should surface unknown() wherever they surface triggered() and approaching(). An alert sweep that iterates only the latter two sends nothing at all on a deployment whose dataset is unreadable, which renders "I don't know" as silence — the worst possible rendering for a tax obligation.

Cbox Nexus v0.1.1

Choose a tag to compare

@sylvesterdamgaard sylvesterdamgaard released this 22 Jul 21:57

Widen cboxdk/laravel-geo to ^0.4 || ^0.5 — the engine uses only geo's SubdivisionCode (present since 0.4), so it installs in apps still on geo 0.4 (e.g. alongside laravel-billing/laravel-tax). No API changes.

Cbox Nexus v0.1.0

Choose a tag to compare

@sylvesterdamgaard sylvesterdamgaard released this 22 Jul 21:33

Initial release of the US economic-nexus engine for Laravel.

  • Pure, contracts-first engine: resolves each state Registered → Triggered (physical/economic crossing) → Approaching → Below, combinator-aware, deny-by-default; never accumulates sales or infers nexus from a single supply.
  • Thresholds sourced from the cited us-tax-data dataset (dated windows + measurement period / sales basis / marketplace); seller activity, physical presence and registrations bound by the host behind contracts.
  • Dogfooded fakes + InteractsWithNexus, 17 Pest tests, native provider, license-check + CycloneDX SBOM, full topic-folder docs.
  • Requires PHP ^8.4 and Laravel ^12||^13; CI green on PHP 8.4/8.5 × Laravel 12/13.