From 233514b546e8f48b3927b4dd5e3cd1e938dae306 Mon Sep 17 00:00:00 2001 From: Jamie Holding Date: Mon, 28 Sep 2026 19:28:14 +0100 Subject: [PATCH] release: 8.3.1 The anonymous-run notice, and the committed mutant list. 8.3.0 shipped hours ago with a command that succeeds without an API key and gives you seven days of history, which for someone who has just paid for four hundred is indistinguishable from success. Co-Authored-By: Claude Opus 5 (1M context) --- CHANGELOG.md | 28 ++++++++++++++++++++++++++++ package-lock.json | 4 ++-- package.json | 2 +- src/client.ts | 2 +- 4 files changed, 32 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb0fc0a..e5bca1f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,34 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [8.3.1] - 2026-09-28 + +### Fixed + +- **A run with no API key now says so when it finishes**, not only when it + starts. Without a key the command SUCCEEDS: it reads the 7 days anonymous + access allows, writes 433 rows of Magic Kingdom instead of about 94,000, and + exits 0. The notice was printed before a run that takes minutes, so it scrolled + away, and the last thing on screen was `done: 433 rows` — which for someone who + has just paid for 400 days is indistinguishable from success. There is a file, + there is no error, and the number means nothing unless you already know what it + should have been. + + The README and `--help` now `export THEMEPARKS_API_KEY` before the example that + needs it, and still say `--list` does not: finding a park before you have paid + is the point of that flag. + +### Added + +- **A committed mutant list** (`test/mutation/mutants.json`) and a nightly, + non-gating job that runs it. An author-written mutant list contains the + mutations that author's tests already catch — one scored 18/18 on this package + while an independent sweep found ten survivors. The list is committed so a + reviewer can see what is checked and, more usefully, what is not. One mutant + targets the generated column list, so the shared `csv_contract.json` fixture is + exercised as a mutation as well as a test: renaming a column there must turn + the suite red, or the two SDKs can drift apart again. + ## [8.3.0] - 2026-09-28 ### Added diff --git a/package-lock.json b/package-lock.json index 30b984c..1978870 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "themeparks", - "version": "8.3.0", + "version": "8.3.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "themeparks", - "version": "8.3.0", + "version": "8.3.1", "license": "MIT", "bin": { "themeparks-backfill": "dist/backfill-cli.js" diff --git a/package.json b/package.json index 29b92e9..a46e1b8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "themeparks", - "version": "8.3.0", + "version": "8.3.1", "description": "Official SDK for the ThemeParks.wiki API", "license": "MIT", "repository": "github:ThemeParks/ThemeParks_JavaScript", diff --git a/src/client.ts b/src/client.ts index 0da01a3..7f26e7e 100644 --- a/src/client.ts +++ b/src/client.ts @@ -13,7 +13,7 @@ import type { RateLimits } from './ratelimit'; const DEFAULT_BASE_URL = 'https://api.themeparks.wiki/v1'; /** Exported so the backfill command can announce the same version rather * than carrying a second literal that drifts. test/unit/version.test.ts pins it. */ -export const PACKAGE_VERSION = '8.3.0'; +export const PACKAGE_VERSION = '8.3.1'; export const DEFAULT_USER_AGENT = `themeparks-sdk-js/${PACKAGE_VERSION}`; export interface ThemeParksOptions {