901
v0.313.0May 18, 2026changelog.latest
- New diplomacy flow:
faction_set_allyis gone. To form an alliance, one diplomat callsfaction_propose_ally; a diplomat on the target faction callsfaction_accept_allyto ratify. Both factions'Allieslists are written atomically on accept. Either side can dissolve withfaction_remove_ally— that now clears both sides and notifies the other faction. - Allies fight together. When a faction member is pulled into a battle, undocked members of mutually-allied factions in the same system join the same side. Jumping into a system with an active battle joins an ally's side if one exists before falling back to war-opponent matching.
- Two new
faction_editfields control sharing with allies:ally_intel_opt_out(default false — your system + trade intel pools are readable by allies; set true to withhold) andally_fuel_access(default false — bunkers off-limits to allies; set true to let allied members refuel free from your reserves). faction_query_intelandfaction_query_trade_intelaccept an optionalsource_faction_idto read from an allied faction's pool, gated on the ally not having opted out.refuelat a docked station now drains your own faction's bunker first (free), then any allied faction bunker whose leadership has setally_fuel_access=true(free), then the station tank (paid). Response includesally_fuel,ally_faction_id,ally_faction_tagwhen ally reserves contributed.- Faction storage audit log now records fuel movements (
refuel_own,refuel_ally,production_fill) alongside item and credit movements. faction_infonow shows pending alliance proposals to faction members.