Releases: Fraunhofer-AISEC/cpg
Releases · Fraunhofer-AISEC/cpg
4.0.0-beta.1
3.5.1
3.5.0
3.4.1
Bug Fixes
This release fixes a major bug (#387) accidentally introduced by #350 and fixed by #388. We decided to release this immediately with a cherry-picked commit instead of releasing it alongside other commits, since we upgraded CDT in the meantime to 10.2 and we will reserve that for a 3.5.0 release.
3.4.0
3.3.1
Bux Fixes
- Fixes for Analysis of Java files takes much longer with possible timeout
3.3.0
Please not that there is a bug in this version that causes the cpg to run into a dead-lock into certain circumstances (see #304). Please consider using the 3.3.1 hotfix instead.
Graph Changes
Added
operatorCode
as property toMemberExpression
.
Bux Fixes
- Fixes for Java static calls by properly parsing member call expressions.
- Fixing some minor issues with fields
- Support implicit annotation style in Java by implementing single member annotations in Java
3.2.0
Graph Changes
Added
- Property
INDEX
for edges part of a list to preserve information where ordering has semantic or syntactic information - Property
BRANCH
for edges part of the Evaluation Order GraphEOG
where a condition evaluation leads to a branch. The value represents the result of the evaluation:true
orfalse
.
API Changes
Added
- For Backward compatibility all functions that previously returned Nodes, e.g.
getParameters()
now unwrap the node on the Property Edge on the other side of the Edge that was previously member of the list. Instead function were added that return the List of ofgetParametersPropertyEdge()
, e.g.get
to allow access to the in-memory representation of the PropertyEdge-feature.
3.1.0
3.0.0
Graph Changes
Changed
- A definition edge for fields as not only methods can have definitions and declarations.
API Changes
Changed
- Moving Declarations to
.graph.declarations
, statements to.graph.statements
and expressions to.graph.statement.expressions
for easier overview of the whole CPG structure. - Introduces a new configuration options for so called "unity" builds, combine all translation units together into one to reduce the amount of headers that need to be processed.
- Adds a
DefinitionHolder
Interface for Nodes to implement that then have to customize where Declarations are added overaddDeclaration
.