Release notes
Short summaries of changes in this installation, newest first.
v298 · Clear purchasing setting scope
Campaign purchasing defaults now have one editor; merchant configuration changes only its selected inventory. Unified purchasing option names and show saved inventory/pool scope alongside campaign defaults. Clarified mission-track defaults and per-mission selections; updated Help.
v297 · Pilot portrait link separator
Corrected the malformed UTF-8 separator between Print pilot card and Configure portrait.
v296 · Hardened pilot image uploads
Fully decode and re-encode uploaded raster images, stripping metadata and embedded payloads. Bound file/request size, pixel count, decoder memory and output dimensions; throttle failed attempts. Sanitize or quarantine older uploads and block raw serving. Image responses retain authorization and restrictive headers.
v295 · Pilot portrait library and approved uploads
177 bundled pilot images imported into the database with source attribution. Per-pilot portrait selection, fit and focus on pilot screens and printed cards. Four uploads per account per day, campaign-scoped GM approval, protected pending images and audited changes.
v294 · Required ability specialization dropdowns
Administrators configure independent required dropdowns for SPA and Edge definitions in each ruleset. Conversion and acquisition validate the choice before saving spending; pilot cards and rules references display it. Owners complete missing choices on older acquired abilities without another charge. Persisted choices and rules snapshots remain stable; unresolved choices block new deployment.
v293 · Reserve pilot correction validation
Unset Edge and allocated-SP counters compare as zero, avoiding false correction-reason prompts. Existing nonzero reserve values remain visible for explicit audited correction instead of being silently cleared.
v292 · Pilot card saved SP allocations
Printed pilot cards show saved conversion allocations, including partial threshold progress and recorded zero values. Cards show credited, allocated and remaining personal SP plus the Draconis Reach handicap. Unrecorded historical values remain blank.
v291 · New-company dashboard setup priorities
New companies see their saved starting pilot and equipment setup before merchant shopping and contracts. Starting setup links preserve company scope, existing grants and approval controls.
v290 · Independent merchant and salvage purchasing methods
Campaign > Purchasing methods configures merchant and salvage defaults independently, choosing one-per-company rounds or priority snake drafts. Salvage round claims reserve units and costs, enforce per-company turns and pool-only passes, and use existing atomic GM finalization. Changing a merchant inventory method preserves completed purchases and drafts only remaining stock. Existing published selections keep their saved methods. Salvage actions and campaign settings update with Ajax. Persistent menus, breadcrumbs and Help describe both workflows.
v289 · Configurable merchant priority snake draft
GMs choose purchasing rounds or a priority snake draft per inventory, with an optional campaign default for future inventories. Players rank wanted units, review estimated and maximum costs, acknowledge Warchest warnings and accept. All Not interested opts out for this inventory. Once every eligible company accepts, saved 2d6 and tie breaks establish alternating forward/reverse rounds. Affordable awards are posted atomically with SP charges, equipment and receipts. The same-page workflow uses Ajax and retains authorization, stock locks, accounting history and repeat protection.
v288 · Merchant pass applies to this inventory only
Shopping pass labels explicitly apply to this month's merchant inventory. A new inventory starts with fresh eligibility and purchase rounds. Earlier purchases remain unchanged.
v287 · Fair merchant purchasing rounds
Each eligible company buys one unit before buying again; existing purchases count toward purchasing rounds. Finish shopping permanently passes further purchases for an inventory. Company status, purchases and passes update in place. Server-enforced turns preserve ownership, audit history and atomic purchase accounting.
v286 · Completed notification results and repair status
Completed mission task links open a read-only summary, preserving historical damage and showing current saved equipment condition. Saved repair evidence and explicitly linked contract completion are identified without replaying accounting. Internal report keys are removed from display, and player recovery text no longer implies that repaired equipment is unrecovered.
v285 · Pilot permissions and named conversion status
Direct pilot add/edit is GM-only; players retain conversion allocation and character backgrounds. Reserve pilot forms default to zero SP and hide SP/Edge controls; reserve advancement and learned abilities are rejected. Roster, dashboard and conversion overview distinguish selection pending, named rebuilding, named complete and reserves using saved company selection.
v284 · Merchant shopping links and sign-in returns
Dashboard shopping links open available merchant stock directly; player navigation opens shopping while GM management stays separate. Signed-out task visitors are sent to sign-in, then returned to the original local task with company and record context preserved. Login returns expire and are single-use; campaign ownership and player restrictions are rechecked.