Skip to content

release: v8.0.0 - #39

Merged
cubehouse merged 1 commit into
mainfrom
release/v8.0.0
Sep 8, 2026
Merged

cubehouse merged 1 commit into
mainfrom
release/v8.0.0

Conversation

@cubehouse

Copy link
Copy Markdown
Member

Version bump and changelog for 8.0.0. Tagging v8.0.0 after this merges publishes to npm.

What ships

Regenerated schema, after the upstream spec stopped describing a park's schedule two different ways.

Fixed

  • Schedule entries expose purchases, and type is a union again. The direct schedule path — the one this client uses — was described loosely upstream while the nested path was precise. Magic Kingdom serves 27 entries carrying purchases that were previously unreachable without a cast.
  • purchases[].price.amount is nullable, matching PriceData. 7.1.0 fixed one copy of the price shape; a second inline copy kept amount non-nullable. Tokyo Disneyland serves six Premier Access rows with a null amount.
  • Schedule entries gained the description field the API has always sent.

Breaking, each with a migration note in the changelog:

  • tags[].value is now unknown — the spec declares no type for it, so the old union was an invention
  • location and purchases[].type lose | null, verified against 412 children and 255 purchases in production
  • Node floor moves to 20 (18 is EOL and untested)

Verification

npm ci, typecheck, lint, 64 unit tests, build and 4 live smoke tests all pass on this branch. Prettier clean.

🤖 Generated with Claude Code

Ships the corrected schema, regenerated after the upstream spec stopped
describing a park's schedule two different ways.

The headline fix is that schedule entries expose `purchases` and a `type`
union again. The spec described the nested-under-a-destination path precisely
and the direct path loosely, and the direct path is the one this client uses,
so 27 Magic Kingdom entries carrying purchases were invisible without a cast.
`purchases[].price.amount` is also nullable now, matching PriceData — 7.1.0
fixed one copy of the price shape and there was a second, inline one.

Breaking for strict TypeScript consumers in three places, each documented in
the changelog: `tags[].value` becomes `unknown` because the spec declares no
type for it, `location` and `purchases[].type` lose a `| null` the API never
sends, and the Node floor moves to 20.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@cubehouse
cubehouse merged commit 32159b5 into main Sep 8, 2026
3 checks passed
@cubehouse
cubehouse deleted the release/v8.0.0 branch September 8, 2026 13:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant