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
CIFerrors which were reported byInfoextension on recent version of theLinux kernel - Reduce the size of files generated by
Infoextension - Improve accuracy of
CmdGraphextension on selected projects - Multiple improvements in the
clade-traceandclade-file-graphvisualization scripts - Add more documentation
- Replace
ujsonwithorjsonto 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,UsedInstore their data
v4.0.4
v4.0.3
v4.0.2
v4.0.1
Changes:
- Introduce
clade-file-graphscript 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-graphscript to create a pid graph based on ids and parent ids of intercepted commands. Previously this functionality was available throughPidGraph.as_pictureconfiguration option - Fix an issue with printing .pdf files that visualise large
LNcommands - Add
-mcputo the list of options supported by CIF - Add ability to extend list of options supported by CIF via configuration
- Remove
base_printconfiguration 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' andInfoextensions,Callgraphnow produces far better results, with fewer errors and mismatches. - Add
Alternativesextension (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
Alternativesextension. - Add
Installextension (/usr/bin/install). - Report total number of failed commands in
Info. CmdGraphis a bit faster now.- Add support for GCC linker commands.
- Improve option parsing for all
Linkercommands. - Decrease number of temporary files stored by
Infoextension. - 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
cchardetis no longer maintained and broken, it was replaced withcharset_normalizer. Benefits: pure Python, same speed, more accurate - Add extension for parsing
lncommands - Handle possible symlinks to
.hand.cfiles 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.