v1.4.0 · b.2026-08-18 · August 18, 2026
iPad full-screen layout & quick sim streaming
Press room system, league browser desk, post-match board accountability, pre-season tour with arrangeable friendlies, domestic super cup, FM-depth transfer talks, and quick sim that streams instead of jumping to full time — plus iPad full-screen support.
52 changes in this build
Added 18
Transfer talks show position
Negotiations inbox and command-hub attention now show each target's position badge (ST, CB, etc.) beside their name so you do not lose track mid-window.
Deadline day guidance
Weeks 3 and 21 warn that deadline day is next; weeks 4 and 22 show a transfer-desk banner, expanded deadline sheet copy, calendar readiness rows, and hub attention. Calendar advance is blocked until you finish the live deadline desk (23:00) while open negotiations or incoming bids remain.
Squad tab documentation
New Squad tab guide for chronafc.com: club vs national desks, all five views (List · XI · Depth · Deals · Plan), player sheet sections, manage-player actions, renewal talks, morale dossier, secondary positions, CHR codes, custom/import flows, dressing room, planner horizons, and cross-links from Game overview, FAQ, and Player database docs.
Flexible player database uploads
Onboarding and Squad now accept CHRONAFC JSON in more shapes: a single player, one team squad slice, a league, or a full world pack. Shorthand files normalize automatically; single-player imports can add to your senior squad in-career from Add to squad → Import player file.
Settings squad database import
Club careers can re-import a player database mid-season from Settings → Import squad database: pick a CHRONAFC file, choose names / ratings / full merge mode, and apply it to your active club with a life-log entry.
National squad import
National careers can import a CHRONAFC pool from the Squad desk (Import national pool): maps entries into your senior national roster with OVR, traits, and squad numbers where provided.
Club crest image upload
Upload a custom crest photo during Create your club or from Settings → Club crest on an active club career; the image persists on-device with the save and replaces the generated badge wherever your club crest appears.
Press room system
Post-match press conferences now fire after competitive losses, rivalry fixtures, and pressure draws, with fixture-aware headlines and four response styles (keep perspective, raise the stakes, protect the players, own the performance). Season launch press opens once the league phase begins. After defeats, players can go public in the mixed zone — respond privately, in the dressing room, or in the press; public answers can spawn follow-up media stories next week. Media-savvy manager trait softens public fallout.
League browser desk
New command-hub League module: browse every club in your division (table position, form, squad size), open read-only squad registers, and search all league players by name, position, age, OVR, and nationality. Save and Scout on rival players feed the same transfer shortlist and scouting reports as the recruitment desk.
Post-match board accountability
Losses (and pressure draws when confidence is low) now trigger a fixture-aware boardroom on Match: the engine reads scoreline, xG, possession, late goals, cards, cup ties, and club archetype to pick a story angle, unique headline, and four distinct director voices. Board wants answers replaces Advance week until you pick a response.
Competition Centre cups desk
Cups tab now shows a richer knockout view: next-tie callout, full-width score rows, round-by-round archive, champion banner, and continental qualification notes when your club is not entered.
League player stats tables
Competition Centre Stats tab now shows three stacked registers (Goals, Assists, Rating, top 15 each).
Pre-season tour
Weeks 2, 4, and 5 you can opt into a three-match overseas tour from Club (or keep weekly friendlies). Tour fixtures play from Match with no league impact; declining leaves the friendly calendar unchanged.
Arrange friendlies
Decline the tour and pick each pre-season opponent from a curated shortlist on the Match tab (league, regional, and glamour ties). Big clubs may turn down the invite; once booked, kick off from Match.
Domestic super cup
Week 6 schedules the season opener trophy: last season's league champion vs domestic cup winner (runner-up if the same club). Your club gets a playable final when involved; other ties sim in the background.
FM-depth transfer talks
Bid previews now use the same engine as club responses: rival bids, upfront structure, sell-on and buy-back clauses, scout personality, appearance/goal/loyalty bonuses, release clauses, and relegation caps all feed separate Club deal and Agent talks stages.
Unsolicited poach interest
Rival clubs now try to poach your key players and first-team stars without a listing, and big or smaller clubs can circle academy prospects with bids or development-loan approaches. Offers land on the transfer desk, in your inbox, and in the club life log during the window.
Settings → Check for updates
TestFlight and production builds can pull the latest over-the-air bundle from Settings without the double force-quit ritual; the app checks the production channel, downloads if needed, and reloads automatically.
Changed 21
Quick sim + story AI streaming
Quick sim no longer jumps to full time instantly when story commentary is on. The score stays live and updates as events appear; one feed line typewrites at a time; full time only unlocks after 90', the story queue drains, and enrichment completes (or times out).
Quick sim score-only option
Quick sim now jumps straight to full time and the score. When story commentary is on, Story sim is a separate pre-match action that streams AI beats before the whistle.
iPad full-screen layout
iOS builds now declare native iPad support with required full screen so the manager UI fills the display instead of staying in a phone-sized window on iPadOS.
Live match broadcast
Kick off locks to landscape: score and momentum sit beside a scrolling commentary stream (goals and cards as full-width beats), with touchline Manage. Commentary now runs as linked spells — a carry, then the nick or the tackle — instead of repeating the same line with a different name.
Giant-killing upsets
Underdogs now park the bus, lean on home-fortress nights, cup magic, and relegation desperation when the gap is big enough. A seeded giant-killing or cup-magic roll can still steal a result against elite sides — rare enough to remember, not so often that every minnow wins.
League scope picker & browse world
Replaced three endless country scroll rows with a compact Browsing card (country · division · tier), quick-switch chips for top leagues, division segments for the active nation, and a searchable Browse world sheet for all 135 countries with flags, player counts, average OVR, and net squad value per nation.
League player profiles
Tapping a rival in League → Players now opens a squad-style read-only profile (OVR / ceiling header, traits, attributes, performance, form, morale pills, scout report).
League desk performance
The League screen opens on the Clubs tab immediately while division players load in the background. The Players tab uses a virtualized list so hundreds of rows scroll smoothly.
Inbox feed layout & desk workflow
Actions, reports, and world news now share one flat register with more breathing room. Decisions stay on the queue until resolved; Mark decisions seen only dims them. Reports and world stories track real read state. Deadline and rival-bid stakes pills show on action rows.
Youth academy pipeline & matchday
Training weekly focus steers academy growth; board objectives track graduates and promotion-ready prospects. Kick off youth matchdays from Actions with an editable XI, lightweight live goal feed, and post-match development summary.
Training desk rework
New Actions tab (default) mirrors Youth/Inbox: briefing banner and a task queue for load warnings, assistant presets, custom plans, staff gaps, and academy link. Plan tab keeps focus/intensity with inline academy attribute hint.
Transfer desk layout
Negotiations, loans, sales, and deadline/shortlist sit in a collapsible 2×2 grid: collapsed to one summary row by default, expand for the full desk (badges when deals or bids need attention). Transfer market variety: each window generates a fresh free-agent pool (~32 new names) and AI clubs move players weekly while the window is open.
Outgoing deals desk
Sell players highlights unread bids, summarizes live offers at the top, sorts players with new bids first, and shows buyer squad need on collapsed offer rows. Reworked sale desk: hero valuation strip, single ranked offers register, flat squad picker.
Transfer negotiation flexibility
Agents and selling clubs no longer always hold out for their opening ask. Strong player interest, later rounds, sell-on clauses, and Professional personalities can get a deal done below listed demands. Counter-offers: send a revised counter from the negotiation inbox instead of only accepting or withdrawing.
Contract renewal talks
Player sheets and the Deals desk now open a renewal sheet with 1–5 season length, adjustable wage and signing bonus, agent accept/counter/reject feedback, and Match their ask. Custom renewal offers with Fair market, Agent ask, and Hardball presets; renewal assistant chat with your club assistant.
Squad rotation / Starting XI sticks
Your saved Starting XI template now sticks: manual picks are no longer overwritten each week by auto-selection. Matchday-only injury/suspension replacements apply to that fixture without permanently rewriting your sheet.
Chairman office depth
Chairman's office now tracks head-coach W-D-L, dugout pressure (calm / watch / hot), mandate lane operators, weekly briefing, and club pulse stats. Head coach rating and style shift match odds; vacant dugouts block kick-off until you appoint.
Finance workspace tabs
Reorganized Finances into Overview, Money, Controls, and Operations. Weekly settlements now adjust broadcast income for league position and continental status, add merchandise and ticket receipts, and support loans, overdrafts, refinancing, restructuring, and emergency owner loans.
Boardroom personalities & formal reviews
The Boardroom now introduces owner, sporting, finance, and supporter voices with individual priorities, patience, and influence. Scheduled reviews open a complete dossier and record the outcome in the club log.
National career federation loop
National-only saves now boot with training, federation finances, medical, staff, and board state. Calendar advance ticks camp training, ledger entries, medical progression, and federation confidence. National careers use the main tab shell (National, Squad, Match, Career).
Under the hood: file-size splits
Match screen hooks, squad player sheet, inbox view, tactics/squad hooks, competition engine, live pitch, welcome panels, career/tactics/command-hub/medical/international state, transfer negotiation engine, and match sim all split into focused modules under the 500-line cap. ESLint max-lines and check:file-size now enforce it.
Fixed 13
Squad player sheets not opening
Tapping a player on the Squad tab immediately cleared the selection because the focus cleanup re-ran on every render; sheets open normally again.
Post-match player stats & assistant debrief
Finished matches now save every starter's rating line so the XI still shows match stats after reload; stale wing slot keys remap when formations change; the assistant debrief brief includes the full starting XI.
Quick sim stuck at 85' / halftime stall / early full time
Joining an in-flight pre-match cache warm no longer leaves enrichment silently unfinished; the half-time divider no longer blocks the stream queue; full time only triggers after every match event queues and streams.
Quick sim feed spoilers
Feed lines no longer appear with full text before their turn; the clock and score advance with the line being typed, and AI copy no longer restarts lines already shown.
Inbox Reports tab crash
Backroom report rows no longer crash when a life-log entry has malformed copy; the report feed dedupes duplicate ids and skips invalid tags.
Save crash after full time
Finishing a match no longer throws a SQLite 'transaction within a transaction' error; database writes now queue instead of nesting.
Outgoing player sales
Accepting a bid no longer hard-crashes when SQLite rejects the transfer; errors show inline. Sales now scrub active loan records, registration, tactics, and the pre-match lineup so a sold player cannot leave stale XI references.
National matches play live
International fixtures now use the same Match tab flow as club games: kick off, live commentary, decisions, full-time recap, and results feed back into qualifying tables.
Lower-tier club finances & squad wages
Lower-division clubs no longer show unusable €5,000 transfer budgets and €0K/week wage caps. Tier floors scale with country and division tier; squad wages, market values, and contract talks scale with your club's tier budget.
Lower-league OVR scaling
Squads in smaller nations no longer spawn Premier League–level 90+ ratings and €50M+ values. Player OVR and fees now scale with country football weight and division tier.
Lint cleanup
Cleared all remaining ESLint warnings across content, features, and lib modules.
Fixture kickoffs and crowds
Match cards, the calendar, and pre-match clocks no longer hardcode 20:45 and 'sold out.' Kickoffs vary by matchday; attendance reflects home capacity and form.
Club menu stuck open & tab switching
Closing the command hub now slides the sheet fully off-screen; rapidly tapping between Club and Squad no longer leaves the wrong screen stacked on top.
