Skip to content

Commit b3f3e8a

Browse files
committed
chore(release): 2.0.0-rc.1
1 parent 98ce326 commit b3f3e8a

3 files changed

Lines changed: 41 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,45 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [v2.0.0-rc.1] - 2026-07-16
11+
12+
First release candidate for 2.0.0 — the schema-v2 release. Both the TypeScript and Python
13+
facades now speak the analyzers' **schema 2.0.0** end to end and fail fast on any other version.
14+
15+
### Changed
16+
- **BREAKING (Python): the SDK speaks analysis schema 2.0.0 and requires `codeanalyzer-python>=1.0.2`.**
17+
The re-exported Python models follow the schema-v2 renames: `PyModule.classes``types`,
18+
`PyClass.methods`/`inner_classes``callables`/`types`, `PyCallable.inner_callables`/`inner_classes`
19+
`callables`/`types`, and `PyCallEdge` is now `src`/`dst`/`prov`. A callable's source text no
20+
longer lives on a `code` field — the SDK recovers it by slicing `PyModule.source` with the
21+
callable's byte-offset `span` (accessor behavior such as `get_method_bodies` is unchanged).
22+
Call-graph node keys remain dotted signatures: schema v2's CanNode (`can://`) edge endpoints are
23+
translated back to signatures; unresolved externals keep their raw `can://` ids. Both Python
24+
backends fail fast on a schema mismatch: the in-process backend checks the `Analysis` envelope's
25+
`schema_version`, and the Neo4j backend checks the stamp on the scoped `:PyApplication` node —
26+
re-analyze / re-emit with `codeanalyzer-python>=1.0.2` if you hit `CldkSchemaMismatchException`.
27+
- **BREAKING (TypeScript): the SDK speaks graph schema 2.0.0 and requires `codeanalyzer-typescript 1.0.0`.**
28+
TS-prefixed graph vocabulary, CanNode keys, and a fail-fast `schema_version` check on the
29+
`:Application` node. Accessors whose vocabulary is not projected into graph schema 2.0.0
30+
(decorators, fields, imports/exports, variables) raise `NotImplementedError` on the Neo4j
31+
backend instead of silently returning wrong data. (#268)
32+
33+
### Added
34+
- **Canonical schema-v2 CPG models** (`cldk.models.cpg`): the shared, language-neutral
35+
`Application` model tree for schema-2.0.0 analyzer output, modeled once and validated against
36+
real L1–L4 samples from multiple analyzers. (#240, #274)
37+
- **L3/L4 program-slice engine core** (`cldk.graph`): forward/backward slicing over schema-v2
38+
CFG/CDG/DDG program graphs. (#270, #271)
39+
40+
### Fixed
41+
- **TypeScript Neo4j backend guards ambiguous application matches** instead of silently merging
42+
two applications' module scopes. (#268)
43+
44+
### Dependencies
45+
- `codeanalyzer-python` 0.3.1 → **1.0.2** (schema 2.0.0; includes the emitter fix for null `code`
46+
node properties, codellm-devkit/codeanalyzer-python#104)
47+
- `codeanalyzer-typescript` 0.4.3 → **1.0.0** (graph schema 2.0.0)
48+
1049
## [v1.4.3] - 2026-07-14
1150

1251
### 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 = "1.4.3"
3+
version = "2.0.0-rc.1"
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)