FM27 (27.0.0+2486695) career save: section schema changes vs FM26 (values-free probe)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
Research direction
Start with the FM26 container and section parsing code, then inspect existing tests or fixtures for schema versions and missing sections. Use the reported values-free probe as the compatibility checklist; the issue does not name specific files or tests. Done means determining which FM27 changes the parser must support and validating them against an FM27 save or equivalent tests.
Written by the indexing model from the issue text.
Description
Hi, and thanks for fmsave. We use it to read FM26 saves, and we wanted to share what we're seeing on FM27 in case it's useful.
We ran a layout probe on a real FM27 career save, build 27.0.0+2486695 (Launch Preview, career start). The probe compares section heads and schema versions against FM26. It never decodes any player, club, fixture or finance values.
Summary
- The container opens with the FM26 container code.
- The
game_dbschema is unchanged (4000). - Sections with a changed schema version:
backroom_advice_manager,edit_session_man,game_info,humans,media_man,network_man,news,person_db_changes,player_stats_hist_dt,regeneration_manager,save_game_summary,starting_club_debt_db,team_talk_man,training_man. - Sections missing compared with FM26:
award_club_hist_dt,extended_comp_records_dt,non_pl_hist_dt,pl_hist_dt,tc_best_eleven_history_dt,tc_extended_club_records_history_dt,tc_extended_nation_records_history_dt. - An unnamed span region is present.
We're happy to run any probe or test build you'd like against this save and report back. We can't share the save file itself, because it belongs to a player.
Per-section schema versions (values-free)
{"agent_manager": {"schema": 2, "status": "schema_same"}, "award_club_hist_dt": {"schema": 1, "status": "section_missing"}, "award_club_hist_ls": {"schema": 4, "status": "schema_same"}, "award_man": {"schema": 13, "status": "schema_same"}, "award_year_hist_dt": {"schema": 1, "status": "schema_same"}, "award_year_hist_ls": {"schema": 4, "status": "schema_same"}, "awol": {"schema": 1, "status": "schema_same"}, "backroom_advice_manager": {"schema": 20, "status": "schema_changed"}, "board_takeover_manager": {"schema": 5, "status": "schema_same"}, "captain_system": {"schema": 8, "status": "schema_same"}, "comp_history_dt": {"schema": 3, "status": "schema_same"}, "contract_man": {"schema": 14, "status": "schema_same"}, "database_analyser": {"schema": 2, "status": "schema_same"}, "dispute": {"schema": 1, "status": "schema_same"}, "dynamics_pivotal_moments": {"schema": 3, "status": "schema_same"}, "edit_session_man": {"schema": 176, "status": "schema_changed"}, "extended_comp_records_dt": {"schema": 5, "status": "section_missing"}, "feeder_man": {"schema": 5, "status": "schema_same"}, "finance_manager": {"schema": 17, "status": "schema_same"}, "financial_fair_play_manager": {"schema": 2, "status": "schema_same"}, "fine_manager": {"schema": 1, "status": "schema_same"}, "fog_of_war": {"schema": 2, "status": "schema_same"}, "game_db": {"schema": 4000, "status": "schema_same"}, "game_info": {"schema": 47, "status": "schema_changed"}, "hall_of_fame": {"schema": 10, "status": "schema_same"}, "humans": {"schema": 24, "status": "schema_changed"}, "injury_histories_dt": {"schema": 2, "status": "schema_same"}, "injury_histories_ls": {"schema": 4, "status": "schema_same"}, "injury_manager": {"schema": 8, "status": "schema_same"}, "interaction_manager": {"schema": 47, "status": "schema_same"}, "job_centre": {"schema": 1, "status": "schema_same"}, "manager_manager": {"schema": 35, "status": "schema_same"}, "match_stats_cfg": {"schema": 6, "status": "schema_same"}, "matchday_manager": {"schema": 8, "status": "schema_same"}, "media_man": {"schema": 20, "status": "schema_changed"}, "memory_pools": {"schema": 0, "status": "schema_same"}, "morale_manager": {"schema": 4, "status": "schema_same"}, "network_man": {"schema": 25, "status": "schema_changed"}, "news": {"schema": 2957, "status": "schema_changed"}, "non_pl_hist_dt": {"schema": 3, "status": "section_missing"}, "non_pl_hist_ls": {"schema": 4, "status": "schema_same"}, "official_manager": {"schema": 5, "status": "schema_same"}, "person_db_changes": {"schema": 3754, "status": "schema_changed"}, "person_record_history_dt": {"schema": 2, "status": "schema_same"}, "person_record_history_ls": {"schema": 4, "status": "schema_same"}, "person_record_manager": {"schema": 30, "status": "schema_same"}, "pl_hist_dt": {"schema": 3, "status": "section_missing"}, "pl_hist_ls": {"schema": 4, "status": "schema_same"}, "play_fixture_manager": {"schema": 7, "status": "schema_same"}, "player_stats_hist_dt": {"schema": 7, "status": "schema_changed"}, "press_conference_manager": {"schema": 10, "status": "schema_same"}, "regeneration_manager": {"schema": 47, "status": "schema_changed"}, "retirement_manager": {"schema": 2, "status": "schema_same"}, "save_game_summary": {"schema": 31, "status": "schema_changed"}, "scout_man": {"schema": 31, "status": "schema_same"}, "shortlist_man": {"schema": 50, "status": "schema_same"}, "sim_stats": {"schema": 1, "status": "schema_same"}, "starting_club_debt_db": {"schema": 3754, "status": "schema_changed"}, "tactics_man": {"schema": 26, "status": "schema_same"}, "tc_best_eleven_history_dt": {"schema": 2, "status": "section_missing"}, "tc_best_eleven_history_ls": {"schema": 4, "status": "schema_same"}, "tc_cup_history_dt": {"schema": 1, "status": "schema_same"}, "tc_cup_history_ls": {"schema": 4, "status": "schema_same"}, "tc_extended_club_records_history_dt": {"schema": 5, "status": "section_missing"}, "tc_extended_club_records_history_ls": {"schema": 4, "status": "schema_same"}, "tc_extended_nation_records_history_dt": {"schema": 5, "status": "section_missing"}, "tc_extended_nation_records_history_ls": {"schema": 4, "status": "schema_same"}, "tc_history_dt": {"schema": 1, "status": "schema_same"}, "tc_history_ls": {"schema": 4, "status": "schema_same"}, "tc_league_history_dt": {"schema": 1, "status": "schema_same"}, "tc_league_history_ls": {"schema": 4, "status": "schema_same"}, "tc_manager_history_dt": {"schema": 2, "status": "schema_same"}, "tc_manager_history_ls": {"schema": 4, "status": "schema_same"}, "tc_record_man": {"schema": 24, "status": "schema_same"}, "team_talk_man": {"schema": 5, "status": "schema_changed"}, "trade_man": {"schema": 11, "status": "schema_same"}, "training_camp_man": {"schema": 1, "status": "schema_same"}, "training_man": {"schema": 32, "status": "schema_changed"}, "transfer_man": {"schema": 35, "status": "schema_same"}, "used_player_data": {"schema": 35, "status": "schema_same"}, "virtual_manager": {"schema": 1, "status": "schema_same"}, "weather_manager": {"schema": 3, "status": "schema_same"}}
- Dominant language
- Python
- Stars
- 28
- Forks
- 8
- Avg merge
- 42m
- Merged PRs (30d)
- 33
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from rhiever/fmsave
-
good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 1 day
-
good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
training_man: 27.0.1+2494687 writes a non-zero block trailer, training/mentoring readers fail closedOpen
Difficulty 4/5 1-2 days Newbie friendliness 49/100
rhiever/fmsave#82 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
rhiever/fmsave#77 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 43/100
rhiever/fmsave#75 · 2 comments ·
Maintainers usually reply within 1 day
Similar issues
-
needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
gke-labs/kube-agents#5671 ·
Maintainers usually reply within 1 day
-
docs(auth): Method B step 4 should tell users to tick "Use this client for an AI-powered agent"Opendocumentation next-release v0.9.6
Difficulty 1/5 Under an hour Newbie friendliness 88/100
khuisman/mcp-gee-sweet#1446 ·
Maintainers usually reply within 1 day
-
model:sonnet runtime:claude security size:S
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
FootprintAI/Containarium#3671 ·
Maintainers usually reply within 1 day
-
HolidayBase: reassigning `language` does not re-initialize translations or re-populate holidaysPossibly taken @shikhabhadoria claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
vacanza/holidays#4116 · 1 comment ·
Maintainers usually reply within 1 day
-
bug CLI exec
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day