Project Documentation

These notes move with each release.

Docs

🀼 Booker Blitz Changelog

Booker Blitz Changelog

Game releases. Tagged v<version>; see RELEASING.md.

[0.7.0] - 2026-11-03

🎀 Ladies and gentlemen, the card has been OFFICIALLY upgraded. Gimmicks get repackaged with their own beat catalog, Gorilla Position calls audibles mid-segment, schools pump fresh talent onto the card, and poachers are at the door with rival offers. Are you ready?

Main Event

  • Gimmicks, repackaged β€” new gimmick-type taxonomy with RSE lines and promo pairings, a per-gimmick beat catalog in the segment wizard filtered to the carrier's gimmick, grouped beat picker, and editing straight from the wrestler page and context menu. TEW contract gimmicks import as gimmick and gimmick type. Every side finally gets a mic that fits the character.
  • Gorilla Position segment actions β€” call Play-it-Serious, Comedy, Turn, Ambush, Assertive and Call for Ambush live with performer pickers, effect previews and face/heel forms, plus Shift hotkeys and hints. Ambush ends the segment on the spot, and turns set alignment with direction RSEs. Business is about to pick up!
  • Schools and regens β€” wrestling schools and talent regeneration arrive with portraits, Regen badges, prestige-based potential and low starting ability, plus trainer-plus-facility stat growth, potential caps and post-prime decline. The Training Facility fuses into the Gym and the Academy opens its doors. The future just got called up from developmental.

✨ New Signings

  • Contract poaching war β€” new Poached tab for wrestlers holding rival offers, a poach-count badge in Contracts nav, poached flags and exclusivity in headers and rows, rival offers on the wrestler contract tab, and exclusivity shown in AI offer notifications. Know your role at the table.
  • A living territory β€” rival promotions run shows every day and defend titles on every rival PPV, with varied cards mixing tag matches and tracked records. The inbox answers back with a weekly world-news digest, rival PPV holiday news, roster-status and monthly digests, and sponsorship proposals that expire after seven days. The dirt sheets write themselves now.
  • Segment wizard and autobooker β€” book from wizard presets and saved templates, with auto-placed sides, beats, staff and icons, two width-capped columns, hidden part targets when beats set them, swapped actor/target clashes, and 2–3 beats per auto-booked part. The booking sheet finally reads itself.
  • Match wizard polish β€” wrestlers already booked elsewhere flag as Overbooked, picking a title sets the gender filter, and keyboard shortcuts cover gender, card position and filters. Vintage booker efficiency.
  • Live presentation β€” crowd reaction carries between segments with decay, location banners run in the live feed and results recap, the announcer caps victory calls at 1–2 beats with no pin counts off pinfalls, and Gorilla Position and Quick Notes collapse each other. Sidebar hides during live events with a Ctrl+L quick-notes dialog that pauses the sim. New set, new pyro.
  • New-game setup β€” linear first-run flow with promotion overview, database stats, setup summary and next-show panels, image-pack buttons, merged database import card, staff import role counts, and a development roster that no longer needs a brand split. The opening promo writes itself.
  • Office upgrades β€” command palette with nav, staff and show search plus Ctrl+L notes, card-based search results with a staff tab, linked sidebar and modal quick notes with autosave, multi-company schedule and contracts panel, injury-return special match, title divisions edited in a dialog, one trainer per trainee, popularity always visible under Fog of War, BugSplat crash reporting with a report-error button, zoom to 200%, wider pages and backdrops, and TEW venues arriving as arenas through the Forbidden Door. Ohhh yeah!

Referee's Decision Reversed

  • Part-timers β€” releasing a part-timer keeps the home promotion, renewals hit the player-company deal, and part-timers count as roster in divisions, storylines and tournaments plus poachable with an active deal. The replay showed the foot on the rope.
  • Live feed β€” ambush ends the segment without replaying unplayed beats, fast-forwarding keeps event-carried rating deltas, every part of a multi-part segment stays in the feed, the Gorilla left feed stays visible and scrollable, and results swap the disabled Continue for Return to dashboard. Restart the match on a level ring.
  • Booking truth β€” two-talent segments book as two sides, the Auto Book card stops resetting to the last draft, rivals are picked fresh for actor targets, beat-template assignment preserves targets, comeback opponent suggestions leave the finish step, sides rename to team names when teammates join, and schedule participants resolve through the segment wizard.
  • Inbox and contracts β€” booking from the inbox auto-picks an arena and returns you to the inbox, the clicked notification's email takes focus, show and PPV images appear in the Book The Match picker, negotiation inputs align with internal thread scroll, and talent never raises its ask in round 3+. Kickout at two!
  • Titles and dates β€” champion names survive holiday title changes, month-end shows run month-end and roster digests, regen and graduation-month math runs in UTC, and retired staff read as former wrestlers instead of unavailable. The doctor cleared it to compete.
  • New-game and UI β€” full-width sidebar buttons, import cards that step aside once a database import starts, restored promotions-list scroll after the staff summary, image-pack reset that clears the save folder too, searchable titles with images and a stable theme list in the palette, drafts flushed on quick-notes unmount, graduates sent only to a live development brand, and #1 strings quoted so YAML stops eating them. A botch that got cleaned up.

