Browse documentation
Docs target stable release v0.15.0; v0.16.2 on main is unreleased.Stable vs main checked 2026-10-30

On main · v0.16.2 · unreleased · checked 2026-10-30

v0.16.2 preview

Source at commit 232c5cd declares v0.16.2. GitHub and PyPI still publish v0.15.0; no v0.16 tag or distribution exists. The changelog says v0.16.0 and v0.16.1 were not published after release CI caught concurrency issues.

Storage race fixes on main

The v0.16.1 work retries transient Windows sharing violations when GC removes a packed loose object held open by a reader. v0.16.2 also bounds repeated pack-list rescans until a listing completes, so a live recorder does not incorrectly report a stored object missing while another process merges packs. That listing window can occur on Windows, Linux, and macOS. These fixes are source-only until publication.

Everyday help and groups

Main groups the help surface around 13 everyday commands. tine help --all lists the full surface; tine help COMMAND opens one command. The repo, share, trust, and agent groups rewrite to existing handlers. The compatibility table pins 224 existing invocations, and old spellings remain supported.

Named user trust policies

tine trust policy set/list/show/rm/default stores verification roots in the user's trust-policies.json. tine verify --policy NAME or a default policy supplies public keys, pins, receipt requirements, keyless identity, and Fulcio/Rekor roots. Explicit flags override the policy.

Repositories cannot define or select trust roots: trust/policy porcelain keys are refused. Unsafe policy files fail closed. These policies are not part of the current v0.15 package.

Verification convenience

tine verify FILE detects bundles directly in the preview; v0.15 uses tine bundle verify FILE. The preview also preserves --json on repository show.

Read the pinned command mapping, source changelog, and release status before testing source builds.