AdaptPSX — Changelog (by feature area) — v3.1.37
Contents
AdaptPSX connects to the Aerowinx Precision Simulator X (PSX) Boeing 747-400 simulator
over TCP/IP. It bridges the simulator's state to external hardware and utilities: Aerosoft and
CPFlight MCP panels, Engravity CDUs, GPS, printers and data recording.
This is the internal changelog. It covers the last 18 months (April 2025 – October 2026),
up to and including v3.1.37. It includes the SATCOM work, which is hidden by default. It is
grouped by feature area, not by date, and each bullet says when the change landed, so it
doubles as a "what to test" guide. Sections are ordered biggest first. Almost all of the work is
the v3.0 / v3.1 cycle (May – October 2026).
Hoppie Datalink — ACARS, CPDLC & ADS-C (new)
The largest addition: a full datalink suite over the Hoppie network, built on the existing PSX
connection and CDU framework. It covers airline messaging (ACARS/AOC), controller–pilot datalink
(CPDLC) and position surveillance (ADS-C). Put most test effort here:
- send and receive
- logon, rejection, handover and logoff on disconnect
- ADS-C contracts and emergency mode
- survival of bad server replies
- Hoppie ACARS / CPDLC integration (Aug 2026, v3.1) — ACARS gets its own
<HACARS CDU page set. CPDLC bridges PSX's native FANS datalink, and a rejected logon is shown on the EICAS advisory line. The flight number is synced from PSX so both share one callsign. CDU rendering became colour-aware. Settings live on a new Hoppie ACARS tab.
- ACARS pages (Aug 2026, v3.1.16 – v3.1.19):
- TELEX messages with an editable address directory. Sent and received telexes are mirrored into PSX's ACARS store, raising the memo, chime and CDU MSG light.
- An OOOI STATUS page with a two-column print, and a message index sorted by flight phase.
- A weather REQUEST page for METAR / TAF / ATIS (five airport slots after v3.1.19). ATIS goes to the selected network (VATSIM / IVAO / PilotEdge).
- A REFUELING report in the aircraft's weight unit, where DIFF is the uplift discrepancy.
- FPL DATA sent to DISPATCH.
- ACARS index title (Sep 2026, v3.1.22) — uses the configurable ACARS label instead of a fixed
HACARS.
- ADS-C surveillance (Aug 2026, v3.1.16 → v3.1.21, #547):
- Demand, periodic (64 s minimum) and event contracts. The events are waypoint change, level-range, vertical-rate and lateral deviation (ICAO Doc 10037).
- Follows the aircraft's ADS arm state and the ADS-C checkbox.
- MAYDAY / PAN switches on emergency reporting.
- Optional rich reports add track, ground speed, vertical speed and the next two waypoints, from the live FMC route.
- Fixed: report altitude was 1000× too high.
- Datalink robustness (Sep 2026, v3.1.27) — one malformed server reply no longer stops all uplinks until restart, and stealth-mode messages are no longer dropped when the ID gains a digit. An uplink processed during shutdown no longer writes to PSX.
- CPDLC logon, logoff and checkbox (Sep 2026, v3.1.27) — a rejection from a new station no longer logs you off the current one, and an acceptance is no longer sent to PSX twice. Disconnecting while logged on sends ATC a logoff. With CPDLC off, PSX's FANS state is left alone. The checkbox takes effect at once. No flight number shows
>NO FLT NUMBER on EICAS.
- CPDLC text handling (Sep 2026, v3.1.27, v3.1.29) — uplinks are upper-cased,
; / ^ are made safe, and @_@ shows as a blank line.
- CPDLC as fg-cpdlc-lib (Sep 2026, v3.1.28, v3.1.29):
- Each downlink carries the right response flag: replies and reports
N; requests, emergencies and free text Y.
- Logoff is sent as
LOGOFF / N.
- Message numbers (MIN) come from a running counter.
- Automatic handover logon on
HANDOVER / NEXT DATA AUTHORITY. A rejection keeps the current station and shows >LOGON REJECTED.
- Hoppie checkbox renamed (Oct 2026, v3.1.35) — now Enable Hoppie Connection, because it switches ACARS, CPDLC and ADS-C. The ini key is unchanged.
Auto-update & Security
The update path was rebuilt over the period. It now uses a working feed with an on-demand check,
installs reliably on Windows, and checks the package strictly before it touches any file. Test
these cases: a manual check, an update over a running copy, and that a tampered or wrong-app
package is refused.
- Auto-update with certificate check (May 2026) — first auto-update hooks, with a certificate check on the downloaded build.
- Version comparison (Aug 2026, v3.1) — compares part by part, so three-part versions work.
dlurl= feed key (Aug 2026, v3.1.14, #530) — read as the sibling apps write it (keeping updateurl=), so the app installs updates itself instead of only pointing to the website.
- Manual Check For Updates (Sep 2026, v3.1.23, #601) — the About tab button checks on demand and reports "latest version", or shows a dialog for a feed or network error.
- Feed moved and logged (Sep 2026, v3.1.24, v3.1.25) — off the retired
com.au feed, which caused a false "new version" popup on every launch. Old ini values are migrated automatically. The default is now update.simulatorsolutions.com.au with GitHub Pages as fallback, and every check logs its steps.
- Self-update works on Windows (Sep 2026, v3.1.26) — the helper runs from a copy (
AdaptPSX-updater.jar), so the locked running jar can be replaced. The copy is deleted on the next start.
- Signed package required (Oct 2026, v3.1.34) —
manifest.sig is mandatory, every file needs a SHA-256, and every path must stay inside the install folder. The update stops before any file is touched.
- Update bound to app and offered version (Oct 2026, v3.1.34) — the signed manifest must name
adaptpsx, and its version must be the one the feed offered and newer than installed. This blocks downgrades and cross-app packages.
- Updates need logging (Oct 2026, v3.1.34, #536) — no version check runs unless logging is on. The start-up check follows the logging switch.
- Native look for update windows (Oct 2026, v3.1.34, H360).
A simulated 744 satellite phone system on the CDU, with Asterisk ARI call control. It is hidden
unless enableSATCOM=true and runs in simulated mode until Asterisk is configured. Test it only
with SATCOM enabled.
- SAT CDU pages, ARI call control, phone directory (Aug 2026, v3.1) — the page set, an ARI adapter (simulated by default) and a JSON directory with an editor.
- Incoming calls (Aug 2026, v3.1) — the EICAS
SATCOM CALL memo, a user-chosen SAT CALL lamp variable for each channel, and an optional scratchpad / MSG alert. Answer from the CDU or by selecting SAT on the ACP.
- Realism options (Aug 2026, v3.1) — the CDU blanks on page change. "SATCOM requires IRS aligned" shows the channels
NOT AVAILABLE until the IRS are aligned. Channels are unavailable while logged off.
- SATCOM tab in the NetBeans form (Aug 2026, v3.1).
- Honeywell SDU page style (Aug 2026, v3.1.20) — the real MCS-4000/7000 (SD-700) layout, which is the default; the composite style is kept. The directory models the Honeywell ORT list (categories, priorities, protected entries).
- Hidden by default (Sep 2026, v3.1.22; Oct 2026, v3.1.35) — the SATCOM sub-tab and then the Monitor-tab SATCOM row are hidden unless
enableSATCOM=true.
Fixes to keep AdaptPSX responsive through long, busy PSX sessions and dropped connections. Test
these: a session with debug on and heavy traffic, pulling the PSX connection, a failed startup, and a missing or empty Adapt.ini.
- Debug console no longer freezes the GUI (Aug 2026, v3.1, #517) — writes are batched instead of queuing one screen update each.
- Thread-safe GUI updates (Aug 2026, v3.1, #517) — status labels, the printer and chat logs, the connect state and the update progress bar.
- Dropped connection handled (Aug 2026, v3.1, #517) — no 100% CPU spin when PSX closes the socket silently; it reconnects. A malformed line no longer kills the reader.
- Disconnect flood fixed (Aug 2026, v3.1) — clean-up runs exactly once, instead of flooding the console with "PSX CONNECTION CLOSED".
- Leak and concurrency fixes (Aug 2026, v3.1, #514 – #516) — in chat users, the GPS time formatter, the serial log and ACARS file writes.
- Startup failures reported (Oct 2026, v3.1.36) — an error during startup used to leave the splash up forever with no output (the trace went to the hidden debug area). Now the trace goes to the console and
startup-error.log, the splash is removed, a dialog explains the error and the app exits. A 30 s watchdog logs a thread dump if startup hangs.
- Settings backup and automatic restore (Oct 2026, v3.1.37, #802) — a missing
Adapt.ini used to reset every setting to its default. After each load that reads settings, IniLoad now copies the ini to <ini>.bak (Adapt.ini.bak; one per instance when a custom ini is passed). At start-up, if the ini is missing or empty (0 bytes, for example truncated by a crash during a save) and the .bak exists, AdaptPSX copies the .bak back and loads it. There is no prompt, unlike Switch's manual-restore dialog. An ini that loads empty never overwrites the .bak. *.ini.bak is git-ignored, because it holds the hoppieKey.
Central Logging
Best-effort error and event forwarding to the Simulator Solutions Aggregator. It is off by default
and behind a consent prompt, and it is worded as in the Loader.
- Aggregator logging (Aug 2026, v3.1, #518) — with a privacy-consent dialog, configured in Configuration > General > Logging.
- Loader consent wording (Oct 2026, v3.1.34, #536) — the same dialog text and privacy link as the Loader.
- Name (email) (Oct 2026, v3.1.34, #725) — required for logging, and asked for when missing. Cancel leaves logging off.
Monitor Tab, Remote Control & UI
- Activity timestamps (Aug 2026, v3.1) — last ACARS / CPDLC / SATCOM activity times. There is also an Aerosoft row with the MCP firmware version.
- Remote printer switch (Aug 2026, v3.1.15) —
addon=adaptpsx;printer;;;enable=1 / =0 from any PSX client turns printer output on or off at once.
- Per-CDU menu prompts (Aug 2026, v3.1.16) — choose which CDUs (L / C / R) show the ACARS and SATCOM prompts. Default is Center only.
- About tab tidy-up (Sep 2026, v3.1.24).
Build, Standards & Documentation
- Version 3.0 and app standard (Aug 2026, v3.0) — renumbered from 1.5 to 3.0. Added the
package-for-store fat-jar target, .appmap.json and the patch-bumping commit hook for WorkHub deploy.
- Java 11 required (Aug 2026, v3.1) — the build moved from Java 10 to Java 11.
- User Guide and Technical Manual (Oct 2026) — to the
simstack-docs standard, with generated diagrams and real screenshots.
- Public guide and changelogs (Oct 2026, v3.1.35) — a SATCOM-free User Guide generated from the full one, and changelogs in internal /
-p-satcom / -p forms.
Version numbers are major.minor.patch. The patch number goes up by one on every commit (commit
hook), so released versions skip numbers.