Clade

Latest version: v4.1

Safety actively analyzes 613682 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 10

4.1

This release is not compatible with the previous one, as there are some changes in the internal data format.

Changes:
* Add support for `Python 3.12`. Drop support for `Python 3.8`
* Fix performance issues introduced with `Clade 4.0`, which included excessive RAM usage and slow operation on large projects
* Fix `CIF` errors which were reported by `Info` extension on recent version of the `Linux kernel`
* Reduce the size of files generated by `Info` extension
* Improve accuracy of `CmdGraph` extension on selected projects
* Multiple improvements in the `clade-trace` and `clade-file-graph` visualization scripts
* Add more documentation
* Replace `ujson` with `orjson` to speed up internal data operations
* Miscellaneous fixes and improvements

Changes to the internal data format include:
* Storing command identifiers as integers (they were strings before)
* Storing line numbers as integers (they were strings before)
* Changing the way `Callgraph`, `Functions`, `Macros`, `CallsByPtr`, `UsedIn` store their data

4.0.4

Changes:
* Always choose shortest possible path in `get_canonical_path()`

4.0.3

Changes:
* Add `get_canonical_path()` method to the public API
* Support deleted files in `LN`

4.0.2

Changes:
* Return `base_print` configuration preset, to keep Clade backwards compatible. Functionally, it is now equivalent to the `base` preset

4.0.1

Changes:
* Introduce `clade-file-graph` script to create a file graph (using Graphviz) based on input and output of intercepted commands. The nodes of the graph can be filtered using several command line options
* Introduce `clade-pid-graph` script to create a pid graph based on ids and parent ids of intercepted commands. Previously this functionality was available through `PidGraph.as_picture` configuration option
* Fix an issue with printing .pdf files that visualise large `LN` commands
* Add `-mcpu` to the list of options supported by CIF
* Add ability to extend list of options supported by CIF via configuration
* Remove `base_print` configuration preset.
* Small speed optimisations

4.0

Changes:

* Significantly improve accuracy of `SrcGraph`. Previously, for each source file there was a list of commands in which it was compiled, and a list of file in which it was indirectly used ("used by" list). Now there are multiple "used_by" lists, one for each command, in which the file is compiled. It was wrong to combine them, because the exact content of a source file depends on compilation options.
* Significantly improve accuracy of `Callgraph`. Previously, there was a bunch of heuristics that tried to match function calls and definitions. Now they are replaced by more strict rules, and with changes to the 'SrcGraph' and `Info` extensions, `Callgraph` now produces far better results, with fewer errors and mismatches.
* Add `Alternatives` extension (short from "alternative paths"), which is responsible for parsing build commands that create "identical" file copies: ln, cp, install, etc. It provides an API for the following things:
* getting all known alternative paths for a given file: all its symlinks, copies and hard links.
* getting a canonical representation for a given path, which will be the same for all identical files.
* All paths in Clade are replaced by their canonical versions, obtained through `Alternatives` extension.
* Add `Install` extension (/usr/bin/install).
* Report total number of failed commands in `Info`.
* `CmdGraph` is a bit faster now.
* Add support for GCC linker commands.
* Improve option parsing for all `Linker` commands.
* Decrease number of temporary files stored by `Info` extension.
* Improve error reporting for `Functions`, `Callgraph`, `CrossRef`.
* Other small changes and improvements.

This release is not compatible with the previous one, as there are some changes in the internal data format.

Page 1 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.