Changelog 2020.3

From FlightGear wiki
(Redirected from Changelog 2020.3.15)
Jump to navigation Jump to search
Previous changelog Next changelog

Available in: English, Polish, Chinese

Please help us translate into other languages!

The FlightGear development team is delighted to announce the v2020.3 LTS release of FlightGear, the free, open-source flight simulator. This is the second Long Term Support release for FlightGear, since the project changed to offering both Long Term Support releases, and more cutting-edge Preview releases. This release represents the culmination of two years of development effort by a worldwide group of volunteers, brought together by a shared ambition to create the most realistic flight simulator possible that is free to use, modify and distribute. FlightGear is used all over the world by desktop flight simulator enthusiasts, for research in universities and for interactive exhibits in museums.

Major enhancements since the v2020.3 LTS include:

  • a developer preview of the upcoming Compositor graphical rendering framework as a separate pre-built binary,
  • enhancements to both the JSBSim and YASim flight dynamics models
  • DDS texture caching to reduce load times
  • faster loading and more memory efficient buildings
  • improved aircraft carrier support

Additionally 30 completely new aircraft have been added to the official hangar, and a further 71 have received major updates.

Note  FlightGear is currently undergoing a lot of huge changes. More importantly: Adopting OSG 3.6+[1], moving to the OpenGL core profile, WS 3.0, Osm2city buildings, Photoscenery and Compositor shadows & lights.

In addition, adopting OSG 3.6 means that the experimental CompositeViewer Support can be more widely enabled and tested[2] (it is already enabled by default on next).

Also, as part of the CompositeViewer effort, Canvas FBO rendering is in the process of being moved out of the scene graph into dedicated viewer-level cameras, which provides better support/integration with OSG threading and fixes the long-standing issue where Canvas textures were being rendered twice per view unnecessarily due to the original new/far camera scheme.

Furthermore, to support Canvas (actually CanvasPath/all SVG handling) on Core profile, the plan is to migrate our Canvas Path backend from Shiva to ‘something else’ (see Shiva Alternatives) which implements the required drawing operations, unlike Shiva, ShaderVG or NanoVG can target Core-profile OpenGL.[3]

It is likely the non-shader code path (fixed-function pipeline) will also go away in the next twelve months (~ early/mid 2022). We tried to communicate this: 2020.3 is the last release that will work on really old hardware: 'next' and future releases will need a more modern machine with an OpenGL 4 / DX12 class GPU.[4] 'next' is work-in-progress: likely 12 or 18 months before it becomes a release. In that time the build dependencies, minimum system requirements, performance baseline and basically everything else are going to change (and keep changing). Of course, we'll try to make it work on as wide a range of hardware as possible, but right now we don't know, and it would be incorrect to speculate or promise anything. (Eg, we cannot say 'an Intel 4000 will work but an Intel 3000 won't - we have no idea!)

If 'next' works for someone, that is great, but if you want stability, stable FPS and compatibility with older hardware, there is an easy answer: use 2020.3. That's what we recommend for everyone who wants to fly and enjoy flying. [5] The macOS and Windows nightly builds are now running OSG 3.6.5, so people can hopefully start testing WS3.0 [6] Also, be aware that the binary builds also switched to OSG 3.6, so that may have an FPS impact as well (either higher or lower…)[7]

Founded in 1997, FlightGear features more than 700 aircraft, a worldwide scenery database, a multiplayer environment, detailed sky modelling, a flexible and open aircraft modelling system, varied networking options, multiple display support, a powerful scripting language, and an open architecture. Best of all, being open-source, the simulator is owned by the community and everyone is encouraged to contribute.

