Releases: 17451k/clade
Releases · 17451k/clade
v4.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 forPython 3.7
- 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 byInfo
extension on recent version of theLinux kernel
- Reduce the size of files generated by
Info
extension - Improve accuracy of
CmdGraph
extension on selected projects - Multiple improvements in the
clade-trace
andclade-file-graph
visualization scripts - Add more documentation
- Replace
ujson
withorjson
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
v4.0.4
v4.0.3
v4.0.2
v4.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 throughPidGraph.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
v4.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' andInfo
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.
v3.6.1
- Support Python 3.11. Since
cchardet
is no longer maintained and broken, it was replaced withcharset_normalizer
. Benefits: pure Python, same speed, more accurate - Add extension for parsing
ln
commands - Handle possible symlinks to
.h
and.c
files inSrcGraph
- Minor fixes and improvements
v3.6
v3.5.1
v3.5
Changes:
- Better track progress for various time-consuming tasks at Clade
- Remove duplicate entries in dependencies lists of CC commands
- Handle permission errors which can happen if you have antivirus software
- Remove warning for incompatible working directory if it is empty
- Handle relative paths to the CC compilers
- Add ability to write custom aspect files for your projects (INFO extension)
This release is not compatible with the previous one, there are some changes in the internal data format.