Skip to content

Latest commit

 

History

History
224 lines (168 loc) · 8.07 KB

File metadata and controls

224 lines (168 loc) · 8.07 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[v1.0.7] - 2026-02-14

Added

  • Doctest-style Examples across the public API surface of JavaAnalysis, PythonAnalysis, CAnalysis, and core CLDK helpers. Coverage includes Java CRUD operations and comment/docstring query APIs, plus concise inline examples for Python and C where applicable.
  • Examples documenting expected NotImplementedError behavior for placeholder APIs (PythonAnalysis and CAnalysis) using doctest flags.

Changed

  • Converted and standardized docstrings to strict Google style (Args, Returns, Raises, Examples) across edited modules.
  • Standardized Examples to use the CLDK facade (e.g., CLDK(language="java").analysis(...)) instead of raw constructor calls.
  • Normalized all doctest Example inputs to single-line strings to ensure reliable mkdocstrings rendering.
  • Clarified CLDK.analysis return type with a precise union: JavaAnalysis | PythonAnalysis | CAnalysis.
  • Updated codeanalyzer version to v2.3.6.

Fixed

  • Fixed README.md logo display on PyPI by updating image URLs to use raw GitHub URLs and maintaining theme-based auto-switching with proper fallback
  • mkdocstrings rendering issues caused by multi-line doctest strings and formatting inconsistencies.
  • Replaced confusing examples like JavaAnalysis(None, None, ...) with clear CLDK-based initialization patterns.
  • Packaging: ensured the built wheel includes the cldk package by adding packages = [{ include = "cldk" }] to Poetry configuration.
  • Fixed #141

Removed

  • Multi-line doctest strings in Examples that broke mkdocstrings rendering; all examples are now single-line.
  • Removed pandas dependency (#145)

[v1.0.6] - 2025-07-23

Added

  • Added argument_expr field to JCallSite model for capturing actual parameter expressions in method calls
  • Added Star History section to README.md for tracking project popularity

Changed

  • Updated codeanalyzer jar to version 2.3.5 with support for call argument expressions and fully qualified parameter types
  • Modified codeanalyzer.py to preserve fully qualified parameter types in method signatures instead of simplifying them
  • Updated method signature format to use fully qualified type names (e.g., java.lang.String instead of String)
  • Updated test fixtures with new analysis.json data reflecting the signature format changes

Fixed

  • Fixed method signature handling to maintain fully qualified parameter types for better type resolution
  • Updated test cases to use fully qualified method signatures for improved accuracy

v1.0.5 - 2025-06-24

Fixed

  • Fixed issue #135
  • Analysis level compatibility checking for analysis.json with passed analysis level

Changed

  • Updated treesitter analysis to use global declarations of parser and language

v1.0.4 - 2025-06-11

Added

  • Added missing callable fields field validator

Changed

  • Updated test fixture setup to use codeanalyzer jar from cldk/analysis/java/codeanalyzer/jar instead of test resources directory
  • Updated analysis.json fixtures (daytrader8 and plantsbywebsphere)

Removed

  • Removed dangling codeanalyzer jars from test resources
  • Removed obsolete analysis.json fixture

v1.0.3 - 2025-06-01

Added

  • Added code start line attribute to JCallable (corresponding to added attribute in the java code analyzer model)

v1.0.2 - 2025-05-24

Added

  • Added test case and fixture for source analysis
  • Added missing attributes in compilation unit model

Fixed

  • Fixed handling of source_code option in Java codeanalyzer
  • Updated core.py to match python analysis signature

v1.0.1 - 2025-05-07

Changed

  • Updated treesitter analysis to use global declarations of parser and language

v1.0.0 - 2025-04-29

Added

  • First stable release
  • Updated contributing guidelines

Changed

  • Updated README.md
  • Updated codeanalyzer jar
  • Updated java version in release automation

v0.5.1 - 2025-03-13

Changed

  • Updated Java model to comply with codeanalyzer v2.3.1
  • Updated codeanalyzer jar to the latest from codeanalyzer-java
  • Updated get_all_docstrings to return dict

v0.5.0 - 2025-02-21

Added

  • Added release automation github actions
  • Added Java 11 support in github actions
  • Added release_config.json
  • Added Comment parsing APIs at file, class, method, and docstring level
  • Added support for parsing callable parameters and their location information
  • Added Dev container instructions with Python, Java, C, and Rust support
  • Added C/C++ analysis support
  • Added CRUD operations support for Java JPA applications

Changed

  • Consolidated analysis_level enums in init.py
  • Updated codeanalyzer jar to the latest version
  • Changed coverage minimum to 70%
  • Updated documentation with mkdocs
  • Updated badges and logos in README
  • Added Discord community support

Removed

  • Removed CodeQL dependency and refactored treesitter
  • Removed ABCs from analysis
  • Removed logic to find LLVM in linux OSes (only appears in Darwin)
  • Removed redundant is_entry_point fields from JCallable and JType
  • Removed unused parameters and code cleanup

Fixed

  • Fixed various test cases and compatibility issues
  • Fixed treesitter superclass identification issues
  • Fixed entry point detection code
  • Fixed recursive error issues

v0.4.0 - 2024-11-13

Fixed

  • Fixed issue 67 - symbol table is none

Changed

  • Updated poetry build rules to include codeanalyzer-*.jar
  • Added test case to verify jar file exists

v0.3.0 - 2024-11-12

Added

  • Support for reading slim JSON from codeanalyzer v1.1.0
  • Added more test tools (pylint, flake8, black, pspec, coverage)
  • Added test coverage reporting

Changed

  • Updated README.md to include the arXiv paper
  • Removed obsolete test cases for unsupported languages

v0.2.0 - 2024-10-11

Added

  • Added GitHub Action to publish manual releases
  • Added PyPi badge to README.md

v0.1.4 - 2024-10-21

Fixed

  • Fixed codeanalyzer.jar not being a PosixPath

v0.1.3 - 2024-10-21

Fixed

  • Fixed calling the correct codeanalyzer jar on version 0.1.3
  • Removed auto-download of codeanalyzer jar

v0.1.2 - 2024-10-17

Fixed

  • Fixed tree-sitter bug
  • Defined self.captures explicitly

0.1.0-dev - 2024-10-07

Added

  • Initial development version
  • Set version to über json support
  • Support for slim JSONs from codeanalyzer
  • IBM Copyright added to all source files
  • Added code parsing support
  • Added support for symbol table call graph
  • Added notebook examples for code summarization and test generation
  • Basic CLDK framework implementation

Changed

  • Updated dependencies in pyproject.toml
  • Added metadata for PyPi distribution
  • Updated README with installation instructions

Fixed

  • Fixed caller method implementation
  • Fixed incremental analysis support
  • Fixed download jar issues

Release Links