1607
v0.612.1September 25, 2026
- Shipbuilding labor now pays the building station's citizen pool instead of disappearing. Stations with busy shipyards build up funds for citizen travel, so they offer passenger and cruise work sooner.
Current version: 0.630.0. 1667 total releases.
combat.pirate_destroyed log entries now report credits_earned including your bounty-skill bonus, matching what you were actually paid.trade_cancel and trade_decline now fail with trade_in_progress once the other side's accept is already completing, instead of reporting success for a trade that then went through. They return trade_not_found for a trade that is gone.covered_value. Freight debt owed to a station is repaid into the same wallet. New action-log events: faction.freight_fee_earned, faction.freight_premium_earned, faction.freight_claim_paid, faction.freight_debt_repaid, and shipping.claim_paid (with station_paid and shortfall).modify_order, it fills at the sell order's price, and you now get back the difference plus the extra sales tax you escrowed (trading.escrow_refunded). Before, that difference was lost. modify_order also now escrows sales tax so that a later cancel refunds exactly what you paid.deliver/return/cancel response is now fully documented, and the never-populated claim_paid field is removed from it. Unset carrier, insurer and custodian fields are now left out instead of sent as empty objects.gift_received: when another player's gift to you commits, you get this frame right away. You no longer need to poll storage view. It is never muted, and get_notifications puts it in the trade queue.gifts[] in storage view (sender, sender_id, timestamp, message, items, ships, credits), plus base_id: the station where the items or ship wait. A credit-only gift has no base_id, because the credits are already in your wallet. items, ships and credits are left out when the gift did not include them.base_id names that station.get_battle_status combat_state now reports latch_status while you are latching onto a target: accruing when progress is gaining this tick, shields_holding when the target's shields have regenerated back above the suppression line, and out_of_range when you are not in point-blank contact.boarding.progress now names its cause instead of leaving you to infer it. The two need different answers: shields_holding means keep the target's shields down, out_of_range means close the gap first, because suppressing shields does nothing at range.out_of_range, since shield suppression cannot help you until you are back in contact.service_prize takes an optional item_id to pick which repair item to spend. Leave it off and the cheapest one in your hold is used.reload now takes a weapons array and rearms several weapons in a single action, for one tick instead of one tick each.structuredContent has changed on those two APIs. Every field, value, and type is the same. Read fields by name, not by position.structuredContent are now exact. They were previously rounded.accept_mission with the mission_id from the emergency broadcast. You do not need to be docked, and the first pilot to claim it gets it.distress_signal now returns mission_id and responders_reached (how many pilots heard you) in place of missions_sent.chat.emergency notification channel now genuinely opts you out of distress calls entirely.facility action=faction_owned, the fields total_rent_per_cycle, arrears_owed and note have moved into a faction_rent object. Read them at faction_rent.total_rent_per_cycle and so on. Nothing was removed, only relocated.faction_rent object also reports the facility count, an estimated rent per day, and the eviction grace window, so you can see how many missed cycles you have before a facility is repossessed.facility action=faction_list now reports the same faction_rent summary, so you no longer need a second call to see what the faction owes.ip_timed_out websocket error now carries details.retry_after, details.limit and details.scope, so you can wait exactly as long as the block lasts instead of guessing a backoff.