Backstage

  • Retired the dual gimmick taxonomy into one, weighted tagged RSE lines in a single pass, extracted the arena fallback into a tested helper, and kept the E2E and Lisbon timezone leg to development-into-master merges. The production truck keeps rolling.

Whose house? Swerve's house!

[0.6.2] - 2026-10-24

🎀 The ref's still watching the replay from last night. What started as empty arenas west of UTC turned out to be the whole calendar wrestling on the wrong day β€” dates, paydays, pre-books and all. This one levels the ring for every timezone.

Referee's Decision Reversed

  • Calendar & Continue β€” calendar links and the Continue button keyed shows off the local clock, so a negative-offset zone opened the neighbouring day. Both now use the canonical UTC game day.
  • Game-day clock β€” pre-books, arena decay, payroll weekdays, the build cap, save export, show intros, alliance months and the post-show clock all read UTC-midnight dates with local getters. They go through the game-date helper now, so the card airs on the day that's actually booked.
  • Start days, pay & history β€” new-game start days, payroll and history labels name the canonical day, and a card saved on the wrong local day is paid from the show's UTC day after rekey. No double booking.
  • Development pre-books β€” development shows checked the weekday with a local read and never pre-booked west of UTC. Monday means Monday again.
  • Existing saves β€” Dexie v10 plus a load-time migration moves cards sitting one day off their show weekday or PPV date back onto the right day. Empty cards never overwrite booked ones, and running it twice is a no-op. The doctor cleared it to compete.

It's showtime!

[0.6.1] - 2026-10-24

🎀 A quick save by the referee between pay-per-views. Shows west of UTC were walking out to an empty arena β€” the card is back where it belongs.

Referee's Decision Reversed

  • Live event dates β€” shows opened with zero segments for players west of UTC because the live event looked the card up by local date instead of the booked day, and saved production back under the same wrong key. The card now loads from the date in the URL, so the bell rings on what's actually booked. The replay showed the foot on the rope.

Kickout at two!

[0.6.0] - 2026-10-24

🎀 The title picture just got a whole division system β€” standings, number-one contenders, and title shots you can actually book. The segment wizard cuts promos beat by beat, the commentary booth finally has opinions, and the arena gallery opens before the first bell. To be the man, you gotta beat the man and climb the standings. Are you ready?

Main Event

  • Title divisions β€” championships can run weight-class or custom divisions with standings, win–loss records, streaks and form, snapshot tag teams per belt, and a stored #1 contender. Manage divisions from Company Status and title pages, offer division placement in contract talks, rank suggestions by contender status, and book title shots or #1 contendership from the match wizard. Autobooker and AI promotions build divisions and schedule defences from the same sheet. Wrestlers can hold spots in several divisions at once.

✨ New Signings

  • Segment Wizard, director's cut β€” build promos beat by beat: pick who speaks, who they target, optional writers, warnings when mic skills are thin, and lock narration lines instead of rolling them. The promo finally gets a production truck.
  • Commentary booth β€” your team calls matches and segments in their own voice, with more variety and clearer who is talking. Bah gawd, they brought headsets and opinions.
  • Brand Rosters β€” shuffle who belongs on which brand from Show Detail or Development, move talent in batches, and use keyboard or Steam Deck controls. The draft just got a war room.
  • Arena gallery β€” browse and pick venues when you start a new game, filter by territory, and pull in arenas from TEW imports with the right venue pictures. Older saves pick up territory labels automatically.
  • Talent desk β€” bookmark favorites on the roster, see win–loss records, division stats on wrestler cards, squash matches with suggested durations and pin finishes, filter by brand when booking, and cleaner layouts for multi-person matches. Outside interference is set up from Gorilla Position only.
  • Tournaments β€” half-star match ratings on brackets (one through five stars). The bracket reads like the dirt sheets.
  • Social feed β€” one unified timeline with your promotion reacting to the world. The office is loud again.
  • Quality of life β€” loading flair when you start a show or leave the arena, quit from the exit and new-game screens, the same tab bar on Talent, Facilities, Staff and Search as on Shows, Gorilla Position tucked away until you need it, smarter storyline suggestions, and finance charts for the last six months, year, or full run.
  • New game setup β€” the game always confirms your wrestler image folder and arena images before the first bell.

Referee's Decision Reversed

  • Titles on the card β€” multiple title matches on one show now update the belts in order; team champions and division snapshots stay in sync when rosters change.
  • Live booking β€” ringside talent groups with their side; Gorilla Position tips stack properly and injury calls unlock when they should; pin and submission moments no longer appear in matches with no pinfall; roster bookmarks are easier to tap; pinned favorites no longer make lists jump around.
  • Matches and commentary β€” finishers show up in commentary the way they should; finisher endings feel more decisive with slightly fewer random injuries.
  • Steam β€” Sync to Steam uploads achievements you have already earned and tells you how it went.
  • Around the office β€” inbox shows when someone joins your roster after signing and sorts newest first; draws in tournaments count as finished bouts; stray navigation crumbs are gone.

