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
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
# 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.tinetine 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.