Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
5 changes: 3 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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",
]

Expand All @@ -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"
Expand All @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion src/trailmark/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@
"parse_file",
"supported_languages",
]
__version__ = "0.5.0"
__version__ = "0.6.0"
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading