Release files
- Windows 64 bits
- `JSBSim-1.1.11-setup.exe` (Windows installer)
- Ubuntu Bionic 18.04 and Focal 20.04 - amd64
- `*.deb` (Debian packages)
- Python wheel packages can be installed from [PyPI](https://pypi.org/project/JSBSim/) with the command `pip install jsbsim` or `pip install --upgrade jsbsim` when JSBSim is already installed on your system.
- Conda packages are available from [conda-forge](https://anaconda.org/conda-forge/jsbsim). To install this package with conda run: `conda install -c conda-forge jsbsim`
Changelog
User
**This is the last release of JSBSim that supports Python 3.6.**
Python 3.6 has reached its end of life and is no longer supported by the Python Foundation (see [PEP494](https://www.python.org/dev/peps/pep-0494/)). Please upgrade to Python 3.7 or higher.
- Output files are now written in the current directory instead of being written in the aircraft folder (issue 337)
- The uninstall of Python wheels now completely removes the directory structure that was created during the installation of the aircraft data.
- A new exception `TrimFailureException` is now thrown when trim fails. This eases the detection of the trim failure (previously the exception message needed to be checked).
- An exception is thrown when a latitude higher than 90 degrees is supplied to a `<waypoint>` control element (PR 536)
- Fix the sign of the initial NED climb rate (property `ic/gamma-deg`) (PR 545)
- JSBSim now checks malformed data in `<table>` elements. Anything different than numbers and spaces/tabs will be rejected.
- Usage of `<location>` and `<orientation>` in engines is now officially dropped (PR 559, 561 and 563). These elements were deprecated long ago in favor of the corresponding elements `<location>` and `<orientation>` in thrusters. Therefore the code removed is no-op.
- The computation of the initial rotation rates has been fixed (Issue 553). Previously, the rotation rates could be initialized with extremely high values when the vehicle was spawned over the Poles. And for a given set of initial conditions, the initial rotation rates could have different values depending on the initial latitude at which the vehicle was initialized. This now fixed.
- [Windows] The script `JSBSimSimulinkCompile.m` that builds the MATLAB S-function is now set to be executed immediately after the installer `JSBSim-setup.exe` has been run and no longer need manual updates before being run.
- The precision with which values are transmitted thru a socket can now be set via the attribute `precision` such as `<output precision="8">` (PR 579)
Developer
- Added 2 new methods to `FGFDMExec`: `SetOutputPath` and `GetOutputPath` to specify the path to which the output files will be written.
- Python method `FGFDMExec.set_root_dir()` no longer alters the aircraft, engine and system paths. This is now the same behavior than its C++ counterpart `FGFDMExec::SetRootDir`.
- All JSBSim exceptions now inherit from `JSBSim::BaseException`. There still exist `std::string` exceptions thrown by JSBSim. Cleanup is still in progress.
- JSBSim no longer calls `exit()` or `abort()`. Exceptions are thrown instead. This gives the calling application an opportunity to gracefully recover.
- The MATLAB S-Function is now tested on Windows and MacOSX in addition to Linux.
- As `distutils` will be deprecated for Python 3.11, the migration to `setuptools` has been started. There are still a number of `distutils` features which have no equivalent to `setuptools` so this is work in progress.
- Improved the ability of `setup.py` to be executed on multiple platforms (removed some hardcoded statements)
- `SGPropertyNode:getName()` is no longer used as it has been dropped from the official SimGear library. This allows remaining compatible with FlightGear.
- When `<input>` and `<output>` elements are read from a file, JSBSim now checks that the file can be read before reading it, otherwise an exception is thrown. This avoids SEGFAULTs.