Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## 0.5.1 (2026-10-18)

### Fixes

- **Google AI Studio provider restored** — `google` (`@ai-sdk/google`) is built in again, so `aictrl run --model google/gemini-3.8-flash` works with only an API key instead of failing with model-not-found. 0.5.0 left it out of the static catalog. Set `GOOGLE_GENERATIVE_AI_API_KEY`, `GEMINI_API_KEY` or `GOOGLE_API_KEY`, or store a key with `aictrl auth login`; when several are set, a stored key wins, then `GOOGLE_GENERATIVE_AI_API_KEY`, `GEMINI_API_KEY` and `GOOGLE_API_KEY`, and `provider.google.options.apiKey` in `aictrl.json` overrides all of them. The CLI now passes the key to the SDK itself, so `GEMINI_API_KEY` and `GOOGLE_API_KEY` also work for requests; up to 0.4.8 they loaded the provider but the SDK read only `GOOGLE_GENERATIVE_AI_API_KEY`. The catalog adds 22 Google models with the 0.5.0 filters, including `gemini-3.8-flash`, `gemini-3.7-flash`, `gemini-3.5-flash` and `gemini-3.1-pro-preview` (19 providers, 1376 models). Other providers' entries are unchanged. If you defined your own `provider.google` in `aictrl.json` on 0.5.0, it now extends the built-in: its models without an `npm` use `@ai-sdk/google` again (as up to 0.4.8) instead of `@ai-sdk/openai-compatible`, and the built-in Google models are listed next to yours. To keep an OpenAI-compatible endpoint under that id, set `"npm": "@ai-sdk/openai-compatible"` and a `whitelist` of your models, or give the provider another id. When any `google` model uses another SDK, the CLI does not pass the Google env key, so set `options.apiKey` for that endpoint.

## 0.5.0 (2026-10-18)

### Breaking changes
Expand Down
46 changes: 13 additions & 33 deletions RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,39 +37,19 @@
`sandbox` before `main`; verify a sandbox review persists MCP findings and
a stalled stream reports a timeout rather than waiting for the job limit.

## 0.5.0 candidate

- **Why a minor bump (0.5.0):** the release removes public surface rather than
adding models. Caret ranges on `^0.4.x` do not pick it up; consumers opt in.
- **Breaking:**
- The built-in provider set narrows to the 18 providers in
`packages/cli/src/provider/catalog.json`, shipped in the binary; models.dev
is no longer fetched or cached (#202). Other providers must be defined under
`provider` in `aictrl.json`. GitHub Copilot is removed (#193).
- Commands removed: `github`, `pr` (#192) and `acp` (#204) print a
replacement hint and exit 1; `debug lsp`, `debug snapshot` and
`models --refresh` are gone; `run --share` and `import <url>` fail (#195);
`run --agent plan` fails (#162).
- Subsystems and tools removed: LSP (#191), snapshots/revert/session diffs
(#184), session sharing (#195), the file watcher (#204), `question` and
plan mode (#162), `todowrite`/`todoread` (#183).
- Prompt changes: the `bash` description has no git procedures or rules, and
no default deny rules ship; callers use `permission.bash` (#161). Headless
runs no longer discover `~/.claude`, `~/.agents` or `~/.opencode` skills
(#165).
- Config keys `lsp`, `permission.lsp`, `snapshot`, `share`, `autoshare`,
`enterprise` and `watcher` still load as warned no-ops.
- **NDJSON v1 additions:** `session_error` reason `usage_limit`, code
`PROVIDER_USAGE_LIMIT` and `resetAt` (#174); `structured_output_rejected`
keyword `rejected` (#179).
- Stored sessions from 0.4.x still load and continue (covered by e2e tests in
#183, #184, #191, #195).
- Evidence (0.4.8 vs the candidate, GLM-5.3, 8 headless tasks × 3 runs, same Bun):
- pass rate 24/24 on both; no retries, hangs or `session_error`;
- uncached input tokens −25%, tool definitions −47% (36.8k → 19.4k chars),
no title request; output tokens median +5% per run;
- trivial run 558 → 389 ms, peak RSS 270 → 174 MB, binary 114 → 105 MB,
no network at startup.
## 0.5.1 candidate

- **Why a patch bump (0.5.1):** model-only support change. It restores the
built-in `google` provider (Google AI Studio, `@ai-sdk/google`) that 0.5.0
left out of the static catalog, so `google/<model>` works with only
`GOOGLE_GENERATIVE_AI_API_KEY`, `GEMINI_API_KEY` or `GOOGLE_API_KEY` set.
- The catalog gains one provider and 22 models (18 → 19 providers, 1354 → 1376
models); every other provider's entry is byte-identical to 0.5.0.
- No CLI flags, config schema or NDJSON events change. One config behaviour
changes: a `provider.google` defined in `aictrl.json` on 0.5.0 now extends
the built-in, so its models without `npm` use `@ai-sdk/google` again (as up
to 0.4.8) and the built-in models are listed too. The CHANGELOG gives the
`npm` + `whitelist` opt-out.

Publication and executor promotion are separate gates. Preparing this candidate
PR does not publish npm packages or deploy an executor image.
2 changes: 1 addition & 1 deletion bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/cli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ Aictrl reads config from `.aictrl/` (project) or `~/.config/aictrl/` (global).
|----------|---------|
| Anthropic | `ANTHROPIC_API_KEY` |
| OpenAI | `OPENAI_API_KEY` |
| Google | `GOOGLE_API_KEY` |
| Google AI Studio | `GOOGLE_GENERATIVE_AI_API_KEY`, `GEMINI_API_KEY` or `GOOGLE_API_KEY` |
| OpenRouter | `OPENROUTER_API_KEY` |

Use `--variant` to select provider-specific reasoning effort. For OpenAI-compatible
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/package.json",
"version": "0.5.0",
"version": "0.5.1",
"name": "@aictrl/cli",
"description": "Headless execution engine for AI agent skills",
"type": "module",
Expand Down
Loading
Loading