0.7.9.8:0 — bundle Station Master v0.7.9.8
Eight releases of fixes since v0.7.9, most of them multiplayer, which is
what this package is for. Submodule pin and `startos/versions/current.ts`
only — no Dockerfile, main.ts or manifest change, as an ordinary bump
should be.
Bumped in place rather than spun off: v0.7.9's migration body is empty,
which is `versions.md`'s common case, and git history keeps its release
notes.
FOUR-COMPONENT VERSION, CHECKED. Every example in `versions.md` has
three, so `0.7.9.8:0` was parsed with the SDK's own ExVer parser before
being written down: upstream `[0,7,9,8]`, which sorts above `[0,7,9]`, so
a box on 0.7.9:0 takes this as an update rather than refusing it as a
downgrade.
GAMES IN PROGRESS ON THE BOX RESUME, and that was established rather than
hoped for. v0.7.9 broke solitaire saves because it changed a RULE, and
the rule behind that is that a save is a seed plus the moves played,
replayed through the CURRENT rules — so the question for any bump is
whether something became illegal. `git diff v0.7.9..HEAD -- src/engine/`
is, in full: `isExpedited` exported and widened to a structural parameter
type, `isFreight` exported, one new read-only helper
(`freightRuleSpentHere`, which only the blocked panel asks), and
`check('draw.end')`'s inline hand-limit test replaced by a call to
`overHandLimit(state, player)` holding the identical expression. No
predicate changed its answer. The release notes say so in all five
locales rather than leaving it to be discovered.
UPDATING.md CORRECTED: it said a running server's saves "are stamped with
`engineVersion` and refuse to resume under a mismatched one". They are
stamped with it and it is reported, but `src/server/index.ts` decides by
attempting the replay and names the versions only inside the failure
message — its own comment says why, that "some version differs" was never
enough to act on. A doc that sends the next person to schedule downtime
for a bump that needs none costs about as much as the reverse. It now
carries the diff command to ask the question of the code instead.
What players get, briefly: two multiplayer information leaks closed (the
seed in the shared log, and a blind Home Office draw naming its card); a
history panel that came back EMPTY after a mid-game browser reload; the
extended-play vote no longer naming an arbitrary player when the vote is
open to everyone at once; a train held at your Limits by an Interlocking
no longer vanishing off the board until a track frees; trains queued for
a Crew Tray saying so with the free count; a Red Flag drawn on the map; a
spent Telegraph/Telephone/Radio struck through; the Campaign Train saying
whether its speeches are made; and two bugs from the last playtest — the
Express's one-freight-car-per-location rule explained where it refuses
you, and westbound trains drawn in the correct half of a card.
README.md and instructions.md updated in the same change.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y5boPxP6JHRYMm8adXaF5R
This commit is contained in:
@@ -35,6 +35,40 @@ watches the table — there is nothing else to open.
|
||||
Solitaire runs entirely in your own browser and needs nothing from the server, so it works here
|
||||
exactly as it does on the public Station Master site.
|
||||
|
||||
**What changed in 0.7.9.8. Games already running on this server are not affected** — they resume
|
||||
normally, and nothing in this update changes a rule, so no saved game stops being playable. (That is
|
||||
the opposite of 0.7.9 below, which did change one. It was checked, not assumed.)
|
||||
|
||||
Most of this update is multiplayer, and two of it are things the table could see that only one player
|
||||
should have. **The random number that deals the game was announced in the shared history**, and **a
|
||||
blind draw from the Home Office named the card it drew** to everybody, not just the player who drew
|
||||
it. Both are gone.
|
||||
|
||||
**Your history panel came back empty if you reloaded the page mid-game.** The server had the whole
|
||||
log the entire time and was sending it in a field the page never read, while the field the page does
|
||||
read was told there was nothing new. Reload now and your history comes back with you.
|
||||
|
||||
**During the "play one more Day?" vote, the turn chart named a player at random.** That vote is open
|
||||
to everyone at once — anybody who has not voted may vote, in any order — so there is nobody whose
|
||||
turn it is, and the chart said so wrongly while the tally beside it correctly listed everyone still
|
||||
to vote. It now says nobody is being waited on.
|
||||
|
||||
**A train your Interlocking stopped at your Limits used to disappear from the board.** It was still
|
||||
there in the rules — first in line for the next free A/D track — but nothing drew it, so it looked
|
||||
like the train had gone until it reappeared in your Office some Stages later. It now stands at the
|
||||
Limits, marked as held.
|
||||
|
||||
Things that are easier to see: **trains waiting for a Crew Tray say so**, with how many trays are
|
||||
free — a played Extra or an ordered second section used to wait with nothing on screen about it.
|
||||
**A Red Flag standing at an Office is drawn on the map**, at the end it guards. **A Telegraph,
|
||||
Telephone or Radio you have already used today is struck through** instead of still advertising its
|
||||
bonus, and tells you when another district is dispatching, since it is the Superintendent's devices
|
||||
that get used. **The Campaign Train says whether its speeches are made** — before them it stops
|
||||
normally, after them it must be kept at the station. And two from the last playtest session: **the
|
||||
Express's "one freight car per location" rule is now explained where it stops you** (the panel used
|
||||
to talk about the industry instead, sending you to fix the wrong thing), and **westbound trains are
|
||||
drawn in the correct half of a Mainline card**.
|
||||
|
||||
**What changed in 0.7.9. Read this part first: your saved solitaire game may not reopen.** Solitaire
|
||||
has always had two collision limits — 3 in a Day and 5 in a game — and the setup screen has always
|
||||
offered them and said that reaching one ends the game in a loss. They were never actually checked.
|
||||
|
||||
Reference in New Issue
Block a user