FlightGear - Fly Free!


  • Addition of a welcome screen on first launch, providing helpful information to first time users.
  • Aircraft can now be marked as Favourites, and filtered, making it easier to see find your favourite aircraft out of the hundreds available.
  • The launcher now supports aircraft carriers, including selecting a carrier and setting a start position.
  • Ctrl+F shortcut for when you just want to Fly!
  • Improved support for helipads and seaports, including detection of current aircraft type.
  • Numerous bugfixes and stability improvements, in particular for the aircraft and addons tabs.


  • To provide a developer preview, the Compositor renderer is included as part of this release. It provides a fully XML-configurable multi-pass rendering pipeline that is compatible with ALS and includes clustered shading.
  • Support for DDS Texture Cache, improving loading times for texture files.
  • Star visibility is configurable based on magnitude of star and atmospheric conditions.
  • Use of non-directional point sprites as a fallback for drivers that do not support triangles of point sprites is now supported by setting /rendering/triangle-directional-lights=false.
  • A new Tower AGL view has been added. This is similar to Tower View, except that it keeps both the aircraft and the ground immediately below the aircraft in view, zooming and panning smoothly as the aircraft moves. Good for viewing landings.
  • Improved airport grass textures
  • Implemented tidal movement for littoral areas.
  • Updated regional material definitions for California, Asia, Northern Brazil, Iceland, Jan Mayen island.
  • Active volcanoes - Katla, Eyjafjallajokull, Surtsey.
  • Instanced-based random and OpenStreetMap buildings, improving performance and graphical quality significantly.
  • Improvements to the Wingflex Shader.
  • Users may enable/disable the pilot model from the View Options dialog.


  • Added the ability to set up the starter and acceleration times of a turbine (parameters <n1spinup>, <n2spinup>, <n1startrate>, <n2startrate>).
  • The <integrator> filter can now be reset to 0.0 by setting its <trigger> property to a negative value.
  • The integration scheme of the <integrator> filter can now be chosen among rect (Euler), trap (Trapezoidal), ab2 (2nd order Adams-BashForth) and ab3 (3rd order Adams-Bashforth)
  • The following functions can now be used in <function>: floor, ceil and fmod. Their functionalities are the same than the corresponding C/C++ functions.
  • <function> now checks the number of its arguments.
  • New system component linear_actuator
  • Export the fuel density to the property tree
  • Added cyclic clipping for FCS components
  • Added the ability to control the turbine engines spin down factor
  • [Backward compatibility breakage] Gyros are now measuring rotation rates instead of rotational accelerations. Gyros that measure rotational accelerations do not exist in the real world.
  • Output properties of flight control elements are no longer tied. This saves a lot of spurious warning messages and allows direct references of the same properties among several flight controls.
  • Water vapor in the atmosphere is now managed through its mass fraction rather than its partial pressure. The former being the physical quantity that is conserved when pressure and temperature vary.
  • Check that there are at least 3 contacts before trying to trim on ground.
  • Added optional transmission of the simulation time for FG UDP interface
  • The existence of the property that is used for table independent vars is now checked during execution rather than when the XML definition is parsed. This relaxes the order in which filters, table and more generally flight controls need to be declared in the XML definition files.
  • Electric engines RPM is now exported in UDP sockets.
  • The parameter <ignitionn2> now affects N2 rather than N1.
  • A warning is now given when max < min in a <clipto> rather than throwing an exception
  • Added the ability to log properties in a CSV file with the new fgfs executable argument --jsbsim-output-directive-file


  • Ground friction (stiction) changes
  • Support for transonic flow effects.
  • Control initial gear state directly by setting /fdm/yasim/respect-external-gear-state=true, rather then YASim settings this depending on whether the aircraft is in the air or on the ground.
  • Electric engines are now supported.

Weather and Environment

  • Increased turbulence will be encountered near active volcanoes.
  • Configurable METAR URL.
  • METAR strings are decoded and displayed in a human-readable form in the weather dialog.


  • Two new carrier-specific starting options are supported in the launcher: carrier-takeoff and carrier-approach.
  • A new --carrier-position command-line argument has been added. This can be used to select the aircraft start position on an aircraft carrier. Either a catapult (e.g. cat-1), a parking position (e.g. park-1), on final approach on the FLOLS (flols) or abeam the carrier (abeam).
  • MPCarrier can now be detected by the GUI even if not available on startup. To enable this feature set /sim/mp-carriers/auto-attach=true.


  • New fgcommands add-aiobject and remove-aiobject for adding/removing objects to the AI subsystem.
  • New AI aircraft, including 747 Freighter, CRJ900, SR-71, Saab 340.
  • Numerous updates to AI traffic schedules and airline liveries.
  • Space Shuttle TAEM and approach at KEDW scenario.
  • Accurate Britten-Norman Islander performance data, from an Islander pilot.


  • Connection to VATSIM via swift is now available via the GUI.
  • FGCom now supports both COM1 and COM2, as well as volume settings.
  • The views defined by the user's aircraft (Pilot view, Helicopter view, Tower view etc) can now be used with multiplayer aircraft. Viewing a particular multiplayer aircraft is done by clicking in the Pilot List dialogue's "view' column (see the "Multiplayer/Pilot List" menu).
  • --disable-hold-short option which allows the user to force a start on the runway when multiplayer is enabled. This option should be used with caution - it can give other pilots and ATC a nasty fright to find an aircraft materialize on the runway!
  • Support for recording multiplayer data

