Skip to content

Releases

v0.3.4

Choose a tag to compare

@ante-github ante-github released this 10 Nov 03:30

v0.3.4 - 2026-11-09

Added

  • DeepSeek sessions can use WebSearch through DeepSeek's Search API with the session's existing credential. A deepseek provider pointed at a gateway that doesn't forward the search endpoint can turn it off with "supports_web_search": false in catalog.json

Changed

  • Anthropic API, Anthropic subscription and OpenRouter offer Claude Fable 5.2 in place of Fable 5.1, at high effort by default. OpenRouter offers Tencent Hy4 in place of Hy3. Antix drops GPT-5.4 mini and nano. GPT-6 Astra on the OpenAI subscription gets a 500,000-token context window. Explicitly configured models still work
  • A model's declared supported_efforts now decide the effort level sent on every wire, not only what the picker offers. The lowest level is sent explicitly (none on the Responses API, MINIMAL on Gemini) instead of falling back to the provider's default
  • Startup notices and the update offer print under the session header instead of above the logo
  • The offline engine is pinned to llama.cpp b12182

Fixed

  • Switching models within one provider (for example Gemini to Claude on Antix) no longer breaks later turns with an invalid thinking signature error
  • A configured temperature is sent on the Responses API when reasoning effort is none
  • Tool-error, unknown-tool and malformed-call warnings in the log no longer include tool arguments or error output

Crates

  • Public crates published as 0.3.4: ante-protocol-shape, ante-llm, ante-exec, ante-sdk

v0.3.3

Choose a tag to compare

@ante-github ante-github released this 06 Nov 01:38

v0.3.3 - 2026-11-05

Added

  • ante usage text output aligns the quota bars
  • After you sign in to a provider in the browser, the TUI shows an inline signed-in notice

Changed

  • Antix serves Grok 4.7, GPT-6.1 Terra and GPT-6 Luna in place of Grok 4.6, GPT-5.6 Terra and GPT-5.6 Luna, and adds Gemini 3.5 Flash Lite, GLM-5.3 FlashX Legal and Qwen 3.8 Flash. Explicitly configured models still work
  • The session header gets more compact in narrow terminals
  • Ante no longer changes the tmux pane's allow-passthrough setting
  • Published builds send telemetry through the Ante telemetry gateway and no longer embed credentials. Utility commands send no telemetry

Fixed

  • Interrupting a turn before any output puts your prompt back in the composer
  • A prompt you withdraw no longer stays in the transcript
  • A table that is still streaming waits until it is complete before it goes into inline scrollback
  • Resuming a long session is fast again: the event-log replay fast path is restored
  • Dependency updates

v0.3.2

Choose a tag to compare

@ante-github ante-github released this 01 Nov 18:33

v0.3.2 - 2026-11-01

Added

  • ante usage reports Claude Code and Codex subscription quotas without opening a session: percentage used, reset times, and per-account expired/unavailable states. Select one stored account with ante usage openai/work, or get structured output with --json (provider is the stable profile id, anthropic / openai). Exits 1 when any selected sign-in is expired or unavailable, after printing the full report
  • Providers accept an optional max_request_images cap in catalog.json. Over the cap, the oldest images in a request are replaced with a text marker; the saved conversation is unchanged. Unset means uncapped, and 0 sends no images

Changed

  • Built-in model lists are trimmed. OpenAI API offers GPT-6 Astra, GPT-6.1 Sol and Terra, and GPT-6 Luna. OpenAI subscription drops GPT-5.6 Sol, Terra and Luna. Antix drops GPT-5.3-Codex, Gemini 3.1 Pro preview, Gemini 3.7 Flash and Grok 4.5. Explicitly configured models still work
  • Sonnet 5.5 and Fable 5.1 default to high effort
  • The installer shows the download size on its download line

Fixed

  • Images and files returned by a tool stay attached to the call that produced them on the OpenAI Responses and Chat Completions APIs

v0.3.1

Choose a tag to compare

@ante-github ante-github released this 30 Oct 09:13

v0.3.1 - 2026-10-30

Added

  • ante auth list --json prints the stored credentials as one JSON object. Each entry has reference, kind, name, issuer, account, state and used_by, and no secret values. reference is the exact string a session can pin
  • A session can pin a credential when it starts or resumes, so its first request already uses the chosen account instead of the default
  • The TUI reports turn status (running, waiting, done, failed) to the terminal via OSC 7501, including from tmux
  • Antix serves Claude Opus 5.5, GPT-6.1 Sol and Kimi K3.1 Pro, replacing Opus 5, GPT-5.6 Sol and Kimi K3

