opentine v0.17.1: browse once, choose your view
opentine v0.17.1 is published on GitHub and PyPI. The release continues the CLI simplification: log becomes the front door for lists and search, while show exposes recorded cost and recalculated price.
Read through log and show
tine log --legacy --limit 5 --json
tine log --search "tag:prod" --json
tine show result.tine --cost --json
tine show result.tine --price --at 2026-10-30 --json
A plain log still browses repository history. Listing filters select the legacy artifact surface. Existing ls, search, cost, and price commands remain compatible aliases.
Unsupported combinations are explicit usage errors: cost and price cannot be combined, --at needs --price, and search cannot silently discard graph/list/ref selection flags. Automation receives exit 2 instead of a misleading partial interpretation.
Make output a user preference
tine repo config set output.format json
tine log --legacy --text
tine repo config unset output.format
The output default belongs to the user rather than the repository. OPENTINE_OUTPUT overrides the settings file; an explicit --json or --text wins for one command. Commands without JSON support ignore the setting. Invalid environment values and malformed settings fail rather than fall back.
Fix the Windows storage race at its source
v0.17.1 addresses a recorder/GC race distinct from the earlier pack-list fix. Windows can briefly refuse inspection of a loose object being deleted after packing. That uncertainty now falls through to the packs and receives bounded rechecks before the object is called missing.
A just-deleted lock can also resolve through Windows' deleted-file namespace. GC now reports normal contention instead of mislabeling that path as an escape. Persistent failures still fail closed.
Release publication now waits for installation and smoke tests of the exact wheel and sdist on Linux, macOS, and Windows.
python -m pip install --upgrade "opentine==0.17.1"
Read the upgrade guide and browsing/output reference. Main's v0.18 trust hardening remains unreleased.