And that's the bottom line β€” 'cause this card says so.

[0.5.4] - 2026-10-22

🎀 The demo's six-month title reign gets a referee who actually reads the contract. Every save now carries its own signed papers, so it can travel anywhere and still prove when the run started.

✨ New Signings

  • Signed saves β€” playtest and demo saves now carry a signature of their start date, stamped by the game itself. The signature travels with the save: Steam Cloud, a second PC, a reinstall, .bbsave files and exported databases all keep verifying. Edit the start date by hand and the signature breaks, so progress locks. No more turning back the clock with a text editor.
  • Grandfather clause β€” saves from before signing are signed the first time you load them and keep playing as normal. Load your demo saves before v0.6: from then on, unsigned saves lock.
  • Exports keep their papers β€” an exported database carries its save's signature, so a new game started from an edited export is refused at the door.

Backstage

  • Signing key, sealed in the locker room β€” build:game now needs BOOKER_BLITZ_SIGN_TOKEN for playtest and demo builds and bakes it into the main process. Same key on every build machine, forever.

Have a nice day!

[0.5.3] - 2026-10-22

🎀 A quick stop on the house-show loop between pay-per-views. Custom datapacks walk in through the Forbidden Door, the contract table gets a fresh coat of paint, and the Deck keyboard learns some manners. Are you ready?

✨ New Signings

  • Custom datapacks, through the Forbidden Door β€” the import modal links out to the resources page, and a new step after import asks for the datapack image folder and binds it to the save. No more lost posters on custom databases.
  • Contract negotiations, repackaged β€” the negotiation table goes full height with the thread scrolling and the offer controls pinned to the bottom, plus wage nudge shortcuts with hold-to-repeat on arrows, D-pad and triggers, and a send confirmation on Ctrl+Enter. Hustle, loyalty, respect.
  • Steam Deck keyboard, new entrance music β€” shortcut hints hide on Deck, the keyboard defaults to 80% zoom, and it gains caps lock plus theming to match the show.

Referee's Decision Reversed

  • Demo saves, unchained β€” the save-seal check is gone, so no more "this save couldn't be verified" lockouts after a cloud sync, a reinstall or a second PC. The demo's six-month window now counts straight from your save's start date. The ref finally saw the hand on the rope.
  • No restart from the final bell β€” exporting a capped save as a database and starting a new game from it keeps the original six-month window: the new game picks up on the export date instead of resetting the clock. No rematch clause in this contract.
  • Negotiation dialogs β€” the send-confirm and shortcut-hint strings moved into contractOffers where they actually resolve, so the confirm dialog reads correctly. Kickout at two!

Backstage

  • Steam build, back on the card β€” greenworks and the Steam client library now ship outside the asar and load from resources with a dev fallback, so packaged builds stop falling back to offline. The road crew earned its pay.
  • Depots and CI β€” Linux gets its own Steam depot with cross-platform ID validation, the build step carries the Steam SDK, and a new Electron E2E covers the demo six-month cap. A house-show loop across three towns.

Have a nice day!

[0.5.0] - 2026-10-21

🎀 Wooo! The title picture just got real, the contract table got honest, and the books are finally open. Strap in β€” every match on the card counts from here on out.

Main Event

  • Title matches, with real finishes β€” only pinfall and submission are clean: DQ and count-out challenger wins leave the champion holding the belt, vacant titles stay vacant on dirty finishes, and past results now show the finish type. Title bouts also carry prestige-scaled crowd bonuses, winner/challenger morale and popularity swings, and prestige that rises and falls with match quality and overexposure, all wrapped up in a post-show title-impact section on Event Results. The title picture just became must-see TV.
  • Contracts: pay unit vs. exclusivity, decoupled β€” monthly and per-appearance are now their own axis, independent of exclusive vs. non-exclusive, negotiated with a dedicated Wage Type control and 3.25x unit conversion. Payroll, per-show pay, buyouts, clash priority and poach floors all resolve through the pay unit, monthly offers get an acceptance edge, AI promotions pick terms by size, and TEW imports map exclusivity and pay unit separately. Old saves are backfilled on load. Know your pay, know your role β€” no more swerves at the table.

