Every release of the JSV Flight Logger with the notes published alongside it. The app updates itself, so you are normally on the newest build already.
Version 1.12.1 Latest
11 August 2026 · 136.3 MB
Bug fix that could potentially stop from filing the flight correctly.
Version 1.12.0
11 August 2026 · 136.3 MB
This is one of the biggest updates to the Flight Logger so far. The entire app has been redesigned, the flight workflow has been improved, and a large number of long-standing issues have been fixed.
Completely redesigned
The Flight Logger has a completely new look and feel, inspired by modern EFB and airline operations software.
The interface is cleaner, faster to understand and much more focused on the flight itself. Navigation, flight status, simulator connectivity and the next required action are now visible at a glance.
The Home screen has also been rebuilt around your next booked flight, with upcoming flights and the latest JetStream Virtual operational news close at hand.
New Flight Briefing
Booked flights now open into a full Flight Briefing before you start logging.
The briefing brings together your:
- Route
- Weather
- Fuel
- Aircraft
- Flight readiness
- SimBrief information
A new preflight check makes it much clearer whether everything is ready before starting the flight.
Route & Airport Experience
SimBrief routes can now be viewed directly inside the Flight Logger.
Airport photography has also been added throughout the app, including your next flight, briefing and logbook.
New Logbook
You can now view your recent JetStream Virtual flights directly inside the Flight Logger.
The new Logbook includes career statistics and detailed information for your most recent PIREPs, including block time, distance, fuel use, aircraft and landing rate.
Landing Analysis
The post-flight report now shows where you actually touched down on the runway.
You can see:
- Distance from the runway threshold
- Distance from the centreline
- Your touchdown position on a runway diagram
Landing-rate information has also been made consistent throughout the logger.
Much better cabin announcements
The announcement system has received a major overhaul.
Crew voices are more natural, announcements sound more like a real aircraft PA system and wording now varies between flights instead of repeating the exact same script every time.
Airlines can also have their own safety demonstration audio.
We have also improved multilingual crews so English announcements sound natural while still retaining the character of the airline's home country.
Cabin Audio Improvements
Boarding music, safety demonstrations and cabin announcements are now handled through a new audio system.
This fixes several situations where audio could previously fail to play.
Safety demonstrations also have their own volume control.
Demo Mode
A complete Demo Mode has been added for JetStream Virtual testing.
It can simulate an entire flight from pushback through landing without connecting to a simulator, while still running the real flight-state system, ACARS, cabin announcements and scoring.
This gives us a much better way to test new features before releasing them.
Navigraph Charts
Navigraph chart integration has been built into the Flight Logger.
Once activated, pilots will be able to access airport, departure, arrival and approach charts directly from the application.
The integration is currently awaiting Navigraph API approval/credentials.
Improved Operations News
The Operations section now supports images, proper article formatting and a much cleaner layout.
News is available directly from the dashboard or through the dedicated Operations screen.
New Settings & Quality-of-Life Improvements
Several smaller features have also been added:
- Always on top option
- One-click Open Logs Folder
- Dedicated safety-demo volume control
- Improved simulator connection diagnostics
- Better loading screens and skeletons
- Better human-readable error messages
- Improved support for reduced-motion accessibility settings
- Major Bug Fixes
A significant number of flight-logging issues have been resolved.
Aircraft selection
Flights can no longer accidentally start with an invalid or incorrect aircraft.
This fixes the common "The aircraft doesn't exist" error and cases where the wrong aircraft type was recorded.
Flight time
Fixed an issue where previous flight timing could leak into the next flight and result in extremely long recorded block times.
Landing rate
The landing rate shown during the flight, post-flight and in the submitted PIREP is now calculated from the same touchdown event.
Takeoff flaps
The logger no longer incorrectly penalises pilots for retracting their flaps during the initial climb.
Fokker 70 and Fokker 100 aircraft are also correctly excluded from the takeoff-flaps check.
SimBrief weights
SimBrief flight plans using kilograms are now handled correctly.
Fuel and aircraft weights should therefore display correctly regardless of whether your SimBrief profile uses kilograms or pounds.
Remaining flight time
Captain updates now announce the actual estimated remaining flight time instead of the total planned flight duration.
Seatbelt scoring
Seatbelt-sign scoring has temporarily been disabled for aircraft where simulator data can produce unreliable results, preventing false penalties.
Reliability Improvements
Starting and filing flights should now be more reliable when the JetStream Virtual server is responding slowly.
The logger will retry temporary failures rather than immediately preventing the flight from starting.
When something does go wrong, server errors are also shown in much clearer language, making problems significantly easier to diagnose.
Version 1.11.0
5 May 2026 · 181.5 MB
- NEW STUFF
- Prepar3D is here
- Finally. P3D pilots can now use the client just like MSFS and X-Plane users.
- Full SimVar support, same experience.
- Achievements
- 16 new things the sim is silently judging you for — including autoland
- detection, go-around tracking, holding patterns, rejected takeoffs, and the
- mysterious "hair dryer" event (you'll know it when you trigger it). All results
- land in your PIREP.
- TTS Cabin Announcements
- Boarding, purser intro, meal service, drinks, duty-free, and after-landing
- announcements are now fully voice-generated in 12 languages. Your purser even
- has a name. Templates are editable from the admin panel — no update required to
- change what she says.
- Quick Reference Panel
- New tab on the active flight page. Violations, scoring, service timing, PA
- triggers — everything you've been alt-tabbing to Discord to ask about, now one
- click away.
- Custom Title Bar
- The app finally looks like an app. Dark/light toggle lives there now too.
- Font Size Setting
- Small, Normal, or Large — Settings → Appearance. That's it. It just works.
- FIXED
- The client thought your landing was a rejected takeoff — and tweeted about it.
- After a normal landing rollout, the system was re-arming the takeoff detector,
- sending a Discord RTO notification and logging phantom ACARS positions on the
- runway. Fixed.
- It also thought you diverted to your departure airport. A flush timing bug
- caused a false touchdown at origin, which then triggered the diversion check.
- Also fixed.
- Autopilot and Flight Director are not the same thing.
- They are not. The client now knows this. Arming the FD no longer counts as
- engaging the autopilot — which means autoland achievements won't trigger just
- because you flew a manual ILS with guidance cues.
- Short flights and high-altitude GA got rejected by the server.
- Zero-minute flights and cruise levels below FL10 now file cleanly.
- Addon aircraft (PMDG, Fenix, etc.) had unreliable light detection.
- Fixed by reading both SimConnect variables and the bitmask — whichever says
- the light is on, wins.
- Fixed-gear aircraft (C208, PC-12, etc.) froze the map.
- The takeoff sampler was waiting for gear retraction that never came. It now
- exits on liftoff instead.
- The PIREP summary showed wrong fuel and block times before filing. Fixed.
- Music kept playing after you filed. Fixed.
- The purser introduced herself in Dutch twice. Fixed.
- Meal service was announced three times in English. Fixed.
- Cabin pressure scoring penalized normal GA altitudes. Fixed.
- Bank angle violation now correctly triggers at 40° instead of 35°.
- Sim connection hiccups no longer discard your active flight.
- Long-haul flights were quietly eating your RAM. Capped and trimmed.
Version 1.10.0
16 April 2026 · 143.0 MB
Weather Layers
- RainViewer weather radar overlay** on the flight map with 10-minute auto-refresh from the RainViewer API; toggleable via map button; opacity 45%, maxNativeZoom capped at 12 to suppress invalid zoom tiles
- SIGMET overlays** for turbulence, convective, icing, IFR, mountain obscuration, volcanic ash, and 5 other hazard types; sourced from `aviationweather.gov` (US + international SIGMETs) with 5-minute refresh; dashed polygons with color-coded fill and sticky tooltips showing hazard type, altitude range (FL format above 18,000 ft), and valid-to time in Zulu
- Separate toggle buttons for radar and SIGMETs on the map
Cabin Audio System
- 18 announcement categories** spanning the full flight lifecycle, mixing pre-recorded MP3 files and real-time neural TTS
- Boarding announcements** (pre-fuel / post-fuel / boarding-completed) loop every 5 minutes starting 10-30s after flight start; fuel state detected by comparing SimConnect fuel vs SimBrief block fuel with 200 kg margin; stops on beacon light ON; only starts when boarding actually commences
- Safety demonstration** triggers on beacon light ON or pushback/taxi_out phase; waits until any captain welcome announcement finishes before playing; fires once per flight
- Captain's welcome announcement** (neural TTS, bilingual): triggered by button during preflight/pushback/taxi; uses pilot's first name, flight number, destination city, weather and flight time from METAR and SimBrief OFP; includes configurable options (turbulence warning, delay reason, on-time departure); includes "thank you for choosing [airline name]"; 12 languages based on airline country
- Captain crew seat commands** (neural TTS, English only): "Cabin crew, take your seats for departure" auto-triggered on strobe lights ON (ground only); "Cabin crew, be seated for landing" auto-triggered on landing gear DOWN (airborne only); each fires once per flight
- After-takeoff cabin crew PA** (neural TTS, bilingual): auto-triggered 45-90s after takeoff; covers seatbelt sign, toilet locations (narrow vs wide body detected by ICAO code), overhead locker warning, and service schedule preview
- Cabin service announcements** (food-service, alcohol-service, movie, duty-free) from MP3 files; available manually or via auto-service scheduling
- Waste collection announcement** (neural TTS, bilingual): triggered after food/drink services and on top-of-descent; crew voice asks passengers to hand in newspapers, magazines, etc.
- Captain's in-flight update** (neural TTS, bilingual): triggered by "Flight Update" button during climb/cruise/descent; reports altitude in feet and meters, nearest city from navlog, ETA, and thanks for flying with airline name
- Service delay announcement** (neural TTS, bilingual): auto-triggered when SIGMET-aware scheduling detects moderate/severe turbulence or severe weather at upcoming service position; informs passengers of delay with reason and approximate duration; light turbulence is ignored
- Captain's descent announcement** (neural TTS, bilingual): auto-triggered at 120nm from destination (or on descent phase for flights <60nm); includes landing runway with cardinal direction (e.g. "in a south-westerly direction"), destination weather, local time, and thanks; protected by cruise-reached guard; direction computed from runway heading in all 12 languages
- Cabin prepare for arrival** (neural TTS, English only): "Cabin crew, prepare the cabin for arrival" auto-triggers when descending through 10,000ft; requires descent PA to have already fired (prevents false trigger during climbout level-off)
- After-landing announcement** triggers 20 seconds after touchdown or on on_block phase; fires once per flight
- Emergency announcement** triggers when transponder squawk code is set to 7700; repeats every 30s
- Boarding music** with shuffle playback; auto-pauses with fade-out when announcements play; separate volume slider and output device; all audio stops on PIREP filing
- Cabin speaker EQ filter** (mono + highpass 300 Hz + lowpass 3500 Hz + peaking 1200 Hz +3 dB) applied to all announcements and music; toggled in Settings
- Announcement progress bar** showing category label, elapsed/total time, accent-colored progress bar
- Live volume sliders** for announcements and boarding music with immediate effect
- Audio output device selector** for announcements and boarding music (separate devices)
- Overlap prevention**: all announcements serialize through the CabinAudioSystem queue; captain TTS calls wait for any in-progress TTS to finish before starting; pre-recorded announcements wait for captain TTS lock to release
- Once-per-flight guards**: every announcement type (except boarding loop and service announcements) has a ref guard that prevents double-triggering; all guards reset in `resetForNewFlight()`
Neural TTS Announcements
- Microsoft Edge neural voices** via `edge-tts` (CLI tool); high-quality multilingual speech synthesis
- 12 supported languages**: English, Dutch, German, French, Spanish, Italian, Portuguese, Turkish, Arabic, Danish, Swedish, Norwegian
- Bilingual playback**: English first, then airline's country language (looked up from `airlines` table `country` field via `countryToVoice` mapping of 70+ countries)
- Captain voice**: `en-US-GuyNeural` (deeper pitch +5%) for welcome, descent, flight update, and crew seat commands
- Crew voice**: `en-US-JennyNeural` (neutral pitch) for after-takeoff, waste collection, and service delay; localized crew voices per language (e.g. `nl-NL-ColetteNeural`, `de-DE-KatjaNeural`)
- City names** fetched from phpVMS `airports` table via `getAirportCity` IPC call; falls back to airport name
- Localized time formatting**: "1 hour and 23 minutes" / "1 uur en 23 minuten" / "1 Stunde und 23 Minuten" etc.
- Localized weather**: METAR conditions translated per language (e.g., "few clouds" / "licht bewolkt")
- Parallel TTS pre-generation**: second language audio generated in background while English version plays, for seamless bilingual transitions
- TTS loading indicator**: button shows spinner while TTS is being generated
Passenger Simulation System
- Full passenger experience simulation** tracking comfort, satisfaction, and mood throughout the flight
- Boarding system**: passengers board over time based on aircraft capacity; triggers boarding-completed announcement
- Deboarding system**: passengers deplane after landing
- Cabin service scheduling**: generates realistic service schedule from SimBrief ETE with auto/manual modes
- Food & drink service: ~13s per passenger (min 5 min, max 45 min)
- Drinks-only service: ~7s per passenger (min 5 min, max 30 min)
- Snack service**: combined food+drink for flights 1-2 hours (~10s per passenger)
- Duty-free sales: ~7 min fixed duration
- Waste collection: 4 min, triggered after food/drink services and on top-of-descent
- TOD-aware scheduling**: services finish at least 25 minutes before estimated top-of-descent
- Pre-boarding schedule generation**: schedule calculated during boarding (not at takeoff) using SimBrief ETE and navlog data; service position markers appear on map during preflight
- Pre-flight SIGMET check**: at boarding start, scans all service positions against active SIGMET polygons using planned altitude from navlog; shifts conflicting services +10 min before takeoff
- Auto-service mode**: crew handles timing automatically; services start at calculated offsets from takeoff
- Service end markers**: map shows both start and end positions for each service along the route
- Schedule tooltips**: hover over service items to see time until start
- Passenger mood & comments**: dynamic comfort score (0-100%) with phase-aware passenger comments; displayed as progress bar with emoji and live comment feed
- PAX happiness factors**: boarding efficiency, service quality, turbulence, delays, landing quality
Service Map Visualization
- Service position markers** plotted on the flight map showing where each cabin service starts and ends along the route
- Position interpolation** maps service `offsetMs` to lat/lon by interpolating between navlog waypoints using `time_total` (cumulative seconds from departure)
- Color-coded markers**: food (green), drinks (blue), duty-free (yellow), waste (gray); with labeled dots on the route polyline
- Dynamic updates**: markers reposition when SIGMET scheduling delays a service
SIGMET-Aware Service Scheduling
- Automatic conflict detection**: checks upcoming service positions against TURB, CONVECTIVE, and TS SIGMET polygons (from `aviationweather.gov` US + international feeds)
- Severity filtering**: only moderate and severe turbulence delays services; light turbulence (`LGT` severity) is ignored
- Altitude-aware**: if aircraft is flying above SIGMET top altitude + 1000ft buffer, no conflict is raised
- Point-in-polygon**: ray-casting algorithm tests service lat/lon against SIGMET GeoJSON coordinates
- Service delay**: conflicting services shifted forward by 10 minutes; service markers updated on map
- Crew delay announcement**: bilingual TTS announcement informs passengers of delay reason (turbulence/severe weather)
Violations
- Takeoff before safety announcement completed** -- 20-point penalty if the pilot enters takeoff phase while the safety announcement is still playing; uses external violation API (`flight:addViolation` IPC channel + `RuleEngine.addExternalViolation()`)
- Landing lights violation threshold**: ±1000ft tolerance around FL100 for landing light violations
Flight Map Enhancements
- Step-climb markers** parsed from SimBrief `stepclimb_string`; displayed as amber rotated squares with "↑ FLxxx @ IDENT" labels
- Step descent support** with proper FL vs. altitude formatting (FL above transition altitude)
- Fuel vs. plan comparison** using distance-based interpolation against SimBrief planned fuel; block fuel shown on ground
- Live traffic labels** with pilot name, callsign, aircraft type, altitude, and route in permanent multi-line labels; theme-aware backgrounds (light on aviation/terrain/satellite maps, dark on standard)
- Waypoint names** displayed along the planned route on the map
Bug Fixes
- Fixed fuel comparison using distance-based interpolation instead of time-based
- Fixed duplicate boarding loop starts with `boardingLoopStarted` early guard flag
- Fixed boarding loop never triggering (preflight is initial state; now triggers on first preflight tick)
- Fixed boarding music starting during an announcement instead of waiting
- Fixed safety announcement not stopping on takeoff phase
- Fixed safety demo playing at same time as welcome announcement; now waits for welcome to finish
- Fixed food service announcement looping continuously during auto-service (guard flag added)
- Fixed descent PA triggering during climb (added `hasReachedCruise` guard)
- Fixed boarding announcement starting before actual boarding commences
- Fixed Dutch and other language TTS pronouncing time words in English instead of native language
- Suppressed RainViewer "zoom not supported" tile errors by capping maxNativeZoom to 12
- Fixed welcome announcement panel hidden behind Leaflet map (z-index 10000)
- Fixed captain TTS announcements overlapping when rapid events fire multiple calls simultaneously
- Fixed safety demo double-firing from both beacon ON and pushback/taxi_out events
- Fixed after-landing announcement double-firing from both touchdown and on_block events
- Fixed strobe crew command firing repeatedly on every strobe toggle (now once per flight)
- Fixed gear crew command firing repeatedly on every gear cycle (now once per flight)
- Fixed `afterTakeoffPlayedRef` never being reset between flights in the same session
- Fixed cabin prepare announcement triggering during climbout level-off at FL100 (now requires descent PA first)
- Fixed boarding music continuing to play after PIREP is filed (now `reset()` on `flight:filed`)
Version 1.0.9
12 April 2026 · 86.3 MB
- Landing rate bug fixes
- Xplane Support further enhanced
- MSFS and MSFS2024 connectivity improved
- Simbrief import into the logger showing the OFP and planned route
Version 1.0.8
9 April 2026 · 79.7 MB
- Authentication issues solved
- Flight logging now more robust
- Feedback and bug reporting now included
Earlier releases
Version 1.0.7
March 2026
- Fix: SimBrief aircraft not loading in flight selection — client was overriding server default relations, preventing the booked aircraft from appearing
- Improvement: Redesigned splash screen — clean logo with subtle glow and gradient progress bar, replaces the old spinner overlay
Version 1.0.6
March 2026
- Feature: Live Weather Panel — real-time METAR/TAF for departure, arrival, and nearest airport with auto-refresh every 2 minutes
- Feature: Jet Engine Spinner — custom animated turbine SVG replaces all generic loading indicators
- Feature: Aircraft picker fallback — if a bid has no aircraft, fetches available aircraft from the flight subfleets
- Fix: Remember Me now properly saves and restores email & password
- Improvement: Removed API key sign-in — login is email/password only
- Fix: Fixed “No aircraft assigned” bug for bids with an aircraft
- Fix: Fixed aircraft not showing from SimBrief OFP
- Fix: Fixed PIREP field values crash (Array to string conversion) that prevented auto-accept
- Fix: Made PIREP accept flow resilient — pilot state always updates even on aircraft errors
- Fix: Made PIREP file flow resilient — custom field errors no longer block submission
Version 1.0.5
March 2026
- Feature: Initial public release with full flight tracking
- Feature: 12-phase automatic flight detection
- Feature: SimBrief OFP integration
- Feature: Automatic PIREP filing with rich telemetry fields
- Feature: Rules & scoring engine
- Feature: Offline queue with automatic sync
- Feature: MSFS 2020/2024 and X-Plane 11/12 support