Franchise Operating Budget - Career teams now track a full franchise budget alongside the player salary cap
Pixel Budget Meter - The new franchise budget display uses a segmented retro energy bar with player, staff, scouting, and buyout breakdowns
Salary Cap Moved - The player salary cap now lives with the roster overview where roster-building decisions happen
Staff Termination - Staff meetings can now surface a professional Terminate Contract action when firing language is used
Vacant Staff Roles - Fired staff now leave an open position card, setting up the future candidate interview and hiring system
Contract Buyouts - Terminating staff keeps their remaining contract value on the franchise budget for the current season
Office Chat Debugging - Development builds now show clearer chat API errors instead of hiding every failure behind a generic retry message
Custom Mode Icons - Main menu modes now use custom pixel-art button icons
Button Style Cleanup - Career, kickoff, multiplayer, and modal close buttons now share a cleaner square pixel style
Start Screen Polish - Tightened the PixelBowl.io logo hover behavior, version badge hover highlight, and removed unused background code
Career Sim Parity Fix - Headless career simulation now starts games from the same kickoff state as the live UI
Kickoff Logic Sync - Kickoff situations now select the kickoff play in full-game sim tests instead of normal offensive AI plays
Halftime Kickoff Fix - Second-half kickoffs now correctly give the kick to the team that did not receive the opening kickoff
Deterministic AI PATs - CPU extra-point choices no longer use browser randomness, keeping simulations repeatable
Parity Test Restored - The parity test command now runs locally and confirms headless and UI-thread simulations finish with matching scores
Release Health Check - The release script now starts with an optional project health check that can run parity before packaging
v0.2.1 - May 25, 2026
Google Login - Added optional Sign in with Google so your PixelBowl account can follow you across devices
Three-Dot Account Menu - The oversized home-page sign-in button has been replaced with a cleaner overflow menu in the header
Pixel-Themed Auth Polish - The new account menu uses sharper square edges and a compact layout that better matches the game UI
Bottom-Right Version Link - The Alpha version badge now lives in the lower-right corner of the start screen for a tidier header
Multiplayer Name Prefill - Signed-in players now get their coach name suggested automatically in online multiplayer
Multiplayer Kickoff Overlay Fix - Receiving players no longer see a repeating "Waiting for Opponent..." message before the kicking team submits
Selected Team Labels Restored - Scoreboard abbreviations now keep the teams chosen during multiplayer team selection instead of reverting to HOME/AWAY after game start
Offensive Line Engagement Fix - Blockers now lock onto rushers at the snap and turn first contact into real blocking engagement, reducing defenders slipping straight through the line
Safety Rule Fix - Safeties now award 2 points to the defense, then set up a kickoff where the scoring team receives
Kick Returner Flight Fix - Returners can settle under punts and kickoffs without the ball snapping to them late in the flight
Spectator Audio Fix - Switching spectator mode no longer stops active stadium crowd ambience
Endzone Wordmark - Added a larger translucent PIXELBOWL wordmark to both endzones
Debug Cleanup - Removed temporary multiplayer console logging from the play page and game-state API
v0.2.0 - May 23, 2026
Multiplayer Team Selection - Players can now choose teams after matchmaking and before kickoff
Roster Preview - Added a quick modal with team OVR, unit ratings, and key position groups during team selection
Ready/Unready Flow - Both players must lock in before the match starts, with duplicate team choices blocked
Seeded Home/Away Assignment - The server deterministically assigns home and away sides when both players are ready
Prisma Match State Update - Multiplayer matches now store host/guest team choices and ready status for synchronized lobbies
v0.1.5 - May 23, 2026
In-Canvas Menu Fit - The game menu now scales spacing and text to fit shorter canvas heights
TackleResolver Extraction - Tackle logic moved into a dedicated deterministic engine subsystem
RouteRunner Completion - Route progress and route utility logic moved out of the main movement loop
Engine Test Coverage - Added standalone resolver tests and re-ran parity checks
v0.1.4 - May 19, 2026
Modal UI Polish - Pixel-art borders now render cleanly while scrolling; scrollbars are visible and properly positioned in all modals
Audio Settings Persistence - Master volume and music mute state are now saved and restored between sessions
Pixel Font Consistency - Start-game button now uses 'Press Start 2P' for a unified retro look
Sharp Icons - Create buttons in the roster library now use crisp SVG icons instead of emoji
v0.1.3 - May 17, 2026
Stadium Crowd SFX - Added immersive stadium ambience and reactive crowd roars for big plays
Game Engine Acceleration - Increased movement physics and acceleration for faster, pro-speed gameplay
v0.1.2 - May 15, 2026
Security and anti-spam improvements - faster response times
v0.1.1 - April 15, 2026
DB Stalking Fix - Defensive backs now hold their deep position and mirror ball carrier lateral movement instead of rushing straight into easy jukes
Juke Balance - RBs/WRs can now juke defenders from any angle (removed side-only restriction)
Pass Lane Tuning - Widened lane tolerance to 4.0 yards, raised contested catch range to 3.5 yards
QB AI Polish - Flat 40-tick scan window, 0.15 throw threshold, no throws during dropback
Formation Tweaks - HB Dive and Off Tackle RB depth adjustments
v0.1.0 - Launch
Initial alpha release with exhibition mode, career mode, and online play
Deterministic physics engine with seeded randomness