From 68cac2c0bb5d4723155c7a9ef024d31e3e4070ee Mon Sep 17 00:00:00 2001 From: Scott Arciszewski Date: Mon, 26 Oct 2026 18:21:20 -0400 Subject: [PATCH] Prepare v0.7.1 release notes and package metadata --- CHANGELOG.md | 79 +++++++++++++++++++++++++++++++++++++++ docs/cli.md | 3 +- docs/python-api.md | 1 + pyproject.toml | 2 +- src/trailmark/__init__.py | 2 +- tests/test_docs.py | 2 + uv.lock | 2 +- 7 files changed, 87 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 28a20d9..580392d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,84 @@ # Changelog +## 0.7.1 (2026-10-26) + +This release adds source-backed entrypoint evidence and explicit source selection, +improves Python analysis performance, and expands PHP and GraphQL coverage. + +### Added + +- **Entrypoint evidence and candidates:** `EntrypointEvidence` records source + occurrences, target bindings, discovery rules, and unresolved facts. Inspect + them with `entrypoint_evidence()`, `entrypoint_candidates()`, and + `trailmark entrypoints --evidence` or `--candidates`. Add observations through + `add_entrypoint_evidence()` without promoting a candidate to an entrypoint. +- **Explicit source selection:** `SourceRoot`, `SourcePolicy`, and `parse_roots()` + select named application or dependency roots with include/exclude globs and + canonical file deduplication across every supported frontend. `analyze` and + `entrypoints` accept repeatable `--source-root`, `--include`, and `--exclude` + options. `source_policy()` and graph JSON retain the effective selection and + inspected, skipped, and unparsed file decisions. +- **Indirect reference discovery:** Python and PHP callable values and supported + qualified symbol/file references in GraphQL, JSON, YAML, XML, and TOML retain + source provenance and ambiguous or unresolved targets. New `references` edges + remain separate from execution paths; a reference does not establish external + invocation, authentication, or registrar behavior. +- **Executable PHP bodies:** `.phtml` templates and top-level `.php` statements + have synthetic `