Changelog ========= .. See https://keepachangelog.com/en/1.0.0/ for a helpful reference. next **** `v0.7.0`_ - 2022-11-02 ********************** `Compare to v0.6.0 `_. Added ~~~~~ - Add limited support for LLVM 15 and nightly (16). - Add support for ``fadd``, ``fsub``, ``fmin``, ``fmax`` atomic operations to the FactGenerator and Datalog. Changed ~~~~~~~ - Changed look and feel of the documentation. - Refactorings and small improvements to the FactGenerator. - The FactGenerator fails more aggressively on malformed LLVM modules. Removed ~~~~~~~ - Removed C pre-processor directives concerning LLVM versions less than 10. This may cause failures to build against very old versions of LLVM that were never officially supported. `v0.6.0`_ - 2022-10-27 ********************** `Compare to v0.5.0 `_. Changed ~~~~~~~ - cclyzer++ now builds against LLVM 14. See :doc:`build` for how to build against other versions of LLVM. - Considerable documentation improvements. - The Docker images now use Ubuntu 22.04. - Release artifacts are now built with optimizations. Removed ~~~~~~~ - Removed handling of function attributes in Datalog and FactGenerator code. `v0.5.0`_ - 2022-10-21 ********************** `Compare to v0.4.0 `_. Changed ~~~~~~~ - cclyzer++ now builds against (and requires) LLVM 11. It can still be built from source against LLVM 10, but the Debian package and Docker images all use LLVM 11 (see also `#98`_). Fixed ~~~~~ - The Debian package now correctly lists its dependencies `v0.4.0`_ - 2022-10-21 ********************** `Compare to v0.3 `_. Changed ~~~~~~~ - Improved type-safety in the Datalog code. - Several relations were renamed for the sake of consistency between the FactGenerator and the analysis code (Datalog). Removed ~~~~~~~ - Removed the unused ``subset-and-unification`` build target. - Removed the instantiations of the ``ThrowInstruction`` component in both analyses. - Removed a few extraneous relations. `v0.3`_ - 2022-10-12 ******************** `Compare to v0.2 `_. Added ~~~~~ - Added infrastructure for packaging for Debian with CMake and FPM. - Added a new script that helps developers track down regressions, see ``scripts/run.py``. Changed ~~~~~~~ - Many relations were renamed for the sake of consistency between the FactGenerator and the analysis code (Datalog). - The repo was reorganized a bit, several files moved out of the top-level directory. - Tests were reorganized and cleaned up. Fixed ~~~~~ - Fixed bug that led to incorrect callgraphs in the presence of indirect calls (`#69`_). `v0.2`_ - 2022-10-07 ******************** `Compare to v0.1 `_. Added ~~~~~ - Aspirational developer documentation on naming conventions. - Linting with Mypy in CI. Changed ~~~~~~~ - Many relations were renamed for the sake of consistency between the FactGenerator and the analysis code (Datalog). - Removed superfluous use of records in instruction schemata. Removed ~~~~~~~ - FactGenerator no longer processes debug information. Known Issues ~~~~~~~~~~~~ - May generate incorrect callgraphs in the presence of indirect calls, see `#69`_. Fixed in `v0.3`_. `v0.1`_ - 2022-10-04 ******************** First release! Known Issues ~~~~~~~~~~~~ - May generate incorrect callgraphs in the presence of indirect calls, see `#69`_. Fixed in `v0.3`_. .. _v0.1: https://github.com/GaloisInc/cclyzerpp/releases/tag/v0.1 .. _v0.2: https://github.com/GaloisInc/cclyzerpp/releases/tag/v0.2 .. _v0.3: https://github.com/GaloisInc/cclyzerpp/releases/tag/v0.3 .. _v0.4.0: https://github.com/GaloisInc/cclyzerpp/releases/tag/v0.4.0 .. _v0.5.0: https://github.com/GaloisInc/cclyzerpp/releases/tag/v0.5.0 .. _v0.6.0: https://github.com/GaloisInc/cclyzerpp/releases/tag/v0.6.0 .. _v0.7.0: https://github.com/GaloisInc/cclyzerpp/releases/tag/v0.7.0 .. _#69: https://github.com/GaloisInc/cclyzerpp/issues/69 .. _#98: https://github.com/GaloisInc/cclyzerpp/issues/98