From eeee16e5750998646fb280f81710ce685a4d7d04 Mon Sep 17 00:00:00 2001 From: Scott Arciszewski Date: Fri, 16 Oct 2026 12:12:50 -0400 Subject: [PATCH] chore: release v0.6.0 --- CHANGELOG.md | 29 +++++++++++++++++++++++++++++ pyproject.toml | 5 +++-- src/trailmark/__init__.py | 2 +- uv.lock | 2 +- 4 files changed, 34 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a89a8a..e6ff5bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,34 @@ # Changelog +## 0.6.0 + +- Extract ordinary, `spec`, and `proof` functions and calls from brace-delimited + `verus!` blocks, including qualified invocations, with source locations and + diagnostics for unsupported or invalid blocks (#76). +- Preserve Rust function-local functions, types, impls, traits, and inline + modules as separate graph nodes. Resolve calls and relative imports within + each file using lexical and block scope, including duplicate local names (#76). +- Generate the vendored Verus grammar during builds and include generated + sources in wheels and source distributions. Share content-addressed, atomic + native grammar loading across Verus, Circom, and Miden Assembly (#76). +- Escape double quotes in Mermaid node labels so names and branch conditions + containing quotes produce valid diagrams (#78). +- Build Nix packages from `uv.lock`, add a development shell and package checks, + and precompile bundled grammars for use in the read-only Nix store (#80). +- Require `tree-sitter-language-pack` 1.22.1 or newer and use its supported + root-owned grammar cache in Nix (#79, #81). +- Refresh Python dependencies, Tree-sitter CLI, Nix inputs, and GitHub Actions; + lock the type checker and enable Dependabot updates for uv and npm. Keep the + Python `tree-sitter` bindings on 0.25.2 to avoid native crashes in 0.26.0 (#81). +- Replace mutmut with a pinned pytest-gremlins runner, validated baselines, + reviewed mutation gates for Rust/Verus changes, and full campaigns on main. + +Rust scope resolution changes also apply outside Verus blocks. Repeated local +names use byte-offset suffixes in their node IDs; edits before those declarations +can therefore appear as removals and additions in graph diffs. Arbitrary macro +expansion, bodyless signatures, calls in Verus contract clauses, implicit +destructor calls, and receiver type inference remain out of scope. + ## 0.5.0 - Pin `tree-sitter` to the compatible 0.25 series, with large-file native-crash diff --git a/pyproject.toml b/pyproject.toml index 3c0e25a..e745c57 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "hatchling.build" [tool.hatch.build.targets.sdist] only-include = [ - "src", "tests", "README.md", "LICENSE", "NOTICE", "pyproject.toml", + "src", "tests", "README.md", "CHANGELOG.md", "LICENSE", "NOTICE", "pyproject.toml", "hatch_build.py", "package.json", "package-lock.json", ] @@ -16,7 +16,7 @@ reinstall-package = ["trailmark"] [project] name = "trailmark" -version = "0.5.0" +version = "0.6.0" description = "Parse source code into a queryable graph of functions, classes, calls, and semantic annotations" readme = "README.md" requires-python = ">=3.12" @@ -36,6 +36,7 @@ dependencies = [ Homepage = "https://github.com/trailofbits/trailmark" Repository = "https://github.com/trailofbits/trailmark" Issues = "https://github.com/trailofbits/trailmark/issues" +Changelog = "https://github.com/trailofbits/trailmark/blob/main/CHANGELOG.md" [project.scripts] trailmark = "trailmark.cli:main" diff --git a/src/trailmark/__init__.py b/src/trailmark/__init__.py index 0c9f9e8..c829353 100644 --- a/src/trailmark/__init__.py +++ b/src/trailmark/__init__.py @@ -13,4 +13,4 @@ "parse_file", "supported_languages", ] -__version__ = "0.5.0" +__version__ = "0.6.0" diff --git a/uv.lock b/uv.lock index c7dcf8c..8123340 100644 --- a/uv.lock +++ b/uv.lock @@ -415,7 +415,7 @@ wheels = [ [[package]] name = "trailmark" -version = "0.5.0" +version = "0.6.0" source = { editable = "." } dependencies = [ { name = "rustworkx" },