feat(ai): add shared contentText utility - #6840
Merged
Merged
Conversation
Contributor
Author
|
CI unrelated |
Mowonhua
added a commit
to Mowonhua/vitapi
that referenced
this pull request
Jul 30, 2026
commit 71efc6f0c1909874ec8c944637a9ae7fc0e2d508
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 30 00:24:23 2026 +0200
Add [Unreleased] section for next cycle
commit 845d6ff1f6643aba440341cce877ce1c43ebbc39
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 30 00:24:19 2026 +0200
Release v0.83.0
commit 44b26c9b44a0758d6610e1c5f722d773c1d9fd15
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 30 00:20:32 2026 +0200
fix(tui): format image fallback changes
commit f0499a63ff5563ff041c689f680ecbf01436a5e2
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 30 00:00:54 2026 +0200
docs: audit changelogs since v0.82.1
commit 34239180ac5c80366def592b529a3a1b882b4a16
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Wed Jul 29 23:54:14 2026 +0200
fix(ai): preserve function arguments with empty custom payloads
Prefer function payloads when malformed OpenAI-compatible tool-call deltas also include an empty custom object, preserving parsed arguments.
Fixes #7160
Co-authored-by: Sunny Young <isunnyyoung@gmail.com>
commit 21f579a9a7e2cd717548b403fd6e05425fbe0cf6
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date: Wed Jul 29 21:49:58 2026 +0000
chore: approve contributors from issue #7160
commit d7b02636a0c7e8e615d0cff70679d18d2ff59573
Merge: bff5ab717 5a2539a7b
Author: David Brailovsky <davidbrai@gmail.com>
Date: Wed Jul 29 18:34:59 2026 +0200
Merge pull request #7272 from earendil-works/preserve-original-stop-reason
Adds AssistantMessage.rawStopReason and preserves provider original stop reasons.
Improves certain cases of error messages.
For mistral, change unmapped finish reasons to be "error" instead of "stop".
fixes #7255
commit 5a2539a7bdb9be06ce70f9f7ce02decece89762a
Author: David Brailovsky <davidbrai@gmail.com>
Date: Wed Jul 29 16:29:37 2026 +0000
update error messages copy to be more generic
commit bff5ab71743b442efa234dbed369e0a96da791f3
Author: David Brailovsky <davidbrai@gmail.com>
Date: Wed Jul 29 17:05:22 2026 +0200
fix(coding-agent): show system prompt files in startup context (#7266)
Shows file-backed SYSTEM.md and APPEND_SYSTEM.md entries in the interactive startup [Context] section.
fixes #7096
commit 4c1a0b92e50edaef297226a9edc4e04e05bd05d5
Author: David Brailovsky <davidbrai@gmail.com>
Date: Wed Jul 29 14:58:48 2026 +0000
fix(ai): use Qwen thinking controls for token plan reasoning models
fixes #6998 #6951
commit 4f0437e2d58d651dd934119ecabea2893975f62f
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Wed Jul 29 15:41:41 2026 +0200
docs(agent): harness design v2 (harness-v2.md)
Restructured rewrite: concepts (session = tree + lanes + per-lane
operation logs + global facts), records and crash-site traces, recovery
as reduction, then API and implementation top-down. Renames refs to
lanes, generations to tasks; retires leaf entries, de-trees labels and
name, adds deferred provider requests (stopReason deferred, optional
fetchDeferred/cancelDeferred on ProviderStreams, deliberate lane
suspension), SQLite branch cache with tips and reverse lookup, Unix ms
timestamps. Supersedes harness.md.
commit 5a53f086ee678613462e61685fee166abe22eae9
Author: David Brailovsky <davidbrai@gmail.com>
Date: Wed Jul 29 14:05:29 2026 +0200
fix(ai): preserve raw Mistral stop reasons
Treat unmapped Mistral finish reasons as provider errors instead of successful stops.
commit e5ef8d0654b57f559aa427b4d89b70cd9dab3c31
Author: David Brailovsky <davidbrai@gmail.com>
Date: Wed Jul 29 13:56:21 2026 +0200
fix(ai): preserve raw OpenAI response statuses
commit fe1c9b6d52eb011eff9891f0b7b0e117138e6fa1
Author: David Brailovsky <davidbrai@gmail.com>
Date: Wed Jul 29 13:52:14 2026 +0200
fix(ai): preserve raw OpenAI completion stop reasons
commit 637737ca71d673b209908d17a00170040db90ba6
Author: David Brailovsky <davidbrai@gmail.com>
Date: Wed Jul 29 13:49:42 2026 +0200
fix(ai): preserve raw Bedrock stop reasons
commit 926eb15c18ad6f03c621f5b557a13e76a1fddb51
Author: David Brailovsky <davidbrai@gmail.com>
Date: Wed Jul 29 13:41:03 2026 +0200
fix(ai): preserve raw Anthropic stop reasons
commit 23cb385b672b4d7d552fe080fd327c5cb77e9e33
Author: David Brailovsky <davidbrai@gmail.com>
Date: Wed Jul 29 11:31:53 2026 +0000
fix(ai): preserve google providers raw stop reason
commit cced6a21da273b26ee4a23a803680614bbe8dd1e
Author: Arunprasad Rajkumar <ar.arunprasad@gmail.com>
Date: Wed Jul 29 14:01:50 2026 +0530
fix(coding-agent): stop loading AGENTS.md twice in nested git worktrees (#7221)
Running from a linked worktree nested under its main repo loaded the
project's AGENTS.md/CLAUDE.md twice. The ancestor walk climbs from cwd to
the filesystem root, so it picked up the worktree's copy and then the main
repo's copy above it, even though both are the same tracked file.
The walk now drops that one duplicate: the main repo root's copy is skipped
when the worktree root has a context file of the same name. Nothing else
changes. The worktree still inherits the main repo's copy when it has none,
directories above the main repo keep loading, and ordinary repos, sibling
worktrees, submodules and bare layouts are untouched.
commit f9476a61e557bfdce2fbf3ffeaad0988fe47c184
Author: Petr Houška <houskape@gmail.com>
Date: Wed Jul 29 10:31:07 2026 +0200
fix(ai): update TypeBox nullable array validation (#7243)
Bump TypeBox to 1.3.7 so compiled validators guard array-specific keywords when null is accepted, and cover tool-argument validation with a regression test.
Breaking for extensions: TypeBox 1.3 removes deprecated APIs including Type.Base, Type.Awaited, Type.Promise, Type.AsyncIterator, Type.Iterator, Type.Options, and Value.Mutate. Extensions using these through Pi's bundled TypeBox aliases must migrate to supported TypeBox APIs.
Fixes #7003
commit fb4ecd633e10680063e6cd38c607361e03c19181
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Wed Jul 29 10:27:12 2026 +0200
fix(tui): shorten image fallback paths and clamp width (#7262)
Image.render() previously emitted the imageFallback line without
truncateToWidth. Long absolute paths (common when callers pass a
filename) exceeded the terminal width and crashed the TUI.
- imageFallback: home-shorten paths to ~/...; OSC 8 file:// link when
hyperlinks are available and the path is absolute
- Image.render: truncate fallback lines to the render width
- tests for shorten, hyperlink, basename, and width clamp
Co-authored-by: Moritz Hofmann <Moritz.Hofmann@aimentum.de>
commit 7796481e62d85f3eca6cc2e84e54ceb06c8e3877
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date: Wed Jul 29 08:24:33 2026 +0000
chore: approve contributors from issue #7217
commit a5db0e4f173ece71980e9df97f41af563bc51537
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date: Wed Jul 29 08:23:43 2026 +0000
chore: approve contributors from issue #7219
commit e9e86e1c832de1edfff2d42041c8f9087d72a0cf
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date: Wed Jul 29 08:21:47 2026 +0000
chore: approve contributors from issue #7224
commit 0c32e83a352a4284133b2544f730a23814948ac3
Author: Steve Immanuel <38256664+SteveImmanuel@users.noreply.github.com>
Date: Wed Jul 29 15:03:59 2026 +0700
fix(coding-agent): enable streaming usage for llama.cpp provider (#7258)
llama-server supports OpenAI-spec stream_options.include_usage since
b2b6b55a59 (Sep 2025); any server new enough for router mode sends the
final usage chunk when requested. With the flag hardcoded to false the
provider never requests it, so streamed responses record zero tokens
and session/context accounting stays empty.
Verified against llama-server b10094: with include_usage sent, the
final chunk carries usage (incl. prompt_tokens_details.cached_tokens);
without it, nothing.
commit 027a5847901b5dde30270abaa1041046cd2b4b55
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Tue Jul 28 18:51:44 2026 +0200
feat(ai): add per-request fetch injection
commit fdbedcad8aeb7c1e2ebd3b85f16e60e5fab0b2c3
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Tue Jul 28 16:08:11 2026 +0200
docs(agent): add refs to harness design
Refs: named movable leaf pointers, one active operation per ref, parallel
under one writer. AgentRef surface implemented by AgentHarness for main;
per-ref queues, persisted config, session views, scoped watch() plus
watchSession(). Per-ref recovery and operational-log partitioning (no
parenting; log order is causal order within a ref; session entries carry
no ref, membership derives from parent linkage). Labels and session name
de-treed to global latest-wins records with setter APIs. Named
append-only context invariant (KV cache rationale for deferred writes).
New traces, API examples, and open questions for review.
commit 47ca25fcd8535b80710fad5be758f1f2cf81443c
Author: David Brailovsky <davidbrai@gmail.com>
Date: Tue Jul 28 15:09:46 2026 +0200
Revert "fix(coding-agent): build-check-test (#7206)"
This reverts commit f14519551682cd0fddac2e4b4e8b1f333667e94c.
commit 0d008b746892ad33d3fe15c0c4bc86a14369e0e8
Author: David Brailovsky <davidbrai@gmail.com>
Date: Tue Jul 28 15:05:24 2026 +0200
fix(coding-agent): show tool expansion status
fixes #7180
commit f14519551682cd0fddac2e4b4e8b1f333667e94c
Author: xu0o0 <hq.xu0o0@gmail.com>
Date: Tue Jul 28 20:46:56 2026 +0800
fix(coding-agent): build-check-test (#7206)
commit cefa40ed8f8dbcd6ffd67b5e7a0eaa75a5050d1a
Author: Thomas Mustier <6326440+tmustier@users.noreply.github.com>
Date: Tue Jul 28 13:46:30 2026 +0100
***WIP it's a PoC *** fix(coding-agent): guard tree navigation during responses (#7022)
* fix(coding-agent): guard tree navigation during responses
* fix(coding-agent): simplify tree navigation regression
* fix(coding-agent): abort active run on session replacement and tree navigation
Session replacement (resume, new, fork, import) now settles the active
response in teardownCurrent before disposing the outgoing session, so the
aborted turn and its tool results persist instead of leaving a dangling
tool call. Tree navigation aborts the active response directly once the
user commits, without a confirmation gate.
commit 2fe21b407fcbf7625036afd46e39900ff8c081d1
Author: HyeokjaeLee <leehyeokjae97@gmail.com>
Date: Tue Jul 28 21:43:41 2026 +0900
fix(ai): send max_tokens for Z.AI providers (#7174)
* fix(ai): send max_tokens for Z.AI providers
Z.AI (zai, zai-coding-cn, api.z.ai, open.bigmodel.cn) ignores
max_completion_tokens and only honors max_tokens, so the configured
output cap never applied and Z.AI fell back to its 65536 default.
Add isZai to detectCompat's useMaxTokens condition.
* fix(ai): set zai max_tokens compat in model generator
Per review feedback: the model generator now maps Z.AI to max_tokens, so
regenerated Z.AI model entries carry compat.maxTokensField="max_tokens"
(Z.AI ignores max_completion_tokens). The runtime detectCompat change is
kept as a fallback for custom/self-hosted Z.AI base URLs not in the catalog,
matching how moonshot/together/nvidia are handled in both places.
commit 0563a7c0174d873b6368cf67349f7fc1be950292
Author: xu0o0 <hq.xu0o0@gmail.com>
Date: Tue Jul 28 20:43:22 2026 +0800
fix(coding-agent): clean up failed git installs (#7210)
commit f1ea6c0d05a5707a483268dbd42f8c60f38377ed
Author: Christian Basch <12725894+christianbasch@users.noreply.github.com>
Date: Tue Jul 28 14:42:42 2026 +0200
fix(coding-agent): reset model selector selection to top row when filtering (#7211)
Typing a model name in the /model selector only clamped selectedIndex to
the filtered list length, leaving the highlight wherever it happened to
be instead of moving to the best match. Reset selectedIndex to 0 when a
non-empty query is present so the top row is highlighted in both the All
and Scoped tabs. Keep the clamp behavior when the query is cleared.
fixes #7209
commit 5d548ae969454d23ef8fec627c5be896be888d47
Author: Cristina Poncela Cubeiro <140309543+cristinaponcela@users.noreply.github.com>
Date: Tue Jul 28 14:41:39 2026 +0200
fix: rpc bash no longer bypass user_bash (#7214)
* fix: rpc bash no longer bypass user_bash
* fix: rpc bash no longer bypass user_bash
commit 66eead65249b0623e2c77f8f40447b2af094ec8b
Author: David Brailovsky <davidbrai@gmail.com>
Date: Tue Jul 28 14:39:23 2026 +0200
fix(coding-agent): preserve resource metadata after extension resource reloads (#7218)
fixes #6968
commit b6fb91e5b3a35a4361ae7d697d66eb7ed4dd9850
Author: Cristina Poncela Cubeiro <140309543+cristinaponcela@users.noreply.github.com>
Date: Tue Jul 28 13:20:11 2026 +0200
fix(coding-agent): include scoped models in TUI extension context (#7215)
commit 063fb963c5c33d099faa593d17e60e0a875430cd
Author: Thomas Mustier <6326440+tmustier@users.noreply.github.com>
Date: Tue Jul 28 07:40:26 2026 +0100
fix(coding-agent): isolate autoload-disabled package test from real home directory (#7167)
* fix(coding-agent): isolate autoload-disabled package test from real home directory
The test asserted result.skills is exactly empty, but resolve() also
scans ~/.agents/skills via getHomeDir(). On machines where that
directory is populated the test failed; CI runners have no
~/.agents/skills, so it always passed there. Stub HOME to the temp
dir with the same save/restore pattern used by neighbouring tests.
* fix(coding-agent): use vi.stubEnv for home directory isolation
Replaces the manual try/finally save/restore with vi.stubEnv plus
vi.unstubAllEnvs in afterEach, shrinking the fix to two added lines.
* fix(coding-agent): plant decoy user skill so the empty-skills assertion cannot pass vacuously
With an empty sandbox, result.skills equal to [] could not distinguish
the package skill being correctly excluded from skill resolution being
broken entirely. A decoy skill in the stubbed HOME's .agents/skills
proves scanning still works while the package skill stays excluded.
* fix(coding-agent): simplify home isolation test
commit b63403a50f57fa0e3098684e927a63279598ec89
Author: Christian Basch <12725894+christianbasch@users.noreply.github.com>
Date: Tue Jul 28 08:38:35 2026 +0200
fix(ai): prefer configured Bedrock profile over ambient AWS keys (#7176)
Bedrock profile configured via pi's auth flow was ignored when ambient
AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY were set, because pi forced
config.credentials from those keys and the SDK treats explicit
credentials as overriding config.profile.
Fixes #6957
commit 04b15259b216294038169664aa4782d777b0281f
Author: pungggi <pungggi@users.noreply.github.com>
Date: Tue Jul 28 08:31:01 2026 +0200
feat(extensions): expose ctx.scopedModels to extensions (#7191)
Extensions have no way to read the session's scoped model set (the models
resolved from --models / enabledModels against the available catalogue --
the same list /scoped-models shows). The only model surfaces on
ExtensionContext are ctx.model (active) and ctx.modelRegistry.getAvailable()
(the whole catalogue, unfiltered), so an extension that wants a scoped
model picker must either enumerate everything or re-implement pi's scope
resolution (minimatch on provider/modelId / bare modelId + enabledModels +
--models) from disk -- duplicating core logic.
Add ctx.scopedModels: readonly ScopedModel[] to ExtensionContext, mirroring
how ctx.model is exposed (field -> bindCore -> lazy getter in createContext()).
Empty when no scoping is configured (all available models usable). Each entry
is { model, thinkingLevel? }.
- types.ts: ExtensionContext.scopedModels + ExtensionContextActions.getScopedModels
- runner.ts: field, bindCore wiring, lazy scopedModels getter
- agent-session.ts: provide getScopedModels: () => this._scopedModels
- test: assert ctx.scopedModels reflects the action (default [] + live ref)
- docs/extensions.md: document the new field
Co-authored-by: ngSoftware <alessandro@pungitore.ch>
commit 2903063d2c7df8c5e5a1840bb7ffe8bccfff4d49
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date: Tue Jul 28 06:23:14 2026 +0000
chore: approve contributors from issue #7171
commit c820aa26fe0907e053e881a957722693fc094c9c
Merge: a597371bd e8f9c0715
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Tue Jul 28 00:01:51 2026 +0200
Merge branch 'design/durable-agent-harness'
commit e8f9c07153da4814169a91bd93e7d4daa8ca2aad
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Tue Jul 28 00:01:20 2026 +0200
docs(agent): durable AgentHarness design (harness.md)
Full design for the durable, resumable harness: session log with harness
entries, SessionTree query contract, public API with result unions, watch()
snapshots, events/hooks catalogs, recovery procedures as code, forks,
storage backends, and telemetry integration.
commit a597371bda2af70372d1323d550483b5f4a0ae36
Merge: 99e34013d b0864a66c
Author: Christian Klotz <hello@christianklotz.co.uk>
Date: Mon Jul 27 18:05:08 2026 +0300
Merge pull request #7117 from earendil-works/feat/coding-agent-evals
feat(coding-agent): add extension creation eval
commit b0864a66cdd758f80c2b8e1186b7f1710f66efd5
Author: Christian Klotz <hello@christianklotz.co.uk>
Date: Mon Jul 27 18:00:53 2026 +0300
fix(coding-agent): preserve eval run diagnostics
commit b56a35f90fcdc99ccac02aeec5cdb1f8c69f307c
Author: Christian Klotz <hello@christianklotz.co.uk>
Date: Mon Jul 27 17:40:14 2026 +0300
fix(coding-agent): project typed eval outputs
commit 99e34013d13a71c2aef1958fd5ab44fa9bfc75dd
Author: Cristina Poncela Cubeiro <140309543+cristinaponcela@users.noreply.github.com>
Date: Mon Jul 27 16:13:06 2026 +0200
feat: auth print (#7168)
commit af19a9eea8e065be87b8262e7d1b5822dc3b2805
Author: Christian Klotz <hello@christianklotz.co.uk>
Date: Mon Jul 27 15:30:37 2026 +0300
fix(coding-agent): simplify extension eval prompt
commit 95d1c60fe27f5e3bb97ab6e9acc14d7d452baddb
Author: Christian Klotz <hello@christianklotz.co.uk>
Date: Mon Jul 27 15:16:01 2026 +0300
fix(coding-agent): simplify multi-step eval input
commit 9423204c6bd99f435b92ba0722b34e8d4d1e4270
Author: Christian Klotz <hello@christianklotz.co.uk>
Date: Mon Jul 27 15:02:23 2026 +0300
fix(coding-agent): clarify eval harness errors
commit 8a97632459c699497868c9a03df7f7970026687c
Author: Christian Klotz <hello@christianklotz.co.uk>
Date: Mon Jul 27 14:50:51 2026 +0300
fix(coding-agent): keep eval scenarios in test cases
commit 2efa728d2ee90ef597626e96b1e28ef2b279f07c
Author: Michael Yu <yzhg1983@163.com>
Date: Mon Jul 27 18:00:24 2026 +0800
fix(coding-agent): support concurrent user bash cancellation (#7103)
commit c2275d670316d271de5f766c8a9ebdc473bdfd5a
Author: Michael Yu <yzhg1983@163.com>
Date: Mon Jul 27 17:59:27 2026 +0800
fix(coding-agent): prevent duplicate messages on startup session switch (#7110)
commit 61da9e2f374000593e6d4fc4a7a9c376c602cdcf
Author: Rafael <raf@kernel.sh>
Date: Mon Jul 27 05:58:04 2026 -0400
feat(ai): add manual redirect URL fallback to OpenRouter OAuth login (#7114)
The OpenRouter PKCE flow only completed through the loopback callback
server, so remote/headless sessions (e.g. pi over SSH) could never
finish login: the browser runs on another machine and cannot reach
127.0.0.1 on the host running pi.
Race the callback server against a manual_code prompt, matching the
existing Anthropic and OpenAI Codex flows. Users can paste the final
redirect URL (or the bare authorization code) and the flow exchanges
it with the same PKCE verifier. A claimed callback keeps priority so
a pasted code cannot interrupt an in-flight exchange.
The callback server object follows the OAuthServerInfo shape from the
OpenAI Codex flow: waitForCredential() resolves null when cancelWait()
hands the login over to manual entry, and close() is pure cleanup that
never settles the wait.
Refs #7078
commit f9a49869c20c5dd1eae2e15370d6dfdc8e63dcb8
Author: Lucas Meijer <lucas@lucasmeijer.com>
Date: Mon Jul 27 11:56:15 2026 +0200
feat(ai): expose pending stop reason while streaming (#7151)
* feat(ai): expose pending streaming stop reason
Closes #7142
* manual tidy up of human facing copy
commit 60f6a8034d15d77137b364fd184a0b47d8b70ca9
Author: Jack Rose <user@jackrose.co.nz>
Date: Mon Jul 27 19:52:19 2026 +1000
feat(ai): add GitHub Copilot Claude Opus 5 support (#7158)
Route claude-opus-5 through the Anthropic Messages API with adaptive
thinking, the Copilot minimal thinking-level override, and pin the
extended 1M context window alongside the other Copilot Opus models.
commit f08f58f5f9525d3f532eda1df9082f1831241e2f
Author: Thomas Mustier <6326440+tmustier@users.noreply.github.com>
Date: Mon Jul 27 10:27:43 2026 +0100
fix(coding-agent): run coding-agent tests offline by default (#7031)
commit 5f9d025e7a85e0623e06bddfe8f2f864b1cb23b0
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date: Mon Jul 27 08:52:22 2026 +0000
chore: approve contributors from issue #7143
commit 3cd39163cbaa678f67fba446ea528d588301a2e7
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date: Mon Jul 27 08:44:33 2026 +0000
chore: approve contributors from issue #7132
commit cee5ff7520d8828bed9955ef00419e995d1f91e0
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Sun Jul 26 18:29:38 2026 +0200
ref: remove openclaw reference from readme
commit a0ac81c0a1bde538bf816a6a98b45203db9e96a2
Author: Christian Klotz <hello@christianklotz.co.uk>
Date: Sun Jul 26 00:02:34 2026 +0300
fix(coding-agent): distinguish eval invariants
commit 4b8accab8ba02c047dc1ee73013b049bae823e38
Author: Christian Klotz <hello@christianklotz.co.uk>
Date: Sat Jul 25 23:47:07 2026 +0300
fix(coding-agent): simplify eval normalization
commit 73c1696d9559a3cf0aeda971d60cd1be26c310f8
Author: Christian Klotz <hello@christianklotz.co.uk>
Date: Sat Jul 25 23:34:20 2026 +0300
fix(coding-agent): use focused eval harness
commit 66fbdb1c59e1a46da76e18b0f3200d01f7ec2393
Author: Christian Klotz <hello@christianklotz.co.uk>
Date: Sat Jul 25 23:09:22 2026 +0300
feat(coding-agent): add extension creation eval
commit 5bc1c2c0a6f07e00e8c240304182f213ab8d311f
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Sat Jul 25 14:37:15 2026 +0200
Add [Unreleased] section for next cycle
commit b4f293684bba718d59cc1157679bcf6157b3a7f5
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Sat Jul 25 14:37:11 2026 +0200
Release v0.82.1
commit 6173017a7b5a9df4935a1da4c0f0b696afa0f6de
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Sat Jul 25 14:36:32 2026 +0200
fix: drop harness-pi-ai and its legacy registry aliases from evals
The harness declared peer deps on the pre-rename @mariozechner/pi-ai and
@mariozechner/pi-agent-core names, so npm auto-installed our own code from the
registry under an alias. sync-versions bumped those aliases in lockstep, which
made every release fail because the new version is not published yet.
Build the eval harness on createHarness from vitest-evals core instead. The
pi-specific code was already ours; the harness only contributed agent-lifecycle
plumbing and unused tool replay.
commit 62a7074188b98ea3a7ebfe03aa3a7975c7091fce
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Sat Jul 25 14:09:45 2026 +0200
docs: audit changelogs for commits since v0.82.0
Add missing entries for the llama.cpp catalog cache and resource loader
directory fix, duplicate ai-side changes into coding-agent, add missing
external PR attributions, restore the 0.82.0 section that was modified
after release, and add the New Features section.
commit 58c0bc2fba29baf5e3bb6268baac00a49d8df1cf
Author: Duncan Ogilvie <mr.exodia.tpodt@gmail.com>
Date: Sat Jul 25 14:05:16 2026 +0200
fix(coding-agent): exclude directories from resource loader (#7106)
This fixes the following warning:
Warning: Could not read /Users/duncan/Projects/AGENTS.md: Error: EISDIR: illegal operation on a directory, read
commit b711e26616a741a110f092b9dd761e1a7eb30939
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Sat Jul 25 12:41:22 2026 +0200
fix: stop issue analysis from reporting failed runs as finished
Only comment the analysis summary when the pi run succeeded, add an explicit
failure comment, skip unchanged auth secret writes, and document that
PI_AUTH_UPDATE_TOKEN needs the Environments permission.
commit 4cf0a729c4eeef6628b2687cd8238cc6874c9a73
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Sat Jul 25 12:41:15 2026 +0200
fix(ai): keep the underlying cause in ModelsError messages
Auth failures surfaced only the wrapper text, so CI logs showed a bare
"OAuth refresh failed for openai-codex" with no provider response.
commit b1c444d956b70e5c437d3d2782b01d157fa05ba3
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Sat Jul 25 12:21:41 2026 +0200
feat(coding-agent): revalidate remote model catalogs with ETag
commit 518855dd502220d0c6480fb8863e2e7f8799893f
Author: Alexey Zaytsev <alexey.zaytsev@gmail.com>
Date: Sat Jul 25 03:29:34 2026 -0300
feat(coding-agent): expose output padding to custom renderers (#7045)
Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
commit 2a2b0a39f08923b3563a4f53d4b1cedf130d1391
Author: David Brailovsky <davidbrai@gmail.com>
Date: Sat Jul 25 08:27:05 2026 +0200
fix(coding-agent): cache llama.cpp model catalog (#7072)
commit af3b934fa6ba3b6a273dcb1540a3fc391b686410
Author: Burak Varlı <unexge@gmail.com>
Date: Sat Jul 25 08:25:23 2026 +0200
feat(ai): support Claude Opus 5 on Bedrock (#7081)
commit eafe11fb94fe7fcb89487da621a578278a6a67f1
Author: Christian Klotz <hello@christianklotz.co.uk>
Date: Sat Jul 25 09:22:32 2026 +0300
feat(coding-agent): add vitest eval harness (#7085)
commit 440689dfc7b02a2cc9e3a80aa4891379486e2b72
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date: Sat Jul 25 06:15:33 2026 +0000
chore: approve contributors from issue #7078
commit a3ee1d286e95b501b3d9d7bb26367a0edea46166
Author: Christian Klotz <hello@christianklotz.co.uk>
Date: Sat Jul 25 08:19:56 2026 +0300
fix(coding-agent): expose unavailable scoped models (#7032)
* fix(coding-agent): expose unavailable scoped models
Keep missing configured models editable in the scoped-model selector. This fixes #6949.
* fix(coding-agent): reuse model scope diagnostics
* fix(coding-agent): classify model scope diagnostics
commit 8eef62ed3ea62d646a7fad92fa583fc8d71fec17
Author: David Brailovsky <davidbrai@gmail.com>
Date: Fri Jul 24 19:05:08 2026 +0000
fix tests
commit 921c3543522ee7f4f7be2032ef28a8f64f2289fb
Author: David Brailovsky <davidbrai@gmail.com>
Date: Fri Jul 24 20:57:46 2026 +0200
add opus-5 models settings (#7083)
commit 7304d8f8af892893868b66254d34ffb9382fdec1
Author: David Brailovsky <davidbrai@gmail.com>
Date: Fri Jul 24 18:52:56 2026 +0000
fix tests: use updated models
commit a9f5b1c123a4f13457e88522a3be89aeb4823d66
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Fri Jul 24 16:12:44 2026 +0200
fix(ai): route Radius OAuth through gateway
commit 24e5cc04f413206956cfd21839a7026de673f354
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Fri Jul 24 15:13:22 2026 +0200
fix(ai): support Anthropic bearer token env (#6148)
Fixes #5871
commit 7df73a00c6cf85c000bf1ce1594c9284067a92f0
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Fri Jul 24 08:00:35 2026 +0200
Add [Unreleased] section for next cycle
commit 083e61621276bff9f6faefab87ce07fcd98734e2
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Fri Jul 24 08:00:31 2026 +0200
Release v0.82.0
commit e8d97fee1a9cc583c60c77d52ecca0e755b274ec
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Fri Jul 24 07:59:40 2026 +0200
feat(ai): update generated image models
commit e16172069ff3e1bf3c335157001c6ca0d61c4248
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Fri Jul 24 07:56:05 2026 +0200
docs(coding-agent): add model reload changelog entry
commit f87468131fac4c4e53cf2f9c1ad4a253acbe4e75
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Fri Jul 24 07:52:49 2026 +0200
fix(coding-agent): reload model config in picker (#7036)
commit 8472c486f424d716e4d0a9f71c0cbe9590bfc1dd
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Fri Jul 24 07:40:57 2026 +0200
docs(coding-agent): add missing clipboard changelog entry
commit fc8048d2370ab4252966aa3bf220373d1358dce2
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Fri Jul 24 07:32:53 2026 +0200
fix(coding-agent): bundle model data in release source
commit ee0dca45b4542c38df5547d3fe113e31a869101a
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Fri Jul 24 00:02:52 2026 +0200
docs: audit unreleased changelog entries
commit edbf941dad7f94edcf028f254db311b0efe44b6f
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date: Fri Jul 24 05:07:50 2026 +0000
chore: approve contributors from issue #7040
commit 2d3f555429935ffccdf23d9adae09ef7e0b85ca7
Author: Shakti <rkfshakti@gmail.com>
Date: Fri Jul 24 10:28:37 2026 +0530
fix: await wl-copy exit code and fall through to xclip on failure (#7009)
The /copy command always set copied=true after spawning wl-copy without
awaiting its exit code. When wl-copy fails (e.g. in a sandboxed
environment that inherits WAYLAND_DISPLAY but not the socket), the
xclip/OSC 52 fallbacks never ran because copied was already true.
Fix: await the wl-copy spawn exit code and only claim success on exit
code 0. On failure, fall through to the x11 clipboard fallback.
Fixes #6872.
commit 24bace27cf308c89707cf8005b4795d873e23f17
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 23 23:48:40 2026 +0200
feat(ai): support constrained sampling (#6341)
Add the constrained sampling API and provider plumbing for OpenAI and Anthropic tool calls, including grammar sampling variants and model capability metadata.
commit ec1a87e856502f29a55a5762d129bb845f094bd7
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 23 23:16:07 2026 +0200
fix(coding-agent): require protobufjs 7.6.5, closes #7005
commit 6abb4b06409912ac4f0c58fde0f37fd5f1d4c76a
Author: Christian Klotz <hello@christianklotz.co.uk>
Date: Fri Jul 24 00:06:03 2026 +0300
fix(coding-agent): use llama context for output limit (#7034)
Fixes #6994.
commit 241431c69baf667e09a0eadf8ffc34ee2f643ef0
Author: Thomas Mustier <6326440+tmustier@users.noreply.github.com>
Date: Thu Jul 23 22:03:23 2026 +0100
fix(agent,ai): don't cache write compaction or branch summaries (#6618)
avoid cache writes for compaction and branch summaries
Co-authored-by: Armin Ronacher <armin.ronacher@active-4.com>
commit 249008144c951b5cf63b0a3b24d21b6f65426fe4
Author: Petr Houška <houskape@gmail.com>
Date: Thu Jul 23 22:49:16 2026 +0200
fix: target intended users in lgtm approvals (#7023)
Maintainers frequently direct lgtm at tagged users who volunteer on an issue, but approval previously applied to the issue or PR author. Mentioned users are now approval targets, with the author as the fallback.
Prose and examples can also contain lgtm without intending approval. Only treat lgtm or lgtmi at the start, after leading mentions, or at the end as commands. Process PR comments too, where approvals previously had no effect.
commit 37bedb7f0b189f2ed0aed4f715c490c791baa01f
Author: Christian Klotz <hello@christianklotz.co.uk>
Date: Thu Jul 23 21:47:11 2026 +0300
fix(tui): truncate narrow editor scroll indicators (#7015)
Fixes #6962
commit 65ff8e7f6db447dcddb1a9c8fd05f081c5cda76a
Author: David Brailovsky <davidbrai@gmail.com>
Date: Thu Jul 23 13:45:10 2026 +0000
fix lint
commit ab55c15fbdbca4ce2d5628f1613a3bd30d847868
Merge: fc85bdd88 bc3d36474
Author: David Brailovsky <davidbrai@gmail.com>
Date: Thu Jul 23 15:42:22 2026 +0200
Merge pull request #7016 from earendil-works/fix/bundled-models-generated-time
fix bundled models generation time
commit bc3d36474256b271f277d8ffe9ae870fa96fb896
Author: David Brailovsky <davidbrai@gmail.com>
Date: Thu Jul 23 13:34:51 2026 +0000
fix bundled models generation time
Fresh package installs could give bundled model catalog
files newer filesystem mtimes than the remote catalog’s Last-Modified timestamp,
causing Pi to ignore newer remote models.
Use the catalog’s recorded generation time instead of installation-dependent file metadata.
commit fc85bdd88be93b1e9a6b6bcfa41c684282ec79cc
Author: Anantha Kumaran <ananthakumaran@gmail.com>
Date: Thu Jul 23 15:58:12 2026 +0530
feat(coding-agent): emit bash_execution_update events (#6971)
commit 7af8533c6f22ab922fff29f252d2d3657b821d99
Author: Petr Houška <houskape@gmail.com>
Date: Thu Jul 23 12:25:37 2026 +0200
fix(ai): make provider retries abortable (#6980)
Replace OpenAI and Anthropic SDK retries with local request retries that
preserve configured retry counts, enforce maxRetryDelayMs, and make retry
backoff interruptible through AbortSignal.
Alternatives considered: Racing SDK requests against AbortSignal would make
cancellation observable but would not let Pi enforce maxRetryDelayMs before
the SDK enters its retry sleep. Patching private SDK internals would be brittle,
while disabling provider retries entirely would ignore explicitly configured
maxRetries.
Also, align the custom OpenAI Codex retry loop with the documented
maxRetryDelayMs behavior. Oversized server-requested delays now fail immediately
instead of being clamped, allowing the visible, abortable agent-level retry
policy to handle the failure.
Fixes #6911
commit e66e3e588b6385d57db6ecd29c02f14f254aa228
Author: Christian Klotz <hello@christianklotz.co.uk>
Date: Thu Jul 23 13:21:06 2026 +0300
fix: isolate test environment (#6965)
commit 34f3719a942ecbf3e6d23e67098f47ba2867de0a
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date: Thu Jul 23 09:05:13 2026 +0000
chore: approve contributor christianbasch
commit da8dd87260513101add46a802c3ace94a71e2d70
Author: David Brailovsky <davidbrai@gmail.com>
Date: Thu Jul 23 08:23:24 2026 +0000
fix(coding-agent): resolve bracketed scoped model ids as literals
fixes #6210
commit 9b3a2059171bcc74ad9d2cadeea6d186776cf2db
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Wed Jul 22 23:54:57 2026 +0200
fix(coding-agent): isolate summarization requests
commit ecb9410c5c5c3f8c0f0f444f386043276b9f0d3a
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Wed Jul 22 20:28:39 2026 +0200
fix(coding-agent): let manual updates bypass skip check
closes #6977
commit bb3d7d399c06e5fe284f34eb66b15b037ab18649
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Wed Jul 22 20:15:02 2026 +0200
feat(coding-agent): expose session metadata to bash tools (#6967)
commit c55ae2faa5d850e0e4650bd573f7f241b10e2e0b
Author: David Brailovsky <davidbrai@gmail.com>
Date: Wed Jul 22 16:08:21 2026 +0200
fix(coding-agent): display path of sibling dependent extensions (#6964)
fixes: #6619
commit 75e6123aba58342d5e464c5b8417effa3dc441d2
Author: Christian Klotz <hello@christianklotz.co.uk>
Date: Wed Jul 22 16:49:01 2026 +0300
fix(coding-agent): speed up external editor launch (#6903)
* fix(coding-agent): speed up external editor launch
Fixes #6774
* refactor(coding-agent): clarify external editor handling
* refactor(coding-agent): simplify external editor result
* refactor(coding-agent): model external editor lifecycle
* fix(coding-agent): rename external editor test fake
* fix(coding-agent): secure external editor temp files
* fix(coding-agent): simplify external editor temp path
* fix(coding-agent): restore system temp editor files
commit 7b52cef2e62b35caa5dcbf7a45d5c56c7b3bd573
Author: Saryev Rustam <70219513+rsaryev@users.noreply.github.com>
Date: Wed Jul 22 16:48:39 2026 +0300
feat(ai): add OpenRouter OAuth support (#6927)
Closes #6814
commit fe42ba5b386a655b20a95205ff7c162126ac1f45
Author: David Brailovsky <davidbrai@gmail.com>
Date: Wed Jul 22 15:48:25 2026 +0200
write tui debug/crash logs into the configured pi agent dir (#6958)
fixes #6652
commit 346c85473d2b8a72b2d9006db684d9c49a9c65cc
Merge: 5dc40fee3 e32c1491b
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Wed Jul 22 15:36:28 2026 +0200
Merge branch 'agent-harness-tools'
commit e32c1491b5ca25df64e4642d88c92334ca47de56
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Wed Jul 22 15:36:06 2026 +0200
feat(agent): align harness execution tools
commit 5dc40fee330023200e35938fdced2ae0735b5310
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Wed Jul 22 13:11:21 2026 +0200
feat(ai): derive generated model types from JSON
commit 906b40a75329bc3a4c19865f0279903f6be6d476
Merge: bc41f612d c5dcb2600
Author: David Brailovsky <davidbrai@gmail.com>
Date: Wed Jul 22 12:41:58 2026 +0200
Merge pull request #6955 from earendil-works/fix/handle-openai-previous-response-not-found-error
handle openai websocket previous_response_not_found error
commit c5dcb26000c887deeea6658f43cf33f2d075fb9f
Author: David Brailovsky <davidbrai@gmail.com>
Date: Wed Jul 22 10:26:24 2026 +0000
handle openai websocket previous_response_not_found error
fixes #6931
commit 2d0b2294cd212e52e3c23decb3d2e19dbcf9b9dd
Merge: 37eb243d2 bc41f612d
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Wed Jul 22 11:56:35 2026 +0200
feat(agent): merge main into agent-harness-tools
commit bc41f612da8c15c4acc5f7ab7a7178a4fe17c942
Author: Matthew <84196639+mteam88@users.noreply.github.com>
Date: Wed Jul 22 02:48:33 2026 -0700
fix(ai): cache OpenRouter tool results
closes #6940
commit 6f95a33888da4e94924b553b586fa9a923957194
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Wed Jul 22 11:46:21 2026 +0200
fix(ai): enable cache control for OpenRouter aliases
closes #6940
commit 33e40c3e155a7f7c1bd67ea7dbdeca258eca7547
Author: Christian Klotz <hello@christianklotz.co.uk>
Date: Wed Jul 22 12:26:19 2026 +0300
fix(ai): retry DNS transport failures (#6946)
Fixes #6904
commit a5afc3f171e422e08a2ccc342827719f9952f38a
Author: zay <richardicruz25@gmail.com>
Date: Wed Jul 22 02:35:03 2026 -0400
feat(ai): add Kimi Code subscription OAuth login (#6935)
Add a device authorization grant flow (RFC 8628) for the kimi-coding
provider, mirroring the official Kimi Code CLI: device authorization and
token polling against https://auth.kimi.com, refresh-token rotation with
retry/backoff, and Bearer auth via toAuth headers. The provider now
offers 'Sign in with Kimi Code' alongside the existing KIMI_API_KEY
auth. Host is overridable via KIMI_CODE_OAUTH_HOST / KIMI_OAUTH_HOST.
Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
commit 1ae064099cee34302984c56ff637e63dad44a8c4
Author: David Brailovsky <davidbrai@gmail.com>
Date: Wed Jul 22 08:33:34 2026 +0200
generate-models: use reasoning options from models.dev (#6928)
* generate-models: use reasoning options from models.dev
* fix tests
commit db647e421fbc3e7cbf75371e36373eda19f13925
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date: Wed Jul 22 06:30:37 2026 +0000
chore: approve contributor mteam88
commit dd6bea41efa8caa7a10fe5a6401676dc5699f83f
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Tue Jul 21 18:40:11 2026 +0200
Add [Unreleased] section for next cycle
commit 20be4b18d4c57487f8993d2762bace129f0cf7c6
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Tue Jul 21 18:40:08 2026 +0200
Release v0.81.1
commit b9e5c5d941a74f40e8dfc60c607d7555231d40a1
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Tue Jul 21 18:34:56 2026 +0200
fix(agent): restore streamFn extension compatibility
Keep streamFn required for typed callers while preserving the legacy runtime fallback for extensions that omit it.\n\nfixes #6915
commit b142504125324b6fa0172bc2f5c1309faefc37ed
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Tue Jul 21 18:25:38 2026 +0200
fix(coding-agent): defer catalog refresh until after TUI startup
commit a82289637b84dc546eb3e7e0c85513cd557d6f4b
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Tue Jul 21 18:25:27 2026 +0200
feat(ai): add new Gemini generated models
commit 65dd2e0ed6c71bd61d698353c29f2de24968bf76
Merge: 4b91ec66f 7540da401
Author: David Brailovsky <davidbrai@gmail.com>
Date: Tue Jul 21 17:45:03 2026 +0200
Merge pull request #6901 from earendil-works/fix/issue-6647-retry-summary-requests-2
compaction & branch summarization follow retry policy
commit 7540da4016bdbf405b9c4dc62d401cca15e270d1
Author: David Brailovsky <davidbrai@gmail.com>
Date: Tue Jul 21 15:40:11 2026 +0000
add docs for new event types
commit 243f64be59b77d73f5b8512c8f3b4496a8a09f08
Author: David Brailovsky <davidbrai@gmail.com>
Date: Tue Jul 21 15:34:31 2026 +0000
report aborted retry attempts as unsuccessful
commit 4b91ec66fd33026e6e44a0dca5a954a59abd3ee9
Author: Christian Klotz <hello@christianklotz.co.uk>
Date: Tue Jul 21 18:18:05 2026 +0300
feat(coding-agent): add release source archives (#6913)
commit ceac988635ac43788796ddad5a120eb629780ba4
Merge: 162179af5 959cc1897
Author: David Brailovsky <davidbrai@gmail.com>
Date: Tue Jul 21 17:15:54 2026 +0200
Merge remote-tracking branch 'origin/main' into fix/issue-6647-retry-summary-requests-2
commit 37eb243d2644976e97f69fd6ec4726b7dbef89b4
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Tue Jul 21 17:03:28 2026 +0200
feat(agent): add AgentHarness execution tools
commit 959cc1897e41adc745fe4f39f34772aba4033ef8
Author: David Brailovsky <davidbrai@gmail.com>
Date: Tue Jul 21 14:49:23 2026 +0000
fix moonshot/kimi3 compat properties
commit 899fe26911b90d8ce5eb27d1c8f624977c35ed69
Author: Cristina Poncela Cubeiro <140309543+cristinaponcela@users.noreply.github.com>
Date: Tue Jul 21 15:53:51 2026 +0200
fix: flaky test (#6905)
commit 3dcb411e8969d293556b6540696357eca22e044e
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Tue Jul 21 15:27:38 2026 +0200
Add [Unreleased] section for next cycle
commit 9c480b6ad2c7419875a7a850fb4ad5f9232313b8
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Tue Jul 21 15:27:11 2026 +0200
Release v0.81.0
commit 3f1762cc7d3af39898aa5d21891335935011287f
Merge: d35237cfd 74f878496
Author: David Brailovsky <davidbrai@gmail.com>
Date: Tue Jul 21 15:03:41 2026 +0200
Merge pull request #6902 from earendil-works/bump-github-actions-versions
update deprecated github actions
commit d35237cfda0c898b3afe0e982d9dba97c679e103
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Tue Jul 21 14:51:22 2026 +0200
fix: build packages before release tests
commit c23b58a6d899799beba1eb4f6a291241ad92cb17
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Tue Jul 21 14:51:14 2026 +0200
feat(ai): update generated image models
commit c901d9a877c991131e563c0aa08eb2f9d0cd8c7c
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Tue Jul 21 14:47:00 2026 +0200
docs: audit unreleased changelogs
commit 864b35c462f9623579b068e9cab848419f9e1d0f
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Tue Jul 21 14:25:10 2026 +0200
fix(coding-agent): show llama download progress
commit 74f8784966ca8ae9f04444dd2e67769db9e77662
Author: David Brailovsky <davidbrai@gmail.com>
Date: Tue Jul 21 12:22:27 2026 +0000
update deprecated github actions
fixes #6875
commit 109c4125d29839bc1b0755cc128ab4be93a94f45
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Tue Jul 21 14:13:14 2026 +0200
feat(agent): prepare SQLite storage package for publishing
commit 162179af5a989c4b4fd62f109daee69b550428f2
Author: David Brailovsky <davidbrai@gmail.com>
Date: Tue Jul 21 12:11:39 2026 +0000
add branch/compact retries to agent-harness
commit 8495f9d0d6407d4ec94e16a685df70740335dd29
Author: Cristina Poncela Cubeiro <140309543+cristinaponcela@users.noreply.github.com>
Date: Tue Jul 21 13:32:42 2026 +0200
chore: rename orchestrator to server (#6898)
commit 8e53e0e49cf3ecec20c840c4cb03e692e96c50f1
Author: David Brailovsky <davidbrai@gmail.com>
Date: Tue Jul 21 10:07:20 2026 +0000
compaction & branch summarization follow retry policy
fixes #6647
compaction (auto & manual) and branch summarization retry on transient failures.
use the same retry policy from settings.
emit events for the tui to show indication of retries
commit 9e7582aa03e54f410fa9688197a3b64514e93400
Author: Cristina Poncela Cubeiro <140309543+cristinaponcela@users.noreply.github.com>
Date: Tue Jul 21 11:36:31 2026 +0200
feat: sqlite session storage (#6594)
This PR:
- Adds retainedTail to compaction entries in the new agent harness so we don't have to walk up the tree for the 2000 tokens before compaction,
- Changes getPathToRoot to getPathToRootOrCompaction to only load until last compaction, as unnecessary to access all nodes where it is called,
- Adds a SQLite storage backend, in a separate packages/session-backend-sqlite, with a migration system and schemas as per on-site discussions: sessions to match session header messages (except for metadata, which I couldn't understand what it's used for or where it gets written, so I omitted it), session_entries for shared entry types as columns plus payload as a json for what remains, session_sequences to represent the append-only, serialized nature of the jsonl files, branch_entries to attribute nodes to branches (relationship one-to-many), and session_materialized with the session info (see /session in TUI) to act as a "cache" or quick-access for costs, message count, token info, labels, session name, and model-thinking-level config (e.g. for fast resume).
- This is compatible with the new agent harness Session abstraction.
commit 54fad505b9d8cbc8922ff55d7e2938f70cbf6a3d
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Tue Jul 21 11:11:08 2026 +0200
fix(coding-agent): prefer newer generated model catalogs
commit 890b3547af230d1ad75a4ec2a8989387fae2bd2b
Author: David Brailovsky <davidbrai@gmail.com>
Date: Tue Jul 21 07:48:16 2026 +0000
run generate-models
fixes #6891
commit bb019731fc23db8e8889fbbbddbafc015a1f3fc2
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date: Tue Jul 21 07:33:18 2026 +0000
chore: approve contributor zaycruz
commit bc62a57808ba7cc3b7e4ad66d0d3bfa0d1103c5d
Merge: c8c3cd499 31dc078bf
Author: David Brailovsky <davidbrai@gmail.com>
Date: Tue Jul 21 08:13:28 2026 +0200
Merge pull request #6896 from earendil-works/update-brace-expansion
update brace-expansion version
commit 31dc078bf8921ac6e6fbdd6f52cbdfad37f5080a
Author: David Brailovsky <davidbrai@gmail.com>
Date: Tue Jul 21 06:07:44 2026 +0000
update brace-expansion version
commit c8c3cd499f4d35c0f9cfebfec5f4e3822411a49f
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Mon Jul 20 22:28:48 2026 +0200
fix(ai): validate generated model data before builds
commit ff992261e2ec349e4257a59d052076355ca0b18b
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date: Mon Jul 20 20:00:14 2026 +0000
chore: approve contributor R-Taneja
commit 1235c0ec649b5fbd2c7cd2328aa8d7786f565d8c
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Mon Jul 20 17:54:17 2026 +0200
fix(agent): decouple agent streams from compat
closes #6851
commit 3a40794ea14c6202586cc203d5b928eca9f6b673
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Mon Jul 20 17:19:40 2026 +0200
feat(ai): regenerate models
commit c889eb8809a0f40ccd937dc915b10147bec39115
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Mon Jul 20 17:13:06 2026 +0200
fix(coding-agent): defer startup model catalog refresh
commit f8b74a4507a0505cc8275a8f5afcdd9072cc75f0
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Mon Jul 20 17:04:12 2026 +0200
fix: complete extension usage accounting
closes #6509
commit 2fd3868401f0fe79496f3df731b20348ba57538a
Author: David Brailovsky <davidbrai@gmail.com>
Date: Mon Jul 20 16:41:43 2026 +0200
add usage info to branch summary, compaction and tool result entries (#6671)
* add usage info to branch summary entries
* add usage to compaction entries
* allow custom tools to report llm usage in tool results
* allow observing and patching usage in tool_result hooks
* agent-harness: save usage in entries
for compaction, branch summaries and tool results
commit c179395218416b0352d2d11a4025fac0668a2676
Author: Cristina Poncela Cubeiro <140309543+cristinaponcela@users.noreply.github.com>
Date: Mon Jul 20 16:29:10 2026 +0200
feat: get_available_thinking_levels rpc (#6865)
commit 1942b2600f2bbb7b5bc86c30379e14c0766c058c
Author: Cristina Poncela Cubeiro <140309543+cristinaponcela@users.noreply.github.com>
Date: Mon Jul 20 16:20:49 2026 +0200
fix: env section ignored (#6864)
commit 13437ca828894f43f973c630d208b488637d8fa9
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Mon Jul 20 14:03:33 2026 +0200
fix(ai): normalize Kimi K2.7 to the canonical coding model
Treat the models.dev k2p7 entry as an alias for kimi-for-coding and regenerate provider catalogs. This restores consistency between generated model types and values and unblocks repository type checks.
commit 3595e080cb013232c4141cab9976eebcdddcc417
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Mon Jul 20 14:03:15 2026 +0200
fix(tui): keep paste registry in sync when deleting paste markers
Undo snapshots now restore paste content and counters alongside editor text. Paste marker renumbering shifts registry entries in ascending ID order before rewriting markers, preventing literal or incorrect paste content on submit.\n\nCloses #6844
commit bb437b097bf31f32608580d2f3d09d994533751c
Merge: bbb91fa8a 2e810c240
Author: Cristina Poncela Cubeiro <140309543+cristinaponcela@users.noreply.github.com>
Date: Mon Jul 20 14:04:05 2026 +0200
Merge pull request #6861 from cristinaponcela/fix/issue-linking
fix: issue template links
commit 2e810c2402a8f5a9f96043b47aedfc6ec8d2d8e7
Author: Cristina Poncela Cubeiro <140309543+cristinaponcela@users.noreply.github.com>
Date: Mon Jul 20 13:59:18 2026 +0200
fix: issue template links
commit bbb91fa8ae56ecbf0e6ad4c3fe3bdc4a7f8bc696
Author: QuintinShaw <yx6f20@soton.ac.uk>
Date: Mon Jul 20 19:53:30 2026 +0800
feat(ai): add Qwen Token Plan as built-in provider (#6858)
Add Alibaba Cloud Model Studio Token Plan subscription service as two
built-in API-key providers: qwen-token-plan (international, Singapore)
and qwen-token-plan-cn (China, Beijing).
Each provider exposes 15 text-generation models (Qwen, DeepSeek, GLM,
Kimi, MiniMax) via the OpenAI-compatible endpoint with DashScope
enable_thinking support. Model metadata is sourced from models.dev;
qwen3.8-max-preview is hardcoded until models.dev includes it.
Also fixes kimi-coding test references (k2p7 -> kimi-for-coding) after
models.dev catalog update picked up by generate-models.
Closes #6850
commit d9f7f814730998f191ad6c32bbd178e0834cae18
Author: Cristina Poncela Cubeiro <140309543+cristinaponcela@users.noreply.github.com>
Date: Mon Jul 20 13:51:16 2026 +0200
fix: tool_call_id error when switching (#6854)
commit 9e7fce70a3186e3a25074784b1db00facc816299
Author: David Brailovsky <davidbrai@gmail.com>
Date: Mon Jul 20 13:09:12 2026 +0200
export missing message and tool execution event types (#6772)
fixes #6687
commit 35f12c8c729010d8b77cbb161ba19f30018fd1e8
Author: Aadish Verma <mail@aadishv.dev>
Date: Mon Jul 20 03:22:22 2026 -0700
fix: gpt 5.6 context window (#6853)
commit 84fb69c95868419ef15d8ea461773f40087af922
Author: David Brailovsky <davidbrai@gmail.com>
Date: Mon Jul 20 10:21:58 2026 +0000
update npm shrinkwrap
commit 21f92b319d984341264f49b6ece3c5a254d32659
Author: David Brailovsky <davidbrai@gmail.com>
Date: Mon Jul 20 10:21:34 2026 +0000
run generate-models
commit da95649b957d6a3f4e1ab7f60baae7809cf65b03
Author: David Brailovsky <davidbrai@gmail.com>
Date: Mon Jul 20 10:19:01 2026 +0000
lint fix
commit 8b9373707845631ad286580b1d2c3f938e5c263f
Author: David Brailovsky <davidbrai@gmail.com>
Date: Mon Jul 20 09:00:15 2026 +0000
kimi: add low,high to k3 and remove k2p7 references
commit 85f89db9bcf4104b1e207ddb6f787bc5a4b631ce
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date: Mon Jul 20 07:33:27 2026 +0000
chore: approve contributor QuintinShaw
commit 87845fc430c544e29e899cb3ef61545fd0e01751
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date: Mon Jul 20 07:19:18 2026 +0000
chore: approve contributor rsaryev
commit 916de90dbf36658b83c9a54130afe768659c8332
Author: Federico Jaramillo Martinez <federicojaramillom@gmail.com>
Date: Mon Jul 20 09:18:14 2026 +0200
fix(pi-ai): normalize bin path to avoid consumer lockfile churn (#6812)
The npm registry normalizes bin paths in packument metadata
("dist/cli.js") while the published tarball keeps the authored
"./dist/cli.js". npm consumers get perpetual one-line
package-lock.json flips depending on whether resolution used
registry metadata or the extracted package.
Drop the "./" prefix to match the registry-normalized form and the
sibling coding-agent package.
Fixes #6811
commit 5f2f7d06793738605681dc69e17feea120cba3f9
Author: Damjan 9000 <damjan.9000@gmail.com>
Date: Mon Jul 20 09:09:56 2026 +0200
fix(tui): clear inverted cursor on exit to avoid dual cursor appearance (#6790)
When pi exits, the reverse-video cursor character remains visible on
the editor prompt line. Combined with the terminal's own cursor below,
this creates the appearance of two cursors, which is confusing.
Overwrite the inverted cursor with a normal space before exiting.
commit 94373d815d2b4a3a48864d5341afc824b8db45e3
Author: Alexey Zaytsev <alexey.zaytsev@gmail.com>
Date: Sun Jul 19 20:50:36 2026 -0300
feat(ai): add shared contentText utility (#6840)
Co-authored-by: Armin Ronacher <armin.ronacher@active-4.com>
commit 75cb0b873af17e4f0d95b21d82ab6996084b978e
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Mon Jul 20 01:28:36 2026 +0200
fix(ai): support responses API for OpenCode Go
commit d2f8dafb0f07409758797c880fbc3d526fa7c5c6
Author: Alexey Zaytsev <alexey.zaytsev@gmail.com>
Date: Sun Jul 19 20:23:47 2026 -0300
fix(ai,agent,coding-agent): share UUIDv7 and use for Codex (#6834)
commit 956074697fc0f59e8a9787717e76d5bb0ee7bc72
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Sun Jul 19 22:21:31 2026 +0200
fix(ai): replace generic record checks
commit f1c587dde39025c75d7397bc14532d8fa5c001d9
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Sun Jul 19 20:18:49 2026 +0200
fix(coding-agent): avoid duplicate session reads
fixes #6793
commit 3da591ab74ab9ab407e72ed882600b2c851fae21
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Fri Jul 17 17:13:39 2026 +0200
feat(coding-agent): add Hugging Face llama search
commit f1a466b19d59cde009bd2d6da57b063518e299b8
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Fri Jul 17 16:24:21 2026 +0200
feat(coding-agent): add llama.cpp router integration
commit 5124c61b2527e90b10674a286ac69ad5c49d0560
Author: David Brailovsky <davidbrai@gmail.com>
Date: Fri Jul 17 13:24:11 2026 +0000
buildfix: fix tests referencing old models
commit 64f83c85d9f36c831e96b29477750f92cd5a2230
Author: David Brailovsky <davidbrai@gmail.com>
Date: Fri Jul 17 13:52:32 2026 +0200
fix(coding-agent): support all-argument prompt defaults closes #6695
commit ce48d9b4ef72a4e16c868ef92a9c47c002dfea52
Author: David Brailovsky <davidbrai@gmail.com>
Date: Fri Jul 17 12:38:12 2026 +0200
fix(ai): preserve GitHub Copilot long-context pricing tiers, closes #6668
commit a9f6a3159a6f0b70e62f5109709d70318e201a93
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Fri Jul 17 11:08:48 2026 +0200
feat(ai): separate generated model data (#6765)
commit b0c2a90e5162e1fba9fe1ecd3ed6cd1cf01852d7
Author: David Brailovsky <davidbrai@gmail.com>
Date: Fri Jul 17 10:55:56 2026 +0200
fix(coding-agent): retry OpenAI Responses early EOF
closes #6727
commit 019e4ad687d92503f328422547af88ca3af6c937
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Fri Jul 17 10:58:24 2026 +0200
feat(coding-agent): accept native extension providers
Allow extensions to register complete pi-ai Provider objects while preserving models.json composition and resolved provider auth access.
Refs #4823 and #4824.
commit c8560b8d7041766545237ff7b6e2f0bb079e6f87
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Fri Jul 17 10:23:09 2026 +0200
fix(ai): limit model catalog publication hours
commit 8881e17625a656aca53aa72051d1e04bdffcf617
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Fri Jul 17 10:00:40 2026 +0200
fix(ai): show implied Kimi Coding subscription costs
commit 58575888f5a796462ca1a9ab1f64e13fa16728d0
Author: Mario Zechner <badlogicgames@gmail.com>
Date: Fri Jul 17 09:35:48 2026 +0200
docs(coding-agent): fix obsolete extension UI examples closes #6735
commit e5e8726836465e575ca2d619db76cae4c29a1749
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date: Fri Jul 17 07:24:50 2026 +0000
chore: approve contributor anh-chu
commit dc24a73c174aed7f16e42bd81ac1cf1d80b6fcdc
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date: Fri Jul 17 07:22:24 2026 +0000
chore: approve contributor andrebreijao
commit 35a0d5d62065c932a957b888827556f2952ac40d
Author: Danila Poyarkov <dev@dannote.net>
Date: Fri Jul 17 10:09:01 2026 +0300
fix(coding-agent): preserve compaction queue behavior (#6730)
commit 16afccd3460e8550537175c73310fe90ca1c2e8c
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Fri Jul 17 09:05:13 2026 +0200
fix(ai): test model catalogs against PR merge refs (#6721)
commit a2c5ee33eba34ff7bbb8ac551dbdf8525d3c5974
Author: Danila Poyarkov <dev@dannote.net>
Date: Fri Jul 17 10:02:50 2026 +0300
fix(coding-agent): do not highlight read errors (#6731)
commit 056c8cbb805f8efc2c05d68f1826bab898b53478
Author: Alexey Zaytsev <alexey.zaytsev@gmail.com>
Date: Fri Jul 17 04:01:42 2026 -0300
feat(ai): make model generation explicit (#6742)
commit 00b032676f12212efe02319c1a9787a4956c931f
Author: Xiangzhe <32761048+xz-dev@users.noreply.github.com>
Date: Fri Jul 17 15:01:10 2026 +0800
fix(tui): handle CRLF and CR line endings (#6764)
commit 216e672e7c9fc65682553394b74e483c0c9e47f7
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 16 23:59:44 2026 +0200
Add [Unreleased] section for next cycle
commit 8dc78834cde4e329284cf505f9e3f99763df5529
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 16 23:59:41 2026 +0200
Release v0.80.10
commit c29eda6fb7fa024ea84953f155447c0c6b30ab19
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 16 23:22:56 2026 +0200
docs(coding-agent): audit unreleased changelog
commit b8575f60fae717dcd4bfa5465977102086088059
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 16 20:59:54 2026 +0200
fix(ai): use adaptive thinking for Kimi Coding
commit aba324504c914aa8920b159a6791ee1567e992e5
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 16 20:37:48 2026 +0200
fix(ai): correct Kimi K3 Moonshot pricing
commit c1b7856e26bcabf5457e2d43e4958adc22683df4
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 16 20:07:36 2026 +0200
fix(ai): prevent removed xAI models regenerating, closes #6736
commit 78ff2494367147d094f1bb81061ae13bc6d2b53f
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 16 19:58:17 2026 +0200
fix(ai): expose max thinking for Kimi Coding K3
Closes #6737
commit f7e060374541be0097ee015aaddb097a4f760984
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 16 19:18:00 2026 +0200
Add [Unreleased] section for next cycle
commit 2d16f92973230a7e095aa984f150ba8702784f50
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 16 19:17:57 2026 +0200
Release v0.80.9
commit aa508b7f40130ab26541aed8298f7986140beaa9
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 16 19:13:10 2026 +0200
docs: audit unreleased changelogs
commit b97ed202100c3c5e93da72be6e045f6b4f382c0e
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 16 19:05:27 2026 +0200
fix(coding-agent): explain clone failure for unsaved sessions
commit a01baaaea7a9e83b36da1f3e672768ab27bae7e9
Author: Milosz Jankiewicz <25470423+Jaaneek@users.noreply.github.com>
Date: Thu Jul 16 17:59:54 2026 +0100
feat(xai): prefilled OAuth device link, SuperGrok login label, trimmed model list (#6734)
- Use verification_uri_complete from the xAI device-code response so the
login link opens with the user code prefilled (https-validated)
- Add OAuthAuth.loginLabel and show "Sign in with SuperGrok or X Premium"
in the xAI auth-type selector (threaded through lazyOAuth)
- Remove grok-3, grok-3-fast, grok-4.20 variants and grok-code-fast-1
from the built-in xAI catalog and default to grok-4.5
Co-authored-by: Jaaneek <Jaaneek@users.noreply.github.com>
commit c2c32febb02c26076e7ef8c89aacfbf7a661d5c2
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 16 18:56:54 2026 +0200
fix(ai): correct Kimi K3 gateway output limits
commit 70c57632975c989f80a3a49c79ff43213f1f1dad
Author: David Brailovsky <davidbrai@gmail.com>
Date: Thu Jul 16 15:39:22 2026 +0000
add deferred tool loading for kimi-k3
commit 3524cd4c858a1e4de2f7d8a2dd5a2826e6fbfc75
Merge: f16b4e0cd 6a884b4a7
Author: David Brailovsky <davidbrai@gmail.com>
Date: Thu Jul 16 17:30:50 2026 +0200
Merge remote-tracking branch 'origin/main' into add-kimi-deferred-tools
commit 6a884b4a7560f97169a50449ab0de5ef5782e59c
Author: David Brailovsky <davidbrai@gmail.com>
Date: Thu Jul 16 15:29:32 2026 +0000
add kimi-k3
commit e022eec37dee52790564f3af93819c34f3f78af1
Author: David Brailovsky <davidbrai@gmail.com>
Date: Thu Jul 16 16:35:19 2026 +0200
Add [Unreleased] section for next cycle
commit fae7176cb9f7c4725a40d9d481d8d70b80f18086
Author: David Brailovsky <davidbrai@gmail.com>
Date: Thu Jul 16 16:35:16 2026 +0200
Release v0.80.8
commit 6442536b1e2586f6da29a4301a0795aab672dc63
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 16 15:36:16 2026 +0200
fix(coding-agent): bundle OAuth flows in Bun binaries
commit f16b4e0cda56cef74bb92e264f8561cf8f4c1385
Author: David Brailovsky <davidbrai@gmail.com>
Date: Thu Jul 16 12:26:56 2026 +0000
add deferred tools support for kimi in openai-completions api
commit eb793510ada540e95c1e2942e4fc21b32c33ed83
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 16 13:58:56 2026 +0200
docs: audit unreleased changelogs
commit 97f9978fa66685f78d2da19ae22e20c46d125f74
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 16 12:46:49 2026 +0200
feat(coding-agent): add model catalog refresh flag
commit 2be9efa19cd64aed40ca63f92c0c0f9a6bac7c9d
Author: Armin Ronacher <armin.ronacher@active-4.com>
Date: Thu Jul 16 11:43:47 2026 +0200
feat(ai): publish generated model catalogs to R2 (#6720)
commit 5220aba61970fc9f284a7c71e95669b52b4f47a8
Author: Milosz Jankiewicz <25470423+Jaaneek@users.noreply.github.com>
Date: Thu Jul 16 08:58:24 2026 +0100
feat(ai): add …
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
closes #6839