AFSIM 2.9 - 25 Feb 2022

Visit the AFSIM 2.9 Release Page on DI2E (Access Controlled) for more information and resources related to this release.

Release Dates

  • AFSIM 2.9.0 - 25 Feb 2022

Security Updates

  • Corrected several buffer and integer overflow issues identified by Fortify static code analysis as being high severity.

  • Corrected several type mismatch (signed to unsigned) issues throughout the codebase identified by Fortify static code analysis as being high severity, fully resolving this category of issues.

  • Addressed multiple security vulnerabilities in the following third party libraries: (AFSIM-1817)
    • Curl: CVE-2020-8285, CVE-2020-8286, CVE-2021-22876, CVE-2021-22890, CVE-2020-8284

    • Libtiff: CVE-2020-35524, CVE-2020-35523, CVE-2020-35522, CVE-2020-35521

    • Jpeg: CVE-2020-14152, CVE-2020-14153

    • FFmpeg: CVE-2019-15942, CVE-2020-14212, Multiple “Denial of Service” and “Buffer Overflow” CVEs (AFSIM-1404)

    • Qt: CVE-2020-17507

  • Corrected a memory leak in the kinematic trajectory model of WSF_TSPI_MOVER.

  • Corrected a potential memory leak that could occur in certain conditions when using a route_network.

Development Updates

  • The myst-parser Python package is a new requirement for generating documentation. The Python package requirements have been combined into a top-level requirements.txt file for convenient and consistent installation. This file may be used with a command such as:

    pip install --user --requirement requirements.txt

  • Updated the following third party libraries to address security vulnerabilities and access new features: SDL from 2.0.14 to 2.0.16, Curl from 7.71.1 to 7.79.1, Libtiff from 4.1.0 to 4.3.0, JPEG from 9b to 9d, FFMPEG from 4.2.1 to 4.2.4, GDAL from 3.0.4 to 3.3.2, Qt from 5.12.9 to 5.12.11, and Proj from 7.0.0 to 8.1.1. See Security Updates for more information. (AFSIM-1817)

  • Changed default value for PROMOTE_HARDWARE_EXCEPTIONS CMake flag to true. Plugins must be compiled with the same value as the host application was compiled with. (AFSIM-1640, AFSIM-1616)

  • Modified CMake configuration, for versions 3.13 and higher, so that Visual Studio user files will not be automatically overwritten. The macro write_vcproj_user was renamed to create_vs_debug_env. (AFSIM-2387)

  • Add new type-safe coordinate vector classes for each of the major coordinate frames. These new classes are available in the ut::coords namespace. They currently have a deprecated implicit conversion to UtVec3<T>, the legacy non-coordinate-specific vector class. This will be removed in a future release, leaving only an explicit conversion. (AFSIM-1177)

  • Added convenience macros for C++14, C++17, and C++20 compiler attributes to UtCompilerAttributes.hpp.

  • Added ut::stacktrace as a stand-in for C++23’s std::stacktrace. (AFSIM-1732)

  • The remaining *.hxx and *.cxx files in util were renamed to *.hpp and *.cpp for consistency with coding standards. The old *.hxx headers are deprecated and will be removed in a future release. In the meantime compatibility stubs are provided which emit a message (Visual Studio) or warning (GCC). (AFSIM-2395)

  • Newer versions of Sphinx, including 3.x and 4.x, are now supported for building documentation. Sphinx 2.1 remains the minimum supported version. (AFSIM-1343)

Changelogs