✨ New Signings

  • Show books, opened up β€” Show Detail now reads the full gate: line-item costs, real arena rental/upkeep/setup fees, merch paid out of booked-talent popularity and event prestige, sponsor and merch profit per segment, projected profit, arena comparison and a recent-shows sparkline. Production Studio bills per show, and the Arena facility cuts setup and maintenance 10% per level. No more curtain-math on the money.
  • Sponsorship deals, rebooked β€” fulfillment needs either wrestler, not both, deals run 1 month, sponsor-segment deals spread across multiple segments, and fulfilled segments run sponsor-mention events with varied copy. The briefcase is easier to cash in.
  • Medical specialists on call β€” book a staff medic, or an outside specialist when the roster is thin, for a one-time consult that cuts one injury 40–60%. The fee comes out of capital, the medic cools down for a couple of days, fees cap at 150k, and the wage share prices monthly vs. per-appearance deals fairly. Hard and Legend difficulty can backfire β€” the doctor cleared it to compete, mostly.
  • Inbox gets loud β€” a day-locked social column with your promotion's hashtag, an Others tab for rival posts and latest cards, sponsorship offers in your own currency, and idle trainers pitching young high-potential talent as trainees. The dirt sheets write themselves now.
  • Booking desk polish β€” staff chips and referee/writer/interviewer/announcer credits show role tooltips with the attribute that drives quality, wrestler filters collapse, continuity penalties explain themselves, the booking list holds its scroll and highlight, and contract negotiations answer to keyboard shortcuts. Vintage ring-crew efficiency.
  • Finding talent, faster β€” promotion search on the New Game setup screen, accent-folded search so Mistico matches MΓ­stico, scout reports combined into one message per wrestler per step, and the changelog itself now lives in the app. The talent-relations office did its homework.

Referee's Decision Reversed

  • Contract figures β€” wages display and notify as monthly figures everywhere, TEW amounts convert to monthly instead of yearly, switching to exclusive at the old wage draws a counter instead of breaking down, and the negotiation table passes its altered-terms props again. The replay showed the foot on the rope.
  • Medical billing β€” specialist fees convert per-appearance wages properly, the medic scan only runs with the dialog open, and default medic picks stay stable. The ref sent the doubles to the back.
  • No ghost crashes β€” development growth and retirement handle missing staff and wrestler history instead of tripping. Restart the match on a level ring.
  • Simulation presentation β€” participants display loses its nested scroll container. A botch that got cleaned up.

Backstage

  • Old flags server future endeavored, builds test before packaging, and the results-screen metrics column got rebalanced. The production truck keeps rolling.

It's showtime!

[0.4.3] - 2026-10-19

🎀 A quick tune-up between pay-per-views. Demo and playtest saves now kick out when an update lands, and the production truck picked up some new tools for the road. You just made the list of saves that live to fight another day!

Save Games back in the match

  • Demo and playtest saves β€” saves no longer get locked out every time the game updates; the seal key is now stable across builds, and existing saves are re-sealed on first launch. The save got cleared to compete.

Backstage

  • The build:game wizard now reports per-platform builds and Steam versions, fetches the Windows depot over SSH for Linux packaging runs, and runs clean under remote execution policies. The road crew earned its pay.

Yes! Yes! Yes!

[0.4.2] - 2026-10-18

🎀 The booking office has been busy. Key Staff get a tighter layout, show cards finally wear their poster art, match suggestions actually read the storylines, and a pile of botches got cleaned up on the replay. Business is about to pick up!

Main Event

  • Smarter match suggestions β€” suggested matches are now size-matched and put storylines first, so the card writes itself closer to how you'd book it. The booker's pen just got a little sharper.

✨ New Signings

  • Key Staff and Roster β€” Key Staff are shown in a compact layout, the talent table got a round of fixes, and arrow keys now page through it. Vintage ring-crew efficiency.
  • Show and event cards β€” each card uses its show image as a backdrop. New set, new pyro.

Referee's Decision Reversed

  • Booking and live events β€” ctrl-click now joins the side you're building, and closing the last match leaves the arena as it should. Hot tag made, restart the match.
  • Sim eliminations β€” every elimination now names an eliminator. No more mystery run-ins.
  • Tournaments β€” hand-booked tournament matches are detected, and the tournament intro can be dismissed.
  • Debuts β€” the starting roster counts as already debuted, so nobody gets a surprise debut on day one.
  • Scouting β€” scouted base reports show in a row.
  • Steam Deck β€” the on-screen keyboard stretches to the full screen width.
  • Docs β€” the in-app docs gain scroll and search. The commentary team can finally be found mid-match.
  • Locales β€” fixed boolean key parsing in en.yaml.

Know your role, and have a great show!

[0.4.1] - 2026-10-15

🎀 A quick tag to tighten up the card. The Forbidden Door swings all the way open, arena packs play nice with what's already on the shelf, and a tournament botch gets cleaned up on the replay. Are you ready?

✨ New Signings

  • Arena packs, merged not replaced β€” importing a .bbarenas file from Settings now offers a merge mode that adds new arenas and replaces only same-id entries instead of wiping the list. No more loser-leaves-town for your venues.
  • TEW .mdb imports, ungated β€” the TEW importer always offers .db and .mdb files now instead of hiding .mdb behind a build flag. Talent arrives through the Forbidden Door either way.

Referee's Decision Reversed

  • Tournaments β€” booked tournament matches now keep their tournament link when edited, so quick-added matches actually register. The ref saw the foot on the rope and restarted the match.
  • Arena images β€” a custom datapack images folder no longer applies to arena images; only the dedicated arenas folder does. You just made the list of folders that stay in their lane.

