Skip to content

Changelog

Notable updates to the Tinker SDK, the Tinker Cookbook, the Tinker Console, and the Tinker documentation. SDK and Cookbook entries are dated by PyPI release, Console entries by launch date, and Docs entries by their merge-to-main date. For model availability and retirements, see Models & Pricing and Model Deprecations.

Release Date Changes
SDK 0.23.4 July 25, 2026
  • Added RestClient.get_billing_usage() (and get_billing_usage_async()), which returns your organization's usage for any past time window (at most 14 days per request, so step the window to cover longer ranges) as hourly-bucketed, typed billing events — training, sampler prefill and sample, checkpoint, and storage — each tagged with the model, user, session, and project it belongs to.
  • New tinker billing usage <start> <end> CLI command that exports that usage, with --csv and --sessions-csv flags to write the hourly usage rows and the per-session metadata for spreadsheet or pandas use.
SDK 0.23.3 July 22, 2026
  • Fixed the SDK failing to connect (invalid peer certificate: UnknownIssuer) through TLS-intercepting proxies and VPNs when pyqwest 0.7.0 is installed; the HTTP transport now trusts the operating system's certificate store again.
SDK 0.23.2 July 21, 2026
  • Added RestClient.whoami() (and whoami_async()), returning a WhoamiResponse with the calling principal's user URN and, for user-backed credentials, email. It reads the identity from the auth token the SDK already holds, so it makes no extra API requests.
SDK 0.23.1 July 18, 2026
  • Fixed RestClient.get_audit_log() failing when the audit-log response redirects to a signed download URL; the redirect is now followed correctly instead of erroring out.
Docs July 17, 2026
  • Models & Pricing now shows the new pricing that took effect July 17: prefill, sample, and training rates went up on standard context-length models (cached prefill stays 20% of the prefill price); the 128K/256K long-context variants and Inkling keep their existing prices.
Docs July 16, 2026
  • New Data Model & Permissions guide: how Tinker organizes data across organizations, teams, projects, sessions, training runs, and checkpoints, plus the organization- and project-level roles, the sharing model, and the data-isolation rules that govern who can see what.
SDK 0.23.0 July 15, 2026
  • SampleResponse now reports prompt_cache_hit_tokens, the number of prompt tokens billed as prefix-cache hits. It is counted on the prompt itself, so it is not multiplied across samples when num_samples > 1.
  • DmelChunk.length now returns the token count from the tensor instead of raising.
Cookbook 0.5.2 July 15, 2026
  • The inkling.sample_reasoning script's default generation budget now scales with reasoning effort (max_tokens of 4096 / 8192 / 16384) unless you pin a single max_tokens.
Cookbook 0.5.1 July 15, 2026
  • The sl_basic and rl_basic recipes now derive the renderer and dataset tokenizer from a model_name= command-line override, instead of always using the default model's. A model_name override previously trained with the wrong renderer and tokenizer.
Cookbook 0.5.0 July 15, 2026
  • Added a Modal inference integration (tinker_cookbook.inference.modal, installed via the [modal] extra) that turns a tinker:// LoRA checkpoint into an OpenAI-compatible endpoint: prepare merges the adapter into the base model, serve runs it behind an SGLang endpoint on Modal, and compare checks outputs against the Tinker sampler.
  • Supervised NLL evaluation now reports bits-per-byte (BPB) alongside NLL, giving a tokenizer-independent metric for comparing models (special tokens are excluded from the count).
Console July 15, 2026
  • Launched the Playground, opened to all organizations (usage is not billed for now), for chatting with Inkling directly in the console. It includes a reasoning-effort control (minimal / low / medium / high / xhigh, with a custom value), an editable system prompt (with a reset button and a {{ current_date }} template), and a View code button that shows the equivalent API request. The console home page was redesigned around it.
Docs July 15, 2026
  • New Cookbook Using Inkling section covering the Inkling model and how to build its inputs with tml-renderers — chat messages, tool calls, controllable thinking effort, and image and audio input — plus a new tinker.types.DmelChunk reference page for client-encoded audio input.
  • New Anthropic API Compatible Inference page (beta): sample from Inkling, base models, or your own fine-tuned checkpoints through an endpoint compatible with the Anthropic Messages API, so Anthropic SDKs and Claude Code work with only a base-URL and API-key change.
Console July 14, 2026
  • The billing Pricing tab now links out to the Models & Pricing docs page instead of showing a separate in-console table.
Console July 10, 2026
  • Invoices and the Usage page's By Type view now show sampler prefill as separate Cache Hit and Cache Miss line items, instead of one merged Tinker Sampler Prefill line, so you can see how much of your prefill was billed at the discounted cached rate. See Models & Pricing for the rates.
Console July 8, 2026
  • The console is now served at tinker.thinkingmachines.ai. The previous tinker-console.thinkingmachines.ai address now redirects there (preserving the path and query string), so existing links keep working.
Console July 6, 2026
  • Added a Session Metrics view to every session page, rolling out to all organizations. Time-series panels show what your training and sampling traffic did over time — active sample requests, training utilization, and average training, sampling, and prefill throughput — with drag-to-zoom, a time-range picker, and a plain-language explanation of each metric.
  • Added a Download Perfetto button to the session page that exports the full session timeline as a .pftrace you can open at ui.perfetto.dev. The trace goes deeper than the console panels: per-request training and sampling spans, plus counter tracks for concurrency, throughput, per-request sizes, latency percentiles (p50/p90/p99), running totals, and rate-limit events. Re-exporting picks up new session activity. See the session metrics docs for details.
