Browse documentation
Docs target stable release v0.9.1.Stable vs main checked 2026-10-09

Historical release guide · released 2026-08-22

For the current package, read the v0.9.1 upgrade guide.

Upgrade to opentine 0.8

Version 0.8.0 is the Model-Agnostic Core release. It records provider identity as opaque provenance, separates recorded cost from post-hoc pricing, adds peak and off-peak rate schedules, and makes 30 bundled providers and local runtimes nameable from tine run.

Upgrade without migrating stored data

Terminal
python -m pip install --upgrade "opentine==0.8.0"
python -c "import opentine; print(opentine.__version__)"

# Confirm the installed surface and representative stored data
tine --help
tine verify representative-v0.7.tine
tine replay representative-v0.7.tine --verify
tine fsck --repo .

Portable artifacts remain .tine v2 and repositories remain v3. Version 0.8.0 loads artifacts and repositories written by every published release from 0.3.0 through 0.7.2. Upgrading the package does not rewrite stored data.

Provider is additive recorded content

Model steps now record provider beside model and usage. OpenTelemetry imports read it from gen_ai.system orgen_ai.provider.name. The value is opaque: verify, fork, diff, and replay do not branch on it. Pre-0.8 artifacts load with an empty provider and re-serialize byte-identically, so this field does not require a format bump.

Recorded cost and post-hoc price are different views

Terminal
# Cost captured with the run
tine cost imported.tine

# Read-only pricing from the current catalog
tine price imported.tine

# Select cards effective on a historical date
tine price imported.tine --at 2026-08-22

# Bake catalog pricing into a new import before it is written
tine import trace.json --format otel-json --price --save imported.tine

tine cost reports what capture stored. The read-onlytine price command derives a cost from recorded provider, model, and usage without changing the run. An uncarded step, a step with no provider, or a step with no usage remains unknown, never a fabricated$0.

Time-of-day pricing keeps old catalogs valid

The opentine-pricing/2 schema adds ordered UTC peak/off-peak windows with weekday or weekend scope. Existing cards without a schedule price exactly as before, and opentine-pricing/1 catalogs and overlays still load.

Thirty providers from one CLI shape

tine run --model PROVIDER[:MODEL] --prompt ... now names the four native providers, twelve hosted-compatible providers, and fourteen local runtime presets. The local additions include vLLM, LM Studio, SGLang, TGI, LiteLLM, MLX-LM, NVIDIA NIM, TensorRT-LLM, KoboldCpp, Jan, LocalAI, Unsloth, llama.cpp, and llama-cpp-python at their conventional localhost URLs.

Continue with post-hoc pricing, the provider list, OpenTelemetry capture, or the release-status guide.