Changed

  • The installer adds ante to your shell's PATH and keeps the existing binary if an update fails
  • Error messages show home paths as ~

Fixed

  • --resume honors --tools, --include-tools and --exclude-tools instead of exposing the full default tool set
  • GPT-6.1 Sol on Antix keeps all five effort levels instead of falling back to token-budget thinking
  • After a partial write (e.g. a full disk), later session events are no longer swallowed on replay, and persistence failures are reported
  • Copying a reply that is still streaming no longer keeps the screen's line breaks
  • A tool row left running at the end of a turn is now cancelled
  • Dependency updates

Wire

  • SessionRequest.credential and ResumeSession.credential: an optional credential reference to pin from the first request. The start is refused if it is unavailable
  • ResumeSession.tools, include_tools and exclude_tools: optional tool filters for the resumed session. Omitted uses current settings

Crates

  • Public crates published as 0.3.1: ante-protocol-shape, ante-llm, ante-exec, ante-sdk

v0.3.0

Choose a tag to compare

@ante-github ante-github released this 28 Oct 07:55

v0.3.0 - 2026-10-28

Opens the 0.3 series with one intentional break: credentials are configured with one reference language, shared by providers, MCP servers and ante auth. Old shapes are refused by name rather than half-read; see "Upgrading from 0.2" below.

Upgrading from 0.2

  • Provider auth is now credential, a scheme:name reference or a list of them: {"bearer":{"env_key":"X"}} becomes "env:X"; a key sent in a custom header adds "credential_header": "H". http_headers is now headers, and {session_id} is now ${session_id}. An entry still using the old keys is skipped with a warning naming the replacement (ante catalog, ante doctor)
  • A custom provider that had no auth (a local server) now fails with "No credential for ": add "credential": null
  • The models section of catalog.json is removed; patch a model under providers.<id>.preferred_models instead. A non-empty section is refused at load
  • MCP servers: the oauth block is retired; use ante auth login <server> or an Authorization entry in headers. ante mcp login/logout are replaced by ante auth login/logout
  • The antix-api-key provider is folded into antix, which takes a sign-in, ANTIX_API_KEY, or a stored key; a saved antix-api-key selection falls back to auto-detect
  • Stored sign-ins and auth/api_keys.json move to auth/credentials/ automatically on first run

Added

  • ante auth list|login|logout|add|rm manages every stored credential: OAuth sign-ins, API keys, and helper output. list shows each credential's state and the connectors that use it
  • Credential references: env:NAME, secret:NAME (stored with ante auth add), oauth:PROFILE[/label] for one of several accounts, and helper:NAME, which runs a command from the new helpers section of catalog.json and caches its output for ttl_secs. A list is tried in order; null sends nothing
  • oauth_profiles in catalog.json defines additional OAuth sign-in profiles beside the built-in Anthropic, OpenAI and Antix ones
  • Provider headers values and extra_body strings take ${NAME}, ${NAME:-default} and ${session_id}; a null header removes a built-in one
  • Agents panel: while a turn runs subagents, a panel under the footer lists each with its type, elapsed time and tokens; select a row and press Enter to follow its transcript live
  • /usage lists every saved Claude and Codex account, each with its own quota
  • GPT-6.1 Sol, GPT-6.1 Terra and GPT-6 Luna in the OpenAI subscription provider (Luna is the default for auxiliary calls); GPT-6.1 Terra and Terra Pro in the OpenAI and OpenRouter catalogs; Kimi K3.1 Pro on OpenRouter

Changed

  • /providers is one place for choosing a provider, model and credential, signing in, entering keys, and removing accounts; onboarding and sign-in recovery use the same view, and /connect remains as an alias. Each row shows where its credential comes from; ←/→ previews another credential of the same provider
  • Antix leads the provider list and is the default when nothing is configured; explicit and saved choices still win, and existing credentials for other providers are detected when Antix is unavailable. Default order: Antix, DeepSeek, OpenAI Subscription, Anthropic Subscription
  • OpenRouter: Kimi K3 and MiniMax M3 are pruned in favor of K3.1 Pro and M3.1 Flash, and the DeepSeek V4.1 Flash October 17 snapshot becomes the default
  • Commands such as ante auth and ante update exit promptly; telemetry gets at most 250 ms at shutdown

Fixed

  • Headless ante --resume <id> --provider <p> --model <m> uses the given provider and model instead of dropping them, so a session saved on a provider that is no longer connected can be resumed
  • An invalid environment value read by a built-in sign-in profile (e.g. ANTIX_BASE_URL=not-a-url) is a catalog warning instead of crashing every command
  • OAuth sign-ins send the redirect URI where the local callback server actually listens

