Sponsored Content
Skip to content

Releases: kirodotdev/KiroCrew

v0.5.0-insider.8

v0.5.0-insider.8 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Sep 07:44
55190df

What's Changed

Full Changelog: v0.5.0-insider.7...v0.5.0-insider.8

v0.5.0-insider.7

v0.5.0-insider.7 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 31 Aug 00:42

v0.5.0-insider.6

v0.5.0-insider.6 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Aug 21:54

v0.5.0-insider.5

v0.5.0-insider.5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Aug 09:53

What's Changed

  • docs(changelog): backport the 0.5.0 and 0.4.1 sections to main by @bolichen97 in #6742
  • fix(chat): verify the optimizer write-back landed instead of trusting execCommand by @leonlaiyc in #6696
  • ci: hand three more branches to a human when Actions may not open the PR by @leonlaiyc in #6709
  • fix(cron): require a JSON object where the handlers read fields off one by @leonlaiyc in #6730
  • fix(auto-improvement): honor stop during standalone calibration by @RohanK6 in #6714
  • test(dev-fleet): match the prune-shutdown fakes to the current remove signature by @RohanK6 in #6747
  • fix: warn when an agent-discovery scan parses zero of N candidate specs (#6727) by @CrysisDeu in #6749
  • feat(connections): make Disconnect revoke the local grant by @pepmach in #5899
  • fix(whatsapp): zero the JID proto's required fields so it serializes (#6756) by @CrysisDeu in #6762
  • fix(dev-fleet): stop flagging the whole fleet legacy on a duplicate upstream remote alias by @chenmingwei23 in #6770
  • test(e2e): stop clickSegment racing SegmentedControl's async mode by @RohanK6 in #6767
  • fix(chat): stop composer status bars covering the rename editor by @rnoack1 in #6779
  • refactor(prepare-pr): collapse resolve_profile tree readers behind TreeReader by @piyushrajyadav in #6729
  • fix(artifacts): share the store lock across instances on the same root by @adiarora06 in #3824
  • fix(meetings): map Windows/CLDR TZID names to IANA in the .ics parser (#5556) by @psantus in #5557
  • feat: pinnable browser live-view port via dashboard.browser_view_port (#6655) by @chenmingwei23 in #6679
  • fix(pod): give the gateway --no-tunnel and have a pod boot with it by @chenmingwei23 in #6580
  • feat(issue-radar): host the auto-triage pipeline as a per-repository dashboard by @chenmingwei23 in #6672
  • fix(agents): route remaining kirocrew.json reads through the hardened spec reader (#6736) by @chenmingwei23 in #6745
  • feat(dev-fleet): manual prune reaps closed-PR worktrees, reaper stays merged-only by @chenmingwei23 in #6776
  • fix: skip a history save whose session was permanently deleted under lock by @chenmingwei23 in #6707
  • fix(channels): render NewChannelDialog through the shared Modal by @chenmingwei23 in #6796
  • fix: preserve yolo duration across slot updates by @Pearcekieser in #6806
  • fix(dashboard): send an owner socket one slots frame, not two by @rnoack1 in #6795
  • fix(appstore): report the installed version on an app's detail page by @buluoray in #6836
  • fix(website): stop global chords at the shared Modal panel (#6800) by @bolichen97 in #6832
  • fix(acp): say which directories a failed spawn actually searched by @leonlaiyc in #5048
  • fix(chat): code every fork refusal, without making the three 404s tell apart by @leonlaiyc in #6195
  • chore(cli): remove confirmed dead code in the CLI surface by @iamwhatever in #6840
  • refactor(session): drop hasattr provider liveness probes by @DeryFerd in #6791
  • chore(mcp): remove confirmed dead code in the MCP subsystem by @iamwhatever in #6843
  • chore(cloud): remove confirmed dead code in the ops surface by @iamwhatever in #6842
  • feat: serve an installed app's store art from its own install directory by @buluoray in #6794
  • fix(packaging): retry electron-builder on a retryable HTTP status, not just an errno by @rnoack1 in #6841
  • fix(stt): type-check the config PUT's model and provider before the lookup by @leonlaiyc in #5993
  • fix(schedule): show WHICH day a cron fires, not just the hour by @rnoack1 in #6803
  • fix(chat): cancel QueueStack's fuse overhang in the status scroll box by @rnoack1 in #6790
  • test(browser): make relay cap fixture concurrent by @bolichen97 in #6846
  • test(sel): stabilize cross-process lock tests by @bolichen97 in #6855
  • perf(sidebar): memoize session rows and scope their store subscriptions by @CrysisDeu in #6703
  • fix(members): render the presence dot only while a member is working by @CrysisDeu in #6859
  • fix(subagent): bound cancellation drain for diagnostics writes by @dwu96 in #6306
  • fix(chat): stop a bounded switch refetch shrinking a painted transcript by @rnoack1 in #6839
  • fix(settings): update model and effort selectors optimistically by @jeeshofone in #6851
  • fix(chat): remove follow-up options only from generated suffix by @aniruddhaadak80 in #6092
  • docs: render artifact as 产物 in zh-CN instead of 工件 by @CrysisDeu in #6661
  • feat: move Knowledge into Agent Capabilities as a grouped tab by @CrysisDeu in #6687
  • fix(members): order the roster by the newest message, not file mtime by @CrysisDeu in #6862
  • perf(chat): structurally share turn grouping and index tool-row lookups by @CrysisDeu in #6724
  • perf(dashboard): coalesce chat_thinking dispatches to one per frame by @CrysisDeu in #6666
  • fix(autonudge): report a stop lookup miss instead of a false success by @rnoack1 in #6799
  • refactor(connections): move the disconnect ownership oracle out of the handler (#6188) by @CrysisDeu in #6778
  • fix(apps): fall back to local art when registry icon fails (#6804) by @bolichen97 in #6865
  • fix(agents): harden the two remaining raw agent-spec reads (#6726) by @bolichen97 in #6734
  • refactor(agents): route agent-spec reads through the hardened reader by @bolichen97 in #6725
  • fix(sel): open legacy lock keys in binary mode by @bolichen97 in #6849
  • fix(update): stop claiming a channel the running bytes never came from by @bolichen97 in #6810
  • fix(connections): reword disconnect feedback, drop slug echo (#6680) by @bolichen97 in #6784
  • fix: wire claude seam per-turn cost and token counts into TurnUsage by @bolichen97 in #6757
  • ci: commit the review CLI manifest and lockfile by @iamwhatever in #6867
  • feat: offer an agent hand-off when a remote crew will not connect by @buluoray in #6642
  • chore(channels): remove confirmed dead code in the messaging channels by @iamwhatever in #6876
  • fix(mcp): ask_question is non-blocking — correct every description that says otherwise by @iamwhatever in #6835
  • fix(dashboard): compose the stalled subagent row as one translated sentence by @adiarora06 in #4020
  • fix(dashboard): drop a slot's buffered stream text on slot_clear by @buluoray in #6881
  • chore(memory): remove confirmed dead code in the memory and skills surface by @iamwhatever in #6878
  • fix(members): mount the detail drawer with the chat side panel's motion by @CrysisDeu in #6882
  • docs: RFC and spec for a Crew agent SDK boundary isolating ACP by @iamwhatever in #6662
  • feat(ci): credit the reporters of issues that merged PRs closed by @iamwhatever in #6824
  • docs(system-specs): reconcile five feature specs and the channels module by @iamwhatever in #6826
  • chore(core): remove confirmed dead code in the core runtime by @iamwhatever in #6880
  • fix: per-path optimistic overlay for settings model pickers (#6875) by @CrysisDeu in #6884
  • fix: drain member thread unread flag so the crew members badge clears by @CrysisDeu in https://...
Read more

v0.5.0-insider.3

v0.5.0-insider.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 Aug 08:02
0e9465f

What's Changed

  • refactor: extract shared hardened gh runner for all gh spawn paths (#342) by @bolichen97 in #2407
  • feat(security): operator keystone extension for OAuth consent-endpoint allowlist (#1341) by @bolichen97 in #2402
  • fix: redact model-authored tool titles on all deny surfaces (#2274) by @bolichen97 in #2389
  • feat(chat): message-level pinning with pinned messages panel by @RohanK6 in #1676
  • ci(review): expand Opus to correctness blocking + sync fork prompt by @iamwhatever in #2379
  • feat(mcp-pool): Toggle all switch for poolable MCP servers by @chenmingwei23 in #2433
  • fix(knowledge): make the three auto-ingest paths opt-in by @bolichen97 in #2448
  • fix(dev-fleet): report slow actions as indeterminate, not as a fake percentage by @chenmingwei23 in #2439
  • test(dashboard): make chat-pins transient-I/O test portable on Windows by @iamwhatever in #2454
  • feat(voice): add a push-to-talk key for voice input by @CrysisDeu in #1608
  • feat(watchdog): detect a stalled turn from outside the turn's read loop by @chenmingwei23 in #2466
  • feat: receive images, voice and files on the Weixin channel by @chenmingwei23 in #2444
  • fix(dev-fleet): refuse the sync when pip cannot reinstall into the live venv by @chenmingwei23 in #2445
  • fix(prepare-pr): re-mirror the local review gate onto the current CI contract by @iamwhatever in #2456
  • feat(voice): show info banner + mic-click modal on remote instances by @cixuuz in #2471
  • refactor: centralize title hydration by @JoernZheng in #2467
  • fix(test_wait_tool_early_end): scope the wait-tool fake clock to the wait loop thread by @tlobinger in #2460
  • fix(terminal): complete subcommands for tools the user installed by @dwu96 in #2429
  • feat: first-party fixed-argv carve-out in sandbox fail-close (#1563) by @bolichen97 in #2428
  • feat: verify internal-API session claims via unix-socket peer creds (#302) by @bolichen97 in #2424
  • fix: re-vet cron jobs at fire time; move SEL key to trust/ (#1881) by @bolichen97 in #2421
  • build: target Node 24 LTS with a single 22+ floor everywhere (#1070) by @bolichen97 in #2415
  • feat: pin tunnel sessions to daemon-verified tailnet peer (#1762) by @bolichen97 in #2411
  • fix(appstore): compute app trust fields server-side (#580) by @bolichen97 in #2408
  • fix: detect and audit tier downgrades in nested-sandbox passthrough (#691) by @bolichen97 in #2406
  • fix: per-root hardlink-scan budgets with loud truncation (#646) by @bolichen97 in #2387
  • fix: make revocation generation cover refresh tokens (#2028) by @bolichen97 in #2388
  • ci: gate vendored _vendor tree behind a sha256 manifest (#492) by @bolichen97 in #2392
  • fix(dashboard): restore isort-clean import order in the dashboard auth module by @iamwhatever in #2479
  • feat(instances): carry the kiro-cli context so a sent session resumes by @iamwhatever in #2260
  • revert: withdraw multi-account Telegram until a bot is governable (#2203) by @chenmingwei23 in #2476
  • docs(autosde): forbid new work on the gateway boot path by @CrysisDeu in #2472
  • docs: revise perpetual-agent RFC after a first-principles re-read by @CrysisDeu in #2506
  • fix: restore leading slash on git-mangled diff header paths (#2493) by @bolichen97 in #2517
  • fix: attach clipboard images despite text/html and synthesize filenames (#2489) by @bolichen97 in #2520
  • test(acp): stop the leaked stderr-drain task from mocked _spawn tests by @SebastianYuSun in #2509
  • test(website): cover six app surfaces that had no tests at all by @CrysisDeu in #2514
  • feat(cloud): durable launch jobs + owner-only API for EC2 crew setup by @iamwhatever in #2059
  • feat(browser): make the built-in browser the default for chat by @iamwhatever in #2082
  • fix: reject unknown tag ids on board columns instead of silent drop (#1897) by @bolichen97 in #2568
  • fix: surface permanent turn-failure reasons in Telegram replies (#1831) by @bolichen97 in #2565
  • refactor(i18n): run the unit-literal scan as a gate, not a vitest test by @k33bz in #2562
  • fix(chat): drop the sessions sidebar's pinned Split View button by @chenmingwei23 in #2557
  • fix(dev-fleet): actionable error when no trusted git resolves (#2530) by @bolichen97 in #2553
  • fix: seed artifact companion composer on first open by @fanhongy in #2529
  • fix: detect kiro-cli API-key auth in the readiness probe by @jtoloui in #2527
  • fix(cli): match macOS framework Python in stop/restart gateway detection by @mnaameh in #2523
  • fix: self-heal dangling storageState in playwright config at load time (#2491) by @bolichen97 in #2522
  • feat: deep-link a notification by ts on the notifications page (#2018) by @bolichen97 in #2518
  • feat(ci): summarize filed issues, per-issue and in the ship report by @CrysisDeu in #2511
  • fix: match multi-word chat-history queries token-wise by @patrigao in #2508
  • test(subagent): drop the Windows-tick duration floor from the turn-duration test by @SebastianYuSun in #2505
  • fix(side): render the side panel through the shared chat transcript by @chenmingwei23 in #2503
  • fix(dashboard): stop a hung usage fetch parking the credit pill forever by @isotope14 in #2498
  • feat: stagger gateway startup after a recent loopstall crash dump by @rubencu in #2486
  • fix: audit safety-override renew fail-closed before commit (#2453) by @bolichen97 in #2484
  • fix: audit deactivate of an already-lapsed safety override grant (#2475) by @bolichen97 in #2483
  • fix: label the prune merged-scan as scanning and drop danger styling while it runs (#2451) by @bolichen97 in #2482
  • feat(knowledge): global budget, rate limit, source cap, and configurable extraction model by @iamwhatever in #2468
  • fix(cloud): keep EC2 UserData dist-check free of ${...} so !Sub accepts it by @iamwhatever in #2596
  • fix(preview): report a target that is this gateway instead of a blank frame by @kyleseaman in #2080
  • feat(webhooks): reach inbound webhooks from Settings, not the nav rail by @kyleseaman in #2056
  • fix(chat): keep link-preview favicons visible on every theme by @kyleseaman in #2593
  • fix(voice): keep the draining transcript after a manual dictation stop by @CrysisDeu in #2469
  • fix(markdown): stop CJK punctuation being swallowed into bare URLs by @CrysisDeu in #2171
  • docs(autosde): freeze the chat session row's line count by @CrysisDeu in #2512
  • ci: split Opus review into discovery and validation passes by @CrysisDeu in #2332
  • fix: surface the wedged thread's stack in doctor and boot replay by @rubencu in #2490
  • style: restore import order in dashboard token_auth (unblocks all PRs) by @chenmingwei23 in #2478
  • fix(security): check bash operands verb-independently in the normalizer by @iamwhatever in #2603
  • fix(ui): solid glass fallback when backdrop-filter is unsupported (#1817) by @bolichen97 in #2569
  • fix(terminal): stop scanning PTY output on the way to the browser by @buluoray in #2152
  • fix(test): make the reduced Windows scope green for frontend-only PRs...
Read more

v0.5.0-insider.2

v0.5.0-insider.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 Aug 01:43
e914704

What's Changed

  • fix(release): unblock the 0.5.0 release candidate test lane by @bolichen97 in #6570

Full Changelog: v0.5.0-insider.1...v0.5.0-insider.2

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 29 Aug 00:15
bba3f19

What's Changed

  • chore: cut 0.4.1 hotfix — fold available-update version for display by @bolichen97 in #6581

Full Changelog: v0.4.0...v0.4.1

v0.4.1-insider.1

v0.4.1-insider.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Aug 23:11
bba3f19

What's Changed

  • chore: cut 0.4.1 hotfix — fold available-update version for display by @bolichen97 in #6581

Full Changelog: v0.4.0...v0.4.1-insider.1

v0.5.0-insider.1

v0.5.0-insider.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Aug 22:54
2b25fb0

What's Changed

  • refactor: extract shared hardened gh runner for all gh spawn paths (#342) by @bolichen97 in #2407
  • feat(security): operator keystone extension for OAuth consent-endpoint allowlist (#1341) by @bolichen97 in #2402
  • fix: redact model-authored tool titles on all deny surfaces (#2274) by @bolichen97 in #2389
  • feat(chat): message-level pinning with pinned messages panel by @RohanK6 in #1676
  • ci(review): expand Opus to correctness blocking + sync fork prompt by @iamwhatever in #2379
  • feat(mcp-pool): Toggle all switch for poolable MCP servers by @chenmingwei23 in #2433
  • fix(knowledge): make the three auto-ingest paths opt-in by @bolichen97 in #2448
  • fix(dev-fleet): report slow actions as indeterminate, not as a fake percentage by @chenmingwei23 in #2439
  • test(dashboard): make chat-pins transient-I/O test portable on Windows by @iamwhatever in #2454
  • feat(voice): add a push-to-talk key for voice input by @CrysisDeu in #1608
  • feat(watchdog): detect a stalled turn from outside the turn's read loop by @chenmingwei23 in #2466
  • feat: receive images, voice and files on the Weixin channel by @chenmingwei23 in #2444
  • fix(dev-fleet): refuse the sync when pip cannot reinstall into the live venv by @chenmingwei23 in #2445
  • fix(prepare-pr): re-mirror the local review gate onto the current CI contract by @iamwhatever in #2456
  • feat(voice): show info banner + mic-click modal on remote instances by @cixuuz in #2471
  • refactor: centralize title hydration by @JoernZheng in #2467
  • fix(test_wait_tool_early_end): scope the wait-tool fake clock to the wait loop thread by @tlobinger in #2460
  • fix(terminal): complete subcommands for tools the user installed by @dwu96 in #2429
  • feat: first-party fixed-argv carve-out in sandbox fail-close (#1563) by @bolichen97 in #2428
  • feat: verify internal-API session claims via unix-socket peer creds (#302) by @bolichen97 in #2424
  • fix: re-vet cron jobs at fire time; move SEL key to trust/ (#1881) by @bolichen97 in #2421
  • build: target Node 24 LTS with a single 22+ floor everywhere (#1070) by @bolichen97 in #2415
  • feat: pin tunnel sessions to daemon-verified tailnet peer (#1762) by @bolichen97 in #2411
  • fix(appstore): compute app trust fields server-side (#580) by @bolichen97 in #2408
  • fix: detect and audit tier downgrades in nested-sandbox passthrough (#691) by @bolichen97 in #2406
  • fix: per-root hardlink-scan budgets with loud truncation (#646) by @bolichen97 in #2387
  • fix: make revocation generation cover refresh tokens (#2028) by @bolichen97 in #2388
  • ci: gate vendored _vendor tree behind a sha256 manifest (#492) by @bolichen97 in #2392
  • fix(dashboard): restore isort-clean import order in the dashboard auth module by @iamwhatever in #2479
  • feat(instances): carry the kiro-cli context so a sent session resumes by @iamwhatever in #2260
  • revert: withdraw multi-account Telegram until a bot is governable (#2203) by @chenmingwei23 in #2476
  • docs(autosde): forbid new work on the gateway boot path by @CrysisDeu in #2472
  • docs: revise perpetual-agent RFC after a first-principles re-read by @CrysisDeu in #2506
  • fix: restore leading slash on git-mangled diff header paths (#2493) by @bolichen97 in #2517
  • fix: attach clipboard images despite text/html and synthesize filenames (#2489) by @bolichen97 in #2520
  • test(acp): stop the leaked stderr-drain task from mocked _spawn tests by @SebastianYuSun in #2509
  • test(website): cover six app surfaces that had no tests at all by @CrysisDeu in #2514
  • feat(cloud): durable launch jobs + owner-only API for EC2 crew setup by @iamwhatever in #2059
  • feat(browser): make the built-in browser the default for chat by @iamwhatever in #2082
  • fix: reject unknown tag ids on board columns instead of silent drop (#1897) by @bolichen97 in #2568
  • fix: surface permanent turn-failure reasons in Telegram replies (#1831) by @bolichen97 in #2565
  • refactor(i18n): run the unit-literal scan as a gate, not a vitest test by @k33bz in #2562
  • fix(chat): drop the sessions sidebar's pinned Split View button by @chenmingwei23 in #2557
  • fix(dev-fleet): actionable error when no trusted git resolves (#2530) by @bolichen97 in #2553
  • fix: seed artifact companion composer on first open by @fanhongy in #2529
  • fix: detect kiro-cli API-key auth in the readiness probe by @jtoloui in #2527
  • fix(cli): match macOS framework Python in stop/restart gateway detection by @mnaameh in #2523
  • fix: self-heal dangling storageState in playwright config at load time (#2491) by @bolichen97 in #2522
  • feat: deep-link a notification by ts on the notifications page (#2018) by @bolichen97 in #2518
  • feat(ci): summarize filed issues, per-issue and in the ship report by @CrysisDeu in #2511
  • fix: match multi-word chat-history queries token-wise by @patrigao in #2508
  • test(subagent): drop the Windows-tick duration floor from the turn-duration test by @SebastianYuSun in #2505
  • fix(side): render the side panel through the shared chat transcript by @chenmingwei23 in #2503
  • fix(dashboard): stop a hung usage fetch parking the credit pill forever by @isotope14 in #2498
  • feat: stagger gateway startup after a recent loopstall crash dump by @rubencu in #2486
  • fix: audit safety-override renew fail-closed before commit (#2453) by @bolichen97 in #2484
  • fix: audit deactivate of an already-lapsed safety override grant (#2475) by @bolichen97 in #2483
  • fix: label the prune merged-scan as scanning and drop danger styling while it runs (#2451) by @bolichen97 in #2482
  • feat(knowledge): global budget, rate limit, source cap, and configurable extraction model by @iamwhatever in #2468
  • fix(cloud): keep EC2 UserData dist-check free of ${...} so !Sub accepts it by @iamwhatever in #2596
  • fix(preview): report a target that is this gateway instead of a blank frame by @kyleseaman in #2080
  • feat(webhooks): reach inbound webhooks from Settings, not the nav rail by @kyleseaman in #2056
  • fix(chat): keep link-preview favicons visible on every theme by @kyleseaman in #2593
  • fix(voice): keep the draining transcript after a manual dictation stop by @CrysisDeu in #2469
  • fix(markdown): stop CJK punctuation being swallowed into bare URLs by @CrysisDeu in #2171
  • docs(autosde): freeze the chat session row's line count by @CrysisDeu in #2512
  • ci: split Opus review into discovery and validation passes by @CrysisDeu in #2332
  • fix: surface the wedged thread's stack in doctor and boot replay by @rubencu in #2490
  • style: restore import order in dashboard token_auth (unblocks all PRs) by @chenmingwei23 in #2478
  • fix(security): check bash operands verb-independently in the normalizer by @iamwhatever in #2603
  • fix(ui): solid glass fallback when backdrop-filter is unsupported (#1817) by @bolichen97 in #2569
  • fix(terminal): stop scanning PTY output on the way to the browser by @buluoray in #2152
  • fix(test): make the reduced Windows scope green for frontend-only PRs...
Read more

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 27 Aug 17:27
6603d59

Windows and Linux stop being second-class: both get signed, self-updating native installers, and Windows gains desktop automation and a real resource ceiling. Every messaging channel catches up to Slack, three new ones arrive, and secrets finally live in an encrypted vault instead of your config file. The dashboard turns into a place to edit code, not just discuss it.

Windows and Linux become first-class installs

  • Signed Windows installer — Windows ships a signed installer with in-app auto-updates, published on the stable channel alongside macOS and Linux.
  • Linux deb and rpm packages — The desktop app installs from .deb or .rpm with a fixed install path, a desktop entry, and per-format in-app updates. The Linux desktop app needs glibc 2.34 or newer; on an older host use the one-line CLI install.
  • Computer use on Windows — Kiro Crew can read and drive native Windows applications through UI Automation, so desktop work is no longer macOS-only.
  • A resource ceiling for Windows agents — The Windows agent tree now runs under a Job-object process and memory limit, mirroring the Linux cgroup control that previously had no Windows equivalent.
  • Provider CLI trust on Windows — Issue Radar and Code Review Sage now work on Windows, because gh and glab trust is established by reading ACLs.
  • Managed Python for old distros — The installer can provision a pinned interpreter into a user directory with --managed-python, which works on hosts whose system Python is too old, and stays on that interpreter across updates.
  • Bring your existing setup — First-run setup imports from Gemini CLI and Antigravity, including their MCP servers and workspaces.
  • Switch Kiro accounts from the CLIkirocrew cloud logout ends the current sign-in so you can log back in as someone else.

Every messaging channel catches up, and three new ones arrive

  • WhatsApp — A new channel links a personal account by QR code, with tool approvals answered by typing a number.
  • iMessage — A new channel routes through your own Messages.app via a local bridge on macOS, deny-by-default with an explicit handle allowlist.
  • Feishu — A native Feishu (Lark / 飞书) channel joins the roster.
  • Teams, Telegram, and Webex reach parity with Slack — Each gains the same commands and capabilities, and Webex adds group spaces, file uploads, and Adaptive Cards. Shared fixes along the way mean /yolo and per-session Trust now actually take effect on Teams, Webex, WeCom, WeChat, and iMessage, where they were silently inert.
  • Discord gets a command menu — Nine slash commands, a model picker, runtime stats, ephemeral replies, and cron delivery, with rate limiting so bursts stop dropping. Images an agent produces upload as real attachments instead of appearing as a filesystem path.
  • Tables survive the trip — Markdown tables in a reply are re-rendered to fit each channel's formatting instead of arriving broken.

Secrets leave your config file

  • An encrypted vault — Secrets are stored encrypted and can be withheld from agents on a denylist, managed from a new Settings → Secrets page where values stay masked and are never sent to the browser.
  • Reference secrets from MCP servers — An MCP server's environment can name a secret as secret://NAME, resolved from the vault at spawn time so the value never sits in on-disk config.
  • Share pooled servers safely — An operator can declare which environment keys carry per-session identity, which lets MCP servers that use per-session credentials be pooled instead of relaunched.
  • Read what is blockedkirocrew policy show prints the built-in denied-command rules grouped by category, so the agent can read the list instead of discovering it by refusal.

The dashboard becomes a place to edit code

  • Real diffs and inline editing — Side-by-side diff rendering, per-file editing inside the transcript, and a project file tree in the side panel.
  • Tool edits are visible by default — A file edit made by a tool renders as an always-visible diff card instead of hiding inside collapsed tool details.
  • Many more file types preview inline — Video and audio play in place, XLSX spreadsheets render with sheet tabs, and notebook previews show embedded images, highlighted code, and Mermaid diagrams.
  • Find and attach files faster — Folder tabs gain recursive search, right-clicking any file or folder adds it to chat as an @-mention, and you can drop files anywhere on the chat pane.
  • A command bar — A launcher opens by keystroke and names each row's kind, replacing a full-corpus scan on every keypress. It ships on by default.
  • Live reasoning — The model's reasoning streams on the collapsed thinking row instead of showing a static label.
  • A terminal dock for the whole app — The terminal is an app-wide dock tab rather than living inside one chat, and its font comes from a searchable, previewed picker that detects your local fonts.
  • The footer names who chose the model — Left on auto, the turn footer says which model auto actually picked.
  • Choose which browser the agent drives — A Settings toggle picks the built-in panel, falling back to playwright-cli (desktop app only).

Sessions you can find, organize, and hand off

  • Search every instance at once — Session search spans all connected gateways and interleaves local and remote results.
  • Search by PR or issue number — A query like 4411, /pull/4411, or owner/repo#4411 all find the same session.
  • Scroll back through history — Reaching the top of a long transcript loads older turns instead of stopping.
  • Organize how you like — Filter by tag, assign any custom hex colour, pin crews as chips, and jump past the ninth session with keyboard letters shown on each row.
  • Apps can file their own work — An app can create, rename, and reparent chat folders it owns; deleting a folder stays yours alone.
  • Reload without losing the thread — A Reload action relaunches the agent process in place so newly added MCP servers and config take effect while the conversation survives.
  • Hand work between sessions — An opt-in dashboard MCP set lets one session message, stop, and read another to pass work along with its context, deny-by-default and gateway-key authorized.
  • Drop a note without spending a turn — A note appears in the transcript and reaches the agent on your next message, costing no model call.
  • See every linked item — The sidebar's "+N" source-link chip expands to list every linked pull request and issue.
  • The summary panel stays bounded — It caps its height and raises its storage rails, so a long summary no longer takes over the panel.
  • Subagents share one ceiling — Concurrent subagents count against a single memory and process ceiling, so many small spawns cannot exhaust the host between them.
  • Task Runner shows its trust state — The compose panel gains an auto-approve checkbox and a badge naming the trust state before you run.

Apps you can install, pin, and build on

  • Install from the official catalog at a pinned commit — A catalog app installs directly at its pinned revision, so an app can reach you without waiting for a release.
  • Pin your organization's own registry — A deployment can pin its own app registry and mark it owner-trusted, so its apps clone with credentials from a private forge.
  • Design Tweak — Point at a local web project, right-click an element in the preview, describe the change, and it lands in a per-project chat session.
  • A Kanban task board — A one-sentence intent becomes a runnable card that executes in a linked dashboard chat session, and columns can derive from live session state so cards move as the agent's state changes.
  • Auto-Triage Pipeline — A built-in app showing every crew work item's phase and how long it has been stuck.
  • Issue Radar grows — Azure DevOps repositories and work items join GitHub and GitLab, with dependency edges, an unblocked-dependency signal, and a Focus Tree graph. Investigations now lead with a plain explanation of the issue before the verdict, written in your dashboard language.
  • External registries appear when the catalog is online — The store lists apps from registries beyond the bundled catalog.
  • Each app has its own icon — Channels, Dev Fleet, and Workflows drop the generic placeholder.
  • Crew Mode is labelled experimental — The create menu says so rather than presenting it as settled.

MCP servers stop guessing

  • Measure shareability on purpose — A Measure action assesses whether a server can safely share a process, comparing tool sets rather than only capabilities, and remembers the verdict. MCP Management adds a read-only view of each server's evidence tier and current run mode.
  • The Online badge means the tools are usable — It says when it was last checked instead of presenting a stale reading as current.
  • Apply & Restart actually mounts a newly installed server — and says so honestly when it could not, rather than skipping the change or reporting success.
  • Colliding tool names stay reachable — Registry aliases keep tools from two servers that ship the same name, such as Linear and Vercel and GitHub, both usable.

Memory, knowledge, and skills

  • Scope a lesson to one repository — A lesson no longer has to apply to every session, and the scope option that previously did nothing now works.
  • Tune how memories age — Episodic memory decay is configurable per tag, so different kinds of memory fade at different speeds.
  • Search one knowledge source — Knowledge search takes a source filter with source discovery, and the graph view gains a source dropdown, physics layout, community clustering, and adjustable depth.
  • Project-local skills — Kiro Crew can load a project's own skills, gated behind per-directory consent.
  • Hooks explain themselves — Hooks gain regex and...
Read more