Backstage

  • Production-truck passes on the Steam demo build script and Datastudio packaging checks, plus test hardening around the tournament fix.

Have a nice day!

[0.4.0] - 2026-10-15

🎀 Finally, the contract office has come back to Booker Blitz! Non-exclusive deals, poachers at the door, non-competes on the table β€” plus cloud saves that follow you building to building, a brand split that divides the roster, and an autobooker that finally reads the booking sheet. This place is unglued!

Main Event

  • Contracts, repackaged β€” non-exclusive and part-time deals, poaching windows with counter-or-walk inbox alerts, non-compete clauses with offer warnings and release waivers, show pay, multi-contract editing, and an exclusivity premium with pending-deal, renewal-clause and AI deal-type fixes. The talent-relations office just became must-see TV.
  • Steam Cloud saves β€” saves in slots 1-3 are mirrored to Steam Cloud and on by default (toggle it under Settings). Load Game lists your local saves and your Steam Cloud saves side by side. Loading a cloud save copies it into its slot (you confirm first if that slot holds a different save). On launch, an empty slot is restored from the cloud automatically, but a cloud copy that is newer than a non-empty local slot is never overwritten: the slot shows a Newer cloud save badge and you choose. Offline or with Steam closed, the game keeps saving locally and syncs on the next save. It respects Steam's own per-user Cloud setting, and deleting a slot deletes its cloud copy too. Quitting with Save and Exit now waits (up to 10 seconds) for the cloud copy to upload, and a slot you delete while offline stays deleted: the cloud copy is removed the next time you're online instead of coming back. Every slot also gets an Export save button that writes a .bbsave file through a save dialog, and Load Game has an Import button that loads a .bbsave file into a slot you pick (you confirm first if that slot is occupied). Business is about to pick up, on any machine.
  • Simulation rebalance β€” match and segment ratings rebalanced with a heat cap, background-staff rules, double-counting fixes, pace boosts that actually lift the crowd, and exhaustion that decays with match time. The booker's pen got a fresh coat of paint.

✨ New Signings

  • Brand split β€” divide the company into brands with a dedicated roster picker, brand column, filter and bulk assignment, brand-switch banner, development brands, per-brand PPV scheduling, show colours and travelling staff exclusivity, plus title inference by card level. Two locker rooms, one war.
  • Continuity-aware autobooker β€” the autobooker reads KO results, overbooking, show promises, hyped-match rules, adjacency and per-item caps, warns on continuity breaks and penalizes the show when you push through anyway. It doesn't matter what you planned β€” the booking sheet matters.
  • Storyline desk β€” active storylines rebuilt around a clear matchup in a two-column card grid, recommendations pair same card tier and gender with face-vs-heel first, mixed teams allowed, tweener mirrors dropped, and champion, stable and tournament filters fixed. Book the whole angle without leaving your seat.
  • New Game wizard β€” stepped setup with appearance and promotion-theme picks, start date defaulting to today, annual PPVs placed on the first show-free day, and a company-status briefing with a single Book it button that lands on the event page. The opening promo writes itself.
  • Scouts, development and holidays β€” send a scout to a base from Development or the staff detail screen, manage the development show roster in one place, and take a holiday from the Continue menu with a full-screen overlay, quotes and weekly wire. Freshly squeezed homework for the whole office.
  • Arenas and alliances β€” house draw, hometown bases and a new-game arena editor, .bbarenas packs loaded from Settings, and datapack alliances treated as promotion alliances. New towns on the house-show loop.
  • Booking quality of life β€” card runtime in both wizards, matches booked straight from segment parts, side sizes (2 vs 2 vs 2) instead of headcounts, opponent suggestions by gender, card position and storyline flags, grouped selectors, champions shown in the picker, titles ordered by card level, booking-penalty chips, Start Show and Leave Arena on the navbar's primary slot with the Space shortcut, per-side pace and no-DQ weapons in Gorilla Position, and a ring announcer who names the real match type and introduces every side. Vintage Orton β€” wait, vintage booker.
  • TEW arrivals β€” TEW .db and .mdb importers follow the new contract rules and bring alter egos, in-use identities, card positions and alliances through the Forbidden Door.
  • Roster refresh β€” new paint, new plates β€” every promotion logo re-rendered at higher resolution, twenty title belts re-shot plus new plates (KRP World, IC and CTT, KRP Junior, VR-SP), Friday Velocity repackaged as Friday Overdrive, the Stronghold King and Queen crowned King and Queen of the Stronghold, a new KRP Junior Championship joins the title picture, and Annihilation finally hangs its own banner. Ohhh yeah β€” the whole card looks ready for TV.
  • Contracts start in the present β€” every bundled deal now opens on day one with its length preserved and expiries re-synced, so nobody walks in holding paper dated two years out. The opening bell rings now.

