chore(release): prepare v1.2.0

Bump the package version to 1.2.0 for the high-score demo database seeding, service hardening, web retry bounds, and multiball parity and divergence fixes. Update CHANGELOG.md and refresh the tracked web WASM artifact.

Test Plan:
- `just test` -- passed (142 game tests and 8 service tests)
- `just clippy` -- passed
- `just build-production` -- passed
- `just web-build` -- passed
- `cargo +nightly fmt --all -- --check` -- passed
- `rumdl check --flavor commonmark tdkpin-rs/CHANGELOG.md` -- passed
- `cargo metadata --locked --format-version 1 --no-deps` -- passed
- `git diff --cached --check` -- passed
This commit is contained in:
2026-08-31 20:48:59 +02:00
parent 4385a661b3
commit c4fb345197
4 changed files with 20 additions and 6 deletions
+18 -4
View File
@@ -8,22 +8,36 @@ and this project adheres to
## [Unreleased] ## [Unreleased]
## [1.2.0] - 2026-08-31
### Added
- Seed new SQLite high-score databases that did not exist before opening with
the ten distributed demo scores.
### Fixed ### Fixed
- Deliberately diverge from the original game's multiball contact sentinel so a - Deliberately diverge from the original game's multiball contact sentinel so a
reserve ball that fills a wheel hole leaves it permanently occupied; the reserve ball that fills a wheel hole leaves it permanently occupied; the
surviving ball can no longer enter and score that visibly filled slot again. surviving ball can no longer enter and score that visibly filled slot again.
- Match capture-driven multiball collapse timing so the surviving slot keeps - Match capture-driven multiball collapse timing so the surviving slot keeps
double scoring through the current callback, then returns to normal scoring double scoring through the current callback, then returns to normal scoring on
on the next callback and the returning claw remains paused until that the next callback and the returning claw remains paused until that collapse;
collapse; completing the fifth wheel lock still ends multiball scoring completing the fifth wheel lock still ends multiball scoring immediately.
immediately.
- Derive wheel-lock awards from the original live contact words so two balls - Derive wheel-lock awards from the original live contact words so two balls
settling into different slots at once receive the same accumulated award as settling into different slots at once receive the same accumulated award as
the original game. the original game.
- Stage an effect-seven reserve-ball request until ball 1's full substep batch - Stage an effect-seven reserve-ball request until ball 1's full substep batch
has returned, preventing the new slot from participating in collision and has returned, preventing the new slot from participating in collision and
capture rules before the original creates it. capture rules before the original creates it.
- Bound high-score server resource usage with 1 KiB route body limits,
single-operation database concurrency gating, 503 shedding, and offloading
SQLite operations to blocking worker threads.
- Use a relative path for the web build's high-score API endpoint so deployments
under nested URL subpaths route requests correctly.
- Implement bounded exponential backoff with jitter, initial delay and maximum
delay bounds, and `Retry-After` header support for failed web high-score
submissions.
## [1.1.0] - 2026-08-29 ## [1.1.0] - 2026-08-29
+1 -1
View File
@@ -551,7 +551,7 @@ dependencies = [
[[package]] [[package]]
name = "tdkpin-rs" name = "tdkpin-rs"
version = "1.1.0" version = "1.2.0"
dependencies = [ dependencies = [
"directories", "directories",
"futures-util", "futures-util",
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "tdkpin-rs" name = "tdkpin-rs"
version = "1.1.0" version = "1.2.0"
edition = "2024" edition = "2024"
[dependencies] [dependencies]
Binary file not shown.