Wire

  • SessionInfo.provider.credential and SessionUpdate.credential: an optional credential reference (e.g. oauth:openai/work), never a token. Omitted means the configured precedence

Crates

  • Public crates published as 0.3.0: ante-protocol-shape, ante-llm, ante-exec, ante-sdk

v0.2.15

Choose a tag to compare

@ante-github ante-github released this 24 Oct 06:11

v0.2.15 - 2026-10-23

Added

  • Remote MCP servers can authenticate: url servers in mcp_servers accept headers sent on every request, whose values may reference ${NAME} from the environment so secrets stay out of the settings file; a bearer token is a plain Authorization header
  • OAuth sign-in for remote MCP servers with ante mcp login <name> / ante mcp logout <name>. It uses dynamic client registration and the server's advertised scopes by default; an optional oauth block sets a pre-registered client_id/client_secret or explicit scopes. A server that answers 401 names the login command to run
  • Background jobs view: while jobs run and the composer is empty, ↓ selects the N bg jobs footer pill and Enter opens a list of running commands, with status, runtime, the last stdout lines and stderr for each

Changed

  • The update notice's "What's new" preview links to https://ante.run/changelog instead of pointing at CHANGELOG.md
  • OpenRouter's MiniMax M3.1 Flash preset uses the paid minimax/minimax-m3.1-flash route; the free route was retired upstream
  • thinking_budget set in an OpenAI-compatible provider's extra_body is now sent instead of being dropped as a reserved field
  • Dependency updates

Fixed

  • TLS verification rejects the compromised intermediate keys on rustls-webpki's deny list (0.103.16), including cross-signed certificates

Crates

  • Public crates published as 0.2.15: ante-protocol-shape, ante-llm, ante-exec, ante-sdk

v0.2.14

Choose a tag to compare

@ante-github ante-github released this 21 Oct 21:44

v0.2.14 - 2026-10-21

Added

  • Native MiniMax provider: set MINIMAX_API_KEY to use MiniMax M3.1 Flash directly (1M context, vision, low–max reasoning, max by default); MINIMAX_BASE_URL overrides the endpoint
  • MiniMax M3.1 Flash in the OpenRouter catalog

Changed

  • Offline mode defaults to llama.cpp's port 9931 instead of 8080: managed launches try 9931–9940, and user-started servers are discovered on 9931 and 8080 only (previously 8080–8179). A router already running keeps its recorded port, and a server on any other port can still be attached by endpoint
  • A provider Retry-After longer than 60s ends the turn and shows the wait (Provider asks to retry in 48m.) instead of reconnecting every 60s for about four minutes

Fixed

  • Gemini accepts MCP tool schemas it used to reject: enum/const values that are not non-empty strings move into the parameter's description, and requests without a forced tool choice use AUTO instead of VALIDATED, so very large schemas are no longer refused
  • OpenAI-compatible streams that carry both reasoning and reasoning_content on one delta, as gateways such as Bifrost send, no longer fail to decode
  • ante offline use --args rejects malformed values such as --ctx invalid before saving, instead of failing at the next load
  • Bundled TLS trust roots refreshed to webpki 1.0.10, which drops the emSign ECC Root CA - G3; ante-sdk now requires webpki-roots 1.0.10 or later

Crates

  • Public crates published as 0.2.14: ante-protocol-shape, ante-llm, ante-exec, ante-sdk

v0.2.13

Choose a tag to compare

@ante-github ante-github released this 19 Oct 00:23

v0.2.13 - 2026-10-18

Added

  • Jump-to-bottom pill in fullscreen: while the conversation is scrolled up, its last row shows N new messages (ctrl+l) ↓, or Jump to bottom (ctrl+l) ↓ when nothing new has arrived; Ctrl+L or a click on that row jumps to the latest output, and sending a prompt or a !command follows new output again
  • Subagents record their own event log under the parent session, at sessions/<parent>/subagents/<child>/events.jsonl; a subagent is not a resumable session, so /resume does not list it, and deleting the parent removes its logs. The parent's Agent tool result names the child's session id
  • A warning when session history cannot be saved: a failed event-log or snapshot write shows one notice per session with the path and disk-space/permission guidance, and the conversation keeps running
  • Gemini 4 Argon on Antix; DeepSeek V4.1 Flash 1017, Reflection Beam 1.0 and Muse Spark Open in the OpenRouter catalog

