Releases: JSBSim-Team/jsbsim
Releases · JSBSim-Team/jsbsim
v1.2.0
JSBSim version 1.2.0
Release files
- Windows 64 bits
JSBSim-1.2.0-setup.exe
(Windows installer compiled with Microsoft Visual Studio Enterprise 2019 (build 16.11.34114.132))
- Ubuntu Focal 20.04 and Jammy 22.04 - amd64
*.deb
(Debian packages)
- Python wheel packages can be installed from PyPI with the command
pip install jsbsim
orpip install --upgrade jsbsim
when JSBSim is already installed on your system. - Conda packages are available from conda-forge. To install this package with conda run:
conda install -c conda-forge jsbsim
Changelog
v1.1.14
JSBSim version 1.1.14
Release files
- Windows 64 bits
JSBSim-1.1.14-setup.exe
(Windows installer compiled with Microsoft Visual Studio Enterprise 2019 (build 16.11.34114.132))
- Ubuntu Focal 20.04 and Jammy 22.04 - amd64
*.deb
(Debian packages)
- Python wheel packages can be installed from PyPI with the command
pip install jsbsim
orpip install --upgrade jsbsim
when JSBSim is already installed on your system. - Conda packages are available from conda-forge. To install this package with conda run:
conda install -c conda-forge jsbsim
Changelog
v1.1.13
JSBSim version 1.1.13
Release files
- Windows 64 bits
JSBSim-1.1.13-setup.exe
(Windows installer compiled with Microsoft Visual Studio Enterprise 2019 (build 16.11.33027.164))
- Ubuntu Bionic 18.04 and Focal 20.04 - amd64
*.deb
(Debian packages)
- Python wheel packages can be installed from PyPI with the command
pip install jsbsim
orpip install --upgrade jsbsim
when JSBSim is already installed on your system. - Conda packages are available from conda-forge. To install this package with conda run:
conda install -c conda-forge jsbsim
Changelog
User
- The license of libexpat is now included in the Windows installer and in the Python wheels.
- Input sockets that were broken on Windows have been fixed.
Python module
- The Python script
JSBSim
has been renamedJSBSim.py
and now has the same features than the binary executableJSBSim.exe
. - Fixed the data folders that are installed along with the Python module: some aircraft sub-directories
System
andEngines
were missing in the previous release (issue #687) - Python wheels for MacOSX are now provided as universal binaries for Python
>=3.8
which allows using these binary wheels with Apple Silicon chips. - Python wheels for Python 3.11 are now available.
- JSBSim Python module is now installed under a single folder including the licenses and the aircraft data. In the previous release, the files were scattered among several folders. This allows a cleaner installation and removal (PR #755).
- Type hints are now provided along with JSBSim Python module (as per PEP 561 and PR #756).
- Usage of uninitialized instances of JSBSim classes now throws an exception to avoid a crash of the Python interpreter.
eTemperature
andePressure
are now derived from the Python moduleenum
.- Some internal methods are no longer accessible. Their names were prepended by the double underscore
__
which according to Python programming guidelines are meant to be private methods. So you were warned !
MATLAB S-Function
- By default, the S-Function is now compiled using the flag
JSBSIM_STATIC_LINK
since JSBSim is supplied as a static library in the Windows installer (PR #735).
Developer
- Removed the
Messages
feature as it was unused and was using astatic
member that could lead to a segmentation fault when using several instances ofFGFDMExec
(issue #666) - Restored the automatic rebuild of the Python module that should occur when the headers included in
jsbsim.pyx
are modified. - Replaced
CMAKE_SOURCE_DIR
byPROJECT_SOURCE_DIR
to allow JSBSim being built using CMAKE FetchContent (issue #684) - The dependency to the
win32api
module has been removed to build JSBSim Python module on Windows. - Random number generation is now made using C++11 standard library. This allowed removing another
static
member (issue #666) - Fixed a bug that prevented building JSBSim as a DLL using the MinGW compiler (issue #719)
- Unit tests have been added for the following classes:
FGRealValue
,FGParameter
,FGParameterValue
,FGCondition
.
v1.1.12
JSBSim version 1.1.12
Release files
- Windows 64 bits
JSBSim-1.1.12-setup.exe
(Windows installer compiled with Microsoft Visual Studio Enterprise 2019 (build 16.11.32602.291))
- Ubuntu Bionic 18.04 and Focal 20.04 - amd64
*.deb
(Debian packages)
- Python wheel packages can be installed from PyPI with the command
pip install jsbsim
orpip install --upgrade jsbsim
when JSBSim is already installed on your system. - Conda packages are available from conda-forge. To install this package with conda run:
conda install -c conda-forge jsbsim
Changelog
User
- Improvements to the
<table>
element:- Better error handling and improved messages when an error is found.
<table>
now accepts 1x1, 1xN and Nx1 shapes (issue #185).
- The XML schemas for scripts and systems have been updated to match the most recent JSBSim features.
- Accelerations with respect to the ECI frame (and expressed in the body frame) are now exported by the properties:
accelerations/uidot-ft_sec2
accelerations/vidot-ft_sec2
accelerations/widot-ft_sec2
- Rotational accelerations with respect to the ECI frame (and expressed in the body frame) are now exported by the properties:
accelerations/pidot-rad_sec2
accelerations/qidot-rad_sec2
accelerations/ridot-rad_sec2
- Clarified the legal notice as well as the license used by JSBSim and its dependencies.
- Temporary fix for issue #654: the balloon content can no longer reach 0.0 moles.
- The example script
scripts/weather-balloon.xml
now display the burst event.
Python module
- The minimum Python version is now 3.7
- The dependency of the Python module to
setuptools
has been removed. - Fixed issue #611 - extra arguments can now be added to the constructor
__init__
of a class inheriting fromFGFDMExec
. - Fixed issue #641 - the method
FGFDMExec.get_property_catalog()
no longer has arguments to match the signature of its C++ counterpart.
MATLAB S-function
- The documentation
matlab/README.md
for the MATLAB S-Function has been improved.- Added MacOS build instructions
- Documented the version of MSVC used to compile the JSBSim library
- Added MacOS compile line for MATLAB S-Function in the script
JSBSimSimulinkCompile.m
- Allow two engines
- Overrode script control through SFunction input
- Control input on scripts only when allowed
- Added XML script to config the I/O ports of s-function
- Added error handling and dynamic update of I/O ports
- Created optional second input for wind/turbulence
- Added read/write checks for nodes
- Weather input now loaded to JSBSim
- Updated simulink model
ex737cruise.slx
andex737cruise_io.xml
.
Aeromatic++
- Overhaul of the propeller code, the produced tables now matches published data quite close.
- Created a configuration file in metric units when the parameters are entered in metric units.
- Added the option to save the aerodynamics section and the external-force section into separate files.
Developer
- The Python module shall now be compiled with
setuptools>=60.0.0
- Migrating the front-end of the Python module build process from
setuptools
tobuild
(work in progress) - The Python source package now includes the Cython source code
jsbsim.pyx
instead of the Cython outputjsbsim.cxx
. This allows having consistent input data if the local version of Cython is different than the one used by JSBSim while building the source package. - Added an
.editorconfig
file to set coding conventions for editors. - Progress has been made on the migration from
distutils
tosetuptools
(still work in progress). - The JSBSim library can now be built as a DLL on Windows.
- JSBSim now builds and uses libexpat 2.4.8 (unless explicitely requested to use the system
libexpat
library).
v1.1.11
JSBSim version 1.1.11
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 with the command
pip install jsbsim
orpip install --upgrade jsbsim
when JSBSim is already installed on your system. - Conda packages are available from conda-forge. 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). 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 installerJSBSim-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
andGetOutputPath
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++ counterpartFGFDMExec::SetRootDir
. - All JSBSim exceptions now inherit from
JSBSim::BaseException
. There still existstd::string
exceptions thrown by JSBSim. Cleanup is still in progress. - JSBSim no longer calls
exit()
orabort()
. 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 tosetuptools
has been started. There are still a number ofdistutils
features which have no equivalent tosetuptools
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.
v1.1.10
JSBSim version 1.1.10
Release files
Binary files
- Windows 64 bits
JSBSim-1.1.10-setup.exe
(Windows installer)
- Ubuntu Bionic 18.04 and Focal 20.04 - amd64
*.deb
(Debian packages)
Python module
Release 1.1.10
supports Python 3.6 and higher
- Python wheel packages can be installed from PyPI with the command
pip install jsbsim
orpip install --upgrade jsbsim
when JSBSim is already installed on your system. - Conda packages are available from conda-forge. To install this package with conda run:
conda install -c conda-forge jsbsim
Changelog
User
- Added the Matlab example files (
TestJSBSim.m
andex737cruise.slx
) in the Windows installerJSBSim-1.1.10-setup.exe
to allow the user testing the S-Function once it is built. - Provide Python package for Python 3.10
- Fixed an error where JSBSim could not autodetect the location of the bundled aircraft data (issue #337)
Developer
- The XML validation schema for scripts has been updated. All scripts are now validated against this schema when a GitHub Action is triggered.
v1.1.9
JSBSim version 1.1.9
Release files
Binary files
- Windows 64 bits
JSBSim-1.1.9-setup.exe
(Windows installer)
- Ubuntu Bionic 18.04 and Focal 20.04 - amd64
*.deb
(Debian packages)
Python module
Release 1.1.9
supports Python 3.6 and higher
- Python wheel packages can be installed from PyPI with the command
pip install jsbsim
orpip install --upgrade jsbsim
when JSBSim is already installed on your system. - Conda packages are available from conda-forge. To install this package with conda run:
conda install -c conda-forge jsbsim
Changelog
User
- Fixed an error which prevented the equatorial and polar radii from
<planet>
to be propagated to the initial conditions. - The header files needed to build the Matlab S-Function are now included in the Windows installer (issue #491).
- The planet radii in
<planet>
can now be specified by the tags<equatorial_radius>
and<polar_radius>
which are more self explanatory than<semimajor_axis>
and<semiminor_axis>
(which are still valid). - The support of Ubuntu Xenial 16.04 has been dropped: JSBSim packages for this version of Ubuntu are no longer released.
- Improved the error messages returned by
FGTable
: the file name and line number where the error occurred are now printed. - Check the number of
<input>
tags for flight controls such as<pure_gain>
(issue #497). This avoids a crash when some or all<input>
elements are missing. - JSBSim now accepts 2 sign conventions for the cross product inertia (
xy
,xz
,yz
) in<mass_balance>
(see PR #502). The sign convention is specified by the parameternegated_crossproduct_inertia
which defaults totrue
for backward compatibility. - The attribute
negated_crossproduct_inertia
is now specified in the JSBSim models that are using non zero cross product inertia. - Turbine engines can now windmill even before they start (issue #494 and PR #509).
- Fixed a sign error in the computation of
aero/h_b-mac-ft
(PR #508 ) - Example scripts and aircraft data (as well as their engines and systems) are now included in the Python wheels (issue #337). They can be accessed from the Python module using the new function
jsbsim.get_default_root_dir()
.
Developer
- Added a regression test for the
<planet>
feature. - Expanded the unit test of
FGTable
. It now checks:- Initialization from XML
- Table names using the prefix
#
- 3D tables
- Error handling.
- Fixed a bug where
FGTable
instances were not untied from the property manager during their destruction. This could lead to segmentation faults when the property manager was later destroyed. - Exceptions raised by
FGTable
are now instances of theTableException
class. - A minimum Python version is now specified for the binary wheels (currently 3.6 or higher).
- The Python script
setup.py
is no longer changing the current directory. - The flag
INSTALL_PYTHON_MODULE
has been renamedINSTALL_JSBSIM_PYTHON_MODULE
. The former being too generic, this avois potential name clashes with other modules. - Two new scripts have been added in the
admin
folder:XML_mass_update.py
which allows automatically updating selected XML files in the aircraft data. It has avoided manual updates for the aircraft models which have been updated with the new XML attributenegated_crossproduct_inertia
.prepare_test_release.sh
which modifies JSBSim to dry run a test release0.99.xx
to be published to TestPyPI
v1.1.8
JSBSim version 1.1.8
Release files
- Windows 64 bits
JSBSim-1.1.8-setup.exe
(Windows installer)
- Ubuntu Xenial 16.04, Bionic 18.04 or Focal 20.04 - amd64
*.deb
(Debian packages)
- Python wheel packages can be installed from PyPI with the command
pip install jsbsim
orpip install --upgrade jsbsim
when JSBSim is already installed on your system. - Conda packages are available from conda-forge. To install this package with conda run:
conda install -c conda-forge jsbsim
Changelog
User
- Add an interface to Matlab (PR #445)
- Fix a bug in
<linear_actuator>
that resulted in erroneous output values when oscillating around the zero value (issue #485) - Update the Windows installer to distribute the files needed to build the interface with Matlab
Developer
- Improve test coverage for
FGQuaternion
- Restore automatic deployment of the wheels for Python 3.9
- Deployment now need the build for MinGW32 to succeed
- Add a unit test for
FGPropertyValue
andFGTable
- Add an
assert
that forbids to set the value ofFGPropertyValue
when the property was specified with a minus sign - Add a regression test for issue #485
- Expand the message of the exception that is raised when not providing a value or a property to
FGParameterValue
.
v1.1.7
JSBSim version 1.1.7
Release files
- Windows 64 bits
JSBSim-1.1.7-setup.exe
(Windows installer)
- Ubuntu Xenial 16.04, Bionic 18.04 or Focal 20.04 - amd64
*.deb
(Debian packages)
- Python wheel packages can be installed from PyPI with the command
pip install jsbsim
orpip install --upgrade jsbsim
when JSBSim is already installed on your system. - Conda packages are available from conda-forge. To install this package with conda run:
conda install -c conda-forge jsbsim
Changelog
User
- Mass flows can now be specified using SI unit (kg/s)
- Fixes issues where propellers were reported:
- to generate high torques while being motionless or,
- to unexpectedly spin in mild wind conditions.
- [Python] The methods
load_ic
andload_script
now raise aFileNotFoundError
exception when called on non existing files. This avoids the Python interpreter being killed when specifying a wrong path (or filename) to these methods. - Adds a new property
propulsion/fuel_freeze
to freeze fuel consumption (PR #462). This can be used for simulations that require the aircraft mass to remain constant. - Adds a new flag
DONT_EXECUTE_RUN_IC
that can be specified toFGFDMExec::ResetToInitialConditions
(PR #466). When specified, this flag avoid callingFGFDMExec::RunIC
whenFGFDMExec::ResetToInitialConditions
is executed. - Fixes an error in the F-15 model where the kinematic element was not connected to the elevator position (PR #471)
Aeromatic++
- Fixes lift curves for delta wings (issue #436 / PR #450)
- Samples input files are now provided for
aeromatic++
in the folderutils/aeromatic++/samples/
(PR #453)- These sample files are distributed with the Windows installer
JSBSim-1.1.7-setup.exe
- These sample files are distributed with the Windows installer
- Fixes a bug which avoided engine data to be generated (issue #436 / PR #458)
Developer
- [Python] Both signatures of
FGFDMExec.load_ic
are now tested. - Improves the release message
- Uses GitHub default TOC (table of contents) for Markdown documentation rather than providing our own (ugly) one.
- Avoids building JSBSim with Python 3.10 since this new version of the language will not be released until October 2021.
Release v1.1.6
JSBSim version 1.1.6
Release files
- Windows 64 bits
JSBSim-1.1.6-setup.exe
(Windows installer)
- Ubuntu Xenial 16.04, Bionic 18.04 or Focal 20.04 - amd64
*.deb
(Debian packages)
- Python wheel packages can be installed from PyPI with the command
pip install jsbsim
orpip install --upgrade jsbsim
when JSBSim is already installed on your system. - Conda packages are available from conda-forge. To install this package with conda run:
conda install -c conda-forge jsbsim
Changelog
User
- New properties
propeller-power-ftlbps
,propeller-torque-ftlb
andpropeller-sense
for Propeller power, torque, and sense (PR #394) - Fixes segmentation faults, a delta-wing Lift_alpha and Drag_alpha problem in
aeromatic++
(issue #400)