Changelog 2020.1

From FlightGear wiki
Jump to navigation Jump to search
Previous changelog Next changelog

Available in: English, Chinese.

Please help us translate in other languages!

The FlightGear development team is delighted to announce the v2020.1 release of FlightGear, the free, open-source flight simulator. This new version contains many exciting new features, enhancements and bugfixes. Enhancements since 2019.1 include a developer preview of the upcoming Compositor graphical rendering framework as a separate pre-built binary, better aircraft carrier support, improvements to both the JSBSim and YASim flight dynamics models, better view options, more efficient and better looking OpenStreetMap buildings and translation of the UI into Polish. Major aircraft updates include the Boeing 777, Airbus A320, Antonov AN-24, F-16, Piper J3Cub, Saab JA37 Viggen, Piper PA28 Cherokee, Bombardier Q-400, Space Shuttle.

Founded in 1997, FlightGear is developed 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.

FlightGear features more than 400 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!


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


  • 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.
  • 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.
  • 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.
  • Regional textures for Asia, 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.


  • [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.
  • ECEF to ECI frame conversion has been moved from FGLocation to FGPropagate and FGInitialConditions since not all FGLocation need to manage that.
  • Gravity computations have been moved to FGInertial because it is where all the constants to compute gravity are stored. This reduces the amount of data transmitted between FGInertial and FGAccelerations.
  • Added optional transmission of the simulation time for FG UDP interface
  • Code cleanup and use more C++11 idioms (override, constexpr, range-based for loop, etc.)
  • 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.
  • Functions <random/> and <urandom/> are no longer considered constant.
  • <clipto type="cyclic"> now clips negatives values correctly.
  • Fixed the artificial displacements resulting from modifications of the mass distribution while the aircraft is sitting on ground
  • Electric engines RPM is now exported in UDP sockets.
  • The sign of the XZ inertia has been fixed in the property inertia/ixz-slug_ft2. was just an output error, the correct XZ inertia was used internally
  • 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
  • Fixed uninitialized variables in FGPiston which could randomly generate invalid floating point values that would propagate to many places in JSBSim.
  • Fixed a segfault occuring when changing the LOD ranges with a JSBSim aircraft


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


  • Two new standard state overlays 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).


  • New AI models for the CRJ900, SR-71, Saab 340.
  • Updated AI models for the A-4, KA6-D, ERJ-195, CRJ-700, CRJ-200.
  • Updated AI traffic for Aeormar Mexico, AirDolomiti, Air Tahiti, American Eagle, China Southern, Delta Connection, Horizon Air, IcelandAir, JetBlue, LoganAir, LOT, Lufthansa, Lufthansa CityLine, MNG (Cargo), SkyUp, United Parcel Service, Ural Airlines, Uzbekistan Airways, Westjet Regional.
  • Updated AI liveries for Aeormar Mexico, Airbus, Air Canada, Air Europa, Air Tahiti, American Airlines, American Eagle, Alaska, Belavia, China Southern, Gulf Air, Hop!, Icelandair, JetBlue, LoganAir, LOT, Rusline, SkyUp, South African Express, United Express, Ural Airlines, Uzbekistan Airways, Virgin Australia, Westjet,
  • Space Shuttle TAEM and approach at KEDW scenario.
  • Accurate Britten-Norman Islander performance data, from an Islander pilot.


  • FGComm 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).
  • Connection to VATSIM via swift is now available via the GUI.
  • --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!
  • 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.

Replay / Flight Recorder

It has been suggested that Post_FlightGear_2020.2_LTS_changes#Changes_that_are_already_on_next be merged into this article or section.

Nasal Scripting

  • Garbage collection improvements to reduce frame stuttering
  • Re-loadable nasal modules
  • Canvas EFIS framework


  • Three new methods in Canvas Image to set colors of pixels in the image.


  • Boeing 777
  • Douglas A-26-Invader
  • Airbus A320
  • Antonov AN-24
  • Diamond DA40 NG G1000
  • Robin DR400 Ecoflyer
  • General Dynamics F-16
  • Piper J3 Cub
  • Saab JA37 Viggen
  • Piper PA 28 Cherokee
  • Bombardier Q400
  • Ryan Navion
  • Space Shuttle
  • Cirrus SR22
  • Yak 52


  • 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.
  • Polish translations of the UI are now available.
  • Improved Chinese translations for the launcher.
  • Improve glider vario instrument.

2020.1.2 point release

  • Adjust RelWithDebInfo optimisation for Clang (This should give a bit of speed boost to macOS official builds.)
  • Enable old-style texture compression
  • Launcher: basic Compositor support
  • + various fixes

2020.1.3 point release

  • Fix bug with some heading properties, which broke compass, CDI, etc on some aircraft (eg the Seneca)
  • Developer-mode is preserved on reset
  • Splash screen uses 'B' for bytes in download speed feedback
  • Added a launcher shortcut for 'Fly!' (Ctrl-F)
  • Fix UI language detection in some cases
  • + several smaller bug fixes

2020.1.4 point release

  • Fix a build error when FGData / translations are not found
  • Fix a crash on first launch on macOS due to Gatekeeper
  • Fix missing File menu in Dutch translation on macOS