Back to changelog

vAMSYS 5.4.8

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.

  • POSCON is now a supported online network
    vAMSYS reads the POSCON network feed and detects when you're flying online, matching you by the POSCON ID on your profile. POSCON flying now counts towards network scoring exactly as VATSIM, IVAO and APOC do. Nothing extra to set up beyond having your POSCON ID saved on your profile.

  • 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.

  • Updated legal documents, taking effect 17 August 2026

    We're rolling out an updated Terms of Service, a new Virtual Airline Owner Terms, an Acceptable Use Policy, an updated Privacy Policy and Cookie Policy, and a new Data Sharing Agreement. Pilots and VA staff will see an in-product notice: a dismissible heads-up now, then a one-time accept-or-leave screen from 17 August. Accepting takes one click and changes nothing about your account.

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.

  • Callsign availability now covers POSCON and APOC

    Dispatch now warns you when a callsign is already in use on POSCON or APOC. This check previously worked for VATSIM and IVAO only.

  • APOC is now selectable everywhere it should be

    APOC arrived as a network in 5.4.3 but was never wired into badge rules, slotted-event network restrictions, community activities, the split online leaderboard, or several staff panels. It's now available in all of them, alongside VATSIM, IVAO and POSCON.

  • Account retention and erasure now match the updated Privacy Policy

    Frozen accounts are now genuinely anonymised after 60 days rather than only hidden, and removed pilot records left unclaimed for 12 months are transferred to the airline's Robot pilot and permanently deleted. Accounts with a ban or restriction on file are exempt and kept intact, so ban enforcement and appeals still work. Access logs and lapsed marketing-consent records now age out on a schedule. None of this is visible day to day — it matters only if someone asks for their account to be deleted, or never comes back.

  • Clearer account-deletion messaging

    The freeze notices now state the correct retention periods (2 days for a pilot account, 60 days for a user account), and the incorrect warning that a deleted account can never re-register has been removed for accounts with no ban on file.

  • Marketing-consent checkbox names the actual Virtual Airline

    The signup checkbox now shows the specific VA's name rather than a generic "Virtual Airline".

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.

  • Excessive block and flight time recorded when the sim connection dropped during a pause. If your connection dropped while you were already paused (or you paused immediately after a disconnect), the gap was logged as active flight time rather than a pause, inflating block time, flight time and credited time. The calculation is now correct. Note that PIREPs already filed are not recalculated — if a specific flight looks wrong, ask your VA staff to raise it with us.

  • IVAO callsign checking was reporting every callsign as free. IVAO changed the shape of its network data and vAMSYS was reading it from the wrong place, so it found no online pilots and treated every IVAO callsign as available. It now reads IVAO's data correctly.

  • SimBrief profile not falling back to the airline/system default when no tail-specific profile was set, and dispatch picking an arbitrary imported profile (such as a third-party livery profile) instead of the generic default

  • 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 NONE sentinel, affecting over 11,500 production routes — restored

  • OFP 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.

Don't miss the next one

Subscribe and we'll email you when we ship.

Unsubscribe anytime.