Referee's Decision Reversed

  • Simulation β€” hometown names stay capitalised, sponsorship segments reset stale rating modifiers, battle royals gate their clocks on entrances with actions unlocked after the openers, and the social feed never posts a raw {name} again. The replay showed the foot on the rope.
  • Ringside and referees β€” every new match pre-selects a random referee, generated replacements are named with a pinned pool and explicit fallback, only ringside crew can act for a side, stale cross-promotion managerIds are cleared on load, new game and contract moves, managers stay with one side, and Gorilla Position locks outcome, finisher and interference calls until entrances are done. The ref sent the doubles to the back.
  • Tournaments and titles β€” brackets book with the same sides as Book Now, quick-add hides matches already on the show with managers ringside and last names for trios, stables of 3+ list in tag tournaments, trios types stop snapping back, and only real title holders read as champions. Kickout at two!
  • New Game and dates β€” save errors surface, show and holiday math is timezone-safe with unique PPV dates and UTC months, save-slot buttons stop overflowing, and history dates normalize before saving. Restart the match on a level ring.
  • Debuts and contracts β€” home-roster debuts need a contract, day-one signees count as debuted, intergender opponent suggestions work, staff pickers stay flat, and external negotiation rows link to the contract tab with part-time talent listed and unavailable reasons shown in the wizard.
  • UI polish β€” light-mode AA colours with themed toasts, badges, glows and no truncated navbar balance, dynamic viewport sizing for full-screen layouts, two-column theme editor, debounced talent search, wrapping scouts and penalty chips, drags that start on plain presses, arena costs without the k suffix, and a development roster that fits its screen. New set, new pyro.

πŸš€ Speed Kills

  • Routes code-split with stable vendor chunks, the bundled datapack loads on demand, game context split into stable actions, notification history capped, day-advance autosaves coalesce their cloud pushes, and contract and growth passes run on indexes. A squash match for load times β€” outta nowhere!

Backstage

  • PR checks consolidated into one workflow with pinned actions and a production-build Playwright run, pure-logic specs run in node with DOM specs in happy-dom, and golden-master simulation coverage locks the ratings in. The production truck keeps rolling.

πŸ‘‹ Future Endeavored

  • Save to file / open file β€” the old file-path save flow has been released from its contract. If you have .bbsave files from before this update, they no longer show up in the recent saves list: use Import on the Load Game screen to bring them back into a slot. Saves already on disk are untouched. We wish it the best in its future endeavors.

Finish the story.

[0.3.5] - 2026-09-30

🎀 Finally, the road to the next pay-per-view has come back to Booker Blitz! Five shows' worth of upgrades on one card: full gamepad and Steam Deck support, a rebuilt settings arena, a storyline desk that does the heavy lifting, and heat you can feel on every results screen. This place is unglued!

Main Event

  • Steam Deck & gamepad support β€” native Deck input, face buttons mapped to clicks and Space, gamepad scrolling, and LB/RB tab switching on every Tabs screen. A new way to call the match, from anywhere in the arena.
  • Storyline desk overhaul β€” create and edit now share one suggestions|sides|roster editor with roster filters, card-position suggestions, side previews showing alignment and held titles, wrestler details on the details screen, and a polished create modal with side cards and show exclusivity. Book the whole angle without leaving your seat.

✨ New Signings

  • Settings, repackaged β€” game and title settings rebuilt as tabbed panels on a solid surface with a tab rail, shared row primitives, per-section reset, an unsaved-changes dot and accessibility fixes. New entrance music, same tune.
  • Heat meter everywhere β€” match and segment ratings now read as heat meters across live events, results and match stats, including the new widget on event results. The crowd tells you exactly how the match landed.
  • Booking cards that breathe β€” sides with big stables get a summary instead of a wall of portraits, production controls collapse with deduped manager rows, and the booking editor shows each manager once. A squash match for clutter.
  • Command palette loop β€” the palette now loops with a theme preview watcher following your pick live. A little bit of the bubbly for the production truck.
  • Young talent reads β€” scout recommendations and potential bars on young talent cards, plus talent badges and storyline target limits in the pickers. The talent-relations office did its homework.
  • Talent table filter β€” cut straight to any promotion with the new promotion filter.
  • Title tooltips & team cards β€” hovering a title image names the belt, and team cards carry the team image to match.
  • Gorilla Position widget β€” the whole widget collapses when you need the monitor space.
  • Placeholders that belong β€” missing or invalid promotion logos and arenas fall back to branded placeholders, and achievement art resolves against the base path. No more curtain-jerkers in street clothes.
  • Closed playtest graphic & Soft Landing trailer β€” fresh art for the playtest build and a 30-second arc trailer. The video package is ready for TV.

