Releases: Fraunhofer-AISEC/cpg
Releases · Fraunhofer-AISEC/cpg
8.3.0
What's Changed
- Only propagate type updates in a
Reference
from FULL previous DFG nodes by @oxisto in #1554 - Update dependency org.mockito:mockito-core to v5.12.0 by @renovate in #1556
- Model values of Enum entries in Java with constructor call by @KuechA in #1552
- Java frontend: Handle multi-field-declaration statements by @KuechA in #1558
- Initial implementation for symbols and imports by @oxisto in #1536
- Update kotlin monorepo to v2 (major) by @renovate in #1563
- Filter eogstarters which do not start the eog by @KuechA in #1560
- Optimising tests by @oxisto in #1565
- Update dependency @types/node to v20.13.0 by @renovate in #1569
- Update dependency gradle to v8.8 by @renovate in #1570
- Cleanup of
SubgraphWalker
by @oxisto in #1571 - Update dependency @types/node to v20.14.0 by @renovate in #1572
- Update dependency com.github.javaparser:javaparser-symbol-solver-core to v3.26.0 by @renovate in #1574
- Update dependency rollup to v4.18.0 by @renovate in #1567
- Update jitpack.yml by @oxisto in #1575
- Trying to fix switch EOG by @oxisto in #1573
- Update dependency @rollup/plugin-commonjs to v26 by @renovate in #1582
- Better implementation of
WrapState
(and rename toTypeOperations
) by @oxisto in #1577 - Parsing
CPPASTLinkageSpecification
by @oxisto in #1579 - Bugfix/annotations and Missing Enums by @konradweiss in #1585
Full Changelog: v8.2.0...v8.3.0
8.2.0
What's Changed
- Only follow full DFG flow in
followNextDFGEdgesUntilHit
and similar by @oxisto in #1473 - Fixing record inference and making
SymbolResolver
deterministic again by @oxisto in #1476 - Docs fixes by @MariusAlbrecht in #1478
- Fix index out of bounds in
hasSignature
by @KuechA in #1493 - Update CODEOWNERS by @oxisto in #1501
- Fixes incorrect field resolution in base classes by @oxisto in #1490
- Improved stability of
isDerivedFrom
decisions by @oxisto in #1488 - Extracted call/cast replacement into separate pass by @oxisto in #1499
- Fix style of docs by @KuechA in #1504
- Extracting connecting declarations and definitions in C++ to extra pass by @oxisto in #1505
- Python: Add BoolOp and + or by @maximiliankaul in #1509
- Handle
ForLoop
incyclomaticComplexity
by @KuechA in #1512 - Remove confusing warning in compound assignments by @KuechA in #1511
- Fixing javaparser resultion error by @konradweiss in #1510
- Extension to the documentation for extractScope by @konradweiss in #1516
- Introduction of concepts for next-generation call resolving by @oxisto in #1496
- Fix output of pass ordering and dependencies by @KuechA in #1518
- Fixing placement of inferred record declarations by @oxisto in #1515
- Move
de.fraunhofer.aisec.cpg.passes.order
tode.fraunhofer.aisec.cpg.passes.executionConfiguration
by @KuechA in #1517 - Replace console tests with FluentDSL by @KuechA in #1519
- Use the max complexity config for ControlFlowSensitiveDFGPass in neoj and console by @KuechA in #1514
- Improvements in compilation database parsing by @oxisto in #1494
- Ignore Type resolution error when resolving super types through
javaparser
by @konradweiss in #1520 - Some cleanup after next-generation call resolving by @oxisto in #1523
- Take operator into account when evaluating conditional expressions by @oxisto in #1528
- Adjusting
HasType
type once a language changes by @oxisto in #1526 - Rename fluent-DSL
ase
tosubscriptExpr
by @KuechA in #1529 - Adding soft from DynamicInvokeResolver to ControlFlowSensitiveDFGPass by @konradweiss in #1532
- Bullet points in docs of shortcut API by @KuechA in #1544
- Implement ast.Subscript and ast.Slice by @maximiliankaul in #1545
- C++ translation improvements by @oxisto in #1482
- Handle more python expressions by @KuechA in #1547
- Update dependency rollup to v4.17.2 by @renovate in #1549
- Adding some nodes to the AST subtree that prob should be there by @konradweiss in #1550
- Resolve cast ambiguity in C++ frontend by @oxisto in #1551
Dependency Updates
- Update dependency gradle to v8.7 by @renovate in #1471
- Update sonarqube to v5 (major) by @renovate in #1477
- Update dependency @types/node to v20.12.2 by @renovate in #1485
- Update dependency rollup to v4.14.0 by @renovate in #1500
- Update dependency io.github.gradle-nexus:publish-plugin to v2 by @renovate in #1506
- Update dependency com.ibm.icu:icu4j to v75 by @renovate in #1537
- Update dependency rollup to v4.16.0 by @renovate in #1538
- Update dependency org.jline:jline to v3.26.0 by @renovate in #1543
New Contributors
- @MariusAlbrecht made their first contribution in #1478
Full Changelog: v8.1.2...v8.2.0
8.1.2
Full Changelog: v8.1.2...v8.1.2
What's Changed
- Update dependency org.mockito:mockito-core to v5.11.0 by @renovate in #1443
- Fixes to type propagation of arithmetic expressions by @robinmaisch in #1449
- Update softprops/action-gh-release action to v2 by @renovate in #1452
- Update dependency org.eclipse.platform:org.eclipse.core.runtime to v3.31.0 by @renovate in #1454
- Update dependency rollup to v4.13.0 by @renovate in #1456
- Several small fixes to the Schema to JSON printing by @konradweiss in #1457
- Add members, methods and imports to EnumDeclarations by @robinmaisch in #1450
- Update dependency com.fasterxml.jackson.module:jackson-module-kotlin to v2.17.0 by @renovate in #1460
- Introduce
simpleAssignmentOperators
inLanguage
by @oxisto in #1464 - Disabling TypeScript builds on JitPack by @oxisto in #1465
- Enable using function summaries to get more precise and custom DFG edges for inferred functions. by @KuechA in #1430
- Using
libgoast
instead of manually compiling the Go library by @oxisto in #1466 - Neo4J OGM fixes by @oxisto in #1467
- Added SECURITY.md by @oxisto in #1470
- Use currentClass for implicit this by @konradweiss in #1468
- Adds pass dependencies for
EdgeCachePass
by @fwendland in #1469
New Contributors
- @robinmaisch made their first contribution in #1449
Full Changelog: v8.1.1...v8.1.2
8.1.1
8.1.0
What's Changed
- Update dependency org.mockito:mockito-core to v5.8.0 by @renovate in #1389
- Update dependency org.eclipse.platform:org.eclipse.core.runtime to v3.30.0 by @renovate in #1390
- Update actions/setup-go action to v5 by @renovate in #1391
- Simplifying signature checks in the
SymbolResolver
by @KuechA in #1379 - Fixed issue with EOG starter passes by @oxisto in #1393
- Update dependency net.java.dev.jna:jna to v5.14.0 by @renovate in #1395
- Update dependency rollup to v4.8.0 by @renovate in #1394
- Update dependency com.ibm.icu:icu4j to v74.2 by @renovate in #1396
- Update dependency rollup to v4.9.0 by @renovate in #1397
- Update actions/download-artifact action to v4 by @renovate in #1398
- Update dependency black.ninia:jep to v4.2.0 by @renovate in #1399
- Fixes to PDG/CDG by @oxisto in #1401
- Update actions/setup-python action to v5 by @renovate in #1392
- Clarifying setting location and code in the Node builders by @oxisto in #1404
- Added
registerReplacement
toScopedWalker
by @oxisto in #1403 - Make sure that ambuigity in unary/binary op is really a unary operator by @oxisto in #1406
- Update dependency @types/node to v20.11.0 by @renovate in #1409
- Update dependency org.mockito:mockito-core to v5.9.0 by @renovate in #1412
- Spring cleaning compiler warnings by @KuechA in #1410
- Code and location from children by @konradweiss in #1411
- Better design of the
CodeAndLocationProvider
by @oxisto in #1414 - fix import of language frontends in kotlin script by @peckto in #1416
- Add Ruby language frontend to cpg-neo4j application by @peckto in #1417
- Update actions/cache action to v4 by @renovate in #1415
- Restoring Comment Matcher Functionality by @maximiliankaul in #1388
- Update dependency org.mockito:mockito-core to v5.10.0 by @renovate in #1420
- Make custom pass list option independent of default passes by @peckto in #1418
- Update spotless to v6.25.0 by @renovate in #1413
- Synchronize adding TUs by @KuechA in #1423
- Add qce paper to gh page by @KuechA in #1424
- fix import of language frontends in kotlin script by @peckto in #1425
- Update dependency gradle to v8.6 by @renovate in #1427
- Several improvements and cleanups to the
Inference
system by @oxisto in #1407 - Update module golang.org/x/mod to v0.15.0 by @renovate in #1428
- Update dependency rollup to v4.10.0 by @renovate in #1431
- Cleaning up comment parsing and matching by @konradweiss in #1429
- Feature/automated graph doc by @konradweiss in #1171
- Fixed class cast exception in
createImplicitThis
by @oxisto in #1433 - Update dependency rollup to v4.11.0 by @renovate in #1436
- Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.8.0 by @renovate in #1435
- Trying to parse character literals in C/C++ by @oxisto in #1434
- Update dependency rollup to v4.12.0 by @renovate in #1437
- Adding specific classes for property edges, such as
Dataflow
by @oxisto in #1438 - Update log4j2 monorepo to v2.23.0 by @renovate in #1440
- Partial data flows of
MemberExpression
nodes from/to their base by @oxisto in #1421 - Using Node 20 by @oxisto in #1441
- Update dependency typescript to v5.4.2 by @renovate in #1447
- Update module golang.org/x/mod to v0.16.0 by @renovate in #1446
- More improvements to the Go frontend by @oxisto in #1331
Full Changelog: v8.0.0...v8.1.0
8.0.0
What's Changed
- Improvements to EOG iteration and more applications by @KuechA in #1135
- Add generic parameters for
LanguageFrontend
by @oxisto in #1236 - Update dependency @types/node to v18 by @renovate in #1255
- Type system / manager overhaul by @oxisto in #1199
- Change DFG to use PropertyEdges by @seelchen in #1233
- Update dependency rollup to v3.27.0 by @renovate in #1267
- Use assign expressions in LLVM frontend by @KuechA in #1265
- New Go language frontend by @oxisto in #1249
- Update dependency org.apache.commons:commons-lang3 to v3.13.0 by @renovate in #1266
- Add Program Dependence Graph by @seelchen in #1227
- Readme updates by @KuechA in #1273
- Overhaul of type propagation by @oxisto in #1268
- Trying to reduce loops in
equals
by @oxisto in #1274 - Using
IdentityHashSet
in EOG pass to remove superfluous EOG nodes by @oxisto in #1275 - Update dependency rollup to v3.28.0 by @renovate in #1278
- Execute
TypeResolver
beforeVariableUsageResolver
by @oxisto in #1277 - Update plugin node to v6 by @renovate in #1280
- Update dependency @rollup/plugin-node-resolve to v15.2.0 by @renovate in #1281
- Update plugin node to v7 by @renovate in #1284
- Update dependency gradle to v8.3 by @renovate in #1283
- Update dependency org.mockito:mockito-core to v5.5.0 by @renovate in #1286
- Update dependency typescript to v5.2.2 by @renovate in #1291
- Added
TupleDeclaration
by @oxisto in #1285 - Fixed rather intricate bug in property edge list by @oxisto in #1292
- More precise types in arithmetic evaluation by @oxisto in #1290
- Add more documentation of value evaluation by @KuechA in #1302
- Only store one single unique
Type
nodes for each type by @oxisto in #1304 - Update spotless to v6.21.0 by @renovate in #1307
- Smaller fixes in logging and utils by @oxisto in #1288
- Copy objects less frequently by @KuechA in #1279
- Improved scope handling in
ScopedWalker
by @oxisto in #1308 - Update org.jetbrains.dokka to v1.9.0 by @renovate in #1310
- Update dependency org.jetbrains.dokka:versioning-plugin to v1.9.0 by @renovate in #1309
- Update sonarqube to v4.3.1.3277 by @renovate in #1312
- Remove unused file by @KuechA in #1314
- Update dependency rollup to v3.29.0 by @renovate in #1316
- Renaming nodes to be shorter and more consistent by @konradweiss in #1303
- Update dependency org.eclipse.platform:org.eclipse.core.runtime to v3.29.0 by @renovate in #1318
- Update actions/checkout action to v4 by @renovate in #1313
- Use FluentDSL in analysis module by @KuechA in #1311
- Improvements of Go language frontend by @oxisto in #1276
- Update dependency @types/node to v18.18.0 by @renovate in #1320
- Update sonarqube to v4.4.0.3356 by @renovate in #1321
- Update spotless to v6.22.0 by @renovate in #1322
- Update dependency commons-io:commons-io to v2.14.0 by @renovate in #1325
- Update dependency gradle to v8.4 by @renovate in #1326
- Update dependency org.mockito:mockito-core to v5.6.0 by @renovate in #1329
- Symbol resolver with EOG power by @oxisto in #1315
- Update module golang.org/x/mod to v0.13.0 by @renovate in #1327
- Added missing EOG changes for variable declaration by @oxisto in #1330
- Update log4j to v2.21.0 by @renovate in #1335
- Update README.md by @oxisto in #1336
- Update README.md by @oxisto in #1337
- Support for
<<
,>>
and|
,&
,^
inValueEvaluator
andBinaryOperation
by @oxisto in #1333 - Caching symbols on symbol resolution by @oxisto in #1334
- Removed neo4j-ogm bundle dependency by @oxisto in #1340
- Removed SonarQube warnings by @oxisto in #1341
- Initial implementation of a ruby language frontend by @oxisto in #1338
- Update actions/setup-node action to v4 by @renovate in #1342
- Update dependency @types/node to v20 by @renovate in #1343
- Update dependency org.jline:jline to v3.24.0 by @renovate in #1346
- Update dependency com.ibm.icu:icu4j to v74 by @renovate in #1348
- Update dependency org.mockito:mockito-core to v5.7.0 by @renovate in #1349
- Update dependency commons-io:commons-io to v2.15.0 by @renovate in #1345
- Update dependency rollup to v4 by @renovate in #1328
- Export cpg as json via Neo4j OGM by @peckto in #1215
- Update module golang.org/x/mod to v0.14.0 by @renovate in #1350
- Update dependency com.fasterxml.jackson.module:jackson-module-kotlin to v2.16.0 by @renovate in #1354
- Removed dependency org.jetbrains:annotations by @renovate in #1355
- Update log4j to v2.22.0 by @renovate in #1359
- Removed
parent
fromhashCode
ofScope
by @oxisto in #1353 - Improved
guessCastExpressions
in C++ frontend by @oxisto in #1357 - Moving
hasSignature
to language by @oxisto in #1360 - Update dependency org.apache.commons:commons-lang3 to v3.14.0 by @renovate in #1364
- Add some properties for specifying DFG edges more precisely by @KuechA in #1370
- Update dependency typescript to v5.3.2 by @renovate in #1358
- More open classes: CXXLanguageFrontend and ControlFlowSensitiveDFGPass by @KuechA in #1366
- Use
IdentitySet
andIdentityHashMap
in EOG iteration for CF-DFG to improve performance by @KuechA in #1369 - Performance improvements for CXX frontend by @oxisto in #1363
- Add fields to
Reference
s andVariableDeclaration
s by @KuechA in #1371 - Use comment matcher in CXX frontend by @KuechA in #1368
- Update dependency @types/node to v20.10.0 by @renovate in #1372
- Add NodeEntity to abstract node classes to get them persisted to neo4j by @konradweiss in #1374
- Update dependency rollup to v4.6.0 by @renovate in #1376
- Enable customization of the results of the query api by @KuechA in #1367
- Experimental support to run passes in parallel by @oxisto in #1365
- Update actions/setup-java action to v4 by @renovate in #1384
- Refactor some nodes to remove redundant nodes by @konradweiss in #1352
- Update dependency gradle to v8.5 by @renovate in #1383
- Implement
ScopeProvider
inPass
by @oxisto in #1385 - Refactor of cpg-language-python by @maximiliankaul in...
v8.0.0-alpha.2
What's Changed
- Improvements to EOG iteration and more applications by @KuechA in #1135
- Add generic parameters for
LanguageFrontend
by @oxisto in #1236 - Update dependency @types/node to v18 by @renovate in #1255
- Type system / manager overhaul by @oxisto in #1199
- Change DFG to use PropertyEdges by @seelchen in #1233
- Update dependency rollup to v3.27.0 by @renovate in #1267
- Use assign expressions in LLVM frontend by @KuechA in #1265
- New Go language frontend by @oxisto in #1249
- Update dependency org.apache.commons:commons-lang3 to v3.13.0 by @renovate in #1266
- Add Program Dependence Graph by @seelchen in #1227
- Readme updates by @KuechA in #1273
- Overhaul of type propagation by @oxisto in #1268
- Trying to reduce loops in
equals
by @oxisto in #1274 - Using
IdentityHashSet
in EOG pass to remove superfluous EOG nodes by @oxisto in #1275 - Update dependency rollup to v3.28.0 by @renovate in #1278
- Execute
TypeResolver
beforeVariableUsageResolver
by @oxisto in #1277 - Update plugin node to v6 by @renovate in #1280
- Update dependency @rollup/plugin-node-resolve to v15.2.0 by @renovate in #1281
- Update plugin node to v7 by @renovate in #1284
- Update dependency gradle to v8.3 by @renovate in #1283
- Update dependency org.mockito:mockito-core to v5.5.0 by @renovate in #1286
- Update dependency typescript to v5.2.2 by @renovate in #1291
- Added
TupleDeclaration
by @oxisto in #1285 - Fixed rather intricate bug in property edge list by @oxisto in #1292
- More precise types in arithmetic evaluation by @oxisto in #1290
- Add more documentation of value evaluation by @KuechA in #1302
- Only store one single unique
Type
nodes for each type by @oxisto in #1304 - Update spotless to v6.21.0 by @renovate in #1307
- Smaller fixes in logging and utils by @oxisto in #1288
- Copy objects less frequently by @KuechA in #1279
- Improved scope handling in
ScopedWalker
by @oxisto in #1308 - Update org.jetbrains.dokka to v1.9.0 by @renovate in #1310
- Update dependency org.jetbrains.dokka:versioning-plugin to v1.9.0 by @renovate in #1309
- Update sonarqube to v4.3.1.3277 by @renovate in #1312
- Remove unused file by @KuechA in #1314
- Update dependency rollup to v3.29.0 by @renovate in #1316
- Renaming nodes to be shorter and more consistent by @konradweiss in #1303
- Update dependency org.eclipse.platform:org.eclipse.core.runtime to v3.29.0 by @renovate in #1318
- Update actions/checkout action to v4 by @renovate in #1313
- Use FluentDSL in analysis module by @KuechA in #1311
- Improvements of Go language frontend by @oxisto in #1276
- Update dependency @types/node to v18.18.0 by @renovate in #1320
- Update sonarqube to v4.4.0.3356 by @renovate in #1321
- Update spotless to v6.22.0 by @renovate in #1322
- Update dependency commons-io:commons-io to v2.14.0 by @renovate in #1325
- Update dependency gradle to v8.4 by @renovate in #1326
- Update dependency org.mockito:mockito-core to v5.6.0 by @renovate in #1329
- Symbol resolver with EOG power by @oxisto in #1315
- Update module golang.org/x/mod to v0.13.0 by @renovate in #1327
- Added missing EOG changes for variable declaration by @oxisto in #1330
- Update log4j to v2.21.0 by @renovate in #1335
- Update README.md by @oxisto in #1336
- Update README.md by @oxisto in #1337
- Support for
<<
,>>
and|
,&
,^
inValueEvaluator
andBinaryOperation
by @oxisto in #1333 - Caching symbols on symbol resolution by @oxisto in #1334
- Removed neo4j-ogm bundle dependency by @oxisto in #1340
- Removed SonarQube warnings by @oxisto in #1341
Full Changelog: v7.1.2...v8.0.0-alpha.2
v8.0.0-alpha.1
What's Changed
- Improvements to EOG iteration and more applications by @KuechA in #1135
- Add generic parameters for
LanguageFrontend
by @oxisto in #1236 - Update dependency @types/node to v18 by @renovate in #1255
- Type system / manager overhaul by @oxisto in #1199
- Change DFG to use PropertyEdges by @seelchen in #1233
- Update dependency rollup to v3.27.0 by @renovate in #1267
- Use assign expressions in LLVM frontend by @KuechA in #1265
- New Go language frontend by @oxisto in #1249
- Update dependency org.apache.commons:commons-lang3 to v3.13.0 by @renovate in #1266
- Add Program Dependence Graph by @seelchen in #1227
- Readme updates by @KuechA in #1273
- Overhaul of type propagation by @oxisto in #1268
- Trying to reduce loops in
equals
by @oxisto in #1274 - Using
IdentityHashSet
in EOG pass to remove superfluous EOG nodes by @oxisto in #1275 - Update dependency rollup to v3.28.0 by @renovate in #1278
- Execute
TypeResolver
beforeVariableUsageResolver
by @oxisto in #1277 - Update plugin node to v6 by @renovate in #1280
- Update dependency @rollup/plugin-node-resolve to v15.2.0 by @renovate in #1281
- Update plugin node to v7 by @renovate in #1284
- Update dependency gradle to v8.3 by @renovate in #1283
- Update dependency org.mockito:mockito-core to v5.5.0 by @renovate in #1286
- Update dependency typescript to v5.2.2 by @renovate in #1291
- Added
TupleDeclaration
by @oxisto in #1285 - Fixed rather intricate bug in property edge list by @oxisto in #1292
- More precise types in arithmetic evaluation by @oxisto in #1290
- Add more documentation of value evaluation by @KuechA in #1302
- Only store one single unique
Type
nodes for each type by @oxisto in #1304 - Update spotless to v6.21.0 by @renovate in #1307
- Smaller fixes in logging and utils by @oxisto in #1288
- Copy objects less frequently by @KuechA in #1279
- Improved scope handling in
ScopedWalker
by @oxisto in #1308 - Update org.jetbrains.dokka to v1.9.0 by @renovate in #1310
- Update dependency org.jetbrains.dokka:versioning-plugin to v1.9.0 by @renovate in #1309
- Update sonarqube to v4.3.1.3277 by @renovate in #1312
- Remove unused file by @KuechA in #1314
- Update dependency rollup to v3.29.0 by @renovate in #1316
- Renaming nodes to be shorter and more consistent by @konradweiss in #1303
- Update dependency org.eclipse.platform:org.eclipse.core.runtime to v3.29.0 by @renovate in #1318
- Update actions/checkout action to v4 by @renovate in #1313
- Use FluentDSL in analysis module by @KuechA in #1311
- Improvements of Go language frontend by @oxisto in #1276
- Update dependency @types/node to v18.18.0 by @renovate in #1320
- Update sonarqube to v4.4.0.3356 by @renovate in #1321
- Update spotless to v6.22.0 by @renovate in #1322
- Update dependency commons-io:commons-io to v2.14.0 by @renovate in #1325
- Update dependency gradle to v8.4 by @renovate in #1326
- Update dependency org.mockito:mockito-core to v5.6.0 by @renovate in #1329
- Symbol resolver with EOG power by @oxisto in #1315
- Update module golang.org/x/mod to v0.13.0 by @renovate in #1327
- Added missing EOG changes for variable declaration by @oxisto in #1330
Full Changelog: v7.1.2...v8.0.0-alpha.1
7.1.2
7.1.1
What's Changed
- Only building dokka on main and releases by @oxisto in #1246
- Building with a custom runner by @oxisto in #1243
- Convert Neo4j pre-save hooks to cpg pass by @peckto in #1224
- Update dependency @types/node to v18.17.0 by @renovate in #1247
- Update dependency org.junit.jupiter:junit-jupiter-params to v5.10.0 by @renovate in #1248
- Fixed missing version environment variable in dokka build step by @oxisto in #1250
Full Changelog: v7.1.0...v7.1.1