Skip to content

Commit 15c3cde

Browse files
authored
Merge pull request #431 from codellm-devkit/chore/issue-430-release-2.0.0
chore(release): 2.0.0
2 parents 9440b95 + 854c6b2 commit 15c3cde

3 files changed

Lines changed: 40 additions & 2 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,44 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [v2.0.0] - 2026-10-15
9+
10+
CLDK 2.0 gives Python, Java and TypeScript one agent-facing query surface — addressing, per-callable
11+
control and data flow, slices, call-graph and value-flow predicates, entrypoints and the
12+
repository-artifact layer — answered identically from an `analysis.json` or an attached Neo4j graph.
13+
No code changes since `v2.0.0-rc.8` except the README split into a user page, `docs/architecture.md`
14+
and `docs/citations.md` (#416). The rc sections below are the full record; this section lists what
15+
breaks for code written against **1.5.0**, each with its migration step.
16+
17+
### Breaking (since 1.5.0)
18+
19+
- **C support is removed** (`CLDK.c()`, `cldk.analysis.c`, `cldk.models.c`; rc.2). There is no
20+
replacement; pin `cldk<2` if you need it.
21+
- **Java needs the `java` extra.** The analyzer ships as the `codeanalyzer-java` wheel with its own
22+
JVM, not a jar in this repo (rc.3). Install with `pip install "cldk[java]"`.
23+
- **Every Neo4j graph must be re-emitted, into a wiped database.** The `can://` id grammar now puts the
24+
application outermost (`can://<app>/<lang>/...`, rc.4), and each backend refuses a graph below its
25+
floor at attach with `GraphSchemaMismatch`, rather than answering with zero rows. The floors are
26+
`codeanalyzer-python` 1.5.0, `codeanalyzer-typescript` 1.5.2 and `codeanalyzer-java` 3.2.0 (rc.6).
27+
Re-emit with the pinned analyzer (`--emit neo4j`); there is no in-place upgrade.
28+
- **Java and TypeScript models mirror schema v2** (rc.3). A 1.x `analysis.json` is refused rather than
29+
parsed: re-run the analysis with the pinned analyzer. For Java, `get_call_graph()` nodes are
30+
`"<type fqn>.<signature>"` strings rather than `(signature, klass)` tuples — read the class from
31+
`cg.nodes[key]["method_detail"].klass`. Local and anonymous class names carry their declaring callable
32+
— take class keys from `get_all_classes()` rather than composing them. `JGraphEdges` is
33+
`{src, dst, prov, weight}`. For TypeScript, `TSCallable` and `TSModule` lost their per-file fields (v2
34+
keys modules by path).
35+
- **Java's single-file `source_code` mode is gone** (rc.3). Analyze the project directory.
36+
- **`PyCallableOverview.path` is repo-relative**, not an absolute path (rc.2). Stop stripping a
37+
project-root prefix off it.
38+
- **Accessors that only ever raised `NotImplementedError` are removed**: fifteen on `PythonAnalysis`
39+
(rc.2) and `get_entry_point_methods` / `get_service_entry_point_methods` on `TypeScriptAnalysis`
40+
(rc.3). Use `get_entrypoints()` / `get_entrypoint_classes()`.
41+
42+
### Analyzer pins
43+
44+
`codeanalyzer-python==1.5.3`, `codeanalyzer-typescript==1.6.0`, `codeanalyzer-java==3.3.3` (extra).
45+
846
## [v2.0.0-rc.8] - 2026-09-16
947

1048
### Fixed

‎pyproject.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "cldk"
3-
version = "2.0.0-rc.8"
3+
version = "2.0.0"
44
description = "The official Python SDK for Codellm-Devkit."
55
readme = "README.md"
66
license = { text = "Apache-2.0" }

‎uv.lock‎

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)