Nasal Scripting

  • Configurable load order for core Nasal modules.
  • Improvements and bug fixes to Emesary, the messaging interface.
  • Improvements to the core libraries.
  • Garbage collection improvements to reduce frame stuttering
  • Re-loadable Nasal modules
  • Canvas EFIS framework
  • New methods in Canvas Image to set colors of pixels in the image.


  • FG1000 Glass Panel improvements include user-configurable VFR transponder codes, volume controls, new fascia, UI is now resizeable, support for custom SVG files (e.g. for a G500). The FG1000 is now available on the Cessna 182T, J3 Cub, Diamond DA40.
  • Improved glider vario instrument.
  • New Aircraft:
    • Airbus A320 - airliner
    • Alisport Silent2Electro - glider with electric sustainer motor
    • Bombardier Q400 DHC8-402 - shorthaul turboprop airliner
    • Breguet Atlantic BR 1150 - long-range maritime patrol aircraft
    • Cessna 140 - GA aircraft
    • Cessna 208B Caravan - short range passenger, freighter and utility aircraft
    • Cirrus SR22T - GA aircraft
    • Diamond DA40 NG - GA aircraft, including FG1000 glass panel cockpit
    • Diamond DA62 Twinstar- Twin engine GA aircraft
    • Diamond HK36 Super Dimona - motorglider
    • Dornier DO 28 Skyservant - Twin engine STOL utility aircraft
    • Douglas TBD Devastator - WWII Torpedo bomber
    • Draco Wilga - turboprop taildragger bush plane
    • Fokker T.V - twin engine bomber
    • Glasfluegel H201B Standard Libelle - glider
    • Grumman F11-Tiger - carrier-based fighter
    • Grumman HU-16A Albatross - twin engine amphibian
    • McDonnell Douglas MD-11 - a glass-cockpit widebody trijet
    • Petliakov PE-8 (Ant-42/TB-7) - WWII bomber
    • Piper PA28-161 Warrior II - GA aircraft
    • Pipistrel Alpha Electro - electric training aircraft
    • Pipistrel Taurus Electro G2.5 - glider with electric sustainer motor
    • Rolladen Schneider LS8sc neo - standard glider with electric sustainer motor
    • Robin DR400 Ecoflyer - GA Aircraft
    • Scheibe Bergfalke II/55 - training glider
    • Schempp-Hirth Arcus S - high performance glider
    • Schleicher Ka6(CR) "Rhoensegler" - training glider
    • SEPECAT Jaguar GR.1 - jet attack aircraft
    • SUMPAC - Human powered airplane
    • Supermarine Swift - jet fighter
    • Yak 52 - training aircraft
  • Major updates to over 70 aircraft. Including 737-100, 737-300, 777, A-26-Invader, AR-234, ASG29, ASK13, ASK21, Aero-Commander, Aichi-D3A, B-17, B-24-Liberator, B-25, Bombardier-415, CH750STOL, CRJ700-family, Cessna-208-Caravan, Cessna Citation II, Cessna-L19, Cirrus-SR22, Concorde, DO-228, DO-335, Diamond-Da40, Diamond-Da42, Dragonfly, Embraer-ERJ-145, F-15, Fairchild-Metroliner, Falcon-50, Fokker-S-11, Fw200, H4-Hercules, Harrier-GR3, Horten-Ho-IX, Hughes-XF11, J3Cub, JA37, JAS39-Gripen, Jaguar, LS4, Lancair-235, Lionceau, Lockheed-NF104A, Lockheed-P38, ME-262, Mirage-2000, MirageIV, Northrop-xb35, PC-12, Piaggio-P166, Piper-PA-28, Potez-630, R44, Ryan-Navion, SIAI-Marchetti-SF.260, Socata-ST10, SpaceShuttle, Starship, Tecnam-P2006T, UH-1, Yak-18T, Zlin-50lx, an24b, bluebird, c182s, dhc1, f-14b, f16.


  • Updated Chinese, Dutch, French, German, Italian, Polish and Slovak translations.
  • Map dialog displays heliports and allows configurable cursor key panning
  • Faster Terrasync: Download a tarball of airport information on first start and only check for updates every 24 hours rather than every simulator run.
  • GPS fly-by mode
  • integration to provide centralized crash reporting.
  • Change screenshot filename to have date and time
  • New thread safe particle manager -- should reduce random crashes around particles.