Referee's Decision Reversed

  • Live events β€” navigation locks inside live events until Leave Arena, so nobody slips out through the crowd mid-match.
  • Battle royals β€” changing the winner reassigns the eliminations, and the replay confirms the right survivor.
  • Ringside managers β€” managers stay with one side only; no more double-booked seconds. The ref counted two managers and sent one to the back.
  • Create storyline modal β€” keyboard shortcuts restored, global shortcuts blocked inside dialogs, and the F key no longer steals focus mid-sentence. Columns stay inside their cards and scroll internally.
  • Team dialog β€” the roster lists only available wrestlers now; the foot was on the rope and the ref saw it.
  • Staff links β€” staff names route to the staff detail page instead of the wrong locker room.
  • Finances β€” the top earners card adds up again.
  • Title divisions β€” member management repaired, the cross-title rule surfaced in the UI, and suggestions plus autobook honour tag title divisions, warning on invalid datapack divisions. Vintage booker's pen.
  • Storyline participant editor & translations β€” the details-screen editor is wired up and the missing gender-filter strings are in.
  • Datapacks β€” salary rebalance and a fresh round of wrestler images, with title-division setup covered in the docs.

Backstage

  • Build pipeline learned to fetch the Windows build for packaging, and the ring crew cleared out failing Titles specs. The production truck keeps rolling.

To be the man, you gotta beat the man. Wooo!

[0.3.0] - 2026-09-26

🎀 Business is about to pick up! The sponsors are paying per show, the storyline desk has gone drag-and-drop, and every injury gets its own medic. Somebody get this show on the road.

Main Event

  • Sponsorship deals β€” sponsors now sign obligation contracts that pay a monthly fee plus a per-show bonus, and each deal shows up on the card as a named sponsorship segment that pays out when it's booked. The money's on the card, and the house lights stay on.
  • Storyline side builder β€” the manage-storyline dialog is now a drag-and-drop sides editor: pull wrestlers straight from the roster panel onto a side, get suggestions grouped by card position (upper, mid, lower), and read POP, CHA and MIC right on the cards while you build. Book the whole angle without leaving your seat.

✨ New Signings

  • Medics β€” assign a dedicated medic to an injury and they stay on the case, show up under staff assignments, and can shave recovery time with an inbox update when the talent is cleared to compete.
  • Ring announcer results β€” after the bell, the ring announcer calls the result, with one call for a new champion and another for a retaining one, and re-announces when the booked finish changes. The ring announcer finally gets the last word.
  • Match history β€” past results remember their sides and show tag matches as "A & B vs C & D" instead of one flat list of names.
  • Roster table β€” mic skills, condition, injury proneness and morale are columns now, so the whole card reads in a single scan.
  • Free agents filter β€” Talent cuts straight to the unsigned with a new filter.
  • Bulk roster actions β€” wishlist and roster bulk-selection are wired into the context menus, so a whole locker room can be moved at once.
  • Trainers and scouts β€” the two development roles now share a single Staff tab.
  • New Game β€” selected promotions show a preview rail with their champions, staff and shows, and you can seed a brand-new game from a .bbdb archive β€” wrestlers, promotions, alliances, start date and image path included. The custom database modal is wider and no longer clips its import cards.
  • Achievements β€” unlock toasts and the achievements list show per-achievement artwork, with locked rows dimmed.
  • Title cards β€” belts and champion portraits are layered behind the stats to match the team-card look.
  • Wizard shortcuts β€” the match and segment wizards share a full key set with an on-screen legend: search, filters, add side, add to side and Enter/Esc navigation. Space advances a step and Ctrl+1–9 jumps straight to one, with the targets highlighted while Ctrl is held.
  • Match wizard layout β€” the participants step and step 3 are more compact, with a smaller title pedestal, a self-scrolling suggestions grid and suggestions moved above the roster on the wrestlers tab.
  • Ringside managers β€” auto-booked matches and segments bring client managers along, tag sides show one shared ringside manager, and Ctrl/Cmd+click adds a wrestler straight to the last side.
  • Navbar β€” the header shows your promotion's full name, and the shortened balance reveals its full value on hover.

🧳 Called Up from Developmental

  • Playtest builds β€” playtest runs now cap progress at six months, show a build badge under the version and a support banner, and a build-limit modal blocks booking until a start date is set.
  • Save and quit β€” the native OS exit prompt is gone, replaced by a themed save-and-quit dialog, so quitting mid-session looks like it belongs in the game.

Referee's Decision Reversed

  • Cards β€” title and wrestler cards hold their layout again after the redesign.
  • Undo/redo β€” Ctrl+Z and Ctrl+Y work in the participants step.
  • Title history β€” a title's reign history seeds correctly on its first tracked change.
  • Referees β€” the match wizard only offers referees actually assigned to the show.
  • Contracts β€” player offers persist past the AI budget gate instead of disappearing.
  • Tournaments β€” tag-team and trios tournament sides resolve correctly in the booking editor.
  • Wrestler picker β€” Enter adds the highlighted wrestler to the selected side, compact sides fill in their portraits, and closing the team filter focuses the list.
  • Storylines β€” the VS badge sits centered between side cards, the sides editor resets whenever the dialog closes, and the participant pickers gained a gender filter.
  • New Game β€” the promotion preview stays put while the details scroll, and the screen's text is readable in light themes.
  • Dashboard β€” the top wrestlers widget counts only in-ring talent.
  • Light theme β€” the build banner and badge are legible in light mode.
  • Focus β€” Chromium no longer paints a stray focus ring on an Alt-tap.
  • Results screen β€” space leaves the event results.
  • Build limit β€” the limit modal opens on Continue before the booking redirect fires.
  • Datapacks β€” start date and image path values reset correctly.

