Skip to content

v0.1.2

Latest

Choose a tag to compare

@github-actions github-actions released this 04 Aug 09:39
405a013

What's Changed

  • docs: add community contributors section to README by @iamwhatever in #660
  • feat(chat): ask_question tool — blocking clickable question card by @kyleseaman in #464
  • fix(chat): stop streaming response bubble from flashing by @iamwhatever in #661
  • fix(chat): stop composer input box from vanishing on interrupted height morph by @iamwhatever in #664
  • feat(settings): configurable default model and reasoning effort by @kyleseaman in #659
  • feat(appstore): hybrid Discover storefront + Library revamp by @CrysisDeu in #532
  • fix: stop the setup gate flashing at returning users, speed up boot by @bolichen97 in #629
  • feat: view and edit Kiro steering files under Agent Capabilities by @kyleseaman in #654
  • fix: make dead CPP seams visible instead of silently inert by @bolichen97 in #667
  • feat(weixin): Add WeChat channel via Tencent iLink bot API by @CrysisDeu in #627
  • fix(theme): improve kiro-dark tip card readability and selected-chip contrast by @xuejinT in #669
  • fix(acp): keep context % consistent with the popover Used/Total counts by @iamwhatever in #672
  • fix(security): fence untrusted LLM prompt input; add deploy bucket audit logging by @iamwhatever in #671
  • feat(prepare-pr): pluggable project profiles (resolver + bundled KiroCrew profile) by @iamwhatever in #662
  • docs(rfc): Notification Bridge — bus egress fanout to chat transports by @CrysisDeu in #670
  • fix(dashboard): let kirocrew logout reach its own auth check by @NicholasRBowers in #676
  • feat(issue-radar): open same-repo references in an in-app sheet by @dwu96 in #643
  • fix(nav): dismiss the Apps overflow hover label when the toggle is pressed by @patrigao in #634
  • feat(skills): add frontend-design-workflow builtin skill by @CrysisDeu in #679
  • ci: Add advisory UX Review lane (Fable 5) for UI-touching PRs by @CrysisDeu in #678
  • chore(version): bump dev base to 0.1.2 after v0.1.1 by @CrysisDeu in #687
  • docs: RFC — channel plugin architecture by @CrysisDeu in #689
  • fix(sandbox): mark KiroCrew's own macOS sandbox so nested spawns pass through by @buluoray in #686
  • feat(sidebar): make the session PR chip a link to the pull request by @patrigao in #683
  • fix(cli): restart respawns the kirocrew it was invoked as, not PATH's by @patrigao in #675
  • fix(browser): render the live Playwright mirror in the Browser panel by @iamwhatever in #685
  • feat(governance): verify the security policy's identity.signature by @bolichen97 in #666
  • feat(agent): verify front-end changes in the browser, show the frames in chat by @kyleseaman in #680
  • feat(skills): staged, opt-in auto-skill generation (lifecycle + dedupe + scripts + crystallize) + Settings toggle by @iamwhatever in #392
  • feat(knowledge): auto-add the Kiro CLI knowledge folder as a Library source by @kyleseaman in #684
  • feat(onboarding): redesign first-run import setup + customize chapters by @michellemxm in #696
  • feat(issue-radar): support GitLab alongside GitHub by @kyleseaman in #650
  • refactor(apps): resolve capability deps via CPP seam, gate AIM markers by @bolichen97 in #681
  • fix(dashboard): Unify cost formatting behind formatCost() by @CrysisDeu in #708
  • fix(dashboard): collapse GitHub check-runs to the latest run per check by @kyleseaman in #706
  • fix(chat): drive streaming reveal by positional opacity so the tail can't re-flash by @iamwhatever in #697
  • docs(crystallize): prose-first + explicit live-skill mode; fix(skills): refresh Skills tab on open by @iamwhatever in #698
  • fix(dashboard): admit loopback origins to CSP connect-src by @CrysisDeu in #718
  • feat: map skills to agent templates via skill:// resources by @kyleseaman in #682
  • fix(chat): never drop a message when creating its session fails by @kyleseaman in #690
  • docs: RFC — Tips Kit (activity-aware self-learning recommendations) by @CrysisDeu in #720
  • feat(i18n): multi-language dashboard with Settings → Display picker by @bolichen97 in #692
  • fix(autonudge): surface cycle-cap expiry and diagnose unresolvable session identity by @kyleseaman in #717
  • fix(issue-radar): linkify a #123 reference wrapped in parentheses by @dwu96 in #726
  • fix(weixin): QR login image broken — iLink field is a URL by @CrysisDeu in #711
  • fix(mcp-gateway): pool MCP servers via ACP session/new injection by @NicholasRBowers in #665
  • fix(cli): wait for the incumbent gateway to exit before restart spawns by @patrigao in #707
  • fix(desktop): say which machine to mint a dashboard token on by @pepmach in #712
  • feat(security): let policy pin the update source and minimum version by @bolichen97 in #694
  • fix(update): stop the mac updater resolving a stale, already-installed feed by @CrysisDeu in #709
  • feat(import): rescope foreign-agent import and make conflicts resolvable by @bolichen97 in #715
  • fix(mcp): report an unresolvable MCP command once, not every probe cycle by @pepmach in #713
  • fix(issue-radar): make the connect card work for GitLab by @dwu96 in #729
  • feat(terminal): add soft-key bar for touch devices by @patrigao in #730
  • docs: RFC — add feature-tip (educational) kind to Tips Kit by @CrysisDeu in #731
  • feat(desktop): Migrate mac + Linux auto-update to electron-updater by @CrysisDeu in #734
  • feat(skills): bundle an iOS Simulator preview skill by @CrysisDeu in #722
  • fix(chat): never disable the activity toggle; fill the chat column when it cannot sit beside by @patrigao in #732
  • feat(skills): add browser-recording builtin skill by @CrysisDeu in #733
  • fix(chat): make the activity panel actually fill the screen on mobile by @patrigao in #747
  • fix(desktop): never arm auto-update from a bundle it cannot replace by @pepmach in #710
  • feat(dashboard): show when sub-agents need approval in the session list by @kyleseaman in #752
  • test(e2e): un-darken the suite and cover the uncovered routes by @smeyffret in #657
  • fix(subagent): count only top-level agents in the progress pill by @iamwhatever in #757
  • fix(settings): stop the update-channel switcher collapsing into an occluded dropdown by @kyleseaman in #754
  • fix(chat): restore the inline subagent card for spawn_run launches by @kyleseaman in #758
  • fix(dashboard): show the configured default model/effort before the first turn by @kyleseaman in #753
  • fix(ci): capture Opus review verdict via SHA-scoped markers, not --json-schema by @iamwhatever in #756
  • fix(mcp-apps): unblock ESM-CDN app iframes in CSP and keep them out of the collapse by @iamwhatever in #761
  • chore: move SLACK_SETUP.md to docs/, move clean.sh to scripts/ by @Lock128 in #738
  • refactor(ui): retire StyledSelect — migrate last 3 surfaces to Radix Select by @CrysisDeu in #688
  • fix(updater): repair the macOS install handoff and its UI by @CrysisDeu in #771
  • fix(sweep): verify process identity before the orphan sweep kills a PID by @iamwhatever in #767
  • feat(usage): show bonus credits and fix disappearing credit pill by @molladair in #779
  • docs(rfc): amend channel RFC with the session address model decision by @CrysisDeu in #778
  • feat(prepare-pr): make CI babysit the default after opening a PR by @CrysisDeu in #776
  • fix(onboarding): mount first-run modal chrome once to kill transition glitch by @michellemxm in #770
  • fix(data-home): stop five writers recreating the pre-move data home by @NicholasRBowers in #763
  • fix(capabilities): left-align wrapped side-panel nav labels by @michellemxm in #762
  • feat(dashboard): approve/reject queued sub-agents inline from the composer by @kyleseaman in #751
  • fix(workflows): point the completion prompt at the user's question by @pepmach in #741
  • fix(dashboard): use Cmd+, for Open settings on macOS by @kyleseaman in #783
  • refactor(messaging): extract the shared channel turn pipeline by @CrysisDeu in #777
  • fix(chat): switch slot model in place instead of resetting the session by @CrysisDeu in #784
  • fix(chat): keep the subagent wave chip above theme overlays by @iamwhatever in #787
  • feat: native Windows support (ConPTY terminal, metrics, process mgmt) by @dougclauson in #656
  • fix(data-home): stop instructing agents and users toward the pre-move data home by @NicholasRBowers in #793
  • feat(dashboard): surface a session's GitHub/GitLab issues in the sidebar and side panel by @kyleseaman in #768
  • refactor(sidebar): fold collapse cue into the folder glyph by @CrysisDeu in #790
  • fix: refine settings & nav copy (remote crew, explore apps, data notice) by @molladair in #781
  • fix(context): neutralize forgeable prompt boundary markers in untrusted content by @iamwhatever in #788
  • fix(updater): register update IPC before the gateway boot await by @CrysisDeu in #786
  • feat(platform): complete the CapabilityManager seam for agent packages + plugins by @bolichen97 in #801
  • fix(mcp): write JSON-RPC responses through a private stdout fd by @bolichen97 in #800
  • fix(dashboard): stop a stray wheel event dragging the app shell by @patrigao in #797
  • feat: show the signed-in Kiro account in the credits panel by @xuejinT in #791
  • fix(dashboard): reclaim 8px of dead space under the top header by @michellemxm in #789
  • feat: record per-turn context occupancy and cover background dispatch surfaces by @chenmingwei23 in #748
  • fix(sidebar): align folder rows and the new-chat row to one text guide by @CrysisDeu in #805
  • fix(mcp-apps): make rendered apps interactive — display mode, open-link, resize by @iamwhatever in #785
  • fix(dashboard): send subscribe_logs on first connect, add e2e test ids by @smeyffret in #719
  • fix(updater-ui): honest indeterminate progress and a Download affordance by @CrysisDeu in #811
  • fix(pod): stop worktrees and the global launcher hijacking each other by @NicholasRBowers in #798
  • feat(computer-use): native desktop automation for macOS by @bolichen97 in #644
  • fix(setup): apply subprocess rlimits after exec, not via preexec_fn by @patrigao in #814
  • fix(setup-gate): reuse the onboarding chapter container by @michellemxm in #813
  • docs: RFC for resumable subagent sessions by @CrysisDeu in #806
  • fix(memory): serialize sqlite writes on the shared memory connection by @patrigao in #799
  • feat(chat): unify the Files tab into scannable rows with search by @xuejinT in #796
  • fix(config): stop the subagent cwd allowed-root default from drifting by @patrigao in #794
  • feat(sidebar): filter flat view by folder from the sort-and-filter menu by @patrigao in #716
  • fix(chat): stop the streaming row's height from debouncing into a flash by @iamwhatever in #824
  • feat(dashboard): surface channel-originated sessions in the chat list by @NicholasRBowers in #808
  • fix(settings): make the Auto language row name the browser's language by @dwu96 in #818
  • docs(appstore): RFC for official app registry + editorial feed by @CrysisDeu in #807
  • fix(chat): keep mid-turn hand-backs out of the collapse pane by @pepmach in #740
  • fix(dashboard): label session links by channel, not always Slack by @pepmach in #827
  • fix(import): embed off the request and stop dropping foreign memory by @bolichen97 in #826
  • fix(computer-use): close two approval bypasses and six correctness bugs by @bolichen97 in #831
  • docs(appstore): drop document-level registry delegation from RFC by @CrysisDeu in #834
  • fix(kiro): probe readiness only at boot and drop sign-in chrome by @bolichen97 in #820
  • fix(gateway): name the process that actually holds gateway.lock by @patrigao in #810
  • fix(sidebar): hide the chat sessions vertical scrollbar by @CrysisDeu in #832
  • fix(computer-use): make the Open System Settings shortcuts work by @bolichen97 in #829
  • feat(i18n): ship 6 more languages and fix plural rendering by @bolichen97 in #828
  • feat(dashboard): show the current git branch in the active project button by @kyleseaman in #760
  • chore(deps): bump actions/setup-python from 5 to 7 by @dependabot[bot] in #838
  • chore(deps): bump actions/checkout from 4 to 7 by @dependabot[bot] in #839
  • chore(deps): bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #840
  • chore(deps): bump actions/setup-node from 4 to 7 by @dependabot[bot] in #841
  • feat(dashboard): move between sessions with Cmd+[ / Cmd+] by @kyleseaman in #812
  • chore(deps): bump aws-actions/configure-aws-credentials from 6.2.2 to 6.2.3 by @dependabot[bot] in #837
  • fix(dashboard): make Auto selectable as the session model by @kyleseaman in #843
  • feat(dashboard): collapse turn-recovery injections to a one-line card by @kyleseaman in #842
  • fix(desktop): scale & reposition splash ghosts on window resize by @iamwhatever in #846
  • feat(artifacts): companion chat panel + anchored comments on the artifact page by @NicholasRBowers in #803
  • feat(chat): confirm the command before running a code block in the terminal by @kyleseaman in #848
  • fix(prompt): require the full PR/MR URL so the dashboard Changes panel can surface it by @kyleseaman in #847
  • feat(skills): stage similar auto-skills as versioned pending updates + notify on review by @iamwhatever in #782
  • fix(dashboard): describe the Globe toggle as agent action, not reading by @iamwhatever in #850
  • feat(i18n): ship German and Italian, relabel the Auto language row by @bolichen97 in #852
  • feat(chat): enlarge inline image previews + zoom & pan in the lightbox by @xuejinT in #854
  • feat(mcp): per-tool loaded/deferred status in the session MCP dropdown by @iamwhatever in #825
  • fix(auth): project Kiro identity tables instead of copying the whole store by @bolichen97 in #858
  • docs: Add a short release process overview by @CrysisDeu in #879
  • fix(embeddings): run llama.cpp inference on one owned thread by @patrigao in #877
  • fix(telemetry): emit the turn histogram, fix the cold/warm split, surface per-turn context by @chenmingwei23 in #875
  • fix(tunnel): stop the tunnel on gateway shutdown by @patrigao in #867
  • fix(acp): collapse unroutable-frame drop logs into a periodic counter by @patrigao in #866
  • fix(cli): verify the replacement gateway is serving before reporting success by @patrigao in #865
  • chore(session-pid): stop logging a traceback for the expected orphan-probe race by @patrigao in #864
  • fix(dashboard): serve the SPA shell for /apps client routes, reach the knowledge onboarding state by @smeyffret in #821
  • docs(appstore): slim the registry entry to identity plus source by @CrysisDeu in #873
  • docs: replace inherited changelog with an initial launch entry by @bolichen97 in #878
  • docs(agents): clarify routing metadata tooltip + Orchestrator Mode by @iamwhatever in #882
  • docs(orchestrator): explicit plan requests always plan; decide-don't-ask during execution by @iamwhatever in #883
  • fix(cli): rebrand banners to Kiro Crew and stop pod crashing off-Linux by @bolichen97 in #872
  • ci: fork PRs terminate readiness at a red maintainer-review verdict by @iamwhatever in #889
  • fix(i18n): make the Simplified-Chinese catalog read like Chinese by @dwu96 in #835
  • fix(i18n): sync the German and Italian catalogs to en's browser-toggle keys by @kyleseaman in #863
  • refactor(dashboard): rename Agents tab to Crews by @CrysisDeu in #851
  • fix(chat): show empty state on Changes tab when session has no PR by @xuejinT in #888
  • fix(dashboard): stop the startup restore from crash-looping the gateway by @CrysisDeu in #885
  • fix: session-bound MCP tools work without gateway pooling (#755) by @iamwhatever in #844
  • feat(telemetry): add anonymous usage beacon for active-install metrics by @bolichen97 in #876
  • fix: harden four CSE security findings (find allowlist, zip bomb, href XSS, apigw logging) by @iamwhatever in #890
  • fix(security): redact the two-segment dashboard link token as one unit by @smeyffret in #886
  • fix(workflows): stop the run ceiling from discarding completed agent work by @pepmach in #853
  • feat(dashboard): show goal-loop cycle progress in the chat sidebar by @patrigao in #893
  • fix(subagent): give queued spawns their real agent id by @dwu96 in #899
  • feat(artifacts): browse the whole library in the chat Artifacts panel by @NicholasRBowers in #892
  • feat(artifacts): add a local file to the library from the Artifacts page by @NicholasRBowers in #884
  • fix(service): harden installed-service environment (locale, kiro-cli pin, program override) by @cixuuz in #849
  • feat(discord): resume a dashboard session from Discord, and see it from the dashboard by @pepmach in #830
  • fix: session directives destroyed in transit (#755) by @iamwhatever in #907
  • feat(telemetry): report governance POSTURE in the usage beacon by @bolichen97 in #916
  • feat(i18n): gate new error responses on a machine-readable code by @dwu96 in #922
  • feat(i18n): carry translator context into the translation shards by @dwu96 in #921
  • feat(context): inject the dashboard UI language so tool-call purposes stop mixing languages by @dwu96 in #917
  • chore(deps): upgrade i18next to 26 and react-i18next to 17 by @dwu96 in #915
  • feat(i18n): add the translator-context sidecar and gate its coverage by @dwu96 in #914
  • docs(i18n): add per-language style guides and a DNT glossary by @dwu96 in #911
  • feat(i18n): add Phase 0 i18n gates and the en-XA pseudolocale by @dwu96 in #898
  • feat(themes): make the chat loading indicator a theme-owned surface by @xuejinT in #894
  • feat(artifacts): open artifacts in the chat side panel, like files by @NicholasRBowers in #909
  • fix(i18n): regenerate the pseudolocale so the frontend gate stops failing on main by @kyleseaman in #937
  • fix(dashboard): make the web preview's Reload actually re-request the page by @kyleseaman in #939
  • test(desktop): guard the bundled launcher's symlink resolution by @kyleseaman in #941
  • feat(i18n): commit the translation prompt and a 9-locale translation driver by @dwu96 in #933
  • fix(chat_runner): fix file-chip before-snapshot race for auto-approved writes by @tlobinger in #920
  • fix(pod): give systemctl --user a session bus so pods work from a service install by @NicholasRBowers in #906
  • fix(agent): stop ephemeral instances hijacking the shared agent home by @NicholasRBowers in #881
  • fix(dashboard): stop the session-naming agent from titling a chat with a refusal by @kyleseaman in #936
  • feat(memory): disclose the embedding model in the Memory tab by @iamwhatever in #944
  • fix(spawn): apply child resource limits after exec instead of forking the gateway by @kyleseaman in #943
  • fix(usage): pick the credential belonging to the signed-in Kiro profile by @kyleseaman in #940
  • fix(dashboard): collapse the transient-recovery injections to a one-line card by @kyleseaman in #948
  • fix(apps): stop Branch field clipping in External Registries add form by @iamwhatever in #951
  • feat(mcp-gateway): support macOS and mark Windows unsupported in the UI by @iamwhatever in #945
  • fix(channels): drive /compact through the prompt transport in Discord, Slack, Telegram by @iamwhatever in #953
  • fix(themes): draw the kiro loader outline as a vector stroke by @xuejinT in #952
  • fix(i18n): stop three i18n gates from failing correct translations by @dwu96 in #946
  • fix(acp): forward diff fields through AcpProvider._to_llm_event by @tlobinger in #955
  • feat: pin the latest prompt as a sticky banner in chat by @michellemxm in #950
  • fix(chat): stop streaming-flash for image, table, and diff content by @iamwhatever in #966
  • feat(mcp-apps): give inline apps wide and full-screen presentations by @iamwhatever in #958
  • fix(dashboard): stop overage-blind text scrape from clobbering API usage by @cixuuz in #954
  • fix(browser): guard the browse-mode writes to kiro's global mcp.json by @kyleseaman in #971
  • fix(dashboard): stop tool-refusal recovery injections leaking into the composer queue by @iamwhatever in #973
  • fix(metrics): give each duration histogram its own bucket boundaries by @chenmingwei23 in #968
  • fix(install): stop cli.sh requesting the unpublished beta channel prefix by @CrysisDeu in #978
  • feat(i18n): translate the chat transcript and scenes (Phase 1 batch 4) by @dwu96 in #959
  • fix: end assistant text with a trailing space before tool calls by @patrigao in #980
  • feat(i18n): translate the shared components (Phase 1 batch 3) by @dwu96 in #956
  • feat(i18n): translate the settings and overview panels (Phase 1 batch 1) by @dwu96 in #932
  • feat(dashboard): add an audio-reactive dictation panel for voice input by @CrysisDeu in #984
  • ci: publish cli.sh from CI instead of by hand by @CrysisDeu in #988
  • fix(tests): make the macOS-only suite failures real fixes, not skips by @bolichen97 in #990
  • fix(telemetry): clamp beacon version so adoption metrics stay correct by @bolichen97 in #989
  • feat(i18n): translate the top-level pages (Phase 1 batch 2) by @dwu96 in #949
  • fix(test): budget xdist workers across concurrent pytest runs by @CrysisDeu in #994
  • ci: auto-label new issues with a Bedrock triage classifier by @dwu96 in #1010
  • feat(i18n): make formatting follow the app language (Phase 4 seam) by @dwu96 in #1009
  • fix(website): let chat chrome follow the Font Family setting by @dwu96 in #1008
  • perf(dashboard): stop per-frame store churn on the reasoning stream by @CrysisDeu in #1005
  • docs: add update architecture RFC (install-shape capability contract) by @CrysisDeu in #1003
  • fix: preserve user data on uninstall by @pepmach in #1002
  • test(e2e): widen the window the pulsing spec asserts on by @smeyffret in #997
  • fix(release): fail closed on missing macOS artifacts by @pepmach in #991
  • fix: create a chat slot already filed into its folder by @hoang-phan98 in #987
  • fix: rebase context meter stats on mid-session model switch by @hoang-phan98 in #986
  • feat(i18n): give zh-CN, hi and bn a script font fallback (Phase 2a) by @dwu96 in #982
  • perf(website): cut ~787 KB gzip from the eager frontend bundle by @kyleseaman in #981
  • feat(attachments): deliver images to the model and share one ingestion layer by @pepmach in #974
  • test(channels): add a wire-level harness with attributed vendor fixtures by @CrysisDeu in #965
  • fix(dashboard): settle the stop card when teardown clears the stop state by @smeyffret in #901
  • fix(i18n): localize agent-capabilities nav, composer placeholder, session status, and approval-mode picker by @xuejinT in #1016
  • feat(i18n): translate the bundled apps and shared modules (Phase 1 batch 5) by @dwu96 in #964
  • fix(weixin): stop declaring file support the transport does not have by @CrysisDeu in #855
  • perf(dashboard): stop ChatPage re-rendering for data it does not display by @CrysisDeu in #1021
  • refactor(channels): adopt the shared turn pipeline in wecom, webex and teams by @CrysisDeu in #1019
  • fix: gate provider hrefs through safeHttpUrl + deny deploy tamper of audit log bucket by @iamwhatever in #1014
  • feat(embeddings): support a user-supplied embedding model with automatic re-embed by @iamwhatever in #961
  • fix: suppress internal channel protocol leaks by @pepmach in #1054
  • fix(sidebar): stop the CI spinner on a closed PR chip by @darko-mesaros in #1045
  • fix(channels): preserve options trailers across chunking by @pepmach in #1051
  • feat(apps): add Design Critique as an opt-in builtin app by @xuejinT in #972
  • fix(dashboard): surface an uninstalled STT provider before recording by @CrysisDeu in #1024
  • perf(dashboard): defer meta redaction to display time, keep content at load by @CrysisDeu in #1041
  • fix(discord): support session title search by @pepmach in #1052
  • feat(discord): ingest inbound attachments by @pepmach in #1053
  • fix(config): resolve data-home paths per call, not at import time by @chenmingwei23 in #1049
  • feat(i18n): gate that every referenced key exists, and fix one that does not by @dwu96 in #1046
  • fix(options): tolerate a stray markdown-link close after [OPTIONS:] by @xuejinT in #1043
  • fix: no-op the child watcher install on Python 3.14 by @darko-mesaros in #1015
  • ci: block production dependency vulnerabilities by @pepmach in #1001
  • fix(security): redact JWTs in the frontend and prepare-pr mirrors by @smeyffret in #942
  • perf(memory): batch episodic fetch, debounce access touch, bound transcript reads by @kyleseaman in #983
  • chore(i18n): move the strict i18n gates to the diff, drop the qa site allowlist by @dwu96 in #1060
  • feat(apps): add Crew Companion as an opt-in builtin app by @xuejinT in #1055
  • feat(subagent): continuable conversations — spawn_continue/steer/release by @CrysisDeu in #1023
  • fix: make channel sessions surface-aware by @bolichen97 in #979
  • fix(apps): carry a builtin's agents and skills through discovery by @bolichen97 in #1076
  • fix(telemetry): record real turn duration in the usage row store by @chenmingwei23 in #1082
  • feat(mcp-gateway): Windows support via a named-pipe transport layer by @chenmingwei23 in #1042
  • feat(privacy): add telemetry disclosure notice and privacy controls by @pepmach in #1012
  • fix(security): enforce third-party app launch boundary with default-OFF execution by @pepmach in #998
  • docs(i18n): add the i18n measurement-gap RFC by @CrysisDeu in #1075
  • perf(dashboard): stop the rail collapse thrashing the transcript by @CrysisDeu in #1074
  • perf(boot): stop blocking the boot path and the import graph by @kyleseaman in #1071
  • fix(dashboard): make transcript disclosure state survive row recycling by @hoang-phan98 in #1067
  • fix: bind Ctrl+G to the agent monitor so the crew hint works by @darko-mesaros in #1065
  • feat: render Excalidraw diagrams inline in chat and file panel by @darko-mesaros in #1064
  • feat(i18n): collapse dangling-delimiter fragments into whole keys (Phase 3 item 1) by @dwu96 in #1048
  • feat(cli): artifact signature verification by @pepmach in #995
  • feat(nav): swap the rail's Contact Us row for GitHub star + issue links by @xuejinT in #976
  • fix(macos): stop the home-directory walks tripping a burst of TCC consent dialogs by @kyleseaman in #1073
  • test(e2e): declare the locale and tint-bound dependencies by @smeyffret in #887
  • fix(chat): show the channel brand mark on a channel-origin session row by @kyleseaman in #1072
  • fix(i18n): resolve the PrivacyPanel shell label keys statically by @kyleseaman in #1095
  • feat(privacy): add in-product telemetry opt-out and onboarding privacy step by @bolichen97 in #1091
  • fix: stop partial config writes from resetting user settings by @bolichen97 in #1092
  • feat(diff): single colored line-number gutter for hand-rolled diff views by @krishdhasmana in #1087
  • fix(electron): stop the permission check denying a media check with no mediaType by @CrysisDeu in #1108
  • docs: adopt the Amazon Open Source Code of Conduct by @kyleseaman in #1094
  • fix(dashboard): name chat sessions in the workspace UI language by @dwu96 in #1106
  • feat(i18n): translate the settings/overview panels and the Phase 1 residue by @dwu96 in #1040
  • fix(chat): show the loader when the stream goes quiet mid-turn by @CrysisDeu in #1118
  • fix(chat): stop streaming rows remounting per chunk; constant-latency reveal by @krishdhasmana in #1089
  • fix(dashboard): keep a surfaced channel tab mirroring its channel session until the user forks it by @kyleseaman in #1112
  • fix(skills): make image-authoring discoverable, add excalidraw route by @darko-mesaros in #1110
  • perf(mcp): stop a disabled server defeating the probe cache by @kyleseaman in #1104
  • feat(channels): tell Slack and Discord users when their context was auto-compacted by @kyleseaman in #1100
  • feat(agents): make the default model per-agent, with the global as fallback by @kyleseaman in #1097
  • fix(acp): report accurate context usage after compaction by @hoang-phan98 in #1090
  • test: declare jsonschema so the config-validation guards run by @smeyffret in #1069
  • ci: let in-flight main runs finish instead of cancelling them by @smeyffret in #1068
  • fix(issue-radar): give the investigating agent a way to record findings by @dwu96 in #1066
  • feat(perf): debug-only stack sampler behind kirocrew perf sample by @kyleseaman in #1063
  • docs(i18n): document the formatting seam, the gate chain, and merge-not-join by @dwu96 in #1022
  • fix: pin a tall prompt by its bottom edge, not its top by @michellemxm in #1131
  • fix(dashboard): apply simplifiedToolNames to session-list status by @CrysisDeu in #1127
  • ci: surface PR merge conflicts as a label in the pulls list by @iamwhatever in #1132
  • feat(skills): audit when consolidation proposes no skill candidate by @iamwhatever in #1134
  • fix: tighten Search Everywhere double-Shift window to 250ms by @iamwhatever in #1135
  • feat(windows): Authenticode-sign the installer via AWS Signer by @bolichen97 in #1125
  • feat(privacy): cut the beacon payload to five fields, add an enterprise opt-out by @bolichen97 in #1133
  • feat(signing): pin the CLI manifest signing key by @bolichen97 in #1144
  • fix(desktop): rank the relocatable .cmd shim above the bundle's pip .exe by @bolichen97 in #1177
  • fix(dashboard): stop truncating the IdC issuer host in the credits modal by @CrysisDeu in #1147
  • feat(i18n): make every date and time follow the app language (Phase 4 batch 3) by @dwu96 in #1123
  • fix: read the tool-call purpose under both wire spellings by @CrysisDeu in #1187
  • feat(onboarding): let the Other role be typed in by @CrysisDeu in #1188
  • fix(ci): raise AI review timeout to 90m as a runaway backstop by @bolichen97 in #1183
  • fix(mcp-gateway): stop SIGKILLing gatewayd on restart, forward non-secret declared env by @chenmingwei23 in #1081
  • fix(telemetry): publish the bucket-generation disclosure for every histogram by @chenmingwei23 in #1184
  • refactor(mcp-gateway): drop channel_id from PoolKey by @chenmingwei23 in #1191
  • fix(discord): show typing before the session cold start by @pepmach in #1193
  • feat: semantic endpointing (voice auto-submit) for streaming STT by @iamwhatever in #1180
  • fix: seven localized backend/dashboard defects (#423-#429) by @iamwhatever in #1146
  • feat(issue-radar): act on pull requests from the app, singly or in bulk by @bolichen97 in #1111
  • feat(mcp-apps): reveal tool arguments progressively via tool-input-partial by @iamwhatever in #1143
  • fix(chat): render sent-prompt images as small previews by @xuejinT in #1121
  • fix: probe the launcher's split unshare sequence, not a combined call by @darko-mesaros in #1138
  • fix(mcp-gateway): resolve the stub's data home per-platform, not via $HOME by @chenmingwei23 in #1124
  • fix(test): drop removed channel_id field from PoolKey test helper by @kyleseaman in #1201
  • feat(apps): show all built-ins in Discover, unify enable/disable, add Companion offline state by @xuejinT in #1136
  • fix(side-panel): make the diff split-view toggle actually split by @dwu96 in #1204
  • feat(i18n): converge the hand-rolled formatters onto the seam (Phase 4 batch 2) by @dwu96 in #1047
  • refactor(task-runner): align the app with the other builtins by @kyleseaman in #985
  • fix(dashboard): one section-header idiom for the side panel's list tabs by @dwu96 in #1202
  • feat(apps): add the Papyrus LaTeX editor as an opt-in builtin app by @bolichen97 in #1077
  • feat(perf): debug-only frontend bundle report and React commit timing by @kyleseaman in #1208
  • fix: report an unbuildable sandbox as itself, not a missing Kiro CLI by @darko-mesaros in #1203
  • feat(perf): desktop app metrics via kirocrew desktop metrics by @kyleseaman in #1199
  • fix(heartbeat): make sessions stateless, matching the documented contract by @chenmingwei23 in #1195
  • feat(i18n): gate untranslated text at render time under the en-XA pseudolocale by @dwu96 in #1107
  • fix(chat): remember which Change / Issue tab a session had open by @kyleseaman in #1103
  • fix(chat): re-surface a closed channel tab when the channel moves on by @kyleseaman in #1101
  • feat(agents): make the default agent settable and legible where it is chosen by @kyleseaman in #1093
  • feat(skills): loosen skill-detection prompt to reduce false negatives by @iamwhatever in #1148
  • ci: add hardened two-stage AI review for approved fork PRs by @iamwhatever in #1145
  • fix(i18n): restore ellipsis on three flex children that could not apply it by @darko-mesaros in #1222
  • feat(dashboard): consolidate folder create + settings into one modal by @CrysisDeu in #1182
  • fix(dashboard): slide the notification sheet out on dismiss by @CrysisDeu in #1227
  • chore(dashboard): drop the Artifacts page stat card row by @CrysisDeu in #1235
  • chore(rules): make the page StatCard row optional, not required by @CrysisDeu in #1238
  • fix(stt): find Homebrew when the gateway has no brew on PATH by @CrysisDeu in #1228
  • chore: upgrade electron 33 to 43 and migrate CI to macos-15 by @CrysisDeu in #1236
  • fix(chat): show images and three lines in the pinned prompt by @CrysisDeu in #1230
  • fix: nav rail flashes below chat input when crossing mobile breakpoint by @krishdhasmana in #1231
  • feat: add dev-fullstack.sh one-terminal dev stack launcher by @krishdhasmana in #1232
  • feat(artifacts): expose the star on masonry cards and the detail page by @CrysisDeu in #1244
  • fix(chat): gate markdown path chips on a real stat, and browse directories by @dwu96 in #1213
  • fix(messaging): release the session when renderer finalization fails by @CrysisDeu in #1234
  • test(mcp-gateway): prove pooling with real stub processes on all three platforms, plus a runtime invariant by @chenmingwei23 in #1192
  • fix(chat): let the user fold and dismiss a question card by @CrysisDeu in #1242
  • fix(security): one ceiling check for every auto-approve grant by @buluoray in #1088
  • ci: cap every workflow job with timeout-minutes by @CrysisDeu in #1247
  • fix(subagent): continuable-conversation hardening follow-ups (#1113 #1114 #1115) by @CrysisDeu in #1246
  • fix(dashboard): show full session title in inline rename field by @cixuuz in #1226
  • fix: seed the context meter when a session is reopened by @hoang-phan98 in #1224
  • fix(test): remove fixed-sleep races from the ACP runtime tests by @kyleseaman in #1212
  • feat(service): install an AppArmor profile granting the gateway userns by @darko-mesaros in #1210
  • fix(i18n): close the ALL-CAPS gate hole and translate the label tables it hid by @dwu96 in #1099
  • fix(i18n): translate WelcomeView mode labels and prompt suggestions by @cixuuz in #1223
  • feat(apps): add the Meetings app as an opt-in builtin by @bolichen97 in #1080
  • fix(voice): scope STT recording state per session slot by @cixuuz in #1120
  • fix(telemetry): ship the bucket-generation caveat with the numbers it qualifies by @chenmingwei23 in #1186
  • fix(skills): make app-provided skills visible to the skill scanner by @NicholasRBowers in #1260
  • feat: add Notes, a git-backed markdown notebook, as a builtin app by @michellemxm in #970
  • fix(mcp-apps): pace the reveal per element so the draw-on is perceptible by @iamwhatever in #1265
  • fix(lessons): accept every channel namespace in api_lessons_create by @chenmingwei23 in #1270
  • ci: label fork PRs for reviewer visibility in the pulls list by @iamwhatever in #1261
  • fix: self-heal a stray auth-staging path so gateway boot doesn't crash (#561) by @iamwhatever in #1214
  • feat: advisory host-resource guard for heavy work by @iamwhatever in #1217
  • fix(i18n): gate on diffs, not stored totals, and make the logs readable by @dwu96 in #1257
  • feat(mcp-gateway): fail closed on unverifiable peers on macOS by @chenmingwei23 in #1251
  • feat(chat): render model-emitted links as favicon + page title by @dwu96 in #1220
  • fix(apps): render app hero art in Library rows by @chenmingwei23 in #1216
  • ci: authenticate fork-review diff fetch with basic auth, not bearer by @iamwhatever in #1272
  • feat: redesign the Crews page as a roster with an editor sheet by @CrysisDeu in #1274
  • docs(rfc): orchestrator chat sessions — engineered pipeline, decision-only agent by @CrysisDeu in #1280
  • fix(desktop): grant the macOS mic entitlement so voice input can prompt by @bolichen97 in #1292
  • fix(telegram): size messages by rendered HTML and record API latency by @chenmingwei23 in #1281
  • feat(artifacts): start a new blank document from the Artifacts page by @NicholasRBowers in #910
  • feat(apps): add PPTX Maker as an opt-in builtin app by @bolichen97 in #1079
  • docs(autopilot): bind the "Autopilot" name in the orchestrator prompt + design doc by @iamwhatever in #1277
  • fix(chat): steer mid-stream strands the streaming marker above the bubble by @krishdhasmana in #1279
  • fix(i18n): repair the lint exemptions that reported machine values as copy by @dwu96 in #1290
  • fix(issue-radar): stop bulk auto-merge failing on ready and merged PRs by @bolichen97 in #1291
  • fix: file chips count whole file as additions on strReplace edits by @krishdhasmana in #1267
  • docs(agents): require stateless MCP tools under shared backend by @iamwhatever in #1306
  • fix(mcp-apps): slow the reveal and stop batching so progress reads as drawing by @iamwhatever in #1309
  • fix(composer): strip trailing blank lines from pasted text by @iamwhatever in #1308
  • fix(dev-fleet): explain why pods are unavailable off Linux, and stop reporting built worktrees as unbuilt by @chenmingwei23 in #1254
  • refactor: extract shared read_bounded_json + _persist_turn_row helpers (#490, #1086) by @iamwhatever in #1314
  • feat(chat): rove the session list with ArrowUp / ArrowDown by @kyleseaman in #1315
  • fix(chat): resolve the real context window on a model switch, not one turn later by @kyleseaman in #1313
  • feat(metrics): time SQLite store operations by @kyleseaman in #1221
  • feat(i18n): translate the label tables the ALL-CAPS gate exposed by @dwu96 in #1209
  • chore: strip task-log noise and redundant comments; codify comment style by @bolichen97 in #1278
  • feat(connections): M1 provider registry + OAuth return-address relay by @pepmach in #1287
  • feat(connections): M1 Connections page (services gallery + MCP tab) by @pepmach in #1229
  • fix(chat): default the pinned-prompt banner off and stop it double-painting by @iamwhatever in #1317
  • fix(security): scope two self-protection deny rules to command structure by @NicholasRBowers in #905
  • fix(issue-radar): make connected-repo authz gate provider-case-aware by @iamwhatever in #1320
  • fix(ci): include registry.json in i18n-render base export by @buluoray in #1321
  • feat(apps): auto-approve a builtin app's calls to its own MCP server by @buluoray in #1307
  • fix(babysit): stop monitor loops and long turns dying silently by @NicholasRBowers in #1266
  • fix(backend): attribute messaging channels in SEL + totalize MCP cron create (#815, #391) by @iamwhatever in #1311
  • docs: rewrite Kiro Crew README by @kyleseaman in #82
  • fix(deps): bump fast-uri to 3.1.5 (CVE-2026-18446) by @iamwhatever in #1336
  • fix(deps): bump the fast-uri override past GHSA-7p8r-x3mc-p8w7 by @dwu96 in #1338
  • fix(security): rename the standing auto-approve key and unify ad-hoc durations by @NicholasRBowers in #1084
  • feat: theme the onboarding mascot border from its Figma layer by @michellemxm in #1333
  • fix(markdown-panel): make its diff split toggle split, and light up correctly by @dwu96 in #1337
  • feat(crew): per-crew triggers routing + select_crew orchestration by @iamwhatever in #1335
  • fix: pool package-prefixed MCP-gateway agents + share profile slug constant (#925, #557) by @iamwhatever in #1312
  • feat: chat header alignment, panel icons, sidebar collapse morph by @krishdhasmana in #1058
  • fix(i18n): translate the zoom-level description in Settings → Display by @CrysisDeu in #1345
  • fix(chat): keep tool-call labels in the active UI language by @xuejinT in #1342
  • refactor(trust): share the trust-grant pattern helpers by @buluoray in #1347
  • feat(crews): List view, clamped descriptions, modal editor by @CrysisDeu in #1331
  • fix(link-preview): unfurl pages that exceed the read cap by @dwu96 in #1344
  • ci: retire long-term Arbiter; fold one-way-door lens into Design Review by @iamwhatever in #1334
  • fix(followup): demote disabled worktree button in unscoped sessions by @darko-mesaros in #1325
  • docs(rfc): add a status-audited index and front matter to every RFC by @CrysisDeu in #1354
  • feat(dashboard): session-first Artifacts panel by @xuejinT in #1343
  • fix(settings): make the segmented control read as a group of choices by @CrysisDeu in #1357
  • fix(dev-fleet): stop listing worktrees that no longer exist by @chenmingwei23 in #1352
  • fix(papyrus): close four repo-config RCE paths and support Windows by @bolichen97 in #1316
  • chore(cli): hide TUI command surface to avoid Kiro-CLI overlap by @iamwhatever in #1356
  • fix(theme): stop Auto dark/light freezing in the desktop app by @CrysisDeu in #1358
  • docs: show contributors as linked GitHub avatars in README by @bolichen97 in #1362
  • fix(sandbox): stop denying link/linkat in the Linux seccomp filter by @iamwhatever in #1339
  • test: make CI-flaky tests deterministic and halve suite runtime by @bolichen97 in #1353
  • feat(memory): change the embedding model from the dashboard by @iamwhatever in #1149
  • fix: keep subagent/workflow bars visible off their sidebar tab; project-picker path delimiter (#728, #1196) by @iamwhatever in #1319
  • chore(themes): drop nine orphaned built-in-theme art assets by @bolichen97 in #1372
  • chore(docs): Update security email contact address by @nadetastic in #1360
  • fix(pptx-maker): require credential bodies so real rasters stop being blanked by @chenmingwei23 in #1365
  • fix(telemetry): stamp the distribution channel at build time by @bolichen97 in #1384
  • feat: move Privacy before Customize as its own mandatory chapter by @michellemxm in #1363
  • feat(apps): add Mochi desktop companion as a builtin app by @buluoray in #1258
  • test: stop fixtures leaking /tmp dirs and waiting out fixed budgets by @bolichen97 in #1382
  • fix(scrub): remove 11 personal identifiers and close the vacuous alias gate by @chenmingwei23 in #1381
  • fix(dev-fleet): declare the platforms the app actually runs on by @chenmingwei23 in #1376
  • fix(agents): give installed-agent names full width in the list rows by @iamwhatever in #1370
  • refactor(agents): drop dead routing-metadata editor, explain crew triggers by @iamwhatever in #1367
  • feat(artifacts): reconcile the files and artifacts stacks in the chat side panel by @NicholasRBowers in #1083
  • feat(routes): accept userless ssh:// registry urls (frontend/backend validation parity) by @tlobinger in #918
  • feat(browser): native embedded browser panel with in-process CDP agent control by @iamwhatever in #1318
  • fix(chat): preserve streamed-row identity across the chat_done transcript reload by @iamwhatever in #1369
  • feat(i18n): render the surfaces the en-XA gate never visited by @dwu96 in #1294
  • feat(shortcuts): make Search Everywhere activation configurable by @adlio in #1390
  • fix(macos): stop File Explorer search tripping ~/Pictures & ~/Music TCC prompts by @adlio in #1389
  • fix(prompt): stop the agent searching the entire home directory by @adlio in #1386
  • fix(connections): hold the services gallery behind an opt-in flag by @pepmach in #1383
  • feat(settings): tag Computer Use panel as macOS only by @iamwhatever in #1377
  • fix(dashboard): stop a meta dict race aborting chat-history saves by @patrigao in #1322
  • docs: restructure README Quick start into four install paths by @kyleseaman in #1392
  • fix(scrub): replace four employee-alias workplace paths by @chenmingwei23 in #1395
  • docs: add GOVERNANCE.md and MAINTAINERS.md by @kyleseaman in #1396
  • docs: add contributor-facing sections to CONTRIBUTING.md by @kyleseaman in #1398
  • fix(apps): derive a builtin app's identity from its agent for own-MCP auto-approve by @buluoray in #1399
  • fix(pod-e2e): make the harness runnable on symlinked-HOME and BSD hosts by @chenmingwei23 in #1385
  • refactor(sessions): make a channel conversation's dashboard tab that conversation by @NicholasRBowers in #1366
  • feat: expose the public skill registry to the agent by @CrysisDeu in #1401
  • fix(voice): call the TTS provider Amazon Polly, its actual name by @dwu96 in #1400
  • feat(mcp-apps): opt-in rendering of MCP Apps in the right side panel by @iamwhatever in #1388
  • fix(orchestrator): arm plan-review gate reliably and stop stage over-runs by @iamwhatever in #1387
  • feat(apps): anonymous install receipt for official app installs by @pepmach in #1379
  • feat(pod): macOS support via a launchd backend by @chenmingwei23 in #1391
  • chore(apps): hide Crew Companion from the App Store by @iamwhatever in #1407
  • feat(github): add issue forms for bug, feature, and docs reports by @kyleseaman in #1410
  • docs: make GOVERNANCE.md and MAINTAINERS.md reachable by @kyleseaman in #1411
  • docs: restore two README tables broken by #1392's column collapse by @kyleseaman in #1413
  • feat(security): surface the third-party app execution gate in Settings by @CrysisDeu in #1414
  • docs: add TENETS.md by @kyleseaman in #1419
  • docs: use the two-word product name in prose by @kyleseaman in #1420
  • feat(notes): add row actions, drag-to-file and a top-level new note by @michellemxm in #1323
  • fix(issue-radar): finish the bulk-merge follow-ups and expire the label cache by @bolichen97 in https://github.com/kirodotdev/KiroCrew/pull/1402
  • feat(apps): add the LaunchDarkly app to the curated registry by @CrysisDeu in https://github.com/kirodotdev/KiroCrew/pull/1425

New Contributors

Full Changelog: v0.1.1...v0.1.2