Updates since 2020.1

Changes since the 2020.1 preview release include:

  • Various launcher improvements including a Welcome screen and a keyboard shortcut (Ctrl+F) to Fly!
  • Improved regional definitions for California, Iceland and Northern Brazil and better grass textures.
  • Implemented tidal movement for littoral areas.
  • New AI model for the 747 Freighter, and numerous AI livery and traffic updates.
  • Updates to the FG1000 glass panel display including configurable VFR transponder codes, volume controls, a new fascia, resizeable UI and support for custom SVG files.
  • A hangar full of new aircraft: HU-16A-Albatross, LS8, Embraer-ERJ-145, Cessna 208B Caravan, PZL 104 wilga 2000 Draco, Scheibe Bergfalke, Taurus, f16, Dornier Do 28 Skyservant, Petliakov Pe 8 (Ant 42/DB 7), Grumman F.11 Tiger
  • Updates to a large number of aircraft including CRJ700, Dragonfly, Mirage 2000, Jaguar GR1, H4 Hercules, JA37, Supermarine Swift, A320, Cirrus-SR22, Cessna Citation, J3Cub
  • Updated Chinese, Dutch, French, German, Italian, Polish and Slovak translations.
  • Faster Terrasync: Download a tarball of airport information on first start and only check for updates every 24 hours rather than every simulator run.
  • GPS fly-by mode
  • integration to provide centralized crash reporting.
  • New thread safe particle manager -- should reduce random crashes around particles.

Updates since 2020.3.0

