9.0.0
What's Changed
🏕 Features
- Trying to infer namespace when trying to infer records by @oxisto in #1584
- Made build K2 ready and remove Gradle warnings by @oxisto in #1564
- Trying to use a release-independent repository for CDT by @oxisto in #1522
- Trying to parallelize everything except performance tests by @oxisto in #1588
- Do not depend on
JavaImportResolver
in cpg-neo4j by @oxisto in #1593 - Add .c++ as file extension for cpp language by @peckto in #1597
- Fixed Neo4J import of
ImportDeclaration
by @oxisto in #1589 - Using Kotlin 1.9 for cpg-console by @oxisto in #1592
- Update README.md by @konradweiss in #1600
- Handling imports in Python by @oxisto in #1555
- Resolving types based on type name normalisation by @oxisto in #1581
- Fix console neo4j login params by @peckto in #1612
- Catch ProblemType inside DynamicInvokeResolver.handleCallee by @peckto in #1613
- Clean up old call to byName by @peckto in #1618
- Added
hasArguments
toArgumentHolder
by @oxisto in #1609 - JVM language frontend based on SootUp by @oxisto in #1402
- Fixed crash in
CXXExtraPass::convertOperators
by @oxisto in #1623 - Added
OperatorDeclaration
by @oxisto in #1605 - Added more basic interfaces by @oxisto in #1607
- Displaying info about which JEP path is used by @oxisto in #1633
- Populating
codeOf
ofASTModule
by @oxisto in #1634 - Better integration of legacy call resolution with the new system and more cleanup by @oxisto in #1608
- Supporting
posonlyargs
in Python by @oxisto in #1638 - Improved property edges by @oxisto in #1642
- Handling varargs in Python by @lshala in #1665
- Implementing AST properties using singleton edge lists by @oxisto in #1646
- Improve the Pass system by @maximiliankaul in #1645
- Restructure Python.kt -> ast is now encapsulated in an interface. by @maximiliankaul in #1675
- Support for python interface files by @oxisto in #1639
- Python: merge async with non-async code by @maximiliankaul in #1673
- Some improvements to pass annotations by @oxisto in #1674
- Replace
TODO()
withProblemDeclaration
nodes by @maximiliankaul in #1663 - Update CODEOWNERS by @oxisto in #1685
- Extending functionality of
ReplaceCallCastPass
toResolveCallExpressionAmbiguityPass
by @oxisto in #1680 - Added basic implementation of operator overloading by @oxisto in #1606
- Add implementation for Assert and NamedExpr nodes by @lshala in #1683
- Handle arguments in Python frontend by @lshala in #1669
- Helper functions to access additionalProblems by @maximiliankaul in #1694
- Fixed accidental renaming by @oxisto in #1696
- Hotfix: Use GitHub runners again by @oxisto in #1703
- Handle python BoolOp for multiple arguments by @KuechA in #1698
- Fixes
ConcurrentModificationException
by @oxisto in #1689 - fix doc string urls by @maximiliankaul in #1724
- Added
add(index, element)
forUnwrappedEdgeList
by @oxisto in #1726 - Bump Kotlin to 2.0.20 by @maximiliankaul in #1727
- Support python type hints by @lshala in #1701
- Name: add get a random name by @maximiliankaul in #1728
- Implemented base class for
ExceptHandler
by @oxisto in #1730 - Handle delete statement in python frontend by @lshala in #1723
- Open a block and function scope for python functions by @oxisto in #1731
- Initial version of python
try
with all things by @KuechA in #1704 - Support multiple variables in for loops by @maximiliankaul in #1729
- Code Quality Python Tests by @maximiliankaul in #1734
- Switching to codecov for code coverage by @oxisto in #1752
- Update README.md by @oxisto in #1753
- Update codecov.yml by @oxisto in #1754
- Update codecov.yml by @oxisto in #1755
- Improved annotation parsing in python by @oxisto in #1751
- Re-enabling self hosted runner by @oxisto in #1756
- Setting correct block location for
Python.AST.ExceptHandler
by @oxisto in #1750 - Added a
LookupScopeStatement
node by @oxisto in #1742 - Rename
findSymbols
intolookupSymbolByName
by @oxisto in #1772 - Added language trait
HasImplicitReceiver
by @oxisto in #1778 - Cleanup of
SymbolResolver
by @oxisto in #1777 - Fixed crash in
getCodeOfSubregion
by @oxisto in #1776 - Add new function
lookupUniqueTypeSymbolByName
by @oxisto in #1781 - Make sure to move
typeObservers
from old to new node when replacing nodes by @oxisto in #1783 implicit()
only triggers code/location update now if its not empty by @oxisto in #1784- Added
:=
as simple operator in Python by @oxisto in #1785 - Implementing python's
global
andnonlocal
by @oxisto in #1735 - Implement else-Branch for LoopStatements by @konradweiss in #1780
- Resolving imports and symbols according to import dependencies by @oxisto in #1782
- add prev/nextPDG shorthand by @maximiliankaul in #1787
- Implement Python
with
by @lshala in #1757 - Added
JVMLanguage
to the list of registered languages incpg-neo4j
by @oxisto in #1792 - Support for python packages by @oxisto in #1779
- Implement a throw or raise statement by @maximiliankaul in #1733
- Python: raise by @maximiliankaul in #1741
- Removes handling of break, continue and throw from scopes by @konradweiss in #1788
- Support async with in python by @KuechA in #1795
- Fix bugs in docs page by @KuechA in #1796
- Fix cycle in CDG pass by @KuechA in #1798
- add a "problem" warning when encountering "async" by @maximiliankaul in #1799
- Handle nested functions by @KuechA in #1797
- Add Comprehensions of Lists, Sets and Maps and generator expressions by @KuechA in #1786
- Replace UnaryOperator("throw") with ThrowStatement for java by @KuechA in #1814
- Replace UnaryOperator("throw") with ThrowStatement for LLVM by @KuechA in #1816
- Fix some typos and unnecessary casts in LLVM frontend by @KuechA in #1818
- Replace UnaryOperator("throw") with ThrowStatement for CXX by @KuechA in #1815
- Remove
UnaryOperator
used as throw from EOG pass and spec by @KuechA in #1819 - Update LLVM tests to match new styleguide by @KuechA in #1820
- Optimized region utils by @oxisto in #1822
- Persist Dataflow's granularity in Neo4J by @oxisto in #1825
- Rework extensions to follow subgraphs by @KuechA in #1809
- Types for list, map and set by @lshala in #1808
- update codeowners by @maximiliankaul in #1844
- CXX frontend: remove assert by @maximiliankaul in #1846
- Add link from EOG Pass to Specs by @KuechA in #1813
- EOG:
when
instead of custom dispatcher by @konradweiss in #1849 - LLVM Refactoring and Test coverage by @KuechA in #1827
- add location to BinaryOperator.toString() by @maximiliankaul in #1852
- change jep dependency from api to implementation by @maximiliankaul in #1855
- Fix overload operator-> for CallExpression by @peckto in #1842
- Add more extensions to follow edges until the end by @KuechA in #1853
- Start with python
match
statement by @KuechA in #1801 - Improvements to function and record inference by @oxisto in #1586
- C: add names to gotos and labels by @maximiliankaul in #1871
- initial version of INI file parser by @maximiliankaul in #1858
- add the INI frontend to README.md by @maximiliankaul in #1873
- Add exclusion filter for directories by @lshala in #1828
- Adding pages extracted from the wiki pages by @konradweiss in #1850
- Restrict symbol resolving to language by @oxisto in #1857
- Create one
Type
object per type reference by @oxisto in #1773 - improve kdoc by importing more stuff by @maximiliankaul in #1877
- Better codeOf by re-creating the original config file by @maximiliankaul in #1876
- Back to public runner by @oxisto in #1878
- fix package name and enable ini in console and neo4j by @maximiliankaul in #1879
- Python: Handle
formattedValue
by @lshala in #1864 - First part of scope cleanup by @oxisto in #1856
- Back to custom runner by @oxisto in #1880
- replace all (where stuff doesn't break) api with implementation calls by @maximiliankaul in #1859
- Fixed 'no code for' error for with and comprehensions by @oxisto in #1883
- Better detection of typedefs in C++ by @oxisto in #1896
- Distinguish between scope does not exist and name not found as scope by @peckto in #1895
- Persisting to Neo4J without OGM by @oxisto in #1893
- Moving python import decision to pass by @oxisto in #1889
- Adding new Overlay and Concept nodes to the graph. by @maximiliankaul in #1897
- Persisting literal values more conservativly by @oxisto in #1907
- Providing an API to update the imported symbols for an
ImportDeclaration
by @oxisto in #1908 - Provide a function for languages to influence reference resolution out of candidates by @oxisto in #1909
- Better support for language(s) in components and result by @oxisto in #1913
- New, faster runner by @oxisto in #1922
👒 Dependencies
- Update dependency typescript to v5.5.2 by @renovate in #1598
- Update sonarqube to v5.1.0.4882 by @renovate in #1610
- Update dependency gradle to v8.9 by @renovate in #1614
- Update dependency org.apache.commons:commons-lang3 to v3.15.0 by @renovate in #1620
- Update dependency rollup to v4.19.0 by @renovate in #1624
- Update dependency rollup to v4.20.0 by @renovate in #1644
- Update dependency org.apache.commons:commons-lang3 to v3.16.0 by @renovate in #1648
- Update dependency gradle to v8.10 by @renovate in #1657
- Update dependency org.junit.jupiter:junit-jupiter-params to v5.11.0 by @renovate in #1658
- Update dependency rollup to v4.21.0 by @renovate in #1660
- Update dependency @types/node to v20.16.1 by @renovate in #1659
- Update dependency tslib to v2.7.0 by @renovate in #1662
- Update dependency org.mockito:mockito-core to v5.13.0 by @renovate in #1664
- Update dependency org.apache.commons:commons-lang3 to v3.17.0 by @renovate in #1666
- Update log4j2 monorepo to v2.24.0 by @renovate in #1681
- Update dependency typescript to v5.6.2 by @renovate in #1686
- Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.9.0 by @renovate in #1691
- Update dependency net.java.dev.jna:jna to v5.15.0 by @renovate in #1692
- Update dependency rollup to v4.22.2 by @renovate in #1697
- Update dependency org.jline:jline to v3.27.0 by @renovate in #1707
- Update dependency @rollup/plugin-typescript to v12 by @renovate in #1708
- Update dependency @rollup/plugin-commonjs to v28 by @renovate in #1721
- Update dependency @rollup/plugin-node-resolve to v15.3.0 by @renovate in #1720
- Update dependency rollup to v4.22.4 [SECURITY] by @renovate in #1722
- Update dependency com.fasterxml.jackson.dataformat:jackson-dataformat-yaml to v2.18.0 by @renovate in #1744
- Update plugin node to v7.1.0 by @renovate in #1747
- Update dependency org.mockito:mockito-core to v5.14.0 by @renovate in #1746
- Update dependency com.fasterxml.jackson.module:jackson-module-kotlin to v2.18.0 by @renovate in #1745
- Update dependency rollup to v4.23.0 by @renovate in #1758
- Update dependency rollup to v4.24.0 by @renovate in #1774
- Update dependency tslib to v2.8.0 by @renovate in #1791
- Update dependency com.ibm.icu:icu4j to v76 by @renovate in #1803
- Update dependency @types/node to v20.17.1 by @renovate in #1802
- Update dependency @types/node to v22 by @renovate in #1804
- Update dependency @types/node to v22.9.0 by @renovate in #1826
- Update dependency rollup to v4.25.0 by @renovate in #1829
- Update dependency gradle to v8.11 by @renovate in #1832
- Update codecov/codecov-action action to v5 by @renovate in #1847
- Update dependency rollup to v4.27.1 by @renovate in #1833
- Update dependency typescript to v5.7.2 by @renovate in #1865
- Update dependency @types/node to v22.10.0 by @renovate in #1866
- Update dependency rollup to v4.28.0 by @renovate in #1875
- Update dependency org.eclipse.platform:org.eclipse.core.runtime to v3.32.0 by @renovate in #1881
- Update dependency org.jline:jline to v3.28.0 by @renovate in #1894
- Update dependency org.jetbrains.kotlinx:kover-gradle-plugin to v0.9.0 by @renovate in #1898
- Update dependency org.jetbrains.dokka:versioning-plugin to v2 by @renovate in #1906
- Update dependency org.jetbrains.dokka:dokka-gradle-plugin to v2 by @renovate in #1905
- Update dependency @rollup/plugin-node-resolve to v16 by @renovate in #1904
- Update dependency rollup to v4.29.1 by @renovate in #1912
- Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.10.1 by @renovate in #1910
- Update dependency gradle to v8.12 by @renovate in #1911
- Update dependency net.java.dev.jna:jna to v5.16.0 by @renovate in #1914
- Update dependency org.mockito:mockito-core to v5.15.2 by @renovate in #1917
- Update dependency rollup to v4.30.1 by @renovate in #1919
- Update spotless to v7 (major) by @renovate in #1920
New Contributors
Full Changelog: v8.3.0...v9.0.0