Changed

  • Compaction's fold call gets room for reasoning: its output cap is twice the summary's budget, bounded by the model's declared max_tokens and the context window, so a model that thinks before summarizing no longer has its summary cut off at the cap
  • The fold runs at reasoning effort low at most (min stays min; a model without an effort setting stays without one), since a summary does not need the session's effort
  • Dependency updates

Fixed

  • A Responses API response.incomplete with reason length is treated as a max-tokens stop: a cut-off compaction summary reports summary was cut off at N tokens instead of an opaque failed to fold dialog, and a normal turn continues as it does after max_output_tokens
  • Interrupting a turn before the model produces any output attaches the Interrupted row to the prompt you just sent instead of the previous answer, and Ctrl+C / Esc between send and the turn's start interrupts the coming turn instead of acting as if the session were idle
  • In fullscreen, a bare click on the conversation (press and release without dragging) no longer stops the view from following new output; a drag selection still holds the view in place

Crates

  • Public crates published as 0.2.13: ante-protocol-shape, ante-llm, ante-exec, ante-sdk

v0.2.12

Choose a tag to compare

@ante-github ante-github released this 15 Oct 07:28

v0.2.12 - 2026-10-15

Added

  • Remote MCP servers over Streamable HTTP: an mcpServers entry takes url in place of command, with an optional transport of stdio or streamable-http (http is a synonym). An entry that mixes command and url, or names the legacy sse transport, fails that server at warm-up with a message saying what to change. /mcp shows the URL, and rage redacts a URL's query string
  • ante offline use <MODEL> takes --context <TOKENS>, --thinking on|off, --temperature <T>|default and --args "<llama.cpp options>" to save per-model load preferences; each flag replaces only its own value, they are validated at use, and every invocation ends with a Loads with: line
  • Gemini 4 Argon in the native Gemini, Vertex and OpenRouter catalogs, with explicit low/medium/high thinking levels; Muse Wonder in the OpenRouter catalog

Changed

  • The local provider is derived from the offline runtime state at the moment a model becomes ready, so a StartSession sent on the ready reply always finds it registered
  • Headless runs and subagents are told that no one can answer them and the session ends with the turn
  • llama.cpp bumped to b11540, picking up the router control-pipe fix and CUDA, Vulkan and Metal correctness fixes

Fixed

  • A session that names a provider without a model now gets that provider's default model instead of the global default, which the named provider could not serve
  • Read recognizes PNG and other images saved without an image extension (or as .bin) and shows them as images
  • Sharded GGUF models selected by path or saved default are inspected the same way discovery does, reporting the full set; incomplete sets are rejected at resolution
  • ante offline stop help and messages say what it does: it stops the home's router whether or not a session is using it

Wire

  • McpServerInfo.url added: the endpoint of a remote MCP server; command is empty for such a server

Crates

  • Public crates published as 0.2.12: ante-protocol-shape, ante-llm, ante-exec, ante-sdk

v0.2.11

Choose a tag to compare

@ante-github ante-github released this 12 Oct 22:24

v0.2.11 - 2026-10-12

Added

  • ante offline status, ante offline list and ante offline use <MODEL> set up offline mode without the TUI: status reports the engine, model directory, default model, running servers and memory; list shows local and verified models with size, context and memory fit; use saves the default model. status and list take --json
  • --offline-model [MODEL] starts the local engine for TUI, headless and serve launches. It takes a GGUF path, filename, or verified model name or URL; the bare flag starts the saved default. It can't be combined with --model or --provider

Changed

  • If you keep the offline router running when you exit, the next launch reuses it instead of starting a second one; ante offline status shows it on a Router: line and ante offline stop ends it
  • The skills list in the prompt is sized to fit the model's context window, and is resized at every compaction, so switching models or adding MCP tools is accounted for
  • Every subagent prompt is built the same way, with the shared core instructions and the environment block; the bundled Explore agent now learns its working directory
  • Agent prompts base fixes on evidence and the task's scope, and handoffs keep track of pending jobs and unknown outcomes so actions aren't blindly rerun
  • Antix serves Claude Sonnet 5.5 in place of Sonnet 5
  • ante --resume lists the session archive once at startup instead of twice
  • Dependency updates

Fixed

  • Claude Sonnet 5.5 requests that force a tool choice, and Claude Haiku 5.5 requests with a temperature other than 1, now fail before sending with a clear error
  • Poolside "input length exceeds" errors are treated as context overflows and recovered by compaction, including when OpenRouter or a proxy wraps them
  • Compaction no longer clears long AskUser answers before the summarizer sees them