As 2020.3 is a long term supported release, there are ongoing bug-fixes and small improvements happening, based on user feedback and automatic reporting of crashes and issues. Significant fixes are listed below:


  • Add help page to the launcher
  • Fix handling of helipads at heliports
  • Migrate installed aircraft packages, when migrating to the new stable catalog
  • TerraSync: improve startup performance on Windows


  • TerraSync waits for Models to be completely sync-ed, to avoid missing models when starting
  • First-run screen: add a 'scroll to the bottom' hint icon
  • Tides fixes from Erik Hofman
  • Use nicer scrollbar for the launcher, fixes some issue with long aircraft lists
  • Support Apt.dat v1000 comm frequencies
  • Fix an ATC crash when repositioning
  • Many translations fixes identified by Michael Danilov
  • Greatly improve the Brazilian cerradio areas (near SBMQ)
  • Russian translation updates
  • Iceland materials fixes


  • Fix accidental mouse picks while using a right-mouse-drag to look around
  • Fix the download location we recommend in the 'setup root' dialog


  • Handle more METAR strings correctly, including wind sensor failures
  • Fix airmass velocity being applied to sub-models twice (eg, when dropping payloads in a cross-wind)
  • Fix crash on shutdown in the properties code
  • Spanish translation updates
  • Disable flights to EGEL to avoid crashes in traffic code


  • Change default Windows download location to %USERS%\FlightGear\Downloads, to avoid problems with Windows Defender blocking un-trusted applications from writing to Documents, which was the previous location.
  • Fix a crash when returning to FlightGear from another application and scrolling or clicking
  • Avoid crashing with UIUC-based aircraft such as the Wright Flyer
  • Fix a crash on macOS when a joystick failed to open
  • Update the macOS application icon
  • Fix Nasal crash on reset
  • Canvas: allow anisotropic filtering
  • Larger, improved moon texture
  • UFO speed goes to 11
  • Fix taxiway markings disappearing in specific graphics settings


  • Fixed crash downloading the default aircraft catalog
  • Fix a hang starting at scenery in the ocean
  • Fix incorrect sky & cockpit rendering with certain METAR values
  • Add getting-started hints to the launcher (English only for now)
  • Fix Shuttle AI scenarios
  • Improvements to flight-planning mode
  • Sun / moon scaling fixes
  • Fix initial position of submodels
  • macOS: warn if running with app translocation
  • Windows: detect missing OpenGL drivers
  • Fix UIUC FDM crashes
  • Fix crash with invalid view numbers
  • Catch FDM NaN errors more gracefully
  • KAP-140 approach mode improvements
  • Traffic+AI livery updates


  • Enable OSM2City buildings via TerraSync for the whole planet
  • C172 bug-fixes and updates
  • Improved regional material definitions for Europe, California
  • Allow chat box to be re-positioned
  • Fix crashes related to particle systems
  • Fix selection of time-zone around Beijing
  • Fix display of non-Latin1 strings in Canvas displays
  • Fix Multi-player mode runway-start logic to select hold-short position correctly
  • macOS: fix crash on text with certain fonts
  • Fix launcher language selection when the UI language include a script specifier (eg zh-Hans-CN)
  • Fix aircraft-id property when loading from a hangar ( )
  • Improve checks for out-of-date Intel Graphics drivers on Windows


  • Fix behaviour of <local> particle systems
  • Fix autumn tree appearance


  • Fix crash in Swift
  • Corrections to MP protocol timing
  • Correct URL to FGData
  • Fix bug in cache reload dialog
  • Improvements to ATC dialog to display frequencies with 3 decimal places correctly
  • Improve material definitions for Africa, Mediterranean regions
  • Add updated ocean and water visual effects


  • Transponder: make standby mode work
  • Launcher: pick up scenery and aircraft paths from the command line
  • Launcher: store locations differently, to avoid problems when running multiple FlightGear versions and switching between them.
  • Launcher: add 'restart on quit' option
  • Fix NavCache errors loading ShapeFile data
  • Fix NavCache errors when running multiple copies of FlightGear


  • Fix a crash introduced in 2020.3.10
  • Improve error message when no aircraft search paths are available
  • Fix a crash with misconfigured traffic taxi routes
  • Update AI traffic schedules


  • Add aircraft directory name validation
  • Add an extra step of antialiasing (8x)
  • Add feature allowing aircraft to define custom fonts for osg::Text
  • Add generic combined ALS procedural lights and Compositor lights
  • Add new regional materials for Australia
  • Fix Basic Weather producing invalid pressure altitudes
  • Fix bug in path searching for previews
  • Fix bug in sound system when approaching max-dist range
  • Fix crashes after reset
  • Fix crash when AI aircraft has invalid destination runway
  • Fix Mapstructure error in RTE layer
  • Fix --view-offset to use the correct property
  • HUD: make vertical gauges look the same as horizontal ones
  • Improved Russian and Spanish translations
  • Miscellaneous improvements to weather dialog
  • Property browser: display values for folders in verbose mode
  • Route manager: select correct waypoint when duplicate waypoints exist
  • Update AI traffic schedules and add new AI models


  • Fix for the disappearing MP pilot list
  • Fix JSBsim linear actuators behaving badly in certain conditions


  • Support for add-on paths
  • Instant audio queue
  • Allow canvas dialogs to not grab focus away from FG (more like how focus in PUI dialogs behaves)


  • Fix radio audio morse issue.


  • Fix audio indent issue.


  • Navradio: disable low-pass filter when changing selected freq or leaving GPS slave mode. When the selected frequency is changed or when leaving GPS slave mode, disable the low-pass filter applied to signal quality.
  • Navradio: fix regression and optimize older code. Fix a little regression introduced in previous commit. Add: changing the standby frequency disabled the low-pass filter for the next call to updateReceiver(); this must happen when the selected frequency is changed but not when the standby frequency is changed.
  • AP input: add property-path support to Inputs. Allow making the AP source indirect (via a string property), so that the actual source property can be configured or adjusted from a -set.xml, or at runtime.
  • Replace displaying in Launcher `--on-ground=false` to `--in-air` for on final. The option`--on-ground=false` doesn't exist which can be misleading.


  • Added photoscenery capability.
  • New basic autopilot system.
  • Fix crash with a 'between' type constraint in Navigraph procedure files


  • Add AI submodel collision
  • Fix crash with invalid METAR strings
  • Fix rendering bug where OSM buildings appeared blue under certain graphics settings