Backstage

  • Build targets and Steam β€” build:game gained a target wizard (steam, internal, playtest, demo), a signed build-target manifest and a SteamPipe upload pipeline; locked builds now block the inspector and remote debugging.
  • Datastudio β€” configurable database export and import, a remembered export folder, self-updates, a writable workspace in packaged builds and mdb-reader in its package. The game's asar no longer carries Datastudio modules and packaged output was trimmed.
  • House style β€” hardcoded neon colors moved to theme tokens, screens and tables were refactored onto shared components, and the docs picked up literary staff-portrait prompts.

It's showtime!

[0.2.0] - 2026-09-24

🎀 Ladies and gentlemen, the card has been OFFICIALLY upgraded! Two brand-new booking wizards, a broadcast team where everybody knows their role, trainers in the building, and a contract office that finally fights back. Are you ready?

Main Event

  • Match Wizard β€” matches are now booked in a full-screen, four-step flow: Setup, Participants, Flow, and Finish. Drag talent onto sides, put a title on the line, pick the referee, set pacing and entrance order, then call the finish. It replaces the old Add Match screen.
  • Segment Wizard β€” promos, interviews, confrontations and run-ins get the same treatment: Duration, Sides, Location, Parts. Up to six sides and eight drag-to-reorder parts share a minute budget, with storyline suggestions, a one-click Start Storyline, and managers added automatically with their clients. Every part now drives its own narration in the live feed. That's a six-pack challenge, and every side gets a mic.
  • Special Matches β€” book debuts, returns, retirements, career vs career, loser leaves, dream matches and storyline blowoffs, with debut checkboxes per side, dedicated live-feed beats, and post-show fallout.

✨ New Signings

  • Ring Announcers β€” a new staff role and Key Staff slot. Ring announcers run Announcement, Injury and Hype parts, interviewers run Interviews, and commentators stay on the desk. Nobody covers for anybody else, except that commentators step into the announcer slot when a promotion has no ring announcers at all. Know your role!
  • Going live β€” every show opens with the show logo bursting onto the screen and a broadcast intro from the commentary team before segment 1. Talent now voices their own promos and interviews while commentators alternate on the calls. Bah gawd, somebody finally gave them headsets!
  • Trainers β€” assign up to four trainees per trainer from Staff β†’ Trainers, the trainer's detail page, or the new Trainer picker in a wrestler's header. Trainees can grow Charisma, Mic Skills and Hardcore after matches, based on the trainer's skills, morale and your facilities.
  • Contract negotiations, repackaged β€” unhappy talent refuses to renew, happy talent re-signs at a discount, and popularity shapes the ask. Rival talent is off limits until their deal is within 60 days of expiry (new Expiring Soon filter), staff renewals use the same table, and AI promotions now try to poach your stars. When they do, the inbox lets you Counter or Let Them Walk.
  • Anonymous interference β€” send in a masked attacker from the Match Wizard or Gorilla Position. Half the crowd pop, but a +6 rating bonus for every storyline it touches.
  • Custom themes β€” import a .bbtheme file from Settings β†’ Theme to apply a custom promotion palette and replace the game's backgrounds.
  • Staff screens β€” overhauled Key Staff board, a trainees widget on trainer pages, scouts and trainers side by side on Development, and Key Staff broadcast slots that only offer the matching role.
  • Ringside β€” managers and ringside companions now show next to their wrestler on booking cards and in the Live Event columns.
  • Navbar β€” large balances are shortened (k/M) with the full value on hover.
  • Default datapack β€” refreshed wrestlers, staff, teams, champions, weights and images, and fixed promotion staff and manager assignments.

Referee's Decision Reversed

  • Quitting β€” closing the game from the title or menu screens no longer asks you to save. The save-on-exit prompt only fires during a game session.
  • Live events β€” switching to a different event resets the simulation and screen, and the show intro is tracked per event instead of per screen.
  • Special matches β€” stipulation targets are saved at booking time, the special-match modifier survives the Gorilla Position stage, a debut no longer overrides a player-picked retirement match, and loser-leaves departures land on the right promotion.
  • Interference β€” "unknown wrestler" interference beats no longer fire when nobody actually interfered.
  • Trainer assignments β€” pairings are cleared when a wrestler is released, changes promotion, or changes role.
  • UI β€” dialogs no longer lose their fixed positioning, wrapping tab lists keep a consistent border, and missing Key Staff labels were added.

πŸ‘‹ Future Endeavored

  • The contract Improve button and its dialog have been released from their contracts. We wish them the best in their future endeavors.

Backstage

  • The DataStudio is now its own app with its own versioning; the game build no longer ships it. Release tooling now versions the game, DataStudio and docs separately, Playwright E2E runs on every pull request, and CI pins Node 22.

And that's the bottom line.