vAMSYS 5.4.8-beta
Beta is available at https://beta.vamsys.io for the duration of the beta.
What's new
Dispatch, rebuilt from the ground up
The whole dispatch screen has been redesigned with a new sticky Ready-to-Dispatch summary card showing your live payload, zero-fuel weight, aircraft, callsign, route and flight details as you build the booking. The layout now flows aircraft → callsign → route → network, settings sections collapse to keep things tidy, and warning badges appear the moment your payload exceeds maximum takeoff or landing weight.
A faster, smarter container picker
Selecting cargo containers is now instant, with no waiting between clicks. Live weight and volume bars update as you go, plus new filters to hide incompatible containers or show only what's loaded.
A redesigned alternate-airport finder
Search and filter alternates in real time, with ranked candidates, live METAR/TAF weather, runway and crosswind details, and direct slot assignment — no more digging through a separate tool to check diversion weather.
Asynchronous SimBrief flight plans
OFP generation now runs in the background with a poll-fallback, so a slow SimBrief generation no longer holds up your booking.
Jumpseat to airline bases without network connectivity
Where enabled, pilots can now jumpseat to airline bases even when not connected to a network.
Airport briefing URLs on the Resources page
Pilots can now view and open external airport briefing links from Resources → Airports.
Full OAuth request headers in Orwell
Staff can now inspect complete OAuth request headers from the API client details modal, making integration debugging much easier.
A proper view for personal rosters in Orwell
Staff can now open a pilot-created personal roster from Activities and see a clean, read-only leg-by-leg view: the required flight, departure and arrival, completion state, and a link to the matching PIREP, with a delete action and a link to the owning pilot.
What's improved
Dispatch page polish throughout
Loading indicators during booking creation and preview generation, copy-to-clipboard for callsign and routing, a searchable SimBrief profile dropdown, clearer empty states and tooltips, and better mobile and screen-reader support.
Dispatch restrictions enforced consistently, server-side
Route, aircraft and network choices are now re-validated on the server everywhere a flight can be dispatched, closing a bypass where restrictions could be circumvented by manipulating the page URL directly.
Faster pages across the platform
A dedicated performance push cut database load on the busiest pages: Phoenix's topbar and sidebar, community activity, the flight map, dispatch, and the Operations API are all noticeably snappier.
Faster Operations API OAuth handling
Duplicate OAuth client and token lookups per request have been eliminated, and airline rate-limit lookups are now cached, reducing overhead on every authenticated API call.
What's fixed
Container picker was overestimating imperial cargo capacity by roughly 2.2×, which could allow a load above maximum takeoff weight. This has been corrected, along with a related issue where metric cargo weight was being summed in pounds instead of kilograms. If your fleet uses imperial units, we'd recommend double-checking any bookings dispatched on 5.4.7 or earlier.
SimBrief profile not falling back to the airline/system default when no tail-specific profile was set
SimBrief toggle staying stuck on when no airframe profile was available for the aircraft
Payload weight-bar figures, Cost Index and payload section not displaying correctly in some cases
Aircraft selection modal applying changes even when Cancel was pressed
Event-slot bookings regenerating a new callsign instead of reusing the one already reserved
A missing airline design (logo/stylesheet) causing a 500 error instead of falling back safely
A pilot with no rank assigned causing an error in the page header
The Book Flight button showing on slotted-event pages where it doesn't apply
SimBrief alternate airports no longer accepting the
NONEsentinel, affecting over 11,500 production routes — restoredOFP routes occasionally disappearing from PIREPs when a booking was created or an OFP attached via the API
Duplicate PIREPs being created when a removed pilot's account was reactivated
Map filter dropdown scrollbars squeezing content and causing horizontal overflow on Windows
Legacy livery names occasionally failing to match due to a lookup reusing stale search constraints
⚠️ Operations API breaking change: simbrief_options
The simbrief_options object on POST /routes and PUT /routes/{id} now only accepts its 26 canonical fields. Thirteen fields that never affected flight planning altn, altn2, altn_rte, altn_rte2, airline, units, taxiout, taxiin, cruiseprofile, cruisespeed, cruisealt, cruisefl, descentprofile) will now return a 422 if sent.
Six real alternate fields have been added: altn_1_id, altn_2_id, altn_3_id, altn_4_id, eualtn_id, toaltn_id. Use altn_1_id where you previously sent altn, and altn_2_id where you previously sent altn2 — these are the fields that actually feed SimBrief OFP generation.
Partial PUT updates now merge field-by-field rather than replacing the whole object: sending a field as null clears just that field, and simbrief_options: null clears everything. *_units fields now only accept min or wgt. GET responses only return documented fields.
We've already migrated existing altnaltn2 values to altn_1_idaltn_2_id and removed the dead fields in production, so no action is needed for existing routes — this only affects new writes from your integration.