SDK 0.22.7 July 1, 2026
  • Fixed ServiceClient.create_training_client_from_state() not authenticating correctly when given a weights_access_token, which broke loading from checkpoints shared by another account.
SDK 0.22.6 June 26, 2026
  • Added a project_id filter to RestClient.list_training_runs(), so you no longer need to page through all runs to find a project's runs.
  • Weights-info REST clients no longer create a session on construction.
SDK 0.22.4 June 24, 2026
  • ServiceClient now falls back to the TINKER_PROJECT_ID environment variable when no project_id argument is passed, mirroring TINKER_API_KEY.
  • Raised the default cap on in-flight sample requests from 1000 to 2000. The cap is now delivered via server client config; the server value overrides max_connections while preserving your other retry settings.
  • Raised the minimum zstandard dependency to >=0.24.0 so the SDK installs cleanly on Python 3.14.
Cookbook 0.4.3 June 24, 2026
  • Kimi K2 tokenizers are now loaded directly instead of via AutoTokenizer, avoiding a tokenizer regression in some transformers releases (which are also excluded from the supported range).
  • Distillation recipes were rerun and updated to target Qwen3.5 models, with refreshed configs and expected results.
  • Tutorial 407 (RLHF pipeline) now uses a capped 40-step RL stage and documents expected runtime.
Console June 17, 2026
  • Reorganized navigation around sessions: the Training Runs list is replaced by a Sessions list (session ID, created time, owner, project — with filtering and pagination), and each session page shows its training runs. Listing is index-backed, so large projects load much faster.
Cookbook 0.4.2 June 10, 2026
  • Added a Nemotron Ultra renderer with model info and recommended-hyperparameter support, enabling Nemotron Ultra across cookbook training and sampling recipes.
  • Improved tinker_cookbook.scripts.copy_checkpoint with destination-project support and simpler source-access-token handling for cross-organization copies.
  • Added tinker_cookbook.scripts.save_audit_log to archive audit log events as per-day JSONL files, with one-shot, backfill, and recurring polling modes.
  • Added token- and wall-clock-based checkpoint cadence options (save_every_tokens, save_every_seconds) to supervised training and CheckpointManager.
  • Recipe entrypoints now tag Tinker runs with the recipe name and cookbook revision, making recipe-launched jobs easier to trace.
  • Migrated all tutorial series and the cookbook recipes off the models retired on June 12, 2026, alongside fixes for SDK API drift and a GRPO grouping fix in the abstractions tutorials.
SDK 0.22.3 May 31, 2026
  • Added RetryConfig.enable_stuck_detection (default true) to control whether the client raises APIConnectionError when requests stop making progress.
  • Fixed tinker checkpoint delete -y tinker://... failing to parse explicit checkpoint paths.
SDK 0.22.2 May 28, 2026
  • Fixed checkpoint archive downloads that could hang after the signed-URL redirect on the new HTTP transport.
SDK 0.22.1 May 27, 2026
  • TensorData now copies non-writable NumPy inputs at construction, eliminating PyTorch's "given NumPy array is not writable" warning from to_torch().
  • tinker checkpoint download and push-hf now retry transient connection failures.
  • forward_backward uploads can be zstd-compressed (rolled out server-side; payloads shrink roughly 3x or more).
SDK 0.22.0 May 22, 2026
  • Added RestClient.assign_session_project() and assign_session_project_async() to move an existing session — with all of its training runs and samplers — into a project. Note that a session cannot be moved out of a project once placed.
  • The SDK's HTTP client now uses the pyqwest transport (a Rust reqwest/hyper-based backend for httpx) by default.
SDK 0.21.0 May 19, 2026
  • Sampling requests keep a stable request ID across submission retries (sampling is idempotent on the backend), making retries more reliable.
  • Updated the pinned moonshotai/Kimi-K2.6 tokenizer revision to keep client-side tokenization consistent with the serving backend.
Cookbook 0.4.1 May 12, 2026
  • Fixed Kimi K2.6 tokenizer loading by pinning to the fast-tokenizer revision.
  • Fixed get_lora_param_count() for models with per-component LoRA parameter tables.
Cookbook 0.4.0 May 8, 2026
  • Added renderer and model-info support for Kimi K2.6, Qwen3.6 variants, and Nemotron-3 Super low-thinking mode.
  • Added tinker_cookbook.scripts.copy_checkpoint for copying trainable Tinker checkpoints into another authenticated account.
  • Unified checkpoint handling across training loops and added fire-and-forget periodic checkpoint saves for supervised training.
  • Improved supervised training throughput with additional runahead, and normalized SFT example weights for more consistent gradient magnitudes.
  • Renderer.parse_response() now returns ParseTermination instead of a boolean, distinguishing clean EOS from malformed parses and fixing base-model single-turn evals that were incorrectly scored as failed parses.
  • Improved the TextArena tic-tac-toe self-play recipe and added a playable CLI.