Changelog 2.10

From FlightGear wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This changelog is a draft.

This changelog is currently being written for the FG 3.0 release - FG 3.0 has not yet been released! But starting to write the changelog early, should make it much easier to come up with a comprehensive list of changes.

FlightGear 3.0.0 ChangeLog

The FlightGear development team is happy to announce the v3.0.0 release of FlightGear, the free, open-source flight simulator. This new version contains many exciting new features, enhancements and bugfixes. New features in this release include an experimental renderer supporting real-time lighting and shadows, and improved terrain rendering.

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 multi-player 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.

Download FlightGear v3.0.0 for free from

FlightGear - Fly Free!

Some of the major changes include:

Aircraft Checklists

Aircraft typically have a large number of checklists, covering almost every phase of flight. Previously, aircraft authors have added checklists to the help text for the aircraft. This is a bit unwieldy. To improve matters, there is now an Aircraft Checklists dialog under the Help menu specifically designed to organize and display checklists. Aircraft authors can create new checklists easily without having to worry about how they will be displayed. See Aircraft Checklists for details.

Initial work on dynamic subsystem creation

James has added initial code to work on dynamic subsystem creation, so that subsystems become create-able and removable from commands. Only some subsystems are supported so far, since many have non-default constructors or other complexities (see FlightGear Run Levels for further details). With this, change, it's now possible to dynamically add and remove the traffic-manager at runtime, for example:

 fgcommand( "add-subsystem", { "subsystem": "traffic-manager", "name":"traffic-manager", "do-bind-init":1}) );

The idea is to improve this further so that more and more subsystems in FlightGear can be optionally toggled on/off at runtime, which should help facilitate other ongoing efforts, like the FGCanvas project for example - ultimately, this will help make FlightGear become more configurable and scalable, but also better usable for other purposes, such as distributed (multi-machine) setups-so that a single binary can be easily used for different purposes.

In addition, it will be much easier for developers to do regression testing and benchmarking once subsystems can be completely disabled, which is another long-standing feature request (see FlightGear Headless), that should also simplify release preparations.

Aircraft operations

AI system

  • the ai tankers can now be found using the HUD target marker.

AI Traffic

Flight dynamics

Navigation Database

Scripting (Nasal)

  • The "flightplan" Nasal extension function has been improved, which makes it possible to retrieve a hash representation of the flight plan stored in the route manager. With these changes in place, it is possible to directly show a SVG image for each waypoint and connect them using OpenVG paths.


James has pushed a large change to next, which adds a binary cache of most of the navigation data. The cache is stored in FG_HOME/navdata.cache, and rebuilt if the timestamps on any of the data files change (apt.dat,, fix.dat and so on). When the cache needs to be rebuilt, startup will take a bit longer than before, but when the cache is valid, startup is /much/ faster, especially for debug builds:

Cquote1.png Memory consumption is also lower, since we don't keep airports / fixes / taxiways / runways in memory until they're needed.

This is a fairly large change, so please look out for any bugs related to navaids / startup position / GPS / route-manager searches and lookups either getting different results or failing. I've tested here locally and things seem sane, and have had positive feedback from various testers on IRC and email, but I still expect to find some edge cases which need further work.

There's future work to move even more data into the cache - eg parking positions - which will further help performance for FMS / map systems since we won't need to parse lots of XML data repeatedly. I'm going to let this change settle down before adding more cached data, however.[1]

  1. James Turner (Wed, 19 Sep 2012). [Flightgear-devel Nav-cache].

Random Buildings

  • Random Buildings memory occupancy has been improved significantly, making this feature available to more users.

Project Rembrandt

Fred's been working on some fancy new effects, especially useful for our film-making enthusiasts.

The Rembrandt renderer has a lot of potentiality when it comes to post processing effects. Indeed, the interesting property of a deferred shader is that all stages of rendering are kept into memory. Post-processing is as simple as using a filter on a camera.

So currently the effects added in git are :

  • Night vision including amplification grain and restrained field of view,
  • Cinema effect including :
    • Vignetting,
    • Color shift, with Sepia as default value,
    • Radial distortion (barrel and pincushion distortion, with scale compensation),
    • Lateral chromatic aberration (purple fringing),
    • Film wear simulation.


  • The weather configuration GUIs have been combined and rationalized into a single Weather GUI, making it easier to select a nice VFR day, or a difficult CATIII approach.


Improving FlightGear usability has been a focus for a number of developers for this release. Changes include:

  • A new tool allowing joystick configuration in-sim, making it easier for new users to configure their joysticks as they wish and get flying!
  • The Nasal Console has been improved to support copy/paste, making Nasal script development easier.
  • The About dialog now includes additional system information, and the ability to copy information to the clipboard, making remote diagnosis of users problems faster and more straightforward.
  • The Select Airport option now displays an overhead view of the selected airport, allowing users to preview their new location, and making it easier to choose the correct runway or parking position.
  • We have added an integrated documentation browser so that users can more easily browse all the documentation available in the base package.

Canvas System

The Nasal API wrappers for the Canvas system have been committed to $FG_ROOT, so that people no longer need to manually load the required modules. Furthermore, the fully scriptable Canvas 2D drawing system in FlightGear 3.0 has now support for:

  • creating GUI windows (not just widgets, but also windows - which can be used for popup menus or menubars)
  • native copy/paste via 2 new Nasal extension functions, see Howto:Clipboard access using Nasal
  • nested canvases, where a canvas may contain images created by another canvas texture Howto:Using raster images and nested canvases
  • window stacking
  • raster images (vector images were already supported)
  • handling GUI events using osgGA

Support for nested canvases will make it possible to also load canvas textures into other canvases, so that you can, for example, easily load an instrument into a GUI dialog, or even use GUI widgets in MFD instruments, which is a feature based on real avionics, i.e. as used in modern airliners like the A380 or the 787 - which are based on the ARINC661 standard.

Nested canvases also make it possible for people to easily implement GUI tools using the Canvas system, for example a GUI instrument or panel editor can be entirely implemented in scripting space now, without touching any C++ code. Similarly, GUI widgets could also be created in a WYSIWYG-fashion, too - so that even a dialog editor or full GUI builders can be built using the Canvas system.

In addition, Tom has also implemented support for window stacking in 08/2012. Check out the demo video below, which demonstrates how "nested" canvases and window stacking works:

Missing features, and features currently under development, are listed at Missing Canvas Features


Highlighted new and improved aircraft

Project infrastructure

Visual effects


  • Additional joysticks and rudder pedals are supported out-of-the-box:

Bug fixes

  • See our bugtracker for an extensive list of the bugs fixed in this release.