@piagent/platform 1.41.0 → 1.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/CHANGELOG.md +1006 -2038
  2. package/CONTRIBUTING.md +2 -0
  3. package/README.md +128 -325
  4. package/README.vi.md +149 -143
  5. package/docs/command-reference-vietnamese.md +2 -2
  6. package/docs/distribution-standard.md +6 -6
  7. package/docs/languages.json +2 -2
  8. package/docs/operator-manual-vietnamese.md +7 -7
  9. package/docs/publishing-for-teams.md +1 -0
  10. package/docs/release-install-policy.md +3 -3
  11. package/docs/team-onboarding.md +2 -2
  12. package/docs-site/architecture.html +71 -63
  13. package/docs-site/assets/docs.css +2736 -1030
  14. package/docs-site/assets/docs.js +451 -43
  15. package/docs-site/assets/og.png +0 -0
  16. package/docs-site/assets/piagent-logo.svg +9 -31
  17. package/docs-site/assets/search-en.json +1 -0
  18. package/docs-site/assets/search-vi.json +1 -0
  19. package/docs-site/benchmark.html +71 -63
  20. package/docs-site/commands.html +72 -64
  21. package/docs-site/content/en/index.html +220 -131
  22. package/docs-site/content/en/quickstart.html +74 -90
  23. package/docs-site/content/en/update.html +80 -0
  24. package/docs-site/content/en/whats-new.html +1 -684
  25. package/docs-site/content/index.html +220 -131
  26. package/docs-site/content/quickstart.html +73 -108
  27. package/docs-site/content/update.html +80 -0
  28. package/docs-site/content/whats-new.html +1 -684
  29. package/docs-site/context-engine.html +73 -65
  30. package/docs-site/ecosystem.html +73 -65
  31. package/docs-site/en/architecture.html +67 -59
  32. package/docs-site/en/benchmark.html +67 -59
  33. package/docs-site/en/commands.html +68 -60
  34. package/docs-site/en/context-engine.html +68 -60
  35. package/docs-site/en/ecosystem.html +68 -60
  36. package/docs-site/en/index.html +281 -220
  37. package/docs-site/en/mcp-approval.html +67 -59
  38. package/docs-site/en/mcp-auth.html +67 -59
  39. package/docs-site/en/mcp-servers.html +68 -60
  40. package/docs-site/en/mcp.html +64 -56
  41. package/docs-site/en/permissions.html +68 -60
  42. package/docs-site/en/profiles.html +68 -60
  43. package/docs-site/en/quickstart.html +142 -150
  44. package/docs-site/en/runtime.html +67 -59
  45. package/docs-site/en/scope.html +68 -60
  46. package/docs-site/en/security.html +64 -56
  47. package/docs-site/en/team.html +67 -59
  48. package/docs-site/en/update.html +228 -0
  49. package/docs-site/en/whats-new.html +1601 -725
  50. package/docs-site/en/windows.html +71 -63
  51. package/docs-site/en/workflows.html +68 -60
  52. package/docs-site/favicon.svg +9 -14
  53. package/docs-site/index.html +281 -220
  54. package/docs-site/mcp-approval.html +70 -62
  55. package/docs-site/mcp-auth.html +70 -62
  56. package/docs-site/mcp-servers.html +71 -63
  57. package/docs-site/mcp.html +70 -62
  58. package/docs-site/permissions.html +72 -64
  59. package/docs-site/profiles.html +72 -64
  60. package/docs-site/quickstart.html +145 -172
  61. package/docs-site/releases.json +4449 -0
  62. package/docs-site/runtime.html +73 -65
  63. package/docs-site/scope.html +73 -65
  64. package/docs-site/security.html +73 -65
  65. package/docs-site/team.html +71 -63
  66. package/docs-site/update.html +228 -0
  67. package/docs-site/whats-new.html +1605 -729
  68. package/docs-site/windows.html +75 -67
  69. package/docs-site/workflows.html +73 -65
  70. package/evals/private-holdout-v1/public-exposure.v2.json +1 -1
  71. package/package.json +1 -1
  72. package/packages/piagent-core/package.json +1 -1
  73. package/packages/piagent-webui/dist/client/assets/App-DBx4BU3F.js +5 -0
  74. package/packages/piagent-webui/dist/client/assets/LineReview-DzonwD-g.js +3 -0
  75. package/packages/piagent-webui/dist/client/assets/{MarkdownMessage-DeLo-xiz.js → MarkdownMessage-DchODuO7.js} +2 -2
  76. package/packages/piagent-webui/dist/client/assets/SessionInspectorDrawer-BHHNlct3.js +1 -0
  77. package/packages/piagent-webui/dist/client/assets/SettingsPage-DX28MsZA.js +1 -0
  78. package/packages/piagent-webui/dist/client/assets/TerminalPanel-C--BiN0p.js +2 -0
  79. package/packages/piagent-webui/dist/client/assets/{TerminalView-r9rG24IO.js → TerminalView-BML7uS6R.js} +3 -3
  80. package/packages/piagent-webui/dist/client/assets/WorkspaceCodeEditor-B7ieqDnt.js +2 -0
  81. package/packages/piagent-webui/dist/client/assets/WorkspaceExplorer-BOafuPU-.js +5 -0
  82. package/packages/piagent-webui/dist/client/assets/WorkspaceQuickOpen-CGoGfUPk.js +1 -0
  83. package/packages/piagent-webui/dist/client/assets/api-BUjrtT1B.js +1 -0
  84. package/packages/piagent-webui/dist/client/assets/index-C7Azrwpq.js +132 -0
  85. package/packages/piagent-webui/dist/client/assets/index-Dqb2hNan.css +1 -0
  86. package/packages/piagent-webui/dist/client/assets/tab-close-Crj8vsUq.js +1 -0
  87. package/packages/piagent-webui/dist/client/assets/ui-preferences-B3UfDp-5.js +1 -0
  88. package/packages/piagent-webui/dist/client/assets/vendor-Ch5hIe0W.js +136 -0
  89. package/packages/piagent-webui/dist/client/index.html +5 -8
  90. package/scripts/build-docs-site.mjs +205 -348
  91. package/scripts/check-public-wording.mjs +2 -1
  92. package/scripts/docs-site-icons.mjs +84 -0
  93. package/scripts/docs-site-nav.mjs +302 -0
  94. package/scripts/docs-site-releases.mjs +227 -0
  95. package/packages/piagent-webui/dist/client/assets/Alert-DGWhP2MM.js +0 -1
  96. package/packages/piagent-webui/dist/client/assets/Button-QItfZUNj.js +0 -1
  97. package/packages/piagent-webui/dist/client/assets/DialogTitle-CyaFPaiW.js +0 -3
  98. package/packages/piagent-webui/dist/client/assets/TerminalPanel-BG-DP_qm.js +0 -2
  99. package/packages/piagent-webui/dist/client/assets/Typography-B9om7Evq.js +0 -1
  100. package/packages/piagent-webui/dist/client/assets/WorkspaceCodeEditor-BnqaR3pK.js +0 -2
  101. package/packages/piagent-webui/dist/client/assets/WorkspaceExplorer-BIxwiGtl.js +0 -5
  102. package/packages/piagent-webui/dist/client/assets/WorkspaceQuickOpen-CK3dILhQ.js +0 -1
  103. package/packages/piagent-webui/dist/client/assets/index-DBUTrEXi.css +0 -1
  104. package/packages/piagent-webui/dist/client/assets/index-rlyRccut.js +0 -102
  105. package/packages/piagent-webui/dist/client/assets/tab-close-BoJRyBO_.js +0 -1
  106. package/packages/piagent-webui/dist/client/assets/ui-preferences-BO3AV7QE.js +0 -10
  107. package/packages/piagent-webui/dist/client/assets/useId-DEefKUAT.js +0 -124
@@ -1,811 +1,1680 @@
1
1
  <!doctype html>
2
- <html lang="en" data-copy-success="Copied" data-copy-fallback="Select command">
2
+ <html lang="en" data-copy-success="Copied" data-copy-fallback="Select command" data-copy-label="Copy">
3
3
  <head>
4
4
  <meta charset="utf-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
- <title>1.9.0: ask in plain language, the team's Harness checks · Pi Agent Platform Docs</title>
7
- <meta name="description" content="The task contract and workflow commands are gone. Company mode asks for checks and a review on its own; Stop, network commands on approval and clearer approval cards." />
8
- <meta name="theme-color" content="#050505" />
6
+ <title>Changelog · Pi Agent Platform</title>
7
+ <meta name="description" content="Every release: what changed and which Studio or Agent Watch it needs. Newest first." />
8
+ <meta name="theme-color" content="#09090b" media="(prefers-color-scheme: dark)" />
9
+ <meta name="theme-color" content="#fbfbf9" media="(prefers-color-scheme: light)" />
9
10
  <link rel="canonical" href="https://piagent.io.vn/en/whats-new" />
10
11
  <link rel="alternate" hreflang="vi" href="https://piagent.io.vn/whats-new" />
11
12
  <link rel="alternate" hreflang="en" href="https://piagent.io.vn/en/whats-new" />
12
13
  <link rel="alternate" hreflang="x-default" href="https://piagent.io.vn/whats-new" />
13
14
  <link rel="icon" href="/favicon.svg" type="image/svg+xml" />
14
- <meta property="og:title" content="1.9.0: ask in plain language, the team's Harness checks · Pi Agent Platform Docs" />
15
- <meta property="og:description" content="The task contract and workflow commands are gone. Company mode asks for checks and a review on its own; Stop, network commands on approval and clearer approval cards." />
15
+ <meta property="og:type" content="website" />
16
+ <meta property="og:title" content="Changelog · Pi Agent Platform" />
17
+ <meta property="og:description" content="Every release: what changed and which Studio or Agent Watch it needs. Newest first." />
16
18
  <meta property="og:url" content="https://piagent.io.vn/en/whats-new" />
19
+ <meta property="og:image" content="https://piagent.io.vn/assets/og.png" />
20
+ <meta name="twitter:card" content="summary_large_image" />
21
+ <script>try{var t=localStorage.getItem("piagent-docs-theme");if(t==="light"||t==="dark")document.documentElement.dataset.theme=t}catch(e){}</script>
17
22
  <link rel="preconnect" href="https://fonts.googleapis.com" />
18
23
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
19
24
  <link
20
- href="https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap"
25
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;550;600;650;700;750&family=JetBrains+Mono:wght@400;500;600;700&display=swap"
21
26
  rel="stylesheet"
22
27
  />
23
28
  <link rel="stylesheet" href="/assets/docs.css" />
24
29
  <script src="/assets/docs.js" defer></script>
25
30
  </head>
26
31
  <body>
32
+ <svg width="0" height="0" style="position:absolute" aria-hidden="true"><symbol id="icon-branch" viewBox="0 0 24 24"><circle cx="6" cy="5.5" r="2"/><circle cx="6" cy="18.5" r="2"/><circle cx="18" cy="7.5" r="2"/><path d="M6 7.5v9M18 9.5c0 4.5-5 4-11 7.5"/></symbol><symbol id="icon-chart" viewBox="0 0 24 24"><path d="M4 4v16h16"/><path d="M8.5 16v-5M12.5 16V8M16.5 16v-3"/></symbol><symbol id="icon-cpu" viewBox="0 0 24 24"><rect x="6" y="6" width="12" height="12" rx="2"/><rect x="9.5" y="9.5" width="5" height="5" rx=".8"/><path d="M9 2.5V6M15 2.5V6M9 18v3.5M15 18v3.5M2.5 9H6M2.5 15H6M18 9h3.5M18 15h3.5"/></symbol><symbol id="icon-edit" viewBox="0 0 24 24"><path d="M4 20h4L19 9l-4-4L4 16z"/><path d="m13.5 6.5 4 4"/></symbol><symbol id="icon-github" viewBox="0 0 24 24"><path d="M9 19c-4.5 1.5-4.5-2.5-6.5-3m13 6v-3.5a3 3 0 0 0-.9-2.4c3-.3 6.4-1.5 6.4-6.7a5.2 5.2 0 0 0-1.4-3.6 4.8 4.8 0 0 0-.1-3.6s-1.1-.3-3.7 1.4a12.6 12.6 0 0 0-6.6 0C6.6 1.9 5.5 2.2 5.5 2.2a4.8 4.8 0 0 0-.1 3.6A5.2 5.2 0 0 0 4 9.4c0 5.2 3.4 6.4 6.4 6.7a3 3 0 0 0-.9 2.4V22"/></symbol><symbol id="icon-hash" viewBox="0 0 24 24"><path d="M5 9h15M4 15h15M10 3 8 21M16 3l-2 18"/></symbol><symbol id="icon-home" viewBox="0 0 24 24"><path d="M3 10.5 12 3l9 7.5V20a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z"/></symbol><symbol id="icon-key" viewBox="0 0 24 24"><circle cx="8" cy="15" r="4"/><path d="m10.9 12.1 8.6-8.6M16.5 6.5l2.5 2.5M14 9l2 2"/></symbol><symbol id="icon-layers" viewBox="0 0 24 24"><path d="m12 3 9 5-9 5-9-5z"/><path d="m3 13 9 5 9-5"/><path d="m3 17.5 9 5 9-5" opacity=".55"/></symbol><symbol id="icon-lock" viewBox="0 0 24 24"><rect x="4" y="11" width="16" height="10" rx="2"/><path d="M8 11V7a4 4 0 0 1 8 0v4"/></symbol><symbol id="icon-menu" viewBox="0 0 24 24"><path d="M4 7h16M4 12h16M4 17h16"/></symbol><symbol id="icon-moon" viewBox="0 0 24 24"><path d="M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5z"/></symbol><symbol id="icon-network" viewBox="0 0 24 24"><circle cx="12" cy="5" r="2.5"/><circle cx="5" cy="19" r="2.5"/><circle cx="19" cy="19" r="2.5"/><path d="M12 7.5V12m0 0-5.2 5.2M12 12l5.2 5.2"/></symbol><symbol id="icon-plug" viewBox="0 0 24 24"><path d="M9 3v4M15 3v4M6 7h12v4a6 6 0 0 1-12 0zM12 17v4"/></symbol><symbol id="icon-refresh" viewBox="0 0 24 24"><path d="M20 11A8 8 0 0 0 5.3 6.7M4 3v4h4"/><path d="M4 13a8 8 0 0 0 14.7 4.3M20 21v-4h-4"/></symbol><symbol id="icon-rocket" viewBox="0 0 24 24"><path d="M5.5 15.5C4 17 3.5 19.5 3.5 20.5c1 0 3.5-.5 5-2"/><path d="M9 15 6.5 12.5C8 8.5 11.5 4.5 20 4c-.5 8.5-4.5 12-8.5 13.5z"/><circle cx="14.5" cy="9.5" r="1.5"/></symbol><symbol id="icon-search" viewBox="0 0 24 24"><circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5"/></symbol><symbol id="icon-server" viewBox="0 0 24 24"><rect x="3" y="4" width="18" height="7" rx="2"/><rect x="3" y="13" width="18" height="7" rx="2"/><path d="M7 7.5h.01M7 16.5h.01"/></symbol><symbol id="icon-shield" viewBox="0 0 24 24"><path d="M12 3 4.5 6v5.5c0 4.8 3.2 8.2 7.5 9.5 4.3-1.3 7.5-4.7 7.5-9.5V6z"/></symbol><symbol id="icon-shield-check" viewBox="0 0 24 24"><path d="M12 3 4.5 6v5.5c0 4.8 3.2 8.2 7.5 9.5 4.3-1.3 7.5-4.7 7.5-9.5V6z"/><path d="m9 12 2.2 2.2L15.5 10"/></symbol><symbol id="icon-sliders" viewBox="0 0 24 24"><path d="M4 7h9M17 7h3M4 17h3M11 17h9"/><circle cx="15" cy="7" r="2"/><circle cx="9" cy="17" r="2"/></symbol><symbol id="icon-sparkles" viewBox="0 0 24 24"><path d="M11 3c.6 4.6 2.4 6.4 7 7-4.6.6-6.4 2.4-7 7-.6-4.6-2.4-6.4-7-7 4.6-.6 6.4-2.4 7-7z"/><path d="M19 15v5M16.5 17.5h5"/></symbol><symbol id="icon-sun" viewBox="0 0 24 24"><circle cx="12" cy="12" r="4"/><path d="M12 2.5v2M12 19.5v2M4.6 4.6 6 6M18 18l1.4 1.4M2.5 12h2M19.5 12h2M4.6 19.4 6 18M18 6l1.4-1.4"/></symbol><symbol id="icon-target" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1"/></symbol><symbol id="icon-terminal" viewBox="0 0 24 24"><rect x="3" y="4" width="18" height="16" rx="2.5"/><path d="m7.5 9.5 3 2.5-3 2.5M13 15h4"/></symbol><symbol id="icon-users" viewBox="0 0 24 24"><circle cx="9" cy="8" r="3.5"/><path d="M2.5 20a6.5 6.5 0 0 1 13 0"/><path d="M16 4.5a3.5 3.5 0 0 1 0 7M18 14a6 6 0 0 1 3.5 6"/></symbol><symbol id="icon-windows" viewBox="0 0 24 24"><path d="M3.5 5.5 10.5 4.5v7h-7zM13 4.2 20.5 3v8.5H13zM3.5 13h7v7l-7-1zM13 13h7.5v8.5L13 20.3z"/></symbol><symbol id="icon-wrench" viewBox="0 0 24 24"><path d="M15 6.5a4.5 4.5 0 0 1-6 6l-5 5L6.5 20l5-5a4.5 4.5 0 0 0 6-6L15 11.5l-2.5-2.5z"/></symbol></svg>
33
+ <a class="skip-link" href="#content">Skip to content</a>
27
34
  <header class="topbar">
35
+ <button class="icon-button mobile-menu" type="button" data-menu aria-label="Open docs menu"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-menu"/></svg></button>
28
36
  <a class="brand" href="/en/" aria-label="Pi Agent Platform">
29
- <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" /></span>
30
- <span>Pi Agent Platform</span>
37
+ <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
+ <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
31
39
  </a>
40
+ <a class="version-badge" href="/en/whats-new" data-docs-version="v1.42.0" title="v1.42.0 docs · EN"><span class="dot"></span>v1.42.0</a>
41
+ <nav class="top-nav" aria-label="Documentation">
42
+ <a href="/en/quickstart">Docs</a>
43
+ <a href="/en/whats-new" aria-current="page">Changelog</a>
44
+ <a href="/en/benchmark">Benchmark</a>
45
+ </nav>
46
+ <span class="top-spacer"></span>
47
+ <button class="search-trigger" type="button" data-search aria-label="Search documentation"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-search"/></svg><span>Search the docs…</span><kbd>⌘K</kbd></button>
32
48
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.41.0 docs · EN</span>
34
- <nav class="language-switch" aria-label="Language">
35
- <a class="language-option" href="/whats-new" hreflang="vi" lang="vi">VI</a>
36
- <a class="language-option current" href="/en/whats-new" hreflang="en" lang="en" aria-current="true">EN</a>
37
- </nav>
38
- <a class="button social" href="https://github.com/Vt-mmm/piagent" target="_blank" rel="noopener noreferrer" aria-label="Open GitHub repository">
39
- <svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
40
- <path d="M7 17 17 7M9 7h8v8" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
41
- </svg>
42
- GitHub
43
- </a>
44
- <button class="button mobile-menu" type="button" data-menu>Menu</button>
45
- <a class="button top-command-link" href="/en/commands">Commands</a>
49
+ <nav class="language-switch" aria-label="Language"><a class="language-option" href="/whats-new" hreflang="vi" lang="vi">VI</a><a class="language-option current" href="/en/whats-new" hreflang="en" lang="en" aria-current="true">EN</a></nav>
50
+ <button class="icon-button theme-toggle" type="button" data-theme-toggle aria-label="Switch light/dark theme"><svg class="icon icon-moon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-moon"/></svg><svg class="icon icon-sun" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-sun"/></svg></button>
51
+ <a class="icon-button" href="https://github.com/Vt-mmm/piagent" target="_blank" rel="noopener noreferrer" aria-label="Open GitHub repository"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-github"/></svg></a>
46
52
  </div>
47
53
  </header>
48
54
 
49
55
  <div class="layout with-toc">
50
56
  <aside class="sidebar" data-sidebar>
51
- <div class="sidebar-search" aria-label="Search documentation">
52
- <svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
53
- <path d="M10.8 18.1a7.3 7.3 0 1 1 0-14.6 7.3 7.3 0 0 1 0 14.6Zm5.3-1.7 4.4 4.4" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
54
- </svg>
55
- <input type="search" placeholder="Search pages" data-filter />
56
- </div>
57
-
58
57
  <nav aria-label="Documentation">
59
58
  <div class="nav-group">
60
59
  <p class="nav-title">Get started</p>
61
- <a class="nav-link" href="/en/">Overview</a>
62
- <a class="nav-link" href="/en/ecosystem">Ecosystem</a>
63
- <a class="nav-link" href="/en/quickstart">Quickstart</a>
64
- <a class="nav-link" href="/en/windows">Windows</a>
65
- <a class="nav-link current" href="/en/whats-new" aria-current="page">What’s new</a>
66
- <a class="nav-link" href="/en/scope">Platform scope</a>
60
+ <a class="nav-link" href="/en/"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-home"/></svg><span>Overview</span></a>
61
+ <a class="nav-link" href="/en/ecosystem"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-network"/></svg><span>Ecosystem</span></a>
62
+ <a class="nav-link" href="/en/quickstart"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-rocket"/></svg><span>Install</span></a>
63
+ <a class="nav-link" href="/en/windows"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-windows"/></svg><span>Windows</span></a>
64
+ <a class="nav-link" href="/en/update"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-refresh"/></svg><span>Update &amp; uninstall</span></a>
65
+ <a class="nav-link current" href="/en/whats-new" aria-current="page"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-sparkles"/></svg><span>Changelog</span></a>
66
+ <a class="nav-link" href="/en/scope"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-target"/></svg><span>Platform scope</span></a>
67
67
  </div>
68
68
  <div class="nav-group">
69
69
  <p class="nav-title">Build</p>
70
- <a class="nav-link" href="/en/profiles">Project profiles</a>
71
- <a class="nav-link" href="/en/permissions">Permission modes</a>
72
- <a class="nav-link" href="/en/commands">Command catalog</a>
73
- <a class="nav-link" href="/en/workflows">Workflows</a>
70
+ <a class="nav-link" href="/en/profiles"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-sliders"/></svg><span>Project profiles</span></a>
71
+ <a class="nav-link" href="/en/permissions"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-key"/></svg><span>Permission modes</span></a>
72
+ <a class="nav-link" href="/en/commands"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-terminal"/></svg><span>Command catalog</span></a>
73
+ <a class="nav-link" href="/en/workflows"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-branch"/></svg><span>Workflows</span></a>
74
74
  </div>
75
75
  <div class="nav-group">
76
76
  <p class="nav-title">MCP</p>
77
- <a class="nav-link" href="/en/mcp">MCP overview</a>
78
- <a class="nav-link" href="/en/mcp-servers">Server management</a>
79
- <a class="nav-link" href="/en/mcp-auth">Authentication</a>
80
- <a class="nav-link" href="/en/mcp-approval">Approval gate</a>
77
+ <a class="nav-link" href="/en/mcp"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-plug"/></svg><span>MCP overview</span></a>
78
+ <a class="nav-link" href="/en/mcp-servers"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-server"/></svg><span>Server management</span></a>
79
+ <a class="nav-link" href="/en/mcp-auth"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-lock"/></svg><span>Authentication</span></a>
80
+ <a class="nav-link" href="/en/mcp-approval"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-shield-check"/></svg><span>Approval gate</span></a>
81
81
  </div>
82
82
  <div class="nav-group">
83
83
  <p class="nav-title">Operate</p>
84
- <a class="nav-link" href="/en/security">Security model</a>
85
- <a class="nav-link" href="/en/architecture">Architecture</a>
86
- <a class="nav-link" href="/en/context-engine">Context Engine</a>
87
- <a class="nav-link" href="/en/benchmark">Benchmark</a>
88
- <a class="nav-link" href="/en/runtime">Runtime tools</a>
89
- <a class="nav-link" href="/en/team">Team usage</a>
84
+ <a class="nav-link" href="/en/security"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-shield"/></svg><span>Security model</span></a>
85
+ <a class="nav-link" href="/en/architecture"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-layers"/></svg><span>Architecture</span></a>
86
+ <a class="nav-link" href="/en/context-engine"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-cpu"/></svg><span>Context Engine</span></a>
87
+ <a class="nav-link" href="/en/benchmark"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-chart"/></svg><span>Benchmark</span></a>
88
+ <a class="nav-link" href="/en/runtime"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-wrench"/></svg><span>Runtime tools</span></a>
89
+ <a class="nav-link" href="/en/team"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-users"/></svg><span>Team usage</span></a>
90
90
  </div>
91
91
  </nav>
92
92
  </aside>
93
93
 
94
- <main>
94
+ <main id="content">
95
95
  <div class="content-shell" data-article>
96
96
  <nav class="breadcrumb" aria-label="Breadcrumb">
97
97
  <a href="/en/">Docs</a>
98
98
  <span aria-hidden="true">/</span>
99
99
  <span>Get started</span>
100
- <span aria-hidden="true">/</span>
101
- <span>What’s new</span>
102
100
  </nav>
103
101
  <div class="page-head">
104
- <h1>1.9.0: ask in plain language, the team's Harness checks</h1>
105
- <p>The task contract and workflow commands are gone. Company mode asks for checks and a review on its own; Stop, network commands on approval and clearer approval cards.</p>
102
+ <h1>Changelog</h1>
103
+ <p>Every release: what changed and which Studio or Agent Watch it needs. Newest first.</p>
104
+ <div class="page-meta">
105
+ <a href="https://github.com/Vt-mmm/piagent/blob/main/docs-site/releases.json" target="_blank" rel="noopener noreferrer"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-edit"/></svg>Edit this page</a>
106
+ </div>
106
107
  </div>
107
- <section class="section">
108
- <p class="section-kicker">v1.41.0 · 2026-10-24</p>
109
- <h2 id="v1-41-0">Front-end change reports</h2>
110
- <p class="section-lead">The <code>fe-change-report</code> skill: for a front-end task that asks for a report, the agent captures the old and new versions of the affected pages (headless, same data), frames each change with a numbered red box on both screenshots, runs the checks and the full E2E suite headless, and writes what changed for the business, in the logic, and on screen. The scripts use the project's own Playwright, add no dependency, and write one <code>report.html</code> with no scripts to send to anyone. The dashboard draws the same report in Documents from <code>reports/fe-change/&lt;slug&gt;/report.json</code>, with a full-screen view; it is drawn from data, so the WebUI still renders no model markup.</p>
111
- </section>
112
-
113
- <section class="section">
114
- <p class="section-kicker">v1.40.0 · 2026-10-24</p>
115
- <h2 id="v1-40-0">Local projects are reported to Studio too</h2>
116
- <p class="section-lead">A folder without a readable remote is now reported to Studio as a local project (Agent Studio 0.40.0, <code>managed.workspace.v2</code>): a git checkout by its root commit (<code>local/git/…</code>, the same on every computer with that history, clones included), any other folder by a hash of the computer's name and path (<code>local/dir/…</code>), with the folder's name; a path never leaves the computer. Every agent run reports, so Studio knows which computers never do. The member reads one line for every kind of warning: another team's project, one outside the list, one not registered to the team, or a folder that could not be read. Nothing is blocked.</p>
117
- </section>
118
-
119
- <section class="section">
120
- <p class="section-kicker">v1.39.0 · 2026-10-23</p>
121
- <h2 id="v1-39-0">Warnings when a key works in the wrong project</h2>
122
- <p class="section-lead">Company conversations tell Studio which repositories they work in (as <code>host/path</code>, like team memory; never a local path). Administrators see in Logs → "Sai project" when a team's key is used on another team's repository or one outside the team's list (Agent Studio 0.39.0, Team → Repository); the member reads one line, nothing is blocked, and memory works as before. The dashboard keeps its language and colour theme across restarts.</p>
123
- </section>
124
-
125
- <section class="section">
126
- <p class="section-kicker">v1.38.2 · 2026-10-23</p>
127
- <h2 id="v1-38-2">A folder tree as in VS Code, and colour themes</h2>
128
- <p class="section-lead">The Files panel is a folder tree: folders open in place and the open file is highlighted. Pick a colour theme in Settings → Appearance or the command palette (⌘K): Dracula, One Dark, Monokai, Nord, Tokyo Night, Catppuccin, Gruvbox, Solarized, GitHub; a theme colours the interface, the editor's syntax and the terminal. The editor and terminal stay in view while a long conversation scrolls, with a splitter for their width; on phones the Files/Terminal switches stay visible.</p>
129
- </section>
130
-
131
- <section class="section">
132
- <p class="section-kicker">v1.38.1 · 2026-10-23</p>
133
- <h2 id="v1-38-1">The dashboard becomes an editor, and Bypass asks nothing</h2>
134
- <p class="section-lead">Open, edit, save, rename and delete files in the dashboard (Cmd/Ctrl+P, search, a conflict prompt when the file changed on disk); project terminals (company conversations too, inside the sandbox, now on macOS); review each hunk the agent changed inline with Keep and Revert; Timeline restores to before a turn, with personal and company checkpoints shared with <code>/undo</code>. Square, IDE-like edges, and closable file and terminal tabs. <strong>Bypass</strong> as in Codex: nothing is asked or blocked, output is still redacted and <code>/undo</code> still works. Company conversations get three levels, Ask first, Full access (the old Bypass) and Bypass, when the Harness allows it (Agent Studio 0.38.0, Agent Watch 0.15.14 / Windows 0.1.17); a Studio admin can turn it off.</p>
135
- </section>
136
-
137
- <section class="section">
138
- <p class="section-kicker">Unreleased</p>
139
- <h2 id="unreleased-workspace">Edit project files beside chat</h2>
140
- <p class="section-lead">Session Hub now saves edits with Cmd/Ctrl+S, marks unsaved tabs and creates files. When a file changes on disk, reload, compare or confirm an overwrite. Current write permissions and protected paths are enforced in personal and company mode; company writes stay inside the existing sandbox. The agent must reread a stale file after member edits.</p>
141
- <p>Review observed agent changes directly in the editor: Keep, preview-confirmed Revert, hunk counts and line comments to chat. Clean files reload after agent edits; unsaved drafts remain intact. Newly created agent files support review; deletion through hunk revert is not yet supported.</p>
142
- <p>Personal conversations now offer terminal tabs below the editor, with resize, Ctrl+C and replay after reload. Send @terminal or @terminal:2 to attach bounded redacted output. Missing native PTY support is reported without disabling the dashboard; company shells never fall back to host execution.</p>
143
- <p>Company conversations now offer terminals inside the Linux/WSL sandbox through their Gateway, with network blocked, credentials masked and child processes stopped when the conversation is released. Relay reconnects restore output without resending commands. macOS reports unavailable without opening a host shell. The full workflow is verified on Linux arm64; native Linux x64 and WSL still need independent verification.</p>
144
- <p>Timeline checkpoints preview affected files before restoring one or several turns. Member-edit conflicts stop restoration; commits and staged changes stay intact. Personal conversations also support /undo. A lost browser response keeps the same request across reloads for an explicit result check.</p>
145
- <p>Company inline review now retains exact agent hunks across internal diff refreshes.</p>
146
- </section>
147
-
148
- <section class="section">
149
- <p class="section-kicker">v1.37.1 · 2026-10-22</p>
150
- <h2 id="v1-37-1">Closes Studio can trust</h2>
151
- <p class="section-lead">When closing a run failed for a moment, the close asked again could "succeed" without reaching Studio, and Piagent recorded the run closed. With Agent Watch 0.15.11 (Windows 0.1.16) the close asked again reaches Studio; with an older Agent Watch the run stays open here and is recovered when the conversation reopens. A helper whose close fails for a moment keeps its answer, and its report to Studio is sent again. Team memory no longer merges two different commands that failed the same way into one lesson. Security: <code>web_fetch</code> and the package proxy refuse private addresses written in any IPv6 form, and with a company upstream proxy the package proxy still checks where it connects.</p>
152
- </section>
153
-
154
- <section class="section">
155
- <p class="section-kicker">v1.37.0 · 2026-10-22</p>
156
- <h2 id="v1-37-0">An answer cut mid-stream no longer stops a long task</h2>
157
- <p class="section-lead">When the way from Studio to the model is cut while an answer is streaming, Studio says "Request interrupted"; Piagent used to take it as "the request could not be sent" and stopped the whole task. Now it asks again and goes on by itself. New <code>piagent studio --rpc</code> lets a script drive a company conversation over Pi's RPC protocol (several messages, answering the agent's questions).</p>
158
- </section>
159
-
160
- <section class="section">
161
- <p class="section-kicker">v1.36.1 · 2026-10-22</p>
162
- <h2 id="v1-36-1">A moment when Agent Watch cannot reach Studio no longer stops a task</h2>
163
- <p class="section-lead">When Agent Watch on your machine cannot reach Studio while Studio is running (a passing network or gateway error), Piagent asks again, waiting longer each time, for up to 3 minutes, and goes on; before, one such failure stopped the whole task. Closing the run at the end of a round is asked again too. Each wait is written to the log on the machine and reported to Studio.</p>
164
- </section>
165
-
166
- <section class="section">
167
- <p class="section-kicker">v1.36.0 · 2026-10-21</p>
168
- <h2 id="v1-36-0">Team memory learns from what went wrong</h2>
169
- <p class="section-lead">What memory handed a round (briefs, <code>memory_search</code> answers) goes back to Studio with that round, so Studio rates it by the member's next words and stops handing over notes members said were wrong (needs Agent Studio 0.37.0). A command that fails the same way twice in a round becomes a lesson; repository memory skips tasks that add nothing new; skills that keep ending rounds badly are proposed for review in <code>.pi/piagent-state/skill-proposals</code>, and Piagent never edits a skill itself.</p>
170
- </section>
171
-
172
- <section class="section">
173
- <p class="section-kicker">v1.35.1 · 2026-10-21</p>
174
- <h2 id="v1-35-1">A passing model provider error no longer stops a long task</h2>
175
- <p class="section-lead">When the model's server (GPT, Claude) reports an error in the middle of an answer, Piagent asks again a few seconds later; if the whole round is cut, the next one starts by itself after a pause (at most 8 times, about 23 minutes per message of yours), the agent is told why and goes on from where it was. Each ask again is written to the log on the machine.</p>
176
- </section>
177
-
178
- <section class="section">
179
- <p class="section-kicker">v1.35.0 · 2026-10-21</p>
180
- <h2 id="v1-35-0">Long tasks survive a Studio update</h2>
181
- <p class="section-lead">Leave a task running overnight and let Studio update or restart: Piagent no longer fails and stops, it waits for Studio to answer again and goes on by itself, for as long as it takes (Stop still stops it). Each wait is logged on the machine and reported to Studio (Logs → Mất kết nối) with its cause: a Studio update, a restart, or the machine's network. One dashboard turn can now run up to 24 hours. Needs Studio 0.36.0.</p>
182
- </section>
183
-
184
- <section class="section">
185
- <p class="section-kicker">v1.34.3 · 2026-10-20</p>
186
- <h2 id="v1-34-3">Agent Watch notifies for company conversations</h2>
187
- <p class="section-lead">Company conversations wrote their state where Agent Watch does not look, so it never told you when one waited for you or was done. The state now goes to the folder Agent Watch reads.</p>
188
- </section>
189
-
190
- <section class="section">
191
- <p class="section-kicker">v1.34.2 · 2026-10-20</p>
192
- <h2 id="v1-34-2">Helper outcomes reach Studio</h2>
193
- <p class="section-lead">In 1.34.1 a subagent's outcome was refused by Studio because it was sent with an expired token, so Logs → Lượt agent showed nothing for it. The outcome is now sent with the subagent's current token and recorded.</p>
194
- </section>
195
-
196
- <section class="section">
197
- <p class="section-kicker">v1.34.1 · 2026-10-20</p>
198
- <h2 id="v1-34-1">Helpers report how their work ended, Agent Watch tells you when you are needed</h2>
199
- <p class="section-lead">Every subagent run reports how it ended: done, failed, stopped or unverifiable (for example a verify with no verdicts), and Studio shows it in Logs → Lượt agent. When it hands work to a subagent, the agent can state the target, the change, the constraints, what the subagent may touch and the evidence it needs. Agent Watch (macOS 0.15.9, Windows 0.1.15) tells you when a conversation waits for your approval or your answer, or when the agent is done; the state file holds only the conversation's title and project name. In Source Changes you can comment any line of the diff and send all comments to the agent as one message with each file and line; the review subagent's findings show under the line they are about. Piagent asks Studio what it serves before using a newer feature (Agent Studio 0.34).</p>
200
- </section>
201
-
202
- <section class="section">
203
- <p class="section-kicker">v1.33.0 · 2026-10-20</p>
204
- <h2 id="v1-33-0">Runs on Pi 1.3.0</h2>
205
- <p class="section-lead">Piagent moves from Pi 0.87.1 to Pi 1.3.0. A tool call with malformed JSON arguments is refused and shown to the model instead of running with the fields read before the error; passing gateway errors are retried; a reopened conversation keeps its active tools; the Terminal reports its state (working, waiting for you, done, error) to terminals that support OSC 7501. Your personal <code>pi</code> is 1.3.0 too. After the update, a running Agent Watch writes the new binding by itself. GPT-6.1 Sol keeps its 272k window in company conversations, so its cost does not change.</p>
206
- </section>
207
-
208
- <section class="section">
209
- <p class="section-kicker">v1.32.1 · 2026-10-19</p>
210
- <h2 id="v1-32-1">Bypass is kept after a reload, and a tab in use stays signed in</h2>
211
- <p class="section-lead">Turning on Bypass right after the agent answered was sometimes refused by the Gateway because the conversation had just changed, so a reload still showed “Ask first”; the change is now sent again against the latest state. Opening another conversation that is also in Bypass no longer shows “Ask first” by mistake. The browser sign-in no longer ends exactly 8 hours after launch while the tab is in use (a long or hung turn no longer lands on the expired screen); only a tab unused for 8 hours has to be opened again, and at most 7 days.</p>
212
- </section>
213
-
214
- <section class="section">
215
- <p class="section-kicker">v1.32.0 · 2026-10-19</p>
216
- <h2 id="v1-32-0">A failed or stopped answer ends at Studio too</h2>
217
- <p class="section-lead">When an answer fails mid-stream or the member presses Stop, Piagent tells Studio to end that request, so the conversation's account is free for the next one. Before, behind Cloudflare, Studio might never learn the connection dropped and kept streaming for up to 10 minutes, and retries were refused as “account busy”. Needs Agent Studio 0.32.0.</p>
218
- </section>
219
-
220
- <section class="section">
221
- <p class="section-kicker">v1.31.1 · 2026-10-19</p>
222
- <h2 id="v1-31-1">memory_ask right after an update</h2>
223
- <p class="section-lead">The first company conversation after Studio moved to 0.30.0 had no <span class="inline-code">memory_ask</span>. The tool is now there whenever the conversation has team memory; on an older Studio it says to use <span class="inline-code">memory_search</span>.</p>
224
- </section>
225
-
226
- <section class="section">
227
- <p class="section-kicker">v1.31.0 · 2026-10-19</p>
228
- <h2 id="v1-31-0">Team memory follows the work</h2>
229
- <p class="section-lead">With Agent Studio 0.30.0: the brief starts with the team's rules; memories of the current branch and folders come first; an agent's “fixed” is a claim until a check passes (verified). New tool <span class="inline-code">memory_ask</span> answers a question from team memory with its sources. Folders with several repositories, repositories without an <span class="inline-code">origin</span> remote and git's “dubious ownership” on WSL no longer turn memory off silently.</p>
230
- </section>
231
-
232
- <section class="section">
233
- <p class="section-kicker">v1.30.1 · 2026-10-18</p>
234
- <h2 id="v1-30-1">No model names in the company Terminal; the home folder gives the real reason</h2>
235
- <p class="section-lead">The company Terminal's header, footer and /model and /thinking answers show roles and effort only (<span class="inline-code">Main agent (Rất cao) · Subagent review bật</span>), never the Harness's model names. Pi's crash notice no longer points at /bug, which is off in company conversations.</p>
236
- <p class="section-lead">Running <span class="inline-code">piagent studio</span> in the home folder (<span class="inline-code">~</span>) used to fail with <span class="inline-code">managed-launch-binding-changed</span> (“Agent Watch or Piagent changed”) although nothing had changed. The company Piagent does not open a folder that holds the company configuration, so it now says so and how to open it: go to a project folder and run it again, or <span class="inline-code">piagent studio --project ~/your-project</span>.</p>
237
- </section>
238
-
239
- <section class="section">
240
- <p class="section-kicker">v1.30.0 · 2026-10-18</p>
241
- <h2 id="v1-30-0">Large contexts over slow links; the company Terminal reads like the dashboard</h2>
242
- <p class="section-lead">Long conversations (contexts up to about 1 MB) go to Studio gzip-compressed when Studio supports it (Agent Studio 0.28.2), about 3x smaller; with Studio 0.28.2 a slow upload that keeps sending is no longer cut at 15 seconds. The company Terminal adds a turn summary (requests, tokens, time, speed), shows running subagents and the git branch in the footer, keeps memory results short, reads “Đang làm…”, runs /bypass and /fast on one Enter and says it is joining Agent Watch at launch.</p>
243
- </section>
244
-
245
- <section class="section">
246
- <p class="section-kicker">v1.29.0 · 2026-10-18</p>
247
- <h2 id="v1-29-0">The company Terminal gets its own look; Stop no longer breaks the conversation</h2>
248
- <p class="section-lead">The company Terminal (<span class="inline-code">piagent studio</span>) has its own header: team, Harness model and effort, permission, Fast, memory. The footer shows the real effort and no USD cost, the plan is a checklist, and while it waits for your answer it says so. <span class="inline-code">/share</span> and <span class="inline-code">/bug</span> are refused because they send company conversations outside; <span class="inline-code">/login</span>, <span class="inline-code">/model</span>, <span class="inline-code">/thinking</span>… say the team’s Harness decides. Stopping a turn while a command runs no longer breaks the next one (with Agent Studio 0.28.1, Agent Watch 0.15.7).</p>
249
- </section>
250
-
251
- <section class="section">
252
- <p class="section-kicker">v1.28.3 · 2026-10-18</p>
253
- <h2 id="v1-28-3">Agent Watch updating itself no longer interrupts the company Terminal</h2>
254
- <p class="section-lead">Right after Agent Watch updates itself, <span class="inline-code">piagent studio</span> and the dashboard wait for Watch to write the configuration again (as after a Piagent update) instead of failing with <span class="inline-code">managed-launch-binding-changed</span> for about a minute; every hash is still checked before anything runs.</p>
255
- </section>
256
-
257
- <section class="section">
258
- <p class="section-kicker">v1.28.2 · 2026-10-18</p>
259
- <h2 id="v1-28-2">No more “binding changed” right after an update</h2>
260
- <p class="section-lead">Right after a Piagent update, <span class="inline-code">piagent studio</span> no longer fails with <span class="inline-code">managed-launch-binding-changed</span> while Agent Watch has not rewritten its configuration: it waits up to 90 seconds (“Agent Watch đang cập nhật cấu hình…”, or says Agent Watch is not running), checks every hash again, then runs. Members no longer import the configuration again by hand.</p>
261
- </section>
262
-
263
- <section class="section">
264
- <p class="section-kicker">v1.28.1 · 2026-10-18</p>
265
- <h2 id="v1-28-1">The company Terminal and personal Pi stop stepping on each other</h2>
266
- <p class="section-lead">Personal Pi no longer fails to start when Piagent is loaded twice (an extension pointing into another Piagent copy): <span class="inline-code">piagent-update</span> and the installer remove it (with a backup) and <span class="inline-code">piagent-doctor</span> reports it. Old Agent Watch company entries in personal Pi (<span class="inline-code">agent_watch_*</span> providers, a default model naming them) are cleaned up once the machine has a company binding. Personal Pi no longer continues a company conversation and says to open it with <span class="inline-code">piagent studio</span>; the company Terminal says how to reopen it, answers <span class="inline-code">/help</span> itself (no model request) and stops fully when stopped from outside.</p>
267
- </section>
268
-
269
- <section class="section">
270
- <p class="section-kicker">v1.28.0 · 2026-10-17</p>
271
- <h2 id="v1-28-0">Team memory v2: each round once, a fresh brief after compaction</h2>
272
- <p class="section-lead">With Agent Studio 0.28.0, each company round has its own ID and is written to an outbox before it is sent, so a lost acknowledgement, a crash or two sessions at once never extract it twice. After compaction the agent gets a fresh brief for the latest request. A round carries up to three observed “check failed → change → passed” recoveries (no guessed cause). An empty brief is not asked again every round, a round closes within 4.5 seconds when the engine does not answer, and on Studio 0.27.x memory still grows.</p>
273
- </section>
274
-
275
- <section class="section">
276
- <p class="section-kicker">v1.27.1 · 2026-10-17</p>
277
- <h2 id="v1-27-1">Team memory keeps working while the agent calls the model</h2>
278
- <p class="section-lead">A model request renews its run token and voids the one before, so the commits sent right after the brief, and a <span class="inline-code">memory_search</span> beside a request, were refused by Studio (401): the repository’s commits never reached memory. A memory call refused this way now renews the token (shared with that role’s requests, as web search does) and asks once more. Needs Agent Studio 0.27.1 (0.27.0 was withdrawn).</p>
279
- </section>
280
-
281
- <section class="section">
282
- <p class="section-kicker">v1.27.0 · 2026-10-17</p>
283
- <h2 id="v1-27-0">Team memory: company agents remember what the team settled in each repository</h2>
284
- <p class="section-lead">With team memory turned on in Agent Studio 0.27.0, a new company conversation opens with a short brief from the team's memory of the repository (decisions, rules, work in progress from earlier conversations and commits). Every round is kept for the team (secrets redacted); the agent and its helpers search it with <span class="inline-code">memory_search</span>. A memory outage or a team without memory never fails or slows a turn.</p>
285
- </section>
286
-
287
- <section class="section">
288
- <p class="section-kicker">v1.26.1 · 2026-10-16</p>
289
- <h2 id="v1-26-1">A conversation is renamed while its turn runs</h2>
290
- <p class="section-lead">Renaming a conversation from its menu while a turn ran (a company conversation in particular) showed <span class="inline-code">session-revision-stale</span> and kept the old name. The new name now lands mid-turn; when a rename, fork or archive still fails, the dialog says why in words.</p>
291
- </section>
292
-
293
- <section class="section">
294
- <p class="section-kicker">v1.26.0 · 2026-10-15</p>
295
- <h2 id="v1-26-0">Dashboard / commands and shortcuts, /undo, dev servers across turns</h2>
296
- <p class="section-lead">Company conversations work the way you work in an editor. Type <span class="inline-code">/</span> in the dashboard for the Terminal's commands (<span class="inline-code">/name</span>, <span class="inline-code">/fork</span>, <span class="inline-code">/thinking</span>, <span class="inline-code">/bypass</span>, <span class="inline-code">/undo</span>, <span class="inline-code">/help</span>…); they run in the dashboard and are never sent to the model. Shortcuts: ⌘⇧O new chat, ⌘/ the commands, Esc stops the turn. <span class="inline-code">/undo</span> puts back the files the agent's last turn changed, one turn at a time, and never overwrites a file you changed since. The agent keeps a dev server up across turns (<span class="inline-code">start_process</span>), sees the TypeScript errors of the file it just changed, and <span class="inline-code">piagent studio --prompt … --json</span> writes the <span class="inline-code">pi --mode json</span> stream.</p>
297
- </section>
298
-
299
- <section class="section">
300
- <p class="section-kicker">v1.25.0 · 2026-10-13</p>
301
- <h2 id="v1-25-0">When the machine lacks something, the agent asks, and an approved command runs</h2>
302
- <p class="section-lead">A company conversation no longer stops at “Java or Docker is missing here”. A missing runtime (a JDK, the Node version the project needs), your sign-in (git pull/push, a private registry) or a file outside the project: the agent requests <strong>run_on_host</strong>, one command that runs on your machine, outside the sandbox, once you approve it (Bypass asks too). Docker installed but not running: the agent requests <strong>start_docker</strong>, waits for the engine and carries on in the same conversation. What only you can do (a sudo password, an installer, a sign-in) comes as a question with the steps and “Done, continue / Skip”. <code>fetch_origin</code> fetches a repository inside a folder of several repositories, and a turn that only read through <code>git -C</code> is no longer counted as a code change.</p>
303
- </section>
304
-
305
- <section class="section">
306
- <p class="section-kicker">v1.24.0 · 2026-10-13</p>
307
- <h2 id="v1-24-0">Choose Fast when a company conversation starts</h2>
308
- <p class="section-lead">Where the team's Harness allows fast mode, the new chat page shows <strong>Fast: off / Fast: on</strong> next to the company model. Turned on before sending, the conversation runs on Fast from its first message: the main agent answers faster on GPT (Codex) models, its tokens count 2.5 times toward the quota, and the model and thinking level are unchanged. The Fast switch in a conversation's header turns amber while on.</p>
309
- </section>
310
-
311
- <section class="section">
312
- <p class="section-kicker">v1.23.1 · 2026-10-13</p>
313
- <h2 id="v1-23-1">An agent's question waits at the end of the conversation</h2>
314
- <p class="section-lead">Questions and approval requests used to show above the running turn, so a long turn pushed them out of view: opening a conversation that waited on you showed its activity. They now come last in the conversation, right above the composer, and the page goes to them when one comes up or when you open a conversation that is waiting.</p>
315
- <p class="section-lead">The question card reads more easily: larger question and option text, roomier options, the chosen option's number filled in. In the light theme “Let the agent decide” is an outline button instead of a black one that outweighed “Send answer”.</p>
316
- </section>
317
-
318
- <section class="section">
319
- <p class="section-kicker">v1.23.0 · 2026-10-13</p>
320
- <h2 id="v1-23-0">Fast mode for company conversations, failed tools reported to Studio</h2>
321
- <p class="section-lead">Where the team's Harness in Agent Studio allows it, the dashboard shows a Fast switch in the conversation's header and the Terminal has <span class="inline-code">/fast on|off|status</span>. Every new conversation starts with it off. While on, the main agent's calls on a GPT (Codex) model ask for the priority tier: the same model and thinking level, answered faster, with Studio counting that call's tokens 2.5 times toward the key's quota. Subagents run as usual. On a Claude model or an API-key vendor model nothing is added and the turn runs at standard speed. If Studio or the provider refuses, the call is asked again once at standard speed and the conversation goes back to standard speed with a note. Needs Studio 0.26.0 and an Agent Watch that carries the Harness's <span class="inline-code">fast_mode</span>.</p>
322
- <p class="section-lead">A tool that fails in a company run (Docker, a network command, a test…) is reported to Agent Studio (Logs → “Tool lỗi”) so an administrator can read why: the tool, a code, the command or path, the start and end of the error output, the OS and whether the machine has a Docker engine. Secrets are redacted and the home folder is written <span class="inline-code">~</span> before sending; no prompt, search query or subagent brief is sent, and a tool you stopped or declined is not reported.</p>
323
- <p class="section-lead">Fix: after an administrator changed the Harness (for example the main agent from thinking level high to a fixed max), a new company conversation from the dashboard never sent its first message and showed “Pi received the request and the session is resyncing”. A new conversation now starts at the level its Harness allows.</p>
324
- </section>
325
-
326
- <section class="section">
327
- <p class="section-kicker">v1.22.1 · 2026-10-12</p>
328
- <h2 id="v1-22-1">The dashboard no longer keeps loading when a project is on a slow drive</h2>
329
- <p class="section-lead">Fix on Windows: the dashboard opened and kept showing “Opening Piagent…”. The project was on a Windows drive seen from WSL (<span class="inline-code">/mnt/d/…</span>), where Git walks the tree very slowly. The company runtime ran that scan without a limit and answered nobody meanwhile, and the dashboard waited for it, also without a limit. The dashboard now gives the company runtime 15 seconds per read; past that it still opens with your own conversations, says “The company runtime is running but does not answer” with what to do, and asks again a minute later.</p>
330
- <p class="section-lead">A conversation's page gives Git 8 seconds per repository to list the changed files. A repository that takes longer shows no changed files yet and is tried again 5 minutes later. On Windows, keep projects in the Ubuntu file system (<span class="inline-code">~/projects</span>): a project under <span class="inline-code">/mnt/c</span> or <span class="inline-code">/mnt/d</span> works but is slow.</p>
331
- </section>
332
-
333
- <section class="section">
334
- <p class="section-kicker">v1.22.0 · 2026-10-09</p>
335
- <h2 id="v1-22-0">Attach any source or text file, as other coding agents allow</h2>
336
- <p class="section-lead">You can now attach <span class="inline-code">.html</span>, <span class="inline-code">.css</span>, <span class="inline-code">.js</span>/<span class="inline-code">.ts</span>/<span class="inline-code">.tsx</span>, <span class="inline-code">.py</span>, <span class="inline-code">.go</span>, <span class="inline-code">.java</span>, <span class="inline-code">.sql</span>, <span class="inline-code">.xml</span>, <span class="inline-code">.svg</span>, <span class="inline-code">.toml</span> and any other extension, and files without one such as <span class="inline-code">Dockerfile</span> or <span class="inline-code">Makefile</span>. A file goes under its own name, so the agent knows it is HTML or Python; Piagent still checks its bytes are text. Binary files are refused at once with what to send instead: spreadsheets as .csv, slide decks as .pdf, archives, media and fonts kept in the project for the agent's tools.</p>
337
- <p class="section-lead">Fix: a message with an attachment no longer shows twice (once with the file's raw contents) after its turn ends; only what you typed and the file card remain.</p>
338
- </section>
339
-
340
- <section class="section">
341
- <p class="section-kicker">v1.21.1 · 2026-10-09</p>
342
- <h2 id="v1-21-1">Bypass can be turned on while a turn runs, and it stays on</h2>
343
- <p class="section-lead">Fix: turning on Bypass while a command waited for your approval did not take. The Gateway refused to change access while a turn ran and the error showed in a panel that had just closed, so it looked on but a reload showed “Ask first”. A company conversation now switches between Ask first and Bypass at any time, also mid-turn; access is read at each command, so the next commands follow the new choice. A command already waiting keeps its card (Allow or Deny). The result of a switch shows in a notice at the top.</p>
344
- </section>
345
-
346
- <section class="section">
347
- <p class="section-kicker">v1.21.0 · 2026-10-09</p>
348
- <h2 id="v1-21-0">Decisions come one at a time, and you see at once which conversation finished or waits for you</h2>
349
- <p class="section-lead">The agent's questions and approval requests no longer stack down the page: one card shows at a time, with steps above it (“Needs your decision · 1/3”) that say who asks (the main agent or which subagent), what kind (Ask / Approve) and let you jump to another. The main agent's come first, since your answer shapes its subagents' work; then subagents in work order (scout, research, verify, review); within one agent, what was asked first. Answering one brings up the next.</p>
350
- <p class="section-lead">Several conversations at once: a notification at the top right says when another conversation finishes a turn, fails, stops, or starts waiting for your answer or approval; “Open” takes you there. “Done” fades after a few seconds; a waiting decision stays until you answer or open it. In the sidebar, a conversation waiting for you glows amber and reads “Needs your answer” or “Needs approval”, one that finished while you were elsewhere reads “Done · not seen” until you open it, and both move to the top of “Running · needs attention”. The tab title counts what waits, e.g. “(2) Piagent”.</p>
351
- <p class="section-lead">Studio logs each compaction of a company conversation: why, the size before and after, and the outcome, in Logs → Lượt agent (needs Agent Studio 0.25.0).</p>
352
- </section>
353
-
354
- <section class="section">
355
- <p class="section-kicker">v1.20.0 · 2026-10-09</p>
356
- <h2 id="v1-20-0">Package installs in the company sandbox no longer ask</h2>
357
- <p class="section-lead">Plain bash commands reach the usual registries: npm, PyPI, the Go proxy, crates.io, Maven Central, Gradle, NuGet, RubyGems, Packagist, pub.dev, CocoaPods and Hex, plus public GitHub downloads (such as the Gradle distribution <span class="inline-code">./gradlew</span> needs). So <span class="inline-code">npm install</span>, <span class="inline-code">pip install</span>, <span class="inline-code">go mod download</span>, <span class="inline-code">./mvnw test</span> and <span class="inline-code">./gradlew test</span> run without waiting for your approval. Piagent goes through a proxy that runs outside the sandbox: only those hosts, on ports 443 and 80, never an IP address, your machine or a private network. Any other host is refused, the error names it, and a command that needs it still goes through <span class="inline-code">run_with_network</span> for your approval. To add your company's registry, write its host name (or <span class="inline-code">*.domain</span>) in <span class="inline-code">~/.piagent/sandbox-domains</span>, one per line. Registry and git credentials still stay out of the sandbox, so nothing is pushed or published.</p>
358
- <p class="section-lead">In Bypass, <span class="inline-code">run_with_docker</span> runs without asking, like <span class="inline-code">run_with_network</span>; only pushes, deploys, registry logins and deletes with an unknown target still ask.</p>
359
- <p class="section-lead">Fixed: a subagent that works longer than 15 minutes (such as a verify running the whole test suite while the main agent waits) is no longer stopped with <span class="inline-code">managed-helper-cancelled</span>. Asked to review work committed in earlier turns, the review subagent no longer says “no patch”. It reads the commits since the commit, branch or <span class="inline-code">HEAD~N</span> the agent names; when the current turn changed nothing, it reads the branch’s commits since it left the main branch.</p>
360
- </section>
361
-
362
- <section class="section">
363
- <p class="section-kicker">v1.19.0 · 2026-10-08</p>
364
- <h2 id="v1-19-0">Tasks with a checklist are carried to the end, and each turn says whether it finished</h2>
365
- <p class="section-lead">In a company conversation, when the main agent stops while its checklist still has open steps (say, after STEP06 of the STEP22 you asked for) and the team's Harness requires a plan, the harness sends it on to the next open step, as if you had sent “continue”. It stops when the checklist is done, when you press Stop or write, when a round fails, or after 2 rounds in a row that finish no step. Every turn ends with one line: Done, Stopped midway with x of y steps open (and why), Turn stopped by a failure, or You stopped this turn, with Continue when the task is not finished; the conversation list shows it too. Steps you leave for later are marked deferred, never completed; “continue” takes up the open checklist. A turn whose change the agent committed is still checked and reviewed.</p>
366
- <p class="section-lead">Docker in the company sandbox: when Docker runs on the machine (Docker Desktop, Colima, OrbStack…), the agent has <span class="inline-code">run_with_docker</span> to run one command you approve with internet and Docker, such as a test database with <span class="inline-code">docker compose up -d</span>, <span class="inline-code">docker build</span> or Testcontainers tests. Docker gets no registry credentials; Bypass still asks when a command or compose file mounts a folder outside the project. <span class="inline-code">./gradlew</span> and <span class="inline-code">./mvnw</span> reuse the Gradle and Maven already on the machine, without asking for network. A folder that holds several repositories (front end, back end…, each its own Git) shows “N repo”: click it to see each repository, its branch and changed files, and switch branches there; a full folder list makes room instead of failing to add a folder.</p>
367
- </section>
368
-
369
- <section class="section">
370
- <p class="section-kicker">v1.18.0 · 2026-10-08</p>
371
- <h2 id="v1-18-0">Switch the Git branch from the dashboard, retries for passing failures, Claude Haiku 5.5</h2>
372
- <p class="section-lead">Click the branch under the chat title or in the status bar to choose another branch or create one. The dashboard does not switch while a conversation in the folder runs, and shows Git's reason when it refuses (for example, uncommitted changes it would overwrite). When a model's answer fails for a passing reason (a cut stream, a model or Studio gateway that does not answer), Piagent asks again up to twice before showing the failure; quota, key and policy failures still show at once. Claude Haiku 5.5, Anthropic's fastest model, can be chosen in company and personal sessions.</p>
373
- </section>
374
-
375
- <section class="section">
376
- <p class="section-kicker">v1.17.0 · 2026-10-08</p>
377
- <h2 id="v1-17-0">The dashboard shows each project's Git branch</h2>
378
- <p class="section-lead">Under the chat title, in the status bar and beside each project group in the sidebar, the dashboard shows the Git branch the project is on, worktrees included. A detached HEAD shows its short commit in the warning colour. A branch switched in a Terminal shows when you come back to the tab.</p>
379
- </section>
380
-
381
- <section class="section">
382
- <p class="section-kicker">v1.16.3 · 2026-10-08</p>
383
- <h2 id="v1-16-3">An updated dashboard keeps checking for releases</h2>
384
- <p class="section-lead">Updating from the dashboard's button restarted it with update checks switched off, so it showed no next release until the machine restarted. Fixed, including when updating to 1.16.3 from an earlier release.</p>
385
- </section>
386
-
387
- <section class="section">
388
- <p class="section-kicker">v1.16.2 · 2026-10-08</p>
389
- <h2 id="v1-16-2">The Terminal says what the dashboard says</h2>
390
- <p class="section-lead">When a new Piagent is out, the Terminal (<span class="inline-code">pi</span> and <span class="inline-code">piagent studio</span>) asks <strong>Update now</strong> or <strong>Later</strong> (asked again after an hour), only between turns, with a footer line; <span class="inline-code">/piagent-update</span> checks at once.</p>
391
- <ul>
392
- <li><span class="inline-code">/bypass</span> in <span class="inline-code">piagent studio</span> switches Bypass for the conversation, like the dashboard's switch; the footer shows "Bypass" while it is on.</li>
393
- <li>A network command is confirmed with its reason, why Bypass still asks, and what allowing or declining does.</li>
394
- <li>Failed requests, a company runtime that cannot start and the Harness's notes (checks, review, a subagent's objection, "your call") read in Vietnamese as on the dashboard.</li>
395
- <li>With Agent Watch 0.15.2: when a Watch update needs Keychain access again, Watch asks in a dialog and refreshes Piagent's setup at once.</li>
396
- </ul>
397
- <p>This release changes the company launcher: Agent Watch refreshes the setup on its next sync (minutes). If <span class="inline-code">piagent studio</span> says the setup changed, open Agent Watch → Studio and import it for Piagent.</p>
398
- </section>
399
-
400
- <section class="section">
401
- <p class="section-kicker">v1.16.1 · 2026-10-07</p>
402
- <h2 id="v1-16-1">New releases are announced, checked every hour</h2>
403
- <p class="section-lead">When a new Piagent is out, the dashboard opens a dialog with what will change and <strong>Update now</strong>; <strong>Later</strong> asks again after an hour. After the update, the restarted dashboard says it worked. The dashboard and the Terminal check for a new release every hour.</p>
404
- <ul>
405
- <li>A dashboard tab no longer loses its sign-in when another Piagent server on the machine (the company runtime, another launch) signs in.</li>
406
- <li>A tab whose sign-in is gone (Piagent restarted, older than 8 hours) no longer retries with 401 errors; it says how to open Piagent again: <span class="inline-code">piagent dashboard</span> or Agent Watch.</li>
407
- </ul>
408
- <p>Updating from 1.16.0 needs no re-import in Agent Watch.</p>
409
- </section>
410
-
411
- <section class="section">
412
- <p class="section-kicker">v1.16.0 · 2026-10-07</p>
413
- <h2 id="v1-16-0">Bypass for company conversations</h2>
414
- <p class="section-lead">Choose <strong>Bypass</strong> in the new-chat options or the conversation header ("Ask first" stays the default). Commands that need the internet (package installs, downloads, git pull, tests with a server or browser) run without asking. You are still asked before anything that pushes or sends data out (git push, publish, deploy, uploads, ssh), database migrations, deletes with an unknown target, and sudo.</p>
415
- <ul>
416
- <li>A helper the company Harness adds while you work is available from your next message, without a new conversation. With Studio 0.20.1 a running turn is not stopped when the Harness is saved.</li>
417
- <li>Personal sessions with full access no longer ask before a broad <span class="inline-code">git add</span>; deletes, migrations and external actions are still asked.</li>
418
- </ul>
419
- <p>Updating from 1.15.x needs no re-import in Agent Watch.</p>
420
- </section>
421
-
422
- <section class="section">
423
- <p class="section-kicker">v1.15.2 · 2026-10-07</p>
424
- <h2 id="v1-15-2">Long company conversations shrink again, earlier</h2>
425
- <p class="section-lead">A long company conversation's summary carried the provider's placeholder key instead of the run's grant, so Studio refused it (401 <span class="inline-code">authentication_required</span>, "Chưa chọn tài khoản" / "CLI trực tiếp" in the request monitor) before every step and the conversation kept growing. Summaries now use the run's grant, and Studio logs them as <span class="inline-code">summary</span>.</p>
426
- <ul>
427
- <li>A conversation is summarised at 90% of the model's window and never later than 300k tokens: 244.8k on a 272k GPT window (prices double above 272k), 300k on a 1M-token window instead of about 984k. About the last 20k tokens stay word for word.</li>
428
- <li>A summary that fails is asked again after 1, 2, 4 … minutes (at most 30) instead of before every step.</li>
429
- </ul>
430
- <p>Updating from 1.15.x needs no re-import in Agent Watch.</p>
431
- </section>
432
-
433
- <section class="section">
434
- <p class="section-kicker">v1.15.1 · 2026-10-07</p>
435
- <h2 id="v1-15-1">Studio sees what each model call is for</h2>
436
- <p class="section-lead">Every company model call tells Studio what it is for: the answer to your message, a step after tools (with the tools just run), a turn the harness started, a conversation summary, a subagent's brief (with a one-line title of its job) or a web search. No other prompt text is sent. Studio 0.20.0 shows them in Logs → "Lượt agent".</p>
437
- <ul>
438
- <li>Several company conversations in one folder no longer take each other's edits for their own: checks, reviews and the plan guard look only at the files that conversation changed.</li>
439
- <li>A new company conversation whose runtime fails to open says why, and Archive or Restart work on it without restarting the dashboard.</li>
440
- <li>A blocked <span class="inline-code">mvnw</span>/<span class="inline-code">gradlew</span> download points to <span class="inline-code">run_with_network</span>; <span class="inline-code">piagent doctor</span> runs <span class="inline-code">piagent-doctor</span>.</li>
441
- </ul>
442
- <p>Updating from 1.14.x or 1.15.0 needs no re-import in Agent Watch.</p>
443
- </section>
444
-
445
- <section class="section">
446
- <p class="section-kicker">v1.15.0 · 2026-10-07</p>
447
- <h2 id="v1-15-0">A refused subagent says why</h2>
448
- <p class="section-lead">When Studio refuses a company subagent, Piagent now gives Studio's reason instead of always saying the configuration changed. For example: no company AI account serves this role's model, and an administrator has to link or enable one. Needs Agent Watch 0.15.0; with Studio 0.19.0, a subagent that had no account when the run started takes a model that serves when it is called.</p>
449
- <ul>
450
- <li>Long commands that print a lot (test suites, builds) no longer stop with <span class="inline-code">managed-tool-output-too-large</span>.</li>
451
- <li>A company command that writes to <span class="inline-code">/tmp</span> is pointed to <span class="inline-code">$TMPDIR</span> or the project.</li>
452
- <li><span class="inline-code">piagent-update</span> started from <span class="inline-code">npm exec</span> installs a lasting helper; on Windows, Pi is found in custom npm prefixes.</li>
453
- </ul>
454
- <p>Updating from 1.14.x needs no new import in Agent Watch.</p>
455
- </section>
456
-
457
- <section class="section">
458
- <p class="section-kicker">v1.14.0 · 2026-10-06</p>
459
- <h2 id="v1-14-0">Updates keep your model choices</h2>
460
- <p class="section-lead"><span class="inline-code">piagent-update</span>, the dashboard’s update and <span class="inline-code">piagent-setup</span> set Pi’s default model and model list only on a first install. From this release, every update keeps the model you chose and your list, adding only models the release offers for the first time; a model you removed is not added back. To apply Piagent’s preset again: <span class="inline-code">piagent-update -- --reset-model-scope</span>.</p>
461
- <ul>
462
- <li>On Windows (WSL2), updates no longer call WSL2 experimental: it is how Piagent runs on Windows since 1.13.0.</li>
463
- <li>Windows installs with one PowerShell command: see <a href="/en/windows">Windows</a>.</li>
464
- </ul>
465
- <p>Updating from 1.13.x needs no new import in Agent Watch.</p>
466
- </section>
467
-
468
- <section class="section">
469
- <p class="section-kicker">v1.13.1 · 2026-10-06</p>
470
- <h2 id="v1-13-1">Conversations keep their place, the agent's notes are formatted</h2>
471
- <p class="section-lead">Opening a conversation again no longer jumps to its first message: each one keeps the place it was left, and one opened for the first time or left at its end opens at its newest message and follows the answer as it streams. Text the agent writes between tool calls is formatted like the answer instead of showing raw markdown. Updating from 1.13.0 needs no new Agent Watch import.</p>
472
- </section>
473
-
474
- <section class="section">
475
- <p class="section-kicker">v1.13.0 · 2026-10-06</p>
476
- <h2 id="v1-13-0">Piagent on Windows through WSL2</h2>
477
- <p class="section-lead">Members on Windows run Piagent in WSL2 (Ubuntu), for company and personal conversations alike. Company conversations get a bubblewrap sandbox that keeps the macOS sandbox’s promises, and Agent Watch for Windows holds the company key. Setup: <a href="https://github.com/Vt-mmm/piagent/blob/main/docs/en/windows.md">Piagent on Windows</a>.</p>
478
- <ul>
479
- <li>The project, its package cache and a private temporary folder are writable; other home folders are read-only for reference; hidden home entries are not in the sandbox; credential files read as empty.</li>
480
- <li>A command without network approval reaches only the servers it starts; processes it leaves behind end with it.</li>
481
- <li>From WSL, the folder picker is Windows’ dialog and links open in the Windows browser.</li>
482
- <li>Running on Windows itself is a preview of personal mode; <code>piagent-update</code> does not run there yet.</li>
483
- </ul>
484
- <p>After updating, each member imports the Piagent configuration again in Agent Watch (macOS: Studio → Apply for Piagent; Windows: Connect Piagent in WSL).</p>
485
- </section>
486
-
487
- <section class="section">
488
- <p class="section-kicker">v1.12.1 · 2026-10-06</p>
489
- <h2 id="v1-12-1">Forked company conversations take messages</h2>
490
- <p class="section-lead">A fork of a company conversation, made to keep its context, now takes messages. Before, the fork was listed but every message to it said “The message was not sent”. Forks made with an earlier release need to be made again after updating.</p>
491
- </section>
492
-
493
- <section class="section">
494
- <p class="section-kicker">v1.12.0 · 2026-10-06</p>
495
- <h2 id="v1-12-0">@ any folder, skills from /, and tests in the company sandbox</h2>
496
- <p class="section-lead">Point the agent at exactly the file or folder to read, reuse the skills and commands you already keep, and let the agent run the project's unit and integration tests.</p>
497
- <div class="grid cols-2">
498
- <article class="card"><h3 id="at-mentions">@ files and folders</h3><p>Type <code>@</code> in the composer to pick the project's files and folders; type <code>~/</code> or <code>/</code> for any other folder on the Mac. The agent reads folders outside the project for reference, read-only; hidden home files, <code>~/Library</code> and credential files stay closed.</p></article>
499
- <article class="card"><h3 id="kept-drafts">Unsent messages are kept</h3><p>A message typed in a conversation or in the new chat is still there after opening another conversation or reloading the page, with its attached files.</p></article>
500
- <article class="card"><h3 id="skills-commands">Skills and commands</h3><p>Skills and commands in the project's and your <code>.claude</code>, <code>.codex</code>, <code>.agents</code> and <code>.pi</code> folders work as they are: the model sees the skills, and a <code>/</code> at the start of a message offers <code>/command</code> and <code>/skill:name</code>.</p></article>
501
- <article class="card"><h3 id="tests-in-sandbox">Tests in the company sandbox</h3><p>Package caches kept per project (npm, pnpm, pip, uv, Go, Cargo, Gradle, Maven, NuGet…), servers and databases on localhost, the selected Xcode, JDKs, .NET. Run <code>piagent studio --doctor</code> to see which languages are ready. Docker and the iOS Simulator are not available in the sandbox yet.</p></article>
108
+ <div class="release-filter" role="toolbar" aria-label="Filter by kind of change"><button type="button" data-filter-kind="all" aria-pressed="true">All</button><button type="button" data-filter-kind="new" aria-pressed="false">New</button><button type="button" data-filter-kind="improved" aria-pressed="false">Improved</button><button type="button" data-filter-kind="fixed" aria-pressed="false">Fixed</button><button type="button" data-filter-kind="security" aria-pressed="false">Security</button></div>
109
+ <section class="section releases" data-releases>
110
+ <h2 id="latest" class="sr-only">Latest</h2>
111
+ <article class="release latest" id="v1-42-0" data-release>
112
+ <div class="release-meta"><a class="release-version" href="#v1-42-0">v1.42.0</a><time class="release-date" datetime="2026-10-25">Oct 25, 2026</time></div>
113
+ <div class="release-body">
114
+ <h3 data-toc-skip id="v1-42-0-title">A redesigned dashboard and older messages that load without jumping</h3>
115
+ <p>The dashboard gets one design scale and every theme everywhere; older messages load as you scroll up and the message you are reading stays put.</p>
116
+ <ul class="release-items">
117
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Older messages load on their own as you near the top, and the message being read no longer moves when a page is added above it.</span></li>
118
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>All 13 colour themes now reach the diff, approval, question and document views; header, sidebar, composer and new chat page are redesigned.</span></li>
119
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>A running turn shows one moving indicator at a time: the step's spinner, the streaming caret, or a thinking spinner.</span></li>
120
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>New website and README with an Update &amp; uninstall guide; release notes now come from one file that also writes <code>CHANGELOG.md</code>.</span></li>
121
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>History showed raw markdown for a moment and then reflowed; it now appears formatted from the first frame.</span></li>
122
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Loading many older pages silently dropped the newest messages; the window now holds 1,000 items and offers a way back to the newest.</span></li>
123
+ </ul>
502
124
  </div>
503
- </section>
504
-
505
- <section class="section">
506
- <p class="section-kicker">v1.11.1 · 2026-10-05</p>
507
- <h2 id="v1-11-1">An update ends on the new release's dashboard</h2>
508
- <p class="section-lead">Whether you click Update in the dashboard or run <code>piagent-update</code>, the dashboard comes back on the release just installed instead of keeping the earlier one's pages.</p>
509
- <div class="grid cols-2">
510
- <article class="card"><h3 id="restart-after-update">Restart after the update</h3><p>The Update button installs the release, restarts the dashboard and opens it in a new tab. In 1.11.0 the restart did not run on an npm install.</p></article>
511
- <article class="card"><h3 id="replace-older-dashboard">Replace the earlier dashboard</h3><p>After <code>piagent-update</code>, <code>piagent dashboard</code> stops a dashboard still running the earlier release and opens the new one.</p></article>
125
+ </article>
126
+ <article class="release" id="v1-41-0" data-release>
127
+ <div class="release-meta"><a class="release-version" href="#v1-41-0">v1.41.0</a><time class="release-date" datetime="2026-10-24">Oct 24, 2026</time></div>
128
+ <div class="release-body">
129
+ <h3 data-toc-skip id="v1-41-0-title">Front-end change reports with before/after screenshots</h3>
130
+ <p>A new skill turns a front-end task into a report with framed before/after screenshots, business and logic changes and check results, shown in the dashboard.</p>
131
+ <ul class="release-items">
132
+ <li data-kind="new"><span class="kind kind-new">New</span><span>The <code>fe-change-report</code> skill captures old and new pages headless on the same data and frames each change with a numbered red box on both.</span></li>
133
+ <li data-kind="new"><span class="kind kind-new">New</span><span>The agent runs the project's checks and full E2E headless, naming baseline failures, and writes what changed in business, logic and on screen.</span></li>
134
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Documents draws <code>reports/fe-change/&lt;slug&gt;/report.json</code> as the report, with zoom per frame, other screen sizes and a full-screen view.</span></li>
135
+ <li data-kind="new"><span class="kind kind-new">New</span><span>The scripts use the project's own Playwright and add no dependency; they write one self-contained <code>report.html</code> with no scripts, to send to anyone.</span></li>
136
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>The report is drawn from data, never from the HTML file, and only its PNG screenshots are served, so the dashboard still renders no model markup.</span></li>
137
+ </ul>
512
138
  </div>
513
- </section>
514
-
515
- <section class="section">
516
- <p class="section-kicker">v1.11.0 · 2026-10-05</p>
517
- <h2 id="v1-11-0">One-click updates, and a dashboard that works like an editor</h2>
518
- <p class="section-lead">The dashboard checks for new releases and updates Pi and Piagent together when you click. A status bar, a command palette and searchable Settings keep every action a keystroke away.</p>
519
- <div class="grid cols-3">
520
- <article class="card"><h3 id="one-click-update">One-click update</h3><p>The dashboard checks when it opens and every 6 hours. A new release shows as "Update Piagent" in the status bar; one click installs Pi and Piagent together and reopens the dashboard in a new tab. Pi always moves to the version Piagent is qualified on, and the button waits while a conversation runs.</p></article>
521
- <article class="card"><h3 id="command-palette">Command palette</h3><p>⌘K or Ctrl+K reaches every action, every settings section and every conversation by name, with or without Vietnamese accents. ⌘, or Ctrl+, opens Settings.</p></article>
522
- <article class="card"><h3 id="settings-search">Searchable Settings</h3><p>Search finds a setting by what it does; sections are grouped, with new Updates and Shortcuts sections. The status bar shows the Gateway, running conversations and the release.</p></article>
139
+ </article>
140
+ <article class="release" id="v1-40-0" data-release>
141
+ <div class="release-meta"><a class="release-version" href="#v1-40-0">v1.40.0</a><time class="release-date" datetime="2026-10-24">Oct 24, 2026</time></div>
142
+ <div class="release-body">
143
+ <h3 data-toc-skip id="v1-40-0-title">Local projects are reported to Studio too</h3>
144
+ <p>Company conversations in folders without a remote report a local project to Studio, every run reports, and members see every kind of project warning.</p>
145
+ <ul class="release-items">
146
+ <li data-kind="new"><span class="kind kind-new">New</span><span>A folder without a readable remote is reported as a local project, by its Git root commit or by a hash; its path never leaves the computer.</span></li>
147
+ <li data-kind="new"><span class="kind kind-new">New</span><span>A Git project's local key is the same on every computer with that history, including clones and checkouts without an <code>origin</code> remote.</span></li>
148
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Every run reports its projects, not only a conversation's first, so Studio counts each use and knows which computers never report.</span></li>
149
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Members see a line for every warning: another team's project, one outside the team's list, an unregistered project or an unreadable folder.</span></li>
150
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>A folder holding several checkouts reports each one, up to six, and a local project is named by its folder.</span></li>
151
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Three dependency advisories in the Pi host are accepted until 2026-11-07: denial of service and a check bypass Pi does not use, no data exposure.</span></li>
152
+ </ul>
153
+ <p class="release-requires"><strong>Requires:</strong> Agent Studio 0.40.0</p>
523
154
  </div>
524
- </section>
525
-
526
- <section class="section">
527
- <p class="section-kicker">v1.10.0 · 2026-10-05</p>
528
- <h2 id="v1-10-0">The main agent asks when it is unsure, and subagents may object to a brief</h2>
529
- <p class="section-lead">When a request leaves a decision open, the main agent asks you with a card of numbered choices instead of guessing. A subagent shows its evidence when a brief drifts from the request, and a second disagreement is yours to decide. Used-up quota or a very large patch no longer stops the work.</p>
530
- <div class="grid cols-3">
531
- <article class="card"><h3 id="ask-user">Questions with choices</h3><p>1–4 questions, each with 2–4 numbered choices, always "Other" in your own words and "Let the agent decide". Press a number to choose, Enter to send. Stop while it waits, and on "continue" the agent asks again instead of choosing for you.</p></article>
532
- <article class="card"><h3 id="objections">Subagents object to a brief</h3><p>A subagent reads your request verbatim and the plan above its brief. When the brief is wrong or drifts from the request it shows its evidence, and the main agent has to answer. A second disagreement marks the conversation "needs your decision".</p></article>
533
- <article class="card"><h3 id="fallback">Work goes on when quota runs out</h3><p>A subagent whose quota is used up, or whose account rests, starts again on the Harness fallback model. A patch over 120 KB is reviewed in parts and the findings merge.</p></article>
155
+ </article>
156
+ <article class="release" id="v1-39-0" data-release>
157
+ <div class="release-meta"><a class="release-version" href="#v1-39-0">v1.39.0</a><time class="release-date" datetime="2026-10-23">Oct 23, 2026</time></div>
158
+ <div class="release-body">
159
+ <h3 data-toc-skip id="v1-39-0-title">Warnings when a team key is used outside its team</h3>
160
+ <p>Studio learns which repositories a company conversation works in and warns when a team key is used outside its team; the dashboard keeps its language and theme.</p>
161
+ <ul class="release-items">
162
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Company conversations tell Studio their repositories, using the same <code>host/path</code> keys team memory already sends.</span></li>
163
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Administrators see the warnings in Logs → &quot;Sai project&quot;; the member reads one line above the composer and in <code>piagent studio</code>.</span></li>
164
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Nothing is blocked, and team memory works as before.</span></li>
165
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>The dashboard went back to the default language and colour theme on every restart; it now keeps both.</span></li>
166
+ </ul>
167
+ <p class="release-requires"><strong>Requires:</strong> Agent Studio 0.39.0</p>
534
168
  </div>
535
- </section>
536
-
537
- <section class="section">
538
- <p class="section-kicker">v1.9.3 · 2026-10-03</p>
539
- <h2 id="v1-9-3">Typing Vietnamese never sends by mistake, and subagents read leaner pages</h2>
540
- <p class="section-lead">An Enter that commits accented text only finishes the word and does not send. Two quick Enters create one conversation and send one message. Subagents read less of each web page, so a news question uses far fewer tokens.</p>
541
- <div class="grid cols-3">
542
- <article class="card"><h3 id="ime-enter">Enter while composing</h3><p>With Telex, VNI or any other input method, an Enter that commits text no longer sends or creates a conversation. Shift+Enter is still a new line.</p></article>
543
- <article class="card"><h3 id="send-once">Sent exactly once</h3><p>Pressing Enter twice, or Enter and then the send button, before the page updates still creates one conversation and sends one message.</p></article>
544
- <article class="card"><h3 id="fetch-cap">Leaner page reads for subagents</h3><p>A subagent reads at most 20,000 characters of a page, 12,000 by default. The main agent still reads up to 100,000.</p></article>
169
+ </article>
170
+ <article class="release" id="v1-38-2" data-release>
171
+ <div class="release-meta"><a class="release-version" href="#v1-38-2">v1.38.2</a><time class="release-date" datetime="2026-10-23">Oct 23, 2026</time></div>
172
+ <div class="release-body">
173
+ <h3 data-toc-skip id="v1-38-2-title">Folder tree, colour themes and an editor that stays in view</h3>
174
+ <p>The files panel becomes a folder tree, 13 colour themes arrive, and the editor and terminal stay pinned while the conversation scrolls.</p>
175
+ <ul class="release-items">
176
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Colour themes in Settings → Appearance or the command palette (⌘K) colour the interface, the editor's syntax and the terminal.</span></li>
177
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>On wide screens the editor and terminal stay pinned under the header while the conversation scrolls; a splitter sets the editor's width.</span></li>
178
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>The files panel is a folder tree: folders open in place, the open file is highlighted, and New file starts in the last folder chosen.</span></li>
179
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>The Files/Terminal switches stay pinned on every width; on phones the folder tree is narrower and the editor's actions fit on one line.</span></li>
180
+ </ul>
545
181
  </div>
546
- </section>
547
-
548
- <section class="section">
549
- <p class="section-kicker">v1.9.2 · 2026-10-03</p>
550
- <h2 id="v1-9-2">Web work goes to the research subagent, and the chat stays put</h2>
551
- <p class="section-lead">In company mode with a research subagent, everything on the web runs on that subagent's cheaper model. The main agent receives its summary with sources. Sending a message in a long conversation no longer pulls the page to the top.</p>
552
- <div class="grid cols-3">
553
- <article class="card"><h3 id="research-web">Web work for the research subagent</h3><p>With a research subagent in the Harness, the main agent has no web tools. Searches and pages are read on the research subagent's model.</p></article>
554
- <article class="card"><h3 id="search-engine">Which engine searched</h3><p>Each search result names the engine that answered: Tavily, Exa or Parallel through the company search pool, or the model provider's own search.</p></article>
555
- <article class="card"><h3 id="chat-jump">The chat stays still</h3><p>Sending a message no longer makes the history vanish for a moment or pull the page to the top. The header shows the number of subagents the Harness enables.</p></article>
182
+ </article>
183
+ <article class="release" id="v1-38-1" data-release>
184
+ <div class="release-meta"><a class="release-version" href="#v1-38-1">v1.38.1</a><time class="release-date" datetime="2026-10-23">Oct 23, 2026</time></div>
185
+ <div class="release-body">
186
+ <h3 data-toc-skip id="v1-38-1-title">Published release of v1.38.0</h3>
187
+ <p>v1.38.0 failed its release checks on two tests and was never published; v1.38.1 is the same release with those tests fixed.</p>
188
+ <ul class="release-items">
189
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Two release tests now pass on Linux and on slow runners, so the editor, terminals, review, checkpoints and Bypass of v1.38.0 ship here.</span></li>
190
+ </ul>
556
191
  </div>
557
- </section>
558
-
559
- <section class="section">
560
- <p class="section-kicker">v1.9.1 · 2026-10-03</p>
561
- <h2 id="v1-9-1">Scout and verify subagents, web search for every role</h2>
562
- <p class="section-lead">In company mode the team's Harness can enable two more subagents on cheaper models. Scout reads the code before a change. Verify runs the checks again and compares conclusions with evidence. Every role, including roles on API-key models, searches the web through the team's search pool.</p>
563
- <div class="grid cols-3">
564
- <article class="card"><h3 id="scout-helper">Scout subagent</h3><p>It reads the project only: no web, no commands. Its answers come with file and line. The main agent hands broad reading to it and keeps its own context for the change.</p></article>
565
- <article class="card"><h3 id="verify-helper">Verify subagent</h3><p>It runs the repository's checks in a read-only sandbox without network, and compares each requirement with the code and primary sources. Each requirement comes back as pass, fail or unverifiable, with evidence. A check it passes counts toward the turn's process.</p></article>
566
- <article class="card"><h3 id="search-pool">Web search through the search pool</h3><p><span class="inline-code">web_search</span> asks Studio's search pool first: the team's search keys, then keyless providers. That way roles on API-key models can search too.</p></article>
567
- <article class="card"><h3 id="enabled-helpers">Only enabled subagents</h3><p>The main agent sees only the subagents its Harness enables. The dashboard shows running subagents against the number enabled.</p></article>
568
- <article class="card"><h3 id="sandbox-tests">Project tests run in the sandbox</h3><p>The sandbox reads translation files named <span class="inline-code">auth.json</span> and hides <span class="inline-code">.env*</span> files outright (templates excepted), so type checks, Vitest and Next run without exposing secrets. End-to-end tests with Playwright's Chromium run as a network command you approve.</p></article>
569
- <article class="card"><h3 id="installer-hints">Leaner installer hints</h3><p><span class="inline-code">piagent-install</span> and <span class="inline-code">piagent-setup</span> no longer suggest commands retired in 1.9.0. They mention <span class="inline-code">/mcp</span> and <span class="inline-code">/subagents-doctor</span> only when that run installed them.</p></article>
192
+ </article>
193
+ <article class="release" id="v1-38-0" data-release>
194
+ <div class="release-meta"><a class="release-version" href="#v1-38-0">v1.38.0</a><time class="release-date" datetime="2026-10-23">Oct 23, 2026</time></div>
195
+ <div class="release-body">
196
+ <h3 data-toc-skip id="v1-38-0-title">Piagent becomes an editor, and Bypass asks nothing <span class="tag">not published</span></h3>
197
+ <p>Files, terminals, inline review and checkpoints in the dashboard, and a Bypass mode that asks nothing, in company conversations where the Harness allows it.</p>
198
+ <ul class="release-items">
199
+ <li data-kind="breaking"><span class="kind kind-breaking">Breaking</span><span>Company conversations have Ask first, Full access (formerly called Bypass) and Bypass, offered only when the Harness allows it.</span></li>
200
+ <li data-kind="new"><span class="kind kind-new">New</span><span>The <code>bypass</code> mode (<code>/permission bypass</code>, <code>piagent-auto --bypass</code>) turns every gate off; output is still redacted and <code>/undo</code> still works.</span></li>
201
+ <li data-kind="new"><span class="kind kind-new">New</span><span>The dashboard opens, edits, saves, renames and deletes project files, with Cmd/Ctrl+P, search and conflicts when a file changed on disk.</span></li>
202
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Project terminals in the dashboard; company terminals run in the sandbox, on macOS too, and never on the host.</span></li>
203
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Inline review of the agent's hunks with Keep and Revert, and Timeline restore with a preview, sharing checkpoints with <code>/undo</code>.</span></li>
204
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A checkpoint that could not be taken blocked every edit; it no longer does, and snapshots take about 0.5 s instead of 35 s on 4,000 files.</span></li>
205
+ </ul>
206
+ <p class="release-requires"><strong>Requires:</strong> Agent Studio 0.38.0 and Agent Watch 0.15.14 (Windows 0.1.17) for the company Bypass level</p>
570
207
  </div>
571
- <p>One company-mode turn ran live through Studio. The scout read the repository before the change, verify reported 6 of 6 requirements passed, review found no blocking issue, and every request was metered.</p>
572
- </section>
573
-
574
- <section class="section">
575
- <p class="section-kicker">v1.9.0 · 2026-10-02</p>
576
- <h2 id="v1-9-0">Ask in plain language; the team's Harness does the checking</h2>
577
- <p class="section-lead">The task contract and the workflow commands are gone: you ask as you would ask a colleague, and the guard still checks every tool call. Company mode runs through Agent Studio and Agent Watch; its Harness asks for checks, has a subagent review the change and sends blocking findings back to the agent. See <a href="/en/ecosystem">Ecosystem</a>.</p>
578
-
579
- <div class="benchmark-metrics" aria-label="Release 1.9.0 verification figures">
580
- <div class="benchmark-metric"><span>Live scenarios</span><strong>13/13</strong><small>9 personal, 4 company, on the final install</small></div>
581
- <div class="benchmark-metric"><span>Automated tests</span><strong>5,800+</strong><small>unit, integration and security; 0 failures</small></div>
582
- <div class="benchmark-metric"><span>Browser tests</span><strong>27/27</strong><small>dashboard and WebUI on Chromium</small></div>
583
- <div class="benchmark-metric"><span>Smaller guard</span><strong>−854 lines</strong><small>code that only served the task contract (4993 → 4139)</small></div>
208
+ </article>
209
+ <article class="release" id="v1-37-1" data-release>
210
+ <div class="release-meta"><a class="release-version" href="#v1-37-1">v1.37.1</a><time class="release-date" datetime="2026-10-22">Oct 22, 2026</time></div>
211
+ <div class="release-body">
212
+ <h3 data-toc-skip id="v1-37-1-title">Run closes and helper reports Studio can trust</h3>
213
+ <p>A retried close counts only when it reaches Studio, helpers keep their answers, and outbound requests refuse every IPv6 form of a private address.</p>
214
+ <ul class="release-items">
215
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A close retried after a brief failure could be recorded without reaching Studio; it now counts only when Studio receives it.</span></li>
216
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A helper whose close failed for a moment was turned into a failure; it now keeps its answer, and its report is resent after passing errors.</span></li>
217
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Team memory merged failures of two commands of one executable into one lesson; the whole command is now the key.</span></li>
218
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Skill feedback mixed skills with alike names such as <code>a/b</code> and <code>a_b</code>; each skill name now keeps its own file.</span></li>
219
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>The <code>web_fetch</code> tool and the package proxy let some IPv6 forms of a private address through; every such form is now refused.</span></li>
220
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>With a company upstream proxy (<code>HTTPS_PROXY</code>), the package proxy now checks each destination itself instead of leaving it to the upstream.</span></li>
221
+ </ul>
222
+ <p class="release-requires"><strong>Requires:</strong> Agent Watch 0.15.11 (Windows 0.1.16)</p>
584
223
  </div>
585
-
586
- <figure class="shot">
587
- <img src="/assets/shots/company-run-done.jpg" alt="A company-mode turn: the agent changes code and runs the tests; A check passed and Review found no blocking issue are written under the answer" loading="lazy" width="1600" height="1000">
588
- <figcaption>A company-mode turn: the agent changes code and runs the tests, a subagent reviews the change, and the outcome is written right under the answer.</figcaption>
589
- </figure>
590
-
591
- <div class="grid cols-3">
592
- <article class="card"><h3 id="freeform">Plain-language requests</h3><p>No more <span class="inline-code">/workflow</span>, <span class="inline-code">/fresh</span>, <span class="inline-code">/onboard</span> or task contract. The guard still blocks protected files and checks permission profiles, oversized files and stale edits, and asks you before a push or publish.</p></article>
593
- <article class="card"><h3 id="harness">The team's Harness</h3><p>Studio decides whether each turn suggests or requires a plan, checks and a review. A separate subagent reviews; blocking findings go back to the agent within the team's fix rounds.</p></article>
594
- <article class="card"><h3 id="network">Network on approval</h3><p>Company-mode commands run without network. To install a package the agent asks to run that one command with network; the card shows the exact command and you allow it once.</p></article>
595
- <article class="card"><h3 id="stop">Stop and continue</h3><p>Stop works for the whole turn, including while the review runs. A stopped turn says it was stopped, not that the model failed; Continue picks up from the steps kept.</p></article>
596
- <article class="card"><h3 id="reconnect">Reconnect company mode</h3><p>If the company runtime is not running (after a restart or an update), the conversation says so and offers Reconnect in place.</p></article>
597
- <article class="card"><h3 id="local-state">Out of git</h3><p><span class="inline-code">.pi/piagent-state</span> gets its own <span class="inline-code">.gitignore</span>; run state no longer shows up in the project's <span class="inline-code">git status</span>.</p></article>
598
- <article class="card"><h3 id="queue">Waiting in line when the company is busy</h3><p>When every company model account is busy, a request waits its turn (up to 20 minutes) instead of failing. The running turn shows a “Wait for a free company account” step; Stop still works.</p></article>
599
- <article class="card"><h3 id="many-conversations">Many conversations at once</h3><p>Creating or sending in one conversation is no longer refused because another one just changed. Two folders with the same name (two clones) also show where each one is.</p></article>
600
- <article class="card"><h3 id="model-scope">Clean up models that are gone</h3><p><span class="inline-code">piagent-doctor</span> lists configured models Pi no longer knows; <span class="inline-code">piagent-model-scope --prune</span> removes only those lines.</p></article>
224
+ </article>
225
+ <article class="release" id="v1-37-0" data-release>
226
+ <div class="release-meta"><a class="release-version" href="#v1-37-0">v1.37.0</a><time class="release-date" datetime="2026-10-22">Oct 22, 2026</time></div>
227
+ <div class="release-body">
228
+ <h3 data-toc-skip id="v1-37-0-title">A cut answer no longer stops a long task</h3>
229
+ <p>An answer cut mid-stream behind Studio is asked again and the task goes on, and <code>piagent studio --rpc</code> lets a script drive a company conversation.</p>
230
+ <ul class="release-items">
231
+ <li data-kind="new"><span class="kind kind-new">New</span><span>New <code>piagent studio --rpc</code> runs one company conversation over Pi's RPC protocol on stdin/stdout, with several messages and <code>ask_user</code>.</span></li>
232
+ <li data-kind="new"><span class="kind kind-new">New</span><span>A long-task soak lane in the repository drives the real company agent through 45–150-minute tasks with a simulated member.</span></li>
233
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>An answer cut mid-stream showed &quot;the request could not be sent&quot; and stopped a long task; it is now asked again and the task goes on.</span></li>
234
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>The company Terminal no longer exits with an error when a conversation closes right after a turn while Git still reports branch status.</span></li>
235
+ </ul>
601
236
  </div>
602
- </section>
603
-
604
- <section class="section">
605
- <p class="section-kicker">From the dashboard</p>
606
- <h2 id="v1-9-0-shots">What a member sees while working</h2>
607
- <div class="shot-grid">
608
- <figure class="shot">
609
- <img src="/assets/shots/network-approval.jpg" alt="Approval card for one network command, showing the exact npm install command" loading="lazy" width="1600" height="1000">
610
- <figcaption>Approving one network command: the card shows the exact command and what allow or deny does.</figcaption>
611
- </figure>
612
- <figure class="shot">
613
- <img src="/assets/shots/new-chat-models.jpg" alt="Choosing a model for a new conversation: Company and Personal groups" loading="lazy" width="1600" height="1000">
614
- <figcaption>New conversation: a company model or a personal one, in the same dashboard.</figcaption>
615
- </figure>
616
- <figure class="shot">
617
- <img src="/assets/shots/company-review-running.jpg" alt="Review running: the header shows Subagent 1/2 and Stop is still available" loading="lazy" width="1600" height="1000">
618
- <figcaption>Review running: the header shows Subagent 1/2 and Stop still works.</figcaption>
619
- </figure>
620
- <figure class="shot">
621
- <img src="/assets/shots/personal-edit-test.jpg" alt="A personal turn that edits code, with the diff inside the Edit card" loading="lazy" width="1600" height="1000">
622
- <figcaption>Personal mode: every read, edit and command is a card, with the diff right there.</figcaption>
623
- </figure>
237
+ </article>
238
+ <article class="release" id="v1-36-1" data-release>
239
+ <div class="release-meta"><a class="release-version" href="#v1-36-1">v1.36.1</a><time class="release-date" datetime="2026-10-22">Oct 22, 2026</time></div>
240
+ <div class="release-body">
241
+ <h3 data-toc-skip id="v1-36-1-title">A brief Agent Watch failure no longer stops a task</h3>
242
+ <p>When Agent Watch briefly cannot reach a running Studio, Piagent asks again for up to 3 minutes instead of stopping the task.</p>
243
+ <ul class="release-items">
244
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Each wait is logged locally and reported to Studio in Logs → &quot;Mất kết nối&quot;; a refused key or report still fails at once.</span></li>
245
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>One failed grant renewal through Agent Watch stopped a 25-minute task; it is now asked again, waiting longer each time, for up to 3 minutes.</span></li>
246
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Closing the round's run goes through the same wait, so a passing gateway error no longer fails a turn whose work is done.</span></li>
247
+ </ul>
624
248
  </div>
625
- </section>
626
-
627
- <section class="section">
628
- <p class="section-kicker">Verification</p>
629
- <h2 id="v1-9-0-verification">Run for real, the way a member works</h2>
630
- <p class="section-lead">Each scenario drives a real browser against the installed release, sends messages as a member would and checks the result on disk. Every experience bug found was fixed with a test and the scenario run again.</p>
631
- <div class="table-wrap"><table>
632
- <thead><tr><th>Scenario</th><th>Result</th></tr></thead>
633
- <tbody>
634
- <tr><td>Company · strip Vietnamese accents from slugs, add tests</td><td>2 files changed, tests pass, "A check passed on the final code · Review found no blocking issue"</td></tr>
635
- <tr><td>Company · press Stop while the review runs</td><td>"The turn stopped before its checks finished", no error shown</td></tr>
636
- <tr><td>Company · install a package that needs network</td><td>The approval card shows the exact command; once allowed, the package is in <span class="inline-code">package.json</span></td></tr>
637
- <tr><td>Company · send another message during a turn</td><td>Held, sent when the turn ends, and answered</td></tr>
638
- <tr><td>Personal · edit, test, commit and push</td><td>Push waits for approval in the browser; stopping a long command leaves no process behind</td></tr>
639
- <tr><td>Personal · read <span class="inline-code">.env</span></td><td>Blocked without revealing values; the agent explains how to open it yourself</td></tr>
640
- </tbody>
641
- </table></div>
642
- <p>Benchmark and journey results of earlier releases were measured with task contracts; they are historical, and 1.9.0 has not been measured again.</p>
643
- </section>
644
-
645
- <div class="callout">
646
- <strong>Earlier releases</strong>
647
- <p>The notes below describe earlier releases as they shipped. Since 1.9.0 the task contract, trajectories, completion receipts and workflow commands mentioned below are gone.</p>
648
- </div>
649
-
650
- <section class="section">
651
- <p class="section-kicker">v1.8.0</p>
652
- <h2 id="v1-8-0">Astra, Sol, and Luna in Piagent</h2>
653
- <p class="section-lead">Pi 0.87.1 exposes all three GPT-6 models through the authenticated catalog. New sessions prefer Sol High; parent routing remains opt-in.</p>
654
- <div class="grid cols-3">
655
- <article class="card"><h3>Luna</h3><p>Focused, verifiable tasks: the low tier at Medium effort.</p></article>
656
- <article class="card"><h3>Sol</h3><p>Everyday coding: the medium and high tiers; the new-session default is High when available.</p></article>
657
- <article class="card"><h3>Astra</h3><p>Broad or ambiguous work: the ultra tier at Extra High. Explicit pins and existing sessions stay intact.</p></article>
249
+ </article>
250
+ <article class="release" id="v1-36-0" data-release>
251
+ <div class="release-meta"><a class="release-version" href="#v1-36-0">v1.36.0</a><time class="release-date" datetime="2026-10-21">Oct 21, 2026</time></div>
252
+ <div class="release-body">
253
+ <h3 data-toc-skip id="v1-36-0-title">Team memory learns from what went wrong</h3>
254
+ <p>Memory learns from member feedback and repeated errors, keeps only completed tasks that add something, and proposes failing skills for review.</p>
255
+ <ul class="release-items">
256
+ <li data-kind="new"><span class="kind kind-new">New</span><span>What memory hands a round goes back to Studio with it, so Studio rates notes by the member's next words and stops briefing wrong ones.</span></li>
257
+ <li data-kind="new"><span class="kind kind-new">New</span><span>A command that fails the same way twice in a round becomes a lesson that keeps the first error line, with no guessed cause.</span></li>
258
+ <li data-kind="new"><span class="kind kind-new">New</span><span>When 3 of a skill's last rounds failed, Piagent writes a proposal to <code>.pi/piagent-state/skill-proposals/</code>, at most weekly; it never edits skills.</span></li>
259
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Repository memory skips completed tasks that change only build output, caches, logs or Piagent's state, or repeat files already known.</span></li>
260
+ </ul>
261
+ <p class="release-requires"><strong>Requires:</strong> Agent Studio 0.37.0</p>
658
262
  </div>
659
- <p>The router selects only authenticated models and records a legacy 5.6 fallback. The old 108-session result does not measure GPT-6 performance or token savings.</p>
660
- </section>
661
-
662
- <section class="section">
663
- <p class="section-kicker">v1.7.1</p>
664
- <h2 id="v1-7-0">Long sessions with clearer context and accounting</h2>
665
- <p class="section-lead">v1.7.1 supports Pi 0.86.1, repairs session recovery, and adds waiting within an open session.</p>
666
- <div class="grid cols-3">
667
- <article class="card"><h3>Requested waiting</h3><p>Ask the agent to wait until the next useful check. The timer makes no model calls while waiting; the session must remain open.</p></article>
668
- <article class="card"><h3>Context and usage</h3><p>Context prioritizes supported files, and usage and verification results remain bound to the correct task.</p></article>
669
- <article class="card"><h3>Evidence boundary</h3><p>All 14 formerly failed attempts passed a separate rerun. This is not a new 108-session score or an aggregate token-saving claim.</p></article>
263
+ </article>
264
+ <article class="release" id="v1-35-1" data-release>
265
+ <div class="release-meta"><a class="release-version" href="#v1-35-1">v1.35.1</a><time class="release-date" datetime="2026-10-21">Oct 21, 2026</time></div>
266
+ <div class="release-body">
267
+ <h3 data-toc-skip id="v1-35-1-title">A passing model provider failure no longer stops a long task</h3>
268
+ <p>A provider error in the middle of an answer is asked again, and a round cut by such a failure goes on by itself after a pause.</p>
269
+ <ul class="release-items">
270
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Where that retry cannot run, the next round starts after a pause and tells the agent why, up to 8 times per member message (about 23 min).</span></li>
271
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>A round that ends well resets the count, Stop ends the pause, and after the last attempt the turn fails with its reason.</span></li>
272
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Every retry is recorded in the member's local log, so why a task stopped or went on can be read back.</span></li>
273
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A provider error after a tool step stopped a long task until the member wrote again; it is now asked again 2 and 4 s later.</span></li>
274
+ </ul>
670
275
  </div>
671
- </section>
672
-
673
- <section class="section">
674
- <p class="section-kicker">v1.6.1 · Reliability patch</p>
675
- <h2 id="v1-6-1">Truthful UI state, safe external review, and lower helper overhead</h2>
676
- <p class="section-lead">This patch keeps the selected model and thinking level unchanged while tightening lifecycle truth, limiting helper expansion, and granting external-source reads only to the exact checkout for the current session.</p>
677
- <div class="grid cols-3">
678
- <article class="card"><h3 id="conversation-truth">Conversation truth</h3><p>Drafts, retries, and pending completion stay in Activity. Chat preserves user-then-assistant order and clears processing only at the real terminal boundary.</p></article>
679
- <article class="card"><h3 id="external-review">External review</h3><p>GitHub, GitLab, and Bitbucket references activate only minimal source checkout. The runtime grants reads to that exact tree while blocking caches, credentials, symlink escape, and every mutation path.</p></article>
680
- <article class="card"><h3 id="solo-first">Solo-first</h3><p>Direct subagent use is capped at one read-only helper with call, turn, and runtime budgets, no automatic retry/fork/worker expansion, and truthful failure state when evidence is missing.</p></article>
276
+ </article>
277
+ <article class="release" id="v1-35-0" data-release>
278
+ <div class="release-meta"><a class="release-version" href="#v1-35-0">v1.35.0</a><time class="release-date" datetime="2026-10-21">Oct 21, 2026</time></div>
279
+ <div class="release-body">
280
+ <h3 data-toc-skip id="v1-35-0-title">Long company tasks go on across Studio updates</h3>
281
+ <p>When Studio stops, restarts or updates mid-task, Piagent waits for it and goes on instead of failing, and a dashboard turn can run for 24 hours.</p>
282
+ <ul class="release-items">
283
+ <li data-kind="new"><span class="kind kind-new">New</span><span>When Studio is away, Piagent reads its heartbeat and asks again once it is back, with no time limit; Stop ends the wait.</span></li>
284
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Every wait is logged locally and reported to Studio, which lists it with its cause in Logs → &quot;Mất kết nối&quot;.</span></li>
285
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>A round the dashboard cannot replay starts again by itself and tells the agent Studio was updated, so it continues where it was.</span></li>
286
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>One member message can run for 24 hours in the dashboard (it was 6); the 15-minute silence limit stays.</span></li>
287
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>A key, quota or policy failure still fails at once, as before.</span></li>
288
+ </ul>
289
+ <p class="release-requires"><strong>Requires:</strong> Agent Studio 0.36.0</p>
681
290
  </div>
682
- </section>
683
-
684
- <section class="section">
685
- <p class="section-kicker">Product stabilization</p>
686
- <h2 id="main-changes">Six changes users will notice</h2>
687
- <p class="section-lead">Existing workflows continue to work. This update adds runtime evidence and fail-closed gates behind them, plus compact projections that users can inspect when needed.</p>
688
- <div class="grid cols-3">
689
- <article class="card">
690
- <h3 id="runtime-truth">Runtime truth</h3>
691
- <p>Model, provider, thinking, context window, and provenance come from the runtime or authenticated catalog. Missing facts stay unknown instead of being inferred from a model name.</p>
692
- </article>
693
- <article class="card">
694
- <h3 id="trajectory">Task trajectories</h3>
695
- <p>Tasks move through plan, execute, verify, review, handoff, and terminal using replayable state. Stale, corrupt, or identity-mismatched events fail closed.</p>
696
- </article>
697
- <article class="card">
698
- <h3 id="recovery">Recovery and resume</h3>
699
- <p>Failures are classified before retry or repair. Environment, provider, permission, policy, and scope failures never grant source-mutation authority.</p>
700
- </article>
701
- <article class="card">
702
- <h3 id="helpers">Role-bound helpers</h3>
703
- <p>Scouts, planners, reviewers, and Oracle receive bounded scope, tools, and budgets. The parent model stays pinned; automatic workers and multiple writers remain off.</p>
704
- </article>
705
- <article class="card">
706
- <h3 id="receipt">Completion receipts</h3>
707
- <p>A receipt is approved only when the trace is completed, acceptance is satisfied, and the current-tree hard gate passes. Missing verifiers or pending work remain visible risks.</p>
708
- </article>
709
- <article class="card">
710
- <h3 id="product-views">Product views</h3>
711
- <p>Preflight, live status, the activity inspector, efficiency, and orchestration policy use deterministic output; users do not need a model to remember or interpret runtime state.</p>
712
- </article>
291
+ </article>
292
+ <article class="release" id="v1-34-3" data-release>
293
+ <div class="release-meta"><a class="release-version" href="#v1-34-3">v1.34.3</a><time class="release-date" datetime="2026-10-20">Oct 20, 2026</time></div>
294
+ <div class="release-body">
295
+ <h3 data-toc-skip id="v1-34-3-title">Agent Watch notifies for company conversations</h3>
296
+ <p>Company conversation states were written where Agent Watch does not read, so it never notified; they are now written where it reads.</p>
297
+ <ul class="release-items">
298
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Agent Watch never notified for company conversations; their states now go to <code>~/.pi/agent/status/company</code>, without prompts or answers.</span></li>
299
+ </ul>
713
300
  </div>
714
- </section>
715
-
716
- <section class="section">
717
- <p class="section-kicker">Daily flow</p>
718
- <h2 id="usage-flow">The daily workflow does not break</h2>
719
- <div class="steps">
720
- <article class="step"><div><h3>Assign work as before</h3><p>Use a natural-language request (<span class="inline-code">/workflow</span> was retired in 1.9.0). Manual preflight is optional.</p></div></article>
721
- <article class="step"><div><h3>The runtime records truth</h3><p>Task Contracts, context, changed files, trajectories, and checkpoints are updated from hooks and tool results rather than model memory.</p></div></article>
722
- <article class="step"><div><h3>Verify the exact working tree</h3><p>Only observed exact commands that exit successfully and match the current-tree digest count as passing evidence.</p></div></article>
723
- <article class="step"><div><h3>Bounded recovery or handoff</h3><p>Source repair and transient retries have ceilings. Unsafe cases return to handoff or the operator instead of continuing by guesswork.</p></div></article>
724
- <article class="step"><div><h3>Completion fails closed</h3><p>A completed trace is not enough. Work plan, acceptance, changed-file integrity, and current verifier evidence must pass before approval.</p></div></article>
301
+ </article>
302
+ <article class="release" id="v1-34-2" data-release>
303
+ <div class="release-meta"><a class="release-version" href="#v1-34-2">v1.34.2</a><time class="release-date" datetime="2026-10-20">Oct 20, 2026</time></div>
304
+ <div class="release-body">
305
+ <h3 data-toc-skip id="v1-34-2-title">Helper outcomes reach Studio</h3>
306
+ <p>In 1.34.1 Studio refused helper reports sent with an outdated token, so no outcome was recorded; reports now go with the current token.</p>
307
+ <ul class="release-items">
308
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Helper reports were refused after a token renewal and no outcome was recorded; they now use the helper role's current token.</span></li>
309
+ </ul>
725
310
  </div>
726
- </section>
727
-
728
- <section class="section">
729
- <p class="section-kicker">Inspect when needed</p>
730
- <h2 id="new-commands">Five commands that expose the whole flow</h2>
731
- <p class="section-lead">These are inspection and diagnostic commands, not mandatory steps before every task.</p>
732
- <div class="command-grid">
733
- <article class="command-card">
734
- <header><span>Preflight, activity, status, metrics, and helper policy</span><button class="clip-btn" data-clip="/task-preflight --json Review current repository state&#10;/piagent-inspector&#10;/piagent-status&#10;/usage efficiency&#10;/piagent-orchestration">Copy</button></header>
735
- <pre><code>/task-preflight --json Review current repository state
736
- /piagent-inspector
737
- /piagent-status
738
- /usage efficiency
739
- /piagent-orchestration</code></pre>
740
- <p>See <a href="/en/workflows">How workflows change</a> for exactly what each command reads, what it does not do, and when to use it.</p>
741
- </article>
311
+ </article>
312
+ <article class="release" id="v1-34-1" data-release>
313
+ <div class="release-meta"><a class="release-version" href="#v1-34-1">v1.34.1</a><time class="release-date" datetime="2026-10-20">Oct 20, 2026</time></div>
314
+ <div class="release-body">
315
+ <h3 data-toc-skip id="v1-34-1-title">Helper outcomes, line review and Agent Watch notifications</h3>
316
+ <p>Helpers report how their work ended, line comments on a diff go to the agent, and Agent Watch notifies when a conversation needs you.</p>
317
+ <ul class="release-items">
318
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Each helper reports how it ended: succeeded, failed, cancelled or unverifiable; Studio shows it in Logs → Lượt agent.</span></li>
319
+ <li data-kind="new"><span class="kind kind-new">New</span><span>In Source Changes, click a line number to comment; comments on several files go to the composer as one message with <code>file:line</code>.</span></li>
320
+ <li data-kind="new"><span class="kind kind-new">New</span><span>The review helper's findings show under the line they name, and findings without a line under their file.</span></li>
321
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Conversation states are written for Agent Watch notifications, holding only the title and project name, never prompts or answers.</span></li>
322
+ <li data-kind="new"><span class="kind kind-new">New</span><span>The <code>delegate</code> tool takes optional target, change, constraints, ownership and acceptance fields, which head the helper's brief.</span></li>
323
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Piagent asks Studio hourly which operations it serves and uses newer ones only when listed; an older Studio keeps today's behaviour.</span></li>
324
+ </ul>
325
+ <p class="release-requires"><strong>Requires:</strong> Agent Studio 0.34, Agent Watch 0.15.9 (Windows 0.1.15)</p>
742
326
  </div>
743
- </section>
744
-
745
- <section class="section">
746
- <p class="section-kicker">Automatic vs opt-in</p>
747
- <h2 id="automatic-and-opt-in">What runs automatically and what requires opt-in</h2>
748
- <div class="table-wrap">
749
- <table>
750
- <thead><tr><th>Surface</th><th>Default</th><th>Behavior</th></tr></thead>
751
- <tbody>
752
- <tr><td>Runtime snapshots and task evidence</td><td>Automatic</td><td>Records bounded facts, journal entries, verifier evidence, recovery, and receipts.</td></tr>
753
- <tr><td>Activity inspector</td><td>Automatic four-row panel, optional menu</td><td>Shows task diffs, commands, safety, and context beside the footer without calling a model or changing workflow state.</td></tr>
754
- <tr><td>Solver</td><td><span class="inline-code">shadow</span></td><td>Evaluates routes without changing the parent model or taking control of the workflow.</td></tr>
755
- <tr><td>Phase tools</td><td><span class="inline-code">shadow</span></td><td>Computes projections; use <span class="inline-code">PIAGENT_PHASE_TOOLS=on</span> to apply phase-specific tool visibility.</td></tr>
756
- <tr><td>Recovery</td><td><span class="inline-code">on</span></td><td>Retries or repairs within ceilings; use <span class="inline-code">PIAGENT_AUTO_RECOVERY=off</span> to restore ordinary handoff.</td></tr>
757
- <tr><td>Helpers</td><td><span class="inline-code">off</span></td><td>Explicit <span class="inline-code">PIAGENT_HELPERS_MODE=on</span> still allows only one fresh read-only helper after two independent lanes and at least 30% projected net saving are proven.</td></tr>
758
- <tr><td>Parent routing and automatic workers</td><td><span class="inline-code">off</span></td><td>No automatic parent-model switch, writer dispatch, or default multi-writer behavior.</td></tr>
759
- </tbody>
760
- </table>
327
+ </article>
328
+ <article class="release" id="v1-33-0" data-release>
329
+ <div class="release-meta"><a class="release-version" href="#v1-33-0">v1.33.0</a><time class="release-date" datetime="2026-10-20">Oct 20, 2026</time></div>
330
+ <div class="release-body">
331
+ <h3 data-toc-skip id="v1-33-0-title">Company and personal sessions run on Pi 1.3.0</h3>
332
+ <p><code>piagent-setup</code> and <code>piagent-update</code> move Piagent from Pi 0.87.1 to Pi 1.3.0, which refuses malformed tool calls and retries gateway errors.</p>
333
+ <ul class="release-items">
334
+ <li data-kind="breaking"><span class="kind kind-breaking">Breaking</span><span>Your personal <code>pi</code> also becomes 1.3.0: theme <code>$schema</code> references changed, and <code>kimi-coding</code> base URL overrides must end in <code>/v1</code>.</span></li>
335
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>A tool call with malformed JSON arguments is refused and shown to the model instead of running with the fields parsed before the error.</span></li>
336
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Gateway errors are retried, a resumed session keeps its active tools, and switching model drops the previous model's thinking.</span></li>
337
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>GPT-6.1 Sol keeps its reviewed 272k window in company sessions, where use above 272k is priced at twice the rate.</span></li>
338
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A run started by a custom message now gets the usual system prompt and starts no extra turn, task or context pack.</span></li>
339
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Three accepted dependency advisories are resolved: Pi 1.3.0 installs the fixed version.</span></li>
340
+ </ul>
341
+ <p class="release-requires"><strong>Requires:</strong> Pi 1.3.0</p>
761
342
  </div>
762
- </section>
763
-
764
- <section class="section">
765
- <p class="section-kicker">Compatibility</p>
766
- <h2 id="compatibility">No workflow rewrite or old-task migration required</h2>
767
- <div class="callout">
768
- <strong>Task Contract remains v2.</strong>
769
- <p>Runtime snapshots, solver decisions, trajectories, recovery, and helper state use additive versioned sidecars. Existing command aliases continue to work; old state without a new projection stays unknown or unavailable instead of being upgraded into success.</p>
343
+ </article>
344
+ <article class="release" id="v1-32-1" data-release>
345
+ <div class="release-meta"><a class="release-version" href="#v1-32-1">v1.32.1</a><time class="release-date" datetime="2026-10-19">Oct 19, 2026</time></div>
346
+ <div class="release-body">
347
+ <h3 data-toc-skip id="v1-32-1-title">Bypass survives a reload, and a tab in use stays signed in</h3>
348
+ <p>Bypass and Fast turned on right after a reply are kept, the access button follows the open conversation, and a tab in use is no longer signed out.</p>
349
+ <ul class="release-items">
350
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Turning on Bypass or Fast right after a reply was refused, so a reload showed &quot;Hỏi trước&quot;; it is now resent against the latest state.</span></li>
351
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Opening another conversation in Bypass showed &quot;Hỏi trước&quot;; the access button and Settings → Access now follow the open conversation.</span></li>
352
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A browser session ended 8 hours after launch even while in use; it now renews for up to 7 days, and only a tab unused for 8 hours signs out.</span></li>
353
+ </ul>
770
354
  </div>
771
- <div class="grid cols-2">
772
- <article class="card"><h3 id="host-boundary">The host is not a sandbox</h3><p>Policy reduces mistakes inside controlled tool surfaces but does not isolate code from the operator account. External and destructive actions still require confirmation.</p></article>
773
- <article class="card"><h3 id="safe-defaults">Defaults remain conservative</h3><p>Solver and phase tools remain in shadow, helpers do not auto-dispatch, and parent routing and automatic workers stay off until separate rollout evidence exists.</p></article>
355
+ </article>
356
+ <article class="release" id="v1-32-0" data-release>
357
+ <div class="release-meta"><a class="release-version" href="#v1-32-0">v1.32.0</a><time class="release-date" datetime="2026-10-19">Oct 19, 2026</time></div>
358
+ <div class="release-body">
359
+ <h3 data-toc-skip id="v1-32-0-title">Failed or stopped company streams end at Studio too</h3>
360
+ <p>When a company stream fails or you press Stop, Piagent asks Studio to end the request, so the conversation's account is free for the next one.</p>
361
+ <ul class="release-items">
362
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>New failure messages for an over-long answer, a cancelled request and a superseded one; an over-long answer is asked again.</span></li>
363
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A dropped stream could keep running at Studio for 10 minutes, so every retry was refused as &quot;account busy&quot;; Studio is now told to end it.</span></li>
364
+ </ul>
365
+ <p class="release-requires"><strong>Requires:</strong> Agent Studio 0.32.0</p>
774
366
  </div>
775
- </section>
776
-
777
- <section class="section">
778
- <p class="section-kicker">Try it</p>
779
- <h2 id="try-directly">Test directly in a new Pi session</h2>
780
- <div class="command-grid">
781
- <article class="command-card">
782
- <header><span>Read-only product walkthrough</span><button class="clip-btn" data-clip="/task-preflight --json Review this repository without modifying files&#10;/piagent-inspector&#10;/piagent-status&#10;/usage efficiency">Copy</button></header>
783
- <pre><code>/task-preflight --json Review this repository without modifying files
784
- /piagent-inspector
785
- /piagent-status
786
- /usage efficiency</code></pre>
787
- <p>After updating the package or a local checkout, start a new Pi session so the extension reloads. See the <a href="/en/commands">Command catalog</a> for every command and compatibility alias.</p>
788
- </article>
367
+ </article>
368
+ <article class="release" id="v1-31-1" data-release>
369
+ <div class="release-meta"><a class="release-version" href="#v1-31-1">v1.31.1</a><time class="release-date" datetime="2026-10-19">Oct 19, 2026</time></div>
370
+ <div class="release-body">
371
+ <h3 data-toc-skip id="v1-31-1-title"><code>memory_ask</code> is there from the first conversation after an update</h3>
372
+ <p>The first company conversation after Agent Studio 0.30.0 arrived had no <code>memory_ask</code>; it is now offered whenever the conversation has team memory.</p>
373
+ <ul class="release-items">
374
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>On a Studio without it, <code>memory_ask</code> says to use <code>memory_search</code>, and memory stays on.</span></li>
375
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>The <code>memory_ask</code> tool was missing from the first company conversation after a Studio update; it is now offered whenever team memory is on.</span></li>
376
+ </ul>
377
+ </div>
378
+ </article>
379
+ <article class="release" id="v1-31-0" data-release>
380
+ <div class="release-meta"><a class="release-version" href="#v1-31-0">v1.31.0</a><time class="release-date" datetime="2026-10-19">Oct 19, 2026</time></div>
381
+ <div class="release-body">
382
+ <h3 data-toc-skip id="v1-31-0-title">Team memory follows the work</h3>
383
+ <p>Team rules lead the brief, memories from the current branch and folders are preferred, and the new <code>memory_ask</code> answers with sources.</p>
384
+ <ul class="release-items">
385
+ <li data-kind="new"><span class="kind kind-new">New</span><span>The brief starts with the team's rules, which override recalled memories.</span></li>
386
+ <li data-kind="new"><span class="kind kind-new">New</span><span>The new read-only <code>memory_ask</code> tool answers a question from team memory with its sources, for the main agent and helpers.</span></li>
387
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Each round carries its branch, folders, changed files and checks, so Studio prefers memories from the current branch and folders.</span></li>
388
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>An agent's &quot;fixed&quot; or &quot;done&quot; is a claim until a check passes, and turns stale when Git removes the files it named.</span></li>
389
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Check results from piped commands such as <code>cmd | tail</code> now count as lessons, and Agent Studio 0.27–0.29 keeps working.</span></li>
390
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Folders with several repositories, a remote not named <code>origin</code> and Git &quot;dubious ownership&quot; on WSL no longer turn memory off silently.</span></li>
391
+ </ul>
392
+ <p class="release-requires"><strong>Requires:</strong> Agent Studio 0.30.0</p>
393
+ </div>
394
+ </article>
395
+ <article class="release" id="v1-30-1" data-release>
396
+ <div class="release-meta"><a class="release-version" href="#v1-30-1">v1.30.1</a><time class="release-date" datetime="2026-10-18">Oct 18, 2026</time></div>
397
+ <div class="release-body">
398
+ <h3 data-toc-skip id="v1-30-1-title">Company Terminal hides model names; clear message in the home folder</h3>
399
+ <p>The company Terminal shows roles instead of model ids, and <code>piagent studio</code> in the home folder now says why it cannot open there and what to do.</p>
400
+ <ul class="release-items">
401
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Pi's start-up warnings no longer point at /bug, which is off in company conversations, or name a model.</span></li>
402
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>The company Terminal showed the Harness's model ids in its header, footer and /model answers; it now shows roles, such as <code>Main agent • Rất cao</code>.</span></li>
403
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Running <code>piagent studio</code> in the home folder wrongly said Agent Watch or Piagent had changed; it now says to open a project folder or use <code>--project</code>.</span></li>
404
+ </ul>
405
+ </div>
406
+ </article>
407
+ <article class="release" id="v1-30-0" data-release>
408
+ <div class="release-meta"><a class="release-version" href="#v1-30-0">v1.30.0</a><time class="release-date" datetime="2026-10-18">Oct 18, 2026</time></div>
409
+ <div class="release-body">
410
+ <h3 data-toc-skip id="v1-30-0-title">Large contexts over slow connections; a clearer company Terminal</h3>
411
+ <p>Model calls to Studio are gzip-compressed, about 3x smaller, and the company Terminal shows turn stats, running helpers and the Git branch.</p>
412
+ <ul class="release-items">
413
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Model calls of 64 KiB or more go to Studio gzip-compressed once Studio accepts it, about 3x smaller.</span></li>
414
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Each turn's end notice in the company Terminal adds requests, tokens, time and output speed.</span></li>
415
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>The footer shows <code>Subagent n/m</code> and the Git branch; <code>memory_search</code> and <code>memory_page</code> results stay short, with Ctrl+O to show all.</span></li>
416
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A slow upload that keeps sending is no longer cut at 15 s.</span></li>
417
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Commands <code>/bypass status</code> and <code>/fast on</code> run on the first Enter, and <code>piagent studio</code> says it is joining Agent Watch before the Terminal draws.</span></li>
418
+ </ul>
419
+ <p class="release-requires"><strong>Requires:</strong> Agent Studio 0.28.2</p>
420
+ </div>
421
+ </article>
422
+ <article class="release" id="v1-29-0" data-release>
423
+ <div class="release-meta"><a class="release-version" href="#v1-29-0">v1.29.0</a><time class="release-date" datetime="2026-10-18">Oct 18, 2026</time></div>
424
+ <div class="release-body">
425
+ <h3 data-toc-skip id="v1-29-0-title">Company Terminal shows the Harness and keeps work inside the company</h3>
426
+ <p>The company Terminal gets its own header, footer and plan checklist, blocks commands that send work outside, and Stop no longer breaks the next message.</p>
427
+ <ul class="release-items">
428
+ <li data-kind="new"><span class="kind kind-new">New</span><span>A company header shows team, Harness model and effort, review model, Ask first or Bypass, Fast, memory and release.</span></li>
429
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span><code>/login</code>, <code>/model</code>, <code>/thinking</code>, <code>/settings</code> and their keys say the team's Harness decides instead of opening Pi's pickers.</span></li>
430
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>The footer shows the Harness's real model and effort with no USD cost, and the plan is drawn as a checklist.</span></li>
431
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span><code>/changelog</code> shows Piagent's release notes, and the loader reads “Đang chờ bạn trả lời” while a question waits.</span></li>
432
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Stopping a turn while a command ran could break the next message; with the required Studio and Watch, the next message now starts a new run.</span></li>
433
+ <li data-kind="security"><span class="kind kind-security">Security</span><span><code>/share</code> and <code>/bug</code> are refused in the company Terminal, since both sent company conversations and code outside the company.</span></li>
434
+ </ul>
435
+ <p class="release-requires"><strong>Requires:</strong> Agent Studio 0.28.1, Agent Watch 0.15.7 (Windows 0.1.14) for the Stop fix</p>
789
436
  </div>
437
+ </article>
438
+ </section>
439
+ <section class="section archive">
440
+ <h2 id="archive">Earlier releases</h2>
441
+ <p class="section-lead">Older releases, grouped by month. Open a month to see every change.</p>
442
+ <details class="release-archive">
443
+ <summary><span>October 2026</span><span class="archive-count">39</span></summary>
444
+ <div class="archive-row" id="v1-28-3">
445
+ <div class="archive-head"><a class="release-version" href="#v1-28-3">v1.28.3</a> <span class="release-date">Oct 18, 2026</span></div>
446
+ <div class="archive-body">
447
+ <p><strong>Agent Watch self-updates no longer break the company Terminal</strong> — Right after Agent Watch updates itself on macOS, <code>piagent studio</code> and the dashboard wait for the new setup instead of failing for about a minute.</p>
448
+ <ul class="release-items">
449
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span><code>piagent studio</code> failed for up to a minute after Agent Watch updated itself; it now waits for the new setup and runs.</span></li>
450
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>The wait applies only when the changed file is still Agent Watch's own app, and every pinned path and hash is checked again first.</span></li>
451
+ </ul>
452
+ </div>
453
+ </div>
454
+ <div class="archive-row" id="v1-28-2">
455
+ <div class="archive-head"><a class="release-version" href="#v1-28-2">v1.28.2</a> <span class="release-date">Oct 18, 2026</span></div>
456
+ <div class="archive-body">
457
+ <p><strong>No setup error right after a Piagent update</strong> — After a Piagent update, <code>piagent studio</code> waits up to 90 seconds for Agent Watch to rewrite the company setup instead of failing at once.</p>
458
+ <ul class="release-items">
459
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>While waiting it says “Agent Watch đang cập nhật cấu hình…”, or that Agent Watch is not running; the dashboard waits as long.</span></li>
460
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Update notes in the Terminal and the dashboard no longer tell members to import the configuration again by hand.</span></li>
461
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span><code>piagent studio</code> failed right after an update while Agent Watch had not rewritten the setup; it now waits, rechecks every hash and runs.</span></li>
462
+ </ul>
463
+ </div>
464
+ </div>
465
+ <div class="archive-row" id="v1-28-1">
466
+ <div class="archive-head"><a class="release-version" href="#v1-28-1">v1.28.1</a> <span class="release-date">Oct 18, 2026</span></div>
467
+ <div class="archive-body">
468
+ <p><strong>Company Terminal and personal Pi stop stepping on each other</strong> — Personal Pi starts again when Piagent was loaded twice, old company entries are cleaned up, and company conversations stay in the company Terminal.</p>
469
+ <ul class="release-items">
470
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span><code>piagent-update --check</code> reports the installed Pi package version and any personal Pi conflict.</span></li>
471
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Personal <code>pi</code> exited without an answer when Piagent was loaded twice; <code>piagent-update</code> and the installer now remove the duplicate, with a backup.</span></li>
472
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Old Agent Watch company providers and models in personal Pi are removed once a company binding exists; your own settings stay.</span></li>
473
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Personal Pi refuses to continue a company conversation and says to open it with <code>piagent studio --project &lt;folder&gt;</code> and <code>/resume</code>.</span></li>
474
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span><code>/help</code> in the company Terminal lists commands locally instead of going to the agent, which even started a review.</span></li>
475
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Stopping <code>piagent</code> from a script, editor or timeout now stops the company run under it instead of leaving it running.</span></li>
476
+ </ul>
477
+ </div>
478
+ </div>
479
+ <div class="archive-row" id="v1-28-0">
480
+ <div class="archive-head"><a class="release-version" href="#v1-28-0">v1.28.0</a> <span class="release-date">Oct 17, 2026</span></div>
481
+ <div class="archive-body">
482
+ <p><strong>Team memory v2: each round once, brief restored after compaction</strong> — Each company round reaches team memory exactly once, the brief returns after compaction, and observed check recoveries are kept.</p>
483
+ <ul class="release-items">
484
+ <li data-kind="new"><span class="kind kind-new">New</span><span>After a compaction the agent gets a fresh brief for the latest request, and the conversation keeps exactly one brief.</span></li>
485
+ <li data-kind="new"><span class="kind kind-new">New</span><span>A round carries up to three observed check recoveries (fail, change, pass), redacted, never a guessed cause.</span></li>
486
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Rounds are queued on disk before sending, so a lost reply, a crash or two sessions never record a round twice or under another key.</span></li>
487
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>On Agent Studio 0.27.x rounds still reach memory, so either release order keeps memory growing.</span></li>
488
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>An empty or failed brief is no longer requested again every round, and closing a round waits at most 4.5 seconds.</span></li>
489
+ </ul>
490
+ </div>
491
+ </div>
492
+ <div class="archive-row" id="v1-27-1">
493
+ <div class="archive-head"><a class="release-version" href="#v1-27-1">v1.27.1</a> <span class="release-date">Oct 17, 2026</span></div>
494
+ <div class="archive-body">
495
+ <p><strong>Team memory keeps working while the agent calls the model</strong> — Commits and memory searches made beside a model request no longer fail, so a repository's commits reach team memory again.</p>
496
+ <ul class="release-items">
497
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Memory calls made beside a model request were refused on an expired token; they now renew the token and retry once.</span></li>
498
+ </ul>
499
+ </div>
500
+ </div>
501
+ <div class="archive-row" id="v1-27-0">
502
+ <div class="archive-head"><a class="release-version" href="#v1-27-0">v1.27.0</a> <span class="release-date">Oct 17, 2026</span></div>
503
+ <div class="archive-body">
504
+ <p><strong>Team memory: company agents remember what the team settled</strong> — With team memory on, a new company conversation opens with a short brief of the repository's decisions, rules and work in progress.</p>
505
+ <ul class="release-items">
506
+ <li data-kind="new"><span class="kind kind-new">New</span><span>New company conversations open with a brief from the team's memory of the repository, kept in the conversation for the prompt cache.</span></li>
507
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Each round (your words, the final answer, changed files; never tool output) goes back to memory redacted, and new commits once.</span></li>
508
+ <li data-kind="new"><span class="kind kind-new">New</span><span>The main agent gets <code>memory_search</code> and <code>memory_page</code>; helpers get a read-only <code>memory_search</code>.</span></li>
509
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Memory never fails or slows a turn: calls are bounded, and a team without memory gets no memory traffic or tools.</span></li>
510
+ </ul>
511
+ </div>
512
+ </div>
513
+ <div class="archive-row" id="v1-26-1">
514
+ <div class="archive-head"><a class="release-version" href="#v1-26-1">v1.26.1</a> <span class="release-date">Oct 16, 2026</span></div>
515
+ <div class="archive-body">
516
+ <p><strong>Rename a conversation while its turn runs</strong> — Renaming a conversation mid-turn now takes effect, and a rename, fork or archive that fails says why in words.</p>
517
+ <ul class="release-items">
518
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>A rename, fork or archive that still fails explains why in words, with the code at the end.</span></li>
519
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Renaming a conversation from its menu during a turn showed an error and kept the old name; the rename now lands mid-turn.</span></li>
520
+ </ul>
521
+ </div>
522
+ </div>
523
+ <div class="archive-row" id="v1-26-0">
524
+ <div class="archive-head"><a class="release-version" href="#v1-26-0">v1.26.0</a> <span class="release-date">Oct 15, 2026</span></div>
525
+ <div class="archive-body">
526
+ <p><strong>Dashboard <code>/</code> commands, <code>/undo</code> and dev servers across turns</strong> — Company conversations gain Terminal-style <code>/</code> commands in the dashboard, <code>/undo</code> for the last turn, long-running dev servers and instant type errors.</p>
527
+ <ul class="release-items">
528
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Dashboard <code>/</code> commands such as <code>/new</code>, <code>/fork</code>, <code>/undo</code>, <code>/fast</code> and <code>/bypass</code> run locally, plus ⌘⇧O, ⌘/ and Esc shortcuts.</span></li>
529
+ <li data-kind="new"><span class="kind kind-new">New</span><span><code>/undo</code> restores the files the agent's last turn changed, one turn at a time, without touching your index, HEAD or commits.</span></li>
530
+ <li data-kind="new"><span class="kind kind-new">New</span><span>On macOS a dev server or watcher started by the agent keeps running across turns in the sandbox, for up to 4 hours.</span></li>
531
+ <li data-kind="new"><span class="kind kind-new">New</span><span>After editing a TypeScript or JavaScript file, the agent gets that file's errors from the project's own TypeScript.</span></li>
532
+ <li data-kind="new"><span class="kind kind-new">New</span><span><code>piagent studio --prompt &lt;text&gt; --json</code> writes the same event stream as <code>pi --mode json</code>.</span></li>
533
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Fetching a repository with many branches stopped after 60 seconds; the download now has ten minutes.</span></li>
534
+ </ul>
535
+ </div>
536
+ </div>
537
+ <div class="archive-row" id="v1-25-0">
538
+ <div class="archive-head"><a class="release-version" href="#v1-25-0">v1.25.0</a> <span class="release-date">Oct 13, 2026</span></div>
539
+ <div class="archive-body">
540
+ <p><strong>When the machine lacks something, the agent asks and then runs</strong> — A company conversation no longer gives up on a missing runtime, sign-in or stopped Docker: the agent asks for approval and carries on.</p>
541
+ <ul class="release-items">
542
+ <li data-kind="new"><span class="kind kind-new">New</span><span><code>run_on_host</code> runs one approved command on your machine outside the sandbox, such as installing a runtime or <code>git push</code>; it always asks.</span></li>
543
+ <li data-kind="new"><span class="kind kind-new">New</span><span><code>start_docker</code> asks to start an installed but stopped Docker and waits for it, so <code>run_with_docker</code> works in the same conversation.</span></li>
544
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Every sandbox failure names the way forward instead of “report it and stop”.</span></li>
545
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Steps only you can do, such as a <code>sudo</code> password or an interactive sign-in, are asked with the exact steps and “done, continue” or “skip”.</span></li>
546
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A turn that only read repositories with <code>git -C</code> was counted as a code change and asked for checks three times.</span></li>
547
+ </ul>
548
+ </div>
549
+ </div>
550
+ <div class="archive-row" id="v1-24-0">
551
+ <div class="archive-head"><a class="release-version" href="#v1-24-0">v1.24.0</a> <span class="release-date">Oct 13, 2026</span></div>
552
+ <div class="archive-body">
553
+ <p><strong>Choose Fast when a company conversation starts</strong> — The new chat page offers a Fast switch when the team's Harness allows it, and the switch turns amber while on.</p>
554
+ <ul class="release-items">
555
+ <li data-kind="new"><span class="kind kind-new">New</span><span>“Fast: tắt / Fast: bật” next to the company model makes a new conversation run Fast from its first message.</span></li>
556
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>The Fast switch in the header turns amber while on, since its calls count 2.5 times toward the quota.</span></li>
557
+ </ul>
558
+ </div>
559
+ </div>
560
+ <div class="archive-row" id="v1-23-1">
561
+ <div class="archive-head"><a class="release-version" href="#v1-23-1">v1.23.1</a> <span class="release-date">Oct 13, 2026</span></div>
562
+ <div class="archive-body">
563
+ <p><strong>Agent questions wait at the end of the conversation</strong> — Questions and approvals now sit right above the composer, so a long turn no longer pushes them out of view.</p>
564
+ <ul class="release-items">
565
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>The question card has larger text and roomier options, and “Let the agent decide” no longer outweighs “Send answer”.</span></li>
566
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A long turn pushed a waiting question out of view; questions now come last and the page scrolls to them.</span></li>
567
+ </ul>
568
+ </div>
569
+ </div>
570
+ <div class="archive-row" id="v1-23-0">
571
+ <div class="archive-head"><a class="release-version" href="#v1-23-0">v1.23.0</a> <span class="release-date">Oct 13, 2026</span></div>
572
+ <div class="archive-body">
573
+ <p><strong>Fast mode for company conversations, tool failures sent to Studio</strong> — Where the Harness allows it, a Fast switch gets faster GPT answers at 2.5× quota, and failed tool calls are reported to Agent Studio.</p>
574
+ <ul class="release-items">
575
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Fast mode via the dashboard switch or <code>/fast on|off|status</code>: same GPT model and thinking, faster, tokens counted 2.5 times.</span></li>
576
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Failed tool calls in company runs are reported to Agent Studio with secrets redacted and no prompts.</span></li>
577
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>On Claude or API-key models Fast adds nothing, and a refused fast request falls back to standard speed with a note.</span></li>
578
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>After an admin changed the Harness, a new company conversation never sent its first message; it now starts at an allowed level.</span></li>
579
+ </ul>
580
+ </div>
581
+ </div>
582
+ <div class="archive-row" id="v1-22-1">
583
+ <div class="archive-head"><a class="release-version" href="#v1-22-1">v1.22.1</a> <span class="release-date">Oct 12, 2026</span></div>
584
+ <div class="archive-body">
585
+ <p><strong>Dashboard no longer hangs on a slow file system</strong> — A project on a Windows drive seen from WSL no longer leaves the dashboard stuck on “Opening Piagent…”.</p>
586
+ <ul class="release-items">
587
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>On Windows, keep projects in the Ubuntu file system (<code>~/projects</code>); under <code>/mnt/c</code> or <code>/mnt/d</code> they work but stay slow.</span></li>
588
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>On Windows the dashboard could stay on “Opening Piagent…”; it now waits 15 seconds for the company runtime and opens anyway.</span></li>
589
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Git gets 8 seconds per repository to list changed files; a slower one is shown without them and retried after 5 minutes.</span></li>
590
+ </ul>
591
+ </div>
592
+ </div>
593
+ <div class="archive-row" id="v1-22-0">
594
+ <div class="archive-head"><a class="release-version" href="#v1-22-0">v1.22.0</a> <span class="release-date">Oct 9, 2026</span></div>
595
+ <div class="archive-body">
596
+ <p><strong>Attach any source or text file</strong> — Any text file can be attached under its own name, binaries are refused up front with an alternative, and messages with files show once.</p>
597
+ <ul class="release-items">
598
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Attach <code>.html</code>, <code>.css</code>, <code>.ts</code>, <code>.py</code>, <code>.go</code>, <code>.sql</code> and any other text file, including <code>Dockerfile</code> or <code>Makefile</code>, under its own name.</span></li>
599
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Binary formats are refused before upload with what to send instead, such as .csv for spreadsheets or .pdf for slide decks.</span></li>
600
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A message with a file showed twice after its turn, once with the raw file contents; now only your text and the file card show.</span></li>
601
+ </ul>
602
+ </div>
603
+ </div>
604
+ <div class="archive-row" id="v1-21-1">
605
+ <div class="archive-head"><a class="release-version" href="#v1-21-1">v1.21.1</a> <span class="release-date">Oct 9, 2026</span></div>
606
+ <div class="archive-body">
607
+ <p><strong>Turn on Bypass while a turn runs, and it stays on</strong> — A company conversation can switch between Ask first and Bypass at any time, and the next commands follow the new choice.</p>
608
+ <ul class="release-items">
609
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>A command already waiting keeps its Allow or Deny card, and the result of a switch shows in a notice at the top.</span></li>
610
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Turning on Bypass while a command waited for approval looked done but did not take; it now applies mid-turn and is kept.</span></li>
611
+ </ul>
612
+ </div>
613
+ </div>
614
+ <div class="archive-row" id="v1-21-0">
615
+ <div class="archive-head"><a class="release-version" href="#v1-21-0">v1.21.0</a> <span class="release-date">Oct 9, 2026</span></div>
616
+ <div class="archive-body">
617
+ <p><strong>Decisions one card at a time, alerts from other conversations</strong> — Questions and approvals show one card at a time, other conversations announce when they finish or wait for you, and Studio logs compactions.</p>
618
+ <ul class="release-items">
619
+ <li data-kind="new"><span class="kind kind-new">New</span><span>A toast says when another conversation finishes, fails, stops or waits for you, and “Mở” opens it.</span></li>
620
+ <li data-kind="new"><span class="kind kind-new">New</span><span>The sidebar marks conversations waiting for you or finished unseen, and the tab title counts what waits.</span></li>
621
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Studio logs each context compaction of a company conversation with its reason and size before and after; no summary text is sent.</span></li>
622
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Questions and approvals show one card at a time with steps such as “Việc cần bạn quyết · 1/3”, main agent first.</span></li>
623
+ </ul>
624
+ </div>
625
+ </div>
626
+ <div class="archive-row" id="v1-20-0">
627
+ <div class="archive-head"><a class="release-version" href="#v1-20-0">v1.20.0</a> <span class="release-date">Oct 9, 2026</span></div>
628
+ <div class="archive-body">
629
+ <p><strong>Package installs in the company sandbox no longer ask</strong> — Plain commands reach the usual package registries through a restricted proxy, long subagents keep running, and review reads earlier commits.</p>
630
+ <ul class="release-items">
631
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Installs from npm and other common registries run without approval through a proxy that allows only those hosts.</span></li>
632
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Add your own registry hosts in <code>~/.piagent/sandbox-domains</code>, one per line; registry credentials stay out of the sandbox.</span></li>
633
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Bypass runs <code>run_with_docker</code> without asking; pushes, deploys, registry logins and unclear deletes still ask.</span></li>
634
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A subagent working longer than 15 minutes was stopped and the turn aborted; it now keeps running.</span></li>
635
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>The review subagent said “no patch” for work committed earlier; it now reads commits since a given commit, branch or <code>HEAD~N</code>.</span></li>
636
+ </ul>
637
+ </div>
638
+ </div>
639
+ <div class="archive-row" id="v1-19-0">
640
+ <div class="archive-head"><a class="release-version" href="#v1-19-0">v1.19.0</a> <span class="release-date">Oct 8, 2026</span></div>
641
+ <div class="archive-body">
642
+ <p><strong>Checklist tasks carried to the end, Docker in the company sandbox</strong> — The Harness carries a checklist task to its end, every turn says how it ended, Docker is available for approved commands, and multi-repo folders work.</p>
643
+ <ul class="release-items">
644
+ <li data-kind="new"><span class="kind kind-new">New</span><span>When the Harness requires a plan, it sends the agent on to the next open checklist step until done, stopped or stalled.</span></li>
645
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Every company turn ends with a status line such as “Hoàn thành · n/n bước”, with Continue when the task is not finished.</span></li>
646
+ <li data-kind="new"><span class="kind kind-new">New</span><span><code>run_with_docker</code> runs one approved command with internet and Docker, for test databases, builds or container tests.</span></li>
647
+ <li data-kind="new"><span class="kind kind-new">New</span><span>A folder holding several repositories shows “N repo”, with each repository's branch and changed files.</span></li>
648
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Steps you postpone are marked deferred, never completed, and <code>./mvnw</code> and <code>./gradlew</code> reuse distributions already on the machine.</span></li>
649
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A turn that committed its change counted as “no code changed”; checks and review now apply to committed work.</span></li>
650
+ </ul>
651
+ </div>
652
+ </div>
653
+ <div class="archive-row" id="v1-18-0">
654
+ <div class="archive-head"><a class="release-version" href="#v1-18-0">v1.18.0</a> <span class="release-date">Oct 8, 2026</span></div>
655
+ <div class="archive-body">
656
+ <p><strong>Switch Git branch from the dashboard, retries, Claude Haiku 5.5</strong> — The branch in the dashboard becomes a switcher, passing model failures are retried before showing, and Claude Haiku 5.5 is available.</p>
657
+ <ul class="release-items">
658
+ <li data-kind="new"><span class="kind kind-new">New</span><span>The Git branch in the header and status bar lists branches to switch to, or creates a new one from the current commit.</span></li>
659
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Claude Haiku 5.5 can be used in company conversations when Studio offers it, and joins the personal Claude model scope.</span></li>
660
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>A branch switch waits while any conversation in that folder runs, and shows Git's own reason when Git refuses.</span></li>
661
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>A company answer cut off for a passing reason is retried up to twice before the failure shows; quota or key errors fail at once.</span></li>
662
+ </ul>
663
+ </div>
664
+ </div>
665
+ <div class="archive-row" id="v1-17-0">
666
+ <div class="archive-head"><a class="release-version" href="#v1-17-0">v1.17.0</a> <span class="release-date">Oct 8, 2026</span></div>
667
+ <div class="archive-body">
668
+ <p><strong>The dashboard shows each project's Git branch</strong> — The dashboard shows which Git branch each conversation's project is on, and warns when HEAD is detached.</p>
669
+ <ul class="release-items">
670
+ <li data-kind="new"><span class="kind kind-new">New</span><span>The branch shows under the chat title, in the status bar and beside each project group in the sidebar, worktrees included.</span></li>
671
+ <li data-kind="new"><span class="kind kind-new">New</span><span>A detached HEAD shows its short commit in the warning colour, since work there belongs to no branch.</span></li>
672
+ </ul>
673
+ </div>
674
+ </div>
675
+ <div class="archive-row" id="v1-16-3">
676
+ <div class="archive-head"><a class="release-version" href="#v1-16-3">v1.16.3</a> <span class="release-date">Oct 8, 2026</span></div>
677
+ <div class="archive-body">
678
+ <p><strong>Dashboard keeps checking for updates after updating itself</strong> — After an update from the dashboard's button, the dashboard checks for the next release again.</p>
679
+ <ul class="release-items">
680
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Updating from the button restarted the dashboard with update checks off until the machine restarted; this is fixed from any release.</span></li>
681
+ </ul>
682
+ </div>
683
+ </div>
684
+ <div class="archive-row" id="v1-16-2">
685
+ <div class="archive-head"><a class="release-version" href="#v1-16-2">v1.16.2</a> <span class="release-date">Oct 8, 2026</span></div>
686
+ <div class="archive-body">
687
+ <p><strong>The Terminal says what the dashboard says</strong> — The Terminal now offers updates, a <code>/bypass</code> switch, and the dashboard's explanations for network commands and failures.</p>
688
+ <ul class="release-items">
689
+ <li data-kind="breaking"><span class="kind kind-breaking">Breaking</span><span>The company launcher changed: if <code>piagent studio</code> reports the setup changed, import it again in Agent Watch → Studio.</span></li>
690
+ <li data-kind="new"><span class="kind kind-new">New</span><span><code>pi</code> and <code>piagent studio</code> offer a new Piagent between turns with “Cập nhật ngay” or “Để sau”; <code>/piagent-update</code> checks at once.</span></li>
691
+ <li data-kind="new"><span class="kind kind-new">New</span><span><code>/bypass</code> in <code>piagent studio</code> switches between asking first and Bypass, and the footer shows “Bypass” while on.</span></li>
692
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Network command prompts, failed requests and Harness notes read in the dashboard's Vietnamese wording.</span></li>
693
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A slash command of a company Terminal extension was sent to the model as a message.</span></li>
694
+ </ul>
695
+ </div>
696
+ </div>
697
+ <div class="archive-row" id="v1-16-1">
698
+ <div class="archive-head"><a class="release-version" href="#v1-16-1">v1.16.1</a> <span class="release-date">Oct 7, 2026</span></div>
699
+ <div class="archive-body">
700
+ <p><strong>New releases announced in a dialog and checked every hour</strong> — A dialog announces each new release, checks run hourly, and a dashboard tab no longer loses its sign-in to another local Piagent server.</p>
701
+ <ul class="release-items">
702
+ <li data-kind="new"><span class="kind kind-new">New</span><span>A dialog shows what a new release changes with “Update now”; “Later” asks again after an hour.</span></li>
703
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>The dashboard and the Terminal check for a new release every hour.</span></li>
704
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A dashboard tab lost its sign-in when another local Piagent server signed in; each port now has its own cookie.</span></li>
705
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A signed-out tab stops polling and says how to reopen Piagent with <code>piagent dashboard</code> or Agent Watch.</span></li>
706
+ </ul>
707
+ </div>
708
+ </div>
709
+ <div class="archive-row" id="v1-16-0">
710
+ <div class="archive-head"><a class="release-version" href="#v1-16-0">v1.16.0</a> <span class="release-date">Oct 7, 2026</span></div>
711
+ <div class="archive-body">
712
+ <p><strong>Bypass for company conversations</strong> — Company conversations can run in Bypass, where network commands run without asking but anything that pushes or deletes still asks.</p>
713
+ <ul class="release-items">
714
+ <li data-kind="new"><span class="kind kind-new">New</span><span>In Bypass, installs, downloads, <code>git pull</code> and tests with a server or browser run without asking; Ask first stays the default.</span></li>
715
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Personal sessions with full access no longer ask before a broad <code>git add</code>.</span></li>
716
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A helper added to the Harness during a conversation can be used from the next message.</span></li>
717
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Bypass still asks before <code>git push</code>, deploys, uploads, migrations, unclear deletes and <code>sudo</code>, and says why.</span></li>
718
+ </ul>
719
+ </div>
720
+ </div>
721
+ <div class="archive-row" id="v1-15-2">
722
+ <div class="archive-head"><a class="release-version" href="#v1-15-2">v1.15.2</a> <span class="release-date">Oct 7, 2026</span></div>
723
+ <div class="archive-body">
724
+ <p><strong>Long company conversations compact again, and earlier</strong> — Summaries of long company conversations work again and start at 90% of the model's window, never later than 300k tokens.</p>
725
+ <ul class="release-items">
726
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Compaction starts at 90% of the window and never later than 300k tokens, keeping about the last 20k tokens verbatim.</span></li>
727
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Long company conversations could not be summarised and kept growing past the model's window; summaries now use the run's grant.</span></li>
728
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A failed summary is retried after 1, 2, 4 … minutes (at most 30) instead of before every step.</span></li>
729
+ </ul>
730
+ </div>
731
+ </div>
732
+ <div class="archive-row" id="v1-15-1">
733
+ <div class="archive-head"><a class="release-version" href="#v1-15-1">v1.15.1</a> <span class="release-date">Oct 7, 2026</span></div>
734
+ <div class="archive-body">
735
+ <p><strong>Studio sees what each company model call is for</strong> — Each company model call tells Studio its purpose, and several conversations in one folder keep their changes apart.</p>
736
+ <ul class="release-items">
737
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Each company model call tells Studio what it is for, such as an answer, a summary or a subagent brief; no other prompt text is sent.</span></li>
738
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span><code>piagent doctor</code> and other <code>piagent &lt;command&gt;</code> forms run <code>piagent-&lt;command&gt;</code>.</span></li>
739
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Several company conversations in one folder took each other's edits; checks and review now follow each conversation's own files.</span></li>
740
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A new company conversation whose runtime fails to open says why, and Archive and Restart work without restarting the dashboard.</span></li>
741
+ </ul>
742
+ </div>
743
+ </div>
744
+ <div class="archive-row" id="v1-15-0">
745
+ <div class="archive-head"><a class="release-version" href="#v1-15-0">v1.15.0</a> <span class="release-date">Oct 7, 2026</span></div>
746
+ <div class="archive-body">
747
+ <p><strong>A refused subagent says why, long noisy commands finish</strong> — A company subagent Studio refuses now gives Studio's reason, and long commands that print a lot are no longer stopped.</p>
748
+ <ul class="release-items">
749
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>A company command writing to <code>/tmp</code> is told to use <code>$TMPDIR</code> or the project.</span></li>
750
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Every refused subagent said the key, Harness or run had changed; it now gives Studio's actual reason.</span></li>
751
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Commands that printed for more than about 25 seconds, such as test suites or builds, were stopped as too large; they now finish.</span></li>
752
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span><code>piagent-update</code> from <code>npm exec</code> installs a lasting helper, and on Windows Pi is found in custom npm prefixes.</span></li>
753
+ </ul>
754
+ </div>
755
+ </div>
756
+ <div class="archive-row" id="v1-14-0">
757
+ <div class="archive-head"><a class="release-version" href="#v1-14-0">v1.14.0</a> <span class="release-date">Oct 6, 2026</span></div>
758
+ <div class="archive-body">
759
+ <p><strong>Updates keep each member's Pi model choices</strong> — Updates set Pi's default model and model list only on first install, then keep yours and add only newly offered models.</p>
760
+ <ul class="release-items">
761
+ <li data-kind="new"><span class="kind kind-new">New</span><span><code>piagent-update -- --reset-model-scope</code> applies Piagent's preset over your choices.</span></li>
762
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Windows installs with one PowerShell command, and the docs site has a Windows install page with fixes for failed installs.</span></li>
763
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span><code>piagent-update</code>, the dashboard update and <code>piagent-setup</code> keep your default model and list; a model you removed is not added back.</span></li>
764
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span><code>piagent-update</code> in WSL2 no longer warns that WSL2 is experimental.</span></li>
765
+ </ul>
766
+ </div>
767
+ </div>
768
+ <div class="archive-row" id="v1-13-1">
769
+ <div class="archive-head"><a class="release-version" href="#v1-13-1">v1.13.1</a> <span class="release-date">Oct 6, 2026</span></div>
770
+ <div class="archive-body">
771
+ <p><strong>Conversations keep their place, agent text is formatted</strong> — Reopening a conversation no longer jumps to its first message, and text between tool calls is formatted like the final answer.</p>
772
+ <ul class="release-items">
773
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Updating from 1.13.0 needs no new Agent Watch import; from 1.12 or earlier, import again as for 1.13.0.</span></li>
774
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Opening a conversation jumped to its first message; it now keeps its place, or opens at the newest message.</span></li>
775
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Text between tool calls showed raw markdown; it is now formatted like the final answer.</span></li>
776
+ </ul>
777
+ </div>
778
+ </div>
779
+ <div class="archive-row" id="v1-13-0">
780
+ <div class="archive-head"><a class="release-version" href="#v1-13-0">v1.13.0</a> <span class="release-date">Oct 6, 2026</span></div>
781
+ <div class="archive-body">
782
+ <p><strong>Piagent on Windows through WSL2</strong> — Company conversations run on Linux and WSL2 in a sandbox with the macOS guarantees; personal mode on Windows itself is a preview.</p>
783
+ <ul class="release-items">
784
+ <li data-kind="breaking"><span class="kind kind-breaking">Breaking</span><span>After updating, each member imports the Piagent configuration again in Agent Watch, since the company launcher changed.</span></li>
785
+ <li data-kind="new"><span class="kind kind-new">New</span><span>The Linux sandbox keeps the project writable, other folders read-only, credentials empty and unapproved commands offline.</span></li>
786
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Agent Watch for Windows binds Piagent in WSL, and <code>piagent studio --doctor</code> checks each sandbox guarantee.</span></li>
787
+ <li data-kind="new"><span class="kind kind-new">New</span><span>From WSL, the folder picker is the Windows dialog and links open in the Windows browser.</span></li>
788
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Several Windows path, loader and file-saving bugs that stopped the guard, dashboard and <code>piagent</code> are fixed.</span></li>
789
+ </ul>
790
+ </div>
791
+ </div>
792
+ <div class="archive-row" id="v1-12-1">
793
+ <div class="archive-head"><a class="release-version" href="#v1-12-1">v1.12.1</a> <span class="release-date">Oct 6, 2026</span></div>
794
+ <div class="archive-body">
795
+ <p><strong>Forked company conversations take messages again</strong> — A forked company conversation now accepts messages; forks made with 1.12.0 or earlier must be forked again.</p>
796
+ <ul class="release-items">
797
+ <li data-kind="breaking"><span class="kind kind-breaking">Breaking</span><span>Forks made with 1.12.0 or earlier stay unreachable: fork the source conversation again after updating.</span></li>
798
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Every message to a forked company conversation returned “The message was not sent”; forks now work.</span></li>
799
+ </ul>
800
+ </div>
801
+ </div>
802
+ <div class="archive-row" id="v1-12-0">
803
+ <div class="archive-head"><a class="release-version" href="#v1-12-0">v1.12.0</a> <span class="release-date">Oct 6, 2026</span></div>
804
+ <div class="archive-body">
805
+ <p><strong>@ any file or folder, skills with /, tests in the company sandbox</strong> — @ picks any file or folder, agents read outside folders read-only, existing skills work with /, and common test suites run in the sandbox.</p>
806
+ <ul class="release-items">
807
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Typing @ offers the project's files and folders, and after <code>~/</code>, <code>/</code> or <code>../</code> any folder on this Mac.</span></li>
808
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Agents read folders you point to outside the project, read-only; hidden home files, <code>~/Library</code> and credential files stay closed.</span></li>
809
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Skills and commands in the project's and your agent folders, such as <code>.pi</code> and <code>.agents/skills</code>, work with <code>/command</code> or <code>/skill:name</code>.</span></li>
810
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Tests of common languages run in company conversations, with per-project package caches and local servers reachable.</span></li>
811
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>An unsent message stays in each conversation and the new chat across switching and reloads.</span></li>
812
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Personal conversations could edit <code>~/</code> paths outside the project; the guard now checks the path the tool actually opens.</span></li>
813
+ </ul>
814
+ </div>
815
+ </div>
816
+ <div class="archive-row" id="v1-11-1">
817
+ <div class="archive-head"><a class="release-version" href="#v1-11-1">v1.11.1</a> <span class="release-date">Oct 5, 2026</span></div>
818
+ <div class="archive-body">
819
+ <p><strong>Updates end on the new release's dashboard</strong> — Whether started from the dashboard or <code>piagent-update</code>, an update now ends with the dashboard running the installed release.</p>
820
+ <ul class="release-items">
821
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>An update from the dashboard installed the release but could not restart the dashboard on npm installs; it now restarts.</span></li>
822
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>After <code>piagent-update</code>, <code>piagent dashboard</code> reused the old release's dashboard; it now restarts on the installed one.</span></li>
823
+ </ul>
824
+ </div>
825
+ </div>
826
+ <div class="archive-row" id="v1-11-0">
827
+ <div class="archive-head"><a class="release-version" href="#v1-11-0">v1.11.0</a> <span class="release-date">Oct 5, 2026</span></div>
828
+ <div class="archive-body">
829
+ <p><strong>One-click updates and an editor-style dashboard</strong> — The dashboard checks for and installs Piagent and Pi updates itself, and gains a status bar, a command palette and searchable Settings.</p>
830
+ <ul class="release-items">
831
+ <li data-kind="new"><span class="kind kind-new">New</span><span>The dashboard checks for a new release on open and every 6 hours, and shows it in the status bar and Settings.</span></li>
832
+ <li data-kind="new"><span class="kind kind-new">New</span><span>One click updates Pi and Piagent together, with Pi kept on the version Piagent pins; it is locked while a turn runs.</span></li>
833
+ <li data-kind="new"><span class="kind kind-new">New</span><span>A command palette (⌘K / Ctrl+K) reaches actions, settings and conversations by name, ignoring Vietnamese accents.</span></li>
834
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Settings can be searched by what a setting does, with grouped sections and a Shortcuts section.</span></li>
835
+ </ul>
836
+ </div>
837
+ </div>
838
+ <div class="archive-row" id="v1-10-0">
839
+ <div class="archive-head"><a class="release-version" href="#v1-10-0">v1.10.0</a> <span class="release-date">Oct 5, 2026</span></div>
840
+ <div class="archive-body">
841
+ <p><strong>Agent asks when unclear, subagents can object to a brief</strong> — The main agent asks you numbered questions when a decision is open, and subagents can object to a brief with evidence.</p>
842
+ <ul class="release-items">
843
+ <li data-kind="new"><span class="kind kind-new">New</span><span>The main agent asks 1–4 questions with numbered options and “Other” when the request leaves a decision open, then waits.</span></li>
844
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Subagents read your request verbatim and can object to a brief with evidence; a second objection goes to you.</span></li>
845
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>A subagent out of quota or whose account is resting runs again on the Harness's fallback model.</span></li>
846
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>A patch larger than 120 KB is reviewed in parts and the findings merge, instead of stopping the review.</span></li>
847
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A check that returns an error result now counts as failed, so a required check never passes on a failing run.</span></li>
848
+ </ul>
849
+ </div>
850
+ </div>
851
+ <div class="archive-row" id="v1-9-3">
852
+ <div class="archive-head"><a class="release-version" href="#v1-9-3">v1.9.3</a> <span class="release-date">Oct 3, 2026</span></div>
853
+ <div class="archive-body">
854
+ <p><strong>Vietnamese typing no longer sends twice, helpers read less</strong> — Enter used by an input method no longer sends, a double Enter sends once, and helpers read less of each web page.</p>
855
+ <ul class="release-items">
856
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>A helper reads at most 20,000 characters of a web page (12,000 by default), cutting token use on research.</span></li>
857
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>An Enter that commits text from a Vietnamese input method sent the message; it now only finishes the word.</span></li>
858
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Pressing Enter twice could create two identical conversations; it now creates one and sends one message.</span></li>
859
+ </ul>
860
+ </div>
861
+ </div>
862
+ <div class="archive-row" id="v1-9-2">
863
+ <div class="archive-head"><a class="release-version" href="#v1-9-2">v1.9.2</a> <span class="release-date">Oct 3, 2026</span></div>
864
+ <div class="archive-body">
865
+ <p><strong>Web work goes to the research helper, chat stays in place</strong> — With a research helper, web work runs on its model and only a summary reaches the main agent; sending no longer jumps the page.</p>
866
+ <ul class="release-items">
867
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>With a research helper in the Harness, searches and page reads run on its model and only its summary with sources returns.</span></li>
868
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Each search result names the engine that answered it.</span></li>
869
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Sending a message in a long company conversation jumped the page to the top; the history now stays in place.</span></li>
870
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>The helper count shows the number the Harness enables instead of a fixed 2.</span></li>
871
+ </ul>
872
+ </div>
873
+ </div>
874
+ <div class="archive-row" id="v1-9-1">
875
+ <div class="archive-head"><a class="release-version" href="#v1-9-1">v1.9.1</a> <span class="release-date">Oct 3, 2026</span></div>
876
+ <div class="archive-body">
877
+ <p><strong>Scout and verify helpers, web search for every company role</strong> — Two more company helpers, web search for every role through the team's search pool, and type checks and end-to-end tests in the sandbox.</p>
878
+ <ul class="release-items">
879
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Scout reads the project only and answers with <code>file:line</code> facts; verify runs checks offline and rates each claim with evidence.</span></li>
880
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Company <code>web_search</code> uses the team's search pool for every role, so roles on API-key models can search too.</span></li>
881
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>A command's own timeout, up to 30 minutes, now extends the 10-minute limit.</span></li>
882
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Type checks, test runners and end-to-end suites that the sandbox used to stop now run, with credential files hidden.</span></li>
883
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span><code>piagent-install</code> and <code>piagent-setup</code> no longer suggest commands that 1.9.0 retired, which would have started a paid turn.</span></li>
884
+ </ul>
885
+ </div>
886
+ </div>
887
+ <div class="archive-row" id="v1-9-0">
888
+ <div class="archive-head"><a class="release-version" href="#v1-9-0">v1.9.0</a> <span class="release-date">Oct 2, 2026</span></div>
889
+ <div class="archive-body">
890
+ <p><strong>Freeform sessions and the team Harness</strong> — The task contract and workflow commands are gone: you ask in plain language, the guard checks every tool call, and company mode runs the team's Harness.</p>
891
+ <ul class="release-items">
892
+ <li data-kind="breaking"><span class="kind kind-breaking">Breaking</span><span>Retired the task contract and <code>/workflow</code>, <code>/fresh</code>, <code>/onboard</code> and related commands; ask in plain language instead.</span></li>
893
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Company sessions run the team's Harness from Studio: plan, checks and review each turn, suggested or required, with bounded fix loops.</span></li>
894
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>When every company model account is busy, a request waits in line for up to 20 minutes instead of failing.</span></li>
895
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Approved network commands always failed with <code>ENOTFOUND</code>; <code>run_with_network</code> now resolves host names.</span></li>
896
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>The dashboard was slow with many conversations and left messages sent after Stop unconfirmed; both are fixed.</span></li>
897
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Agent Studio credentials are now redacted in edit previews, command output and the gateway stream.</span></li>
898
+ </ul>
899
+ </div>
900
+ </div>
901
+ </details>
902
+ <details class="release-archive">
903
+ <summary><span>September 2026</span><span class="archive-count">2</span></summary>
904
+ <div class="archive-row" id="v1-8-0">
905
+ <div class="archive-head"><a class="release-version" href="#v1-8-0">v1.8.0</a> <span class="release-date">Sep 23, 2026</span></div>
906
+ <div class="archive-body">
907
+ <p><strong>GPT-6 Astra, Sol and Luna models</strong> — Pins Pi to 0.87.1 so authenticated sessions and the WebUI can list GPT-6 Astra, Sol and Luna, and adds a GPT-6 routing map.</p>
908
+ <ul class="release-items">
909
+ <li data-kind="new"><span class="kind kind-new">New</span><span>GPT-6 Astra, Sol and Luna appear in authenticated sessions and the WebUI; Pi's catalog decides availability.</span></li>
910
+ <li data-kind="new"><span class="kind kind-new">New</span><span>New parent-routing map: Luna Medium for bounded work, Sol Medium/High for everyday work, Astra Extra High for broad work.</span></li>
911
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Parent routing stays off by default and explicit model pins are unchanged.</span></li>
912
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>New setup and WebUI sessions prefer GPT-6 Sol High; existing sessions and explicit settings are not rewritten.</span></li>
913
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>If a GPT-6 target is unavailable, the router records a 5.6 fallback instead of substituting it silently.</span></li>
914
+ </ul>
915
+ </div>
916
+ </div>
917
+ <div class="archive-row" id="v1-7-1">
918
+ <div class="archive-head"><a class="release-version" href="#v1-7-1">v1.7.1</a> <span class="release-date">Sep 23, 2026</span></div>
919
+ <div class="archive-body">
920
+ <p><strong>Pi 0.86.1, requested pauses and diagnostic acceptance</strong> — Replaces the unpublished v1.7.0, updates Pi to 0.86.1, adds a wait tool for requested pauses and makes acceptance proof diagnostic by default.</p>
921
+ <ul class="release-items">
922
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added a wait tool for pauses you request inside a session; it does not call the model while waiting.</span></li>
923
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Updated Pi to 0.86.1, keeping the selected model and thinking level while correcting usage and WebUI settlement.</span></li>
924
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Acceptance proof is diagnostic by default: unproved criteria stay pending; strict mode remains available by policy.</span></li>
925
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Task usage, timing and context delivery are bound to the active task, and unsupported context files are filtered out.</span></li>
926
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>The release CI limit is raised to 75 minutes after the v1.7.0 macOS gate timed out.</span></li>
927
+ </ul>
928
+ </div>
929
+ </div>
930
+ </details>
931
+ <details class="release-archive">
932
+ <summary><span>not published</span><span class="archive-count">1</span></summary>
933
+ <div class="archive-row" id="v1-7-0">
934
+ <div class="archive-head"><a class="release-version" href="#v1-7-0">v1.7.0</a></div>
935
+ <div class="archive-body">
936
+ <p><strong>Not published; use v1.7.1</strong> <span class="tag">not published</span> — The tag exists, but its macOS gate timed out twice at 40 minutes, so no npm package or GitHub Release was created.</p>
937
+ <ul class="release-items">
938
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>No <code>@piagent/platform@1.7.0</code> package exists; install v1.7.1 instead.</span></li>
939
+ </ul>
940
+ </div>
941
+ </div>
942
+ </details>
943
+ <details class="release-archive">
944
+ <summary><span>August 2026</span><span class="archive-count">30</span></summary>
945
+ <div class="archive-row" id="v1-6-1">
946
+ <div class="archive-head"><a class="release-version" href="#v1-6-1">v1.6.1</a> <span class="release-date">Aug 26, 2026</span></div>
947
+ <div class="archive-body">
948
+ <p><strong>Truthful WebUI state and read-only source review</strong> — The WebUI no longer shows success before a task ends, Git host links can be reviewed read-only, and subagent use is capped at one helper.</p>
949
+ <ul class="release-items">
950
+ <li data-kind="new"><span class="kind kind-new">New</span><span>A GitHub or other Git host link can be checked out for read-only review, up to eight sources, cleaned up at session end.</span></li>
951
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Subagents are limited to one read-only helper with bounded calls, turns and runtime, and no automatic retry.</span></li>
952
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A pending task could show a completed message or success bubble; drafts now stay hidden until the task ends.</span></li>
953
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Rejected or evidence-free helper calls could later show as passed in Activity; they now stay visible as failures.</span></li>
954
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Attachments and workflow wrappers no longer replace your actual request when a task starts.</span></li>
955
+ </ul>
956
+ </div>
957
+ </div>
958
+ <div class="archive-row" id="v1-6-0">
959
+ <div class="archive-head"><a class="release-version" href="#v1-6-0">v1.6.0</a> <span class="release-date">Aug 24, 2026</span></div>
960
+ <div class="archive-body">
961
+ <p><strong>Leaner context, redacted snapshots, steadier WebUI</strong> — One criterion-aware context pack replaces overlapping discovery, source snapshots are redacted before reaching the model, and the WebUI recovers after reloads.</p>
962
+ <ul class="release-items">
963
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>One criterion-aware initial context pack replaces overlapping discovery and puts explicit targets and their tests first.</span></li>
964
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>New installations default to GPT-5.6 Sol with High thinking; you can still pick another model per message or session.</span></li>
965
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Reloads and multiple browser tabs agree on the running operation, and concurrent Stop requests share one termination.</span></li>
966
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>A token-reduction claim is published only after a complete zero-retry 108-session run on the exact tagged release.</span></li>
967
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Empty provider output could create a blank success bubble in the conversation; it no longer does.</span></li>
968
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Automatic source snapshots are redacted before reaching the provider, including short and numeric secret values.</span></li>
969
+ </ul>
970
+ </div>
971
+ </div>
972
+ <div class="archive-row" id="v1-5-5">
973
+ <div class="archive-head"><a class="release-version" href="#v1-5-5">v1.5.5</a> <span class="release-date">Aug 21, 2026</span></div>
974
+ <div class="archive-body">
975
+ <p><strong>WebUI command execution hotfix</strong> — Fixes approvals that fell back to a missing terminal prompt, search commands mistaken for migrations, and sessions stuck after Stop.</p>
976
+ <ul class="release-items">
977
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Some tool calls fell back to a terminal confirmation that does not exist in the WebUI; they are now approved in the WebUI.</span></li>
978
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span><code>rg</code> and <code>grep</code> with <code>migrate</code> in their arguments were treated as migrations; real migrations still need confirmation.</span></li>
979
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Stop could leave a session waiting on an approval; it now cancels the pending approval first.</span></li>
980
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Dashboard restart could silently reuse a hung instance; it now waits for the old process to exit.</span></li>
981
+ </ul>
982
+ </div>
983
+ </div>
984
+ <div class="archive-row" id="v1-5-4">
985
+ <div class="archive-head"><a class="release-version" href="#v1-5-4">v1.5.4</a> <span class="release-date">Aug 20, 2026</span></div>
986
+ <div class="archive-body">
987
+ <p><strong>WebUI workflow hotfix</strong> — New WebUI sessions no longer report an unknown command effect after the turn started, and completed turns no longer appear twice.</p>
988
+ <ul class="release-items">
989
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>While sync is still in progress, the UI opens the known session and blocks a resend that could run the request twice.</span></li>
990
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>New WebUI sessions reported an unknown command effect although Pi had started the turn; this is fixed.</span></li>
991
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Completed turns appeared twice in the transcript; they now appear once.</span></li>
992
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A slow model-catalog refresh could undo a model or thinking change you just made and leave the button disabled.</span></li>
993
+ </ul>
994
+ </div>
995
+ </div>
996
+ <div class="archive-row" id="v1-5-3">
997
+ <div class="archive-head"><a class="release-version" href="#v1-5-3">v1.5.3</a> <span class="release-date">Aug 20, 2026</span></div>
998
+ <div class="archive-body">
999
+ <p><strong>WebUI and Terminal parity</strong> — The Session Hub gains ten per-message workflows, a simpler new-session composer and Project Controls, plus a new deep-logic benchmark.</p>
1000
+ <ul class="release-items">
1001
+ <li data-kind="new"><span class="kind kind-new">New</span><span>The Session Hub offers ten per-message workflows; after sending, the composer returns to Freeform.</span></li>
1002
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Project Controls cover runtime, usage, onboarding, Context Engine, memory and MCP; changes ask for confirmation.</span></li>
1003
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added the <code>deep-logic-v1</code> benchmark: six large problems, run with Piagent and <code>codex-cli</code> on GPT-5.6 Luna Medium.</span></li>
1004
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>The new-session composer shows project, model and send; advanced choices sit behind a <code>+</code> control.</span></li>
1005
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span><code>capability-v1</code> grows from four to six families with 69 atomic checks.</span></li>
1006
+ </ul>
1007
+ </div>
1008
+ </div>
1009
+ <div class="archive-row" id="v1-5-2">
1010
+ <div class="archive-head"><a class="release-version" href="#v1-5-2">v1.5.2</a> <span class="release-date">Aug 18, 2026</span></div>
1011
+ <div class="archive-body">
1012
+ <p><strong>Drag and drop in the new-chat composer</strong> — A document dragged or pasted onto the new-chat composer is now attached instead of being silently lost.</p>
1013
+ <ul class="release-items">
1014
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A document dropped or pasted on the new-chat screen was silently lost; it is now attached.</span></li>
1015
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A file dropped outside the composer no longer navigates the page away.</span></li>
1016
+ </ul>
1017
+ </div>
1018
+ </div>
1019
+ <div class="archive-row" id="v1-5-1">
1020
+ <div class="archive-head"><a class="release-version" href="#v1-5-1">v1.5.1</a> <span class="release-date">Aug 17, 2026</span></div>
1021
+ <div class="archive-body">
1022
+ <p><strong>Release repair for v1.5.0</strong> — Publishes the content of v1.5.0, which was tagged but never published, plus a fix for a composer test race.</p>
1023
+ <ul class="release-items">
1024
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Ships everything from v1.5.0, whose macOS release matrix failed before publishing.</span></li>
1025
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Fixed a WebUI composer test race that left the confirm button disabled on slower runners.</span></li>
1026
+ </ul>
1027
+ </div>
1028
+ </div>
1029
+ <div class="archive-row" id="v1-5-0">
1030
+ <div class="archive-head"><a class="release-version" href="#v1-5-0">v1.5.0</a> <span class="release-date">Aug 17, 2026</span></div>
1031
+ <div class="archive-body">
1032
+ <p><strong>Document workspace and attachments</strong> <span class="tag">not published</span> — Adds a document workspace, attachments and a compact activity timeline to the Session Hub; tagged but not published, shipped as v1.5.1.</p>
1033
+ <ul class="release-items">
1034
+ <li data-kind="new"><span class="kind kind-new">New</span><span>A document workspace in the Session Hub for Markdown, text, PDF and DOCX, with redaction and in-browser previews.</span></li>
1035
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Attach documents and images in New chat and in active sessions; sent files show as compact cards.</span></li>
1036
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Session titles and previews are generated without a model turn.</span></li>
1037
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Large tool-result blocks in chat are replaced by a compact live activity timeline.</span></li>
1038
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Project folder import is more reliable on macOS and Linux, including several folders at once.</span></li>
1039
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Providers &amp; models shows whether each model supports web search and image input.</span></li>
1040
+ </ul>
1041
+ </div>
1042
+ </div>
1043
+ <div class="archive-row" id="v1-4-1">
1044
+ <div class="archive-head"><a class="release-version" href="#v1-4-1">v1.4.1</a> <span class="release-date">Aug 17, 2026</span></div>
1045
+ <div class="archive-body">
1046
+ <p><strong>Integrity, redaction and install fixes</strong> — Closes gaps in the runtime integrity lock, redacts npm tokens, fixes install and uninstall bugs, and lets the dashboard start without the MCP adapter.</p>
1047
+ <ul class="release-items">
1048
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added Google Drive, Gmail, Docs and Sheets MCP servers as experimental, kept out of every default preset.</span></li>
1049
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>The two-command install could downgrade the global Pi package to a project's pin; the two scopes now resolve separately.</span></li>
1050
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Uninstall did nothing under a non-default npm prefix yet reported success; it now uses the helper's actual prefix.</span></li>
1051
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span><code>piagent dashboard</code> failed to start when the MCP adapter was not installed; it now starts.</span></li>
1052
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>The integrity lock now covers shell entrypoints and the served WebUI bundle, which could previously run unpinned code.</span></li>
1053
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>npm tokens in <code>.npmrc</code> lines and in publish output are now redacted.</span></li>
1054
+ </ul>
1055
+ </div>
1056
+ </div>
1057
+ <div class="archive-row" id="v1-4-0">
1058
+ <div class="archive-head"><a class="release-version" href="#v1-4-0">v1.4.0</a> <span class="release-date">Aug 15, 2026</span></div>
1059
+ <div class="archive-body">
1060
+ <p><strong>Local Session Hub and WebUI</strong> — Adds <code>piagent dashboard</code>: a local Gateway and browser client to create, resume and review Pi sessions without extra model turns.</p>
1061
+ <ul class="release-items">
1062
+ <li data-kind="new"><span class="kind kind-new">New</span><span><code>piagent dashboard</code> opens a local Gateway to create, reopen, resume, rename, pin, archive and fork sessions.</span></li>
1063
+ <li data-kind="new"><span class="kind kind-new">New</span><span>A conversation-first browser client with light and dark themes, Vietnamese and English UI, and an Agent Inspector.</span></li>
1064
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Streaming chat, held-message queues, attachments, model and thinking controls, and approval cards in the browser.</span></li>
1065
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Task Changes, Working Tree and Staged views with bounded diffs and guarded stage, unstage and revert actions.</span></li>
1066
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Sessions recover after restarts and stale owners, and corrupt state fails closed.</span></li>
1067
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Hardened the TypeScript loader, local control socket, browser authentication, redaction and credential handling.</span></li>
1068
+ </ul>
1069
+ </div>
1070
+ </div>
1071
+ <div class="archive-row" id="v1-3-1">
1072
+ <div class="archive-head"><a class="release-version" href="#v1-3-1">v1.3.1</a> <span class="release-date">Aug 13, 2026</span></div>
1073
+ <div class="archive-body">
1074
+ <p><strong>Security and reliability hardening</strong> — Widens the integrity inventory, speeds up per-call integrity checks with a cache, and lets local state locks recover safely.</p>
1075
+ <ul class="release-items">
1076
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Integrity checks use a metadata cache instead of rehashing files on every tool call; build drift mid-session blocks until restart.</span></li>
1077
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A hard-killed writer no longer leaves a state lock stuck; if recovery itself is killed, remove its <code>.recovery</code> lock.</span></li>
1078
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>The integrity inventory now covers the TypeScript loader, the CLI dispatcher and the remaining enforcement modules.</span></li>
1079
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Removed shell interpolation from the PDF tool availability check.</span></li>
1080
+ </ul>
1081
+ </div>
1082
+ </div>
1083
+ <div class="archive-row" id="v1-3-0">
1084
+ <div class="archive-head"><a class="release-version" href="#v1-3-0">v1.3.0</a> <span class="release-date">Aug 12, 2026</span></div>
1085
+ <div class="archive-body">
1086
+ <p><strong>First stable intelligence engine release</strong> — Promotes the ie.9 tree to stable with Pi 0.84.1 and unchanged runtime behaviour; stable installs come from npm <code>latest</code>.</p>
1087
+ <ul class="release-items">
1088
+ <li data-kind="new"><span class="kind kind-new">New</span><span>First stable package with Pi 0.84.1, where every terminal command works from the installed package.</span></li>
1089
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Stable installs use npm <code>latest</code> and the Git tag <code>v1.3.0</code>; the prerelease <code>next</code> channel is now historical.</span></li>
1090
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Runtime behaviour is unchanged from ie.9, with conservative defaults: parent routing off, recovery on, one continuation.</span></li>
1091
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>The 108-session Luna Medium run from ie.7 is kept as evidence and not relabelled as a v1.3.0 measurement.</span></li>
1092
+ </ul>
1093
+ </div>
1094
+ </div>
1095
+ <div class="archive-row" id="v1-3-0-ie-9">
1096
+ <div class="archive-head"><a class="release-version" href="#v1-3-0-ie-9">v1.3.0-ie.9</a> <span class="release-date">Aug 12, 2026</span></div>
1097
+ <div class="archive-body">
1098
+ <p><strong>Installed-package runtime parity</strong> <span class="tag">prerelease</span> — Commands installed from npm can now load the TypeScript runtime, fixing the route and benchmark commands that failed in ie.8.</p>
1099
+ <ul class="release-items">
1100
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>The global benchmark helper uses the exact Pi package source installed by <code>piagent-install --stable</code>.</span></li>
1101
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>A packed-and-installed test now checks that every global command prints its help.</span></li>
1102
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>In ie.8 the route and benchmark commands could not load TypeScript from <code>node_modules</code>; they now work.</span></li>
1103
+ </ul>
1104
+ </div>
1105
+ </div>
1106
+ <div class="archive-row" id="v1-3-0-ie-8">
1107
+ <div class="archive-head"><a class="release-version" href="#v1-3-0-ie-8">v1.3.0-ie.8</a> <span class="release-date">Aug 12, 2026</span></div>
1108
+ <div class="archive-body">
1109
+ <p><strong>Reproducible prerelease publishing</strong> <span class="tag">prerelease</span> — Fixes the publish job that stopped ie.7 before publishing; the runtime is identical to ie.7.</p>
1110
+ <ul class="release-items">
1111
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>The runtime is unchanged from ie.7; this release corrects distribution only.</span></li>
1112
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>The tag-driven publish job now fetches the full tag history and installs the test prerequisites it needs.</span></li>
1113
+ </ul>
1114
+ </div>
1115
+ </div>
1116
+ <div class="archive-row" id="v1-3-0-ie-7">
1117
+ <div class="archive-head"><a class="release-version" href="#v1-3-0-ie-7">v1.3.0-ie.7</a> <span class="release-date">Aug 12, 2026</span></div>
1118
+ <div class="archive-body">
1119
+ <p><strong>Return-shape guidance before the first edit</strong> <span class="tag">not published</span> — The first model turn now shows whether a public result returns names or objects, so edits keep the public API intact.</p>
1120
+ <ul class="release-items">
1121
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Detects whether helper results return names or objects, including graph traversals, and shows it before the first edit.</span></li>
1122
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>No hard gate, extra continuation or benchmark change is added.</span></li>
1123
+ </ul>
1124
+ </div>
1125
+ </div>
1126
+ <div class="archive-row" id="v1-3-0-ie-6">
1127
+ <div class="archive-head"><a class="release-version" href="#v1-3-0-ie-6">v1.3.0-ie.6</a> <span class="release-date">Aug 12, 2026</span></div>
1128
+ <div class="archive-body">
1129
+ <p><strong>Benchmark stop aligned with the evaluator</strong> <span class="tag">prerelease</span> — The paired benchmark stops only when a Piagent outcome falls below the floor; a miss by the baseline alone no longer ends coverage.</p>
1130
+ <ul class="release-items">
1131
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>A Piagent outcome below the frozen floor stops the run after its pair; a baseline-only miss does not.</span></li>
1132
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Helper timing under parallel load is observational; correctness, token reduction and privacy gate the release.</span></li>
1133
+ </ul>
1134
+ </div>
1135
+ </div>
1136
+ <div class="archive-row" id="v1-3-0-ie-5">
1137
+ <div class="archive-head"><a class="release-version" href="#v1-3-0-ie-5">v1.3.0-ie.5</a> <span class="release-date">Aug 12, 2026</span></div>
1138
+ <div class="archive-body">
1139
+ <p><strong>Finite release benchmark and <code>next</code> publishing</strong> <span class="tag">prerelease</span> — Benchmark runs stop after a below-floor pair, and prerelease packages publish to npm <code>next</code>, keeping <code>latest</code> for stable releases.</p>
1140
+ <ul class="release-items">
1141
+ <li data-kind="new"><span class="kind kind-new">New</span><span>A release benchmark stops after the current pair once an outcome falls below the floor, starting no new paid session.</span></li>
1142
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Prereleases publish to the npm <code>next</code> dist-tag; <code>latest</code> stays reserved for stable releases.</span></li>
1143
+ </ul>
1144
+ </div>
1145
+ </div>
1146
+ <div class="archive-row" id="v1-3-0-ie-4">
1147
+ <div class="archive-head"><a class="release-version" href="#v1-3-0-ie-4">v1.3.0-ie.4</a> <span class="release-date">Aug 11, 2026</span></div>
1148
+ <div class="archive-body">
1149
+ <p><strong>Matching CI prerequisites on Ubuntu and macOS</strong> <span class="tag">prerelease</span> — CI installs the same search tool on Ubuntu and macOS and gives integration waits more room; no product gate was relaxed.</p>
1150
+ <ul class="release-items">
1151
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>CI installs the same test prerequisite on Ubuntu and macOS, and integration test deadlines allow for filesystem load.</span></li>
1152
+ </ul>
1153
+ </div>
1154
+ </div>
1155
+ <div class="archive-row" id="v1-3-0-ie-3">
1156
+ <div class="archive-head"><a class="release-version" href="#v1-3-0-ie-3">v1.3.0-ie.3</a> <span class="release-date">Aug 11, 2026</span></div>
1157
+ <div class="archive-body">
1158
+ <p><strong>Deterministic cross-platform helper gate</strong> <span class="tag">prerelease</span> — The release gate now depends on helper correctness and token reduction, not on timing that varied on Linux CI.</p>
1159
+ <ul class="release-items">
1160
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Helper timing stays as a metric, but the release gate checks retrieval correctness, token reduction and privacy.</span></li>
1161
+ </ul>
1162
+ </div>
1163
+ </div>
1164
+ <div class="archive-row" id="v1-3-0-ie-2">
1165
+ <div class="archive-head"><a class="release-version" href="#v1-3-0-ie-2">v1.3.0-ie.2</a> <span class="release-date">Aug 11, 2026</span></div>
1166
+ <div class="archive-body">
1167
+ <p><strong>Pi 0.84.1 host pin</strong> <span class="tag">prerelease</span> — Raises the Pi host pin to 0.84.1, which passes the dependency audit and replaces an expired advisory exception.</p>
1168
+ <ul class="release-items">
1169
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Pi Coding Agent and Pi AI are pinned to 0.84.1, with host compatibility and package lifecycle checked again.</span></li>
1170
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>The new host tree audits clean at moderate and above, so the expired 0.82.0 advisory exception is removed.</span></li>
1171
+ </ul>
1172
+ </div>
1173
+ </div>
1174
+ <div class="archive-row" id="v1-3-0-ie-1">
1175
+ <div class="archive-head"><a class="release-version" href="#v1-3-0-ie-1">v1.3.0-ie.1</a> <span class="release-date">Aug 11, 2026</span></div>
1176
+ <div class="archive-body">
1177
+ <p><strong>Intelligence engine candidate</strong> <span class="tag">prerelease</span> — Adds a Criterion Graph and bounded current-source context so Luna Medium can plan against your criteria without an extra model turn.</p>
1178
+ <ul class="release-items">
1179
+ <li data-kind="new"><span class="kind kind-new">New</span><span>A Criterion Graph and bounded current-source context let the model plan against your criteria without a repository index.</span></li>
1180
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Advanced capabilities ship but stay off or advisory by default; verification and permissions are unchanged.</span></li>
1181
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>rc.1 and rc.2 remain historical evidence; the ie line uses its own prerelease identity.</span></li>
1182
+ </ul>
1183
+ </div>
1184
+ </div>
1185
+ <div class="archive-row" id="v1-3-0-rc-2">
1186
+ <div class="archive-head"><a class="release-version" href="#v1-3-0-rc-2">v1.3.0-rc.2</a> <span class="release-date">Aug 11, 2026</span></div>
1187
+ <div class="archive-body">
1188
+ <p><strong>Criterion coverage before the first verifier</strong> <span class="tag">prerelease</span> — Before the first verifier, the agent maps each criterion to implementation and tests, batches independent steps and reviews once.</p>
1189
+ <ul class="release-items">
1190
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>The agent maps every criterion to code and focused tests, batches independent steps and reviews once before verifying.</span></li>
1191
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A test-only file is no longer shipped in the package, and valid empty JavaScript files pass the source check.</span></li>
1192
+ </ul>
1193
+ </div>
1194
+ </div>
1195
+ <div class="archive-row" id="v1-3-0-rc-1">
1196
+ <div class="archive-head"><a class="release-version" href="#v1-3-0-rc-1">v1.3.0-rc.1</a> <span class="release-date">Aug 11, 2026</span></div>
1197
+ <div class="archive-body">
1198
+ <p><strong>Routing, inspector, recovery and helpers</strong> <span class="tag">prerelease</span> — Adds prelaunch model routing with <code>piagent-route</code>, a <code>/piagent-inspector</code> view, richer <code>/piagent-status</code>, bounded recovery and role-bound helpers.</p>
1199
+ <ul class="release-items">
1200
+ <li data-kind="new"><span class="kind kind-new">New</span><span><code>piagent-route</code> picks a model by capability band before launch; it never switches models mid-conversation.</span></li>
1201
+ <li data-kind="new"><span class="kind kind-new">New</span><span><code>/piagent-inspector</code> adds a status line and views for diffs, tests, tool outcomes, warnings and context budget.</span></li>
1202
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Failures are classified with at most one source repair or retry; <code>PIAGENT_AUTO_RECOVERY=off</code> keeps the old handoff.</span></li>
1203
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Role-bound helpers with budgets and a single writer; <code>PIAGENT_HELPERS_MODE</code> defaults to <code>recommend</code>.</span></li>
1204
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span><code>/piagent-status</code> shows task, checkpoint, verifier, recovery, helper and resume evidence.</span></li>
1205
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Fixed long-prompt intake, scope resolution and verifier defaults; read-only tasks stay free of edits.</span></li>
1206
+ </ul>
1207
+ </div>
1208
+ </div>
1209
+ <div class="archive-row" id="v1-2-17">
1210
+ <div class="archive-head"><a class="release-version" href="#v1-2-17">v1.2.17</a> <span class="release-date">Aug 3, 2026</span></div>
1211
+ <div class="archive-body">
1212
+ <p><strong>English documentation for every public page</strong> — All 17 documentation pages now have an English version under <code>/en</code>, with VI/EN switching and Vietnamese URLs unchanged.</p>
1213
+ <ul class="release-items">
1214
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added an English version of all 17 public documentation pages under <code>/en</code>.</span></li>
1215
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Each page links to the same topic in the other language, with localized navigation.</span></li>
1216
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>On mobile the docs kept desktop sidebar columns; the layout is now a single column again.</span></li>
1217
+ </ul>
1218
+ </div>
1219
+ </div>
1220
+ <div class="archive-row" id="v1-2-16">
1221
+ <div class="archive-head"><a class="release-version" href="#v1-2-16">v1.2.16</a> <span class="release-date">Aug 3, 2026</span></div>
1222
+ <div class="archive-body">
1223
+ <p><strong>GPT-5.5 with high thinking becomes the default</strong> — Setup, global install and the settings template now default to <code>openai-codex/gpt-5.5:high</code>; explicit <code>xhigh</code> still works.</p>
1224
+ <ul class="release-items">
1225
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>The default model is now <code>openai-codex/gpt-5.5:high</code> across setup, global install and model scope.</span></li>
1226
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>A model without a thinking suffix now falls back to <code>high</code>; explicit <code>xhigh</code> selections are kept.</span></li>
1227
+ </ul>
1228
+ </div>
1229
+ </div>
1230
+ <div class="archive-row" id="v1-2-15">
1231
+ <div class="archive-head"><a class="release-version" href="#v1-2-15">v1.2.15</a> <span class="release-date">Aug 3, 2026</span></div>
1232
+ <div class="archive-body">
1233
+ <p><strong>Stable updates work from local-path installs</strong> — Updating a machine whose Piagent was registered from a local path no longer fails when started outside the Pi agent directory.</p>
1234
+ <ul class="release-items">
1235
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Stable updates failed on machines with a local-path Piagent registration; the installer now removes it by absolute path.</span></li>
1236
+ </ul>
1237
+ </div>
1238
+ </div>
1239
+ <div class="archive-row" id="v1-2-14">
1240
+ <div class="archive-head"><a class="release-version" href="#v1-2-14">v1.2.14</a> <span class="release-date">Aug 3, 2026</span></div>
1241
+ <div class="archive-body">
1242
+ <p><strong>Runtime split into modules and native <code>/name</code> restored</strong> — The guard is split into focused, integrity-locked modules, and Piagent no longer hides Pi's own <code>/name</code> command.</p>
1243
+ <ul class="release-items">
1244
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Session, input, context and task intake logic moved out of the guard into modules, with behavior unchanged.</span></li>
1245
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Piagent registered its own <code>/name</code> and shadowed Pi's command; Pi's <code>/name</code> works again and <code>/setname</code> stays as an alias.</span></li>
1246
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Legacy task migration keeps long task ids unique and can no longer delete a newly written contract on macOS.</span></li>
1247
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Capability integrity locks now pin every extracted runtime module.</span></li>
1248
+ </ul>
1249
+ </div>
1250
+ </div>
1251
+ <div class="archive-row" id="v1-2-13">
1252
+ <div class="archive-head"><a class="release-version" href="#v1-2-13">v1.2.13</a> <span class="release-date">Aug 3, 2026</span></div>
1253
+ <div class="archive-body">
1254
+ <p><strong>Dedicated benchmark page</strong> — A static benchmark page shows the verified production-v1 scores, token usage and paired comparison with simple charts.</p>
1255
+ <ul class="release-items">
1256
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Published a benchmark page with production-v1 scores, median usage, paired token comparison and confidence interval.</span></li>
1257
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Charts are plain CSS with no charting library or data fetch, and read well on desktop and mobile.</span></li>
1258
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>The claim is scoped to the controlled public suite, not presented as a universal result.</span></li>
1259
+ </ul>
1260
+ </div>
1261
+ </div>
1262
+ <div class="archive-row" id="v1-2-12">
1263
+ <div class="archive-head"><a class="release-version" href="#v1-2-12">v1.2.12</a> <span class="release-date">Aug 3, 2026</span></div>
1264
+ <div class="archive-body">
1265
+ <p><strong>Production benchmark with 108 sessions</strong> — A 108-session benchmark across 18 scenario families measured Piagent at 9.92 overall and about 51% fewer fresh tokens than <code>codex-cli</code>.</p>
1266
+ <ul class="release-items">
1267
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added <code>production-v1</code>: 108 sessions over 18 scenario families, three task sizes, five profiles and hidden oracles.</span></li>
1268
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added a controlled comparison against <code>codex-cli</code> on the same model and thinking, isolated per session.</span></li>
1269
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Piagent scored 9.92 overall with a paired fresh-token estimate 51.11% lower (95% ratio 0.3809 to 0.6276).</span></li>
1270
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Recovery guidance now lists only verifier commands still missing passing evidence, each as a separate shell call.</span></li>
1271
+ </ul>
1272
+ </div>
1273
+ </div>
1274
+ <div class="archive-row" id="v1-2-11">
1275
+ <div class="archive-head"><a class="release-version" href="#v1-2-11">v1.2.11</a> <span class="release-date">Aug 2, 2026</span></div>
1276
+ <div class="archive-body">
1277
+ <p><strong>Task harness v2: one session per task, evidence-gated completion</strong> — Tasks bind to one Pi session, completion requires passing verify evidence, and routine tasks start with no management round trips.</p>
1278
+ <ul class="release-items">
1279
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Each task is bound to one Pi session; a retry starts a fresh session and inherits prior failure evidence.</span></li>
1280
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Completion requires every verify command to pass after task start, and changed files are checked against Git and scope.</span></li>
1281
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added <code>piagent-benchmark</code>, a one-command paired comparison of raw Pi, Piagent or <code>codex-cli</code> with private reports.</span></li>
1282
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Runtime creates bounded task contracts before the first model turn, so routine tasks need no setup tool calls.</span></li>
1283
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>One automatic follow-up runs when an agent stops with missing evidence; set <code>PIAGENT_AUTO_RECOVERY=off</code> to disable.</span></li>
1284
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span><code>piagent-update</code> could install a second copy under another npm prefix; it now stays in the prefix that owns the command.</span></li>
1285
+ </ul>
1286
+ </div>
1287
+ </div>
1288
+ </details>
1289
+ <details class="release-archive">
1290
+ <summary><span>July 2026</span><span class="archive-count">33</span></summary>
1291
+ <div class="archive-row" id="v1-2-10">
1292
+ <div class="archive-head"><a class="release-version" href="#v1-2-10">v1.2.10</a> <span class="release-date">Jul 31, 2026</span></div>
1293
+ <div class="archive-body">
1294
+ <p><strong>Context index hardening and read-only reviewer</strong> — The context index is owner-only and purges deleted source, image auto-attach is scoped, and <code>piagent-reviewer</code> is now truly read-only.</p>
1295
+ <ul class="release-items">
1296
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Context index files are owner-only and securely delete removed source; older indexes migrate once to purge leftovers.</span></li>
1297
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Images named in chat are auto-attached only from allowed, non-protected project paths and must be real images.</span></li>
1298
+ <li data-kind="security"><span class="kind kind-security">Security</span><span><code>piagent-reviewer</code> now has only read tools; autofix moves to <code>piagent-worker</code>.</span></li>
1299
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>MCP approval and <code>piagent-mcp doctor</code> now detect <code>directTools</code> set on individual servers.</span></li>
1300
+ </ul>
1301
+ </div>
1302
+ </div>
1303
+ <div class="archive-row" id="v1-2-9">
1304
+ <div class="archive-head"><a class="release-version" href="#v1-2-9">v1.2.9</a> <span class="release-date">Jul 31, 2026</span></div>
1305
+ <div class="archive-body">
1306
+ <p><strong>Context Engine follows the same policy as the guard</strong> — Context search and packs now use the guard's exclusion rules, so protected content never reaches the model through old indexes.</p>
1307
+ <ul class="release-items">
1308
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span><code>piagent-update --dry-run --project</code> showed a stack trace when the project migrator was missing; it now says so directly.</span></li>
1309
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Context Engine and runtime share one policy for protected, read-only and excluded paths.</span></li>
1310
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Indexes built under weaker rules are rebuilt automatically and filtered again at read time.</span></li>
1311
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Symlinks and paths leading outside the project are refused when building and reading the index.</span></li>
1312
+ </ul>
1313
+ </div>
1314
+ </div>
1315
+ <div class="archive-row" id="v1-2-8">
1316
+ <div class="archive-head"><a class="release-version" href="#v1-2-8">v1.2.8</a> <span class="release-date">Jul 31, 2026</span></div>
1317
+ <div class="archive-body">
1318
+ <p><strong>Web research for researcher subagents by default</strong> — Setup and update now install the web access add-on so researcher subagents can search and fetch external sources.</p>
1319
+ <ul class="release-items">
1320
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Global setup and update install <code>pi-web-access@0.17.0</code> by default; opt out with <code>--no-web-access</code>.</span></li>
1321
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Older web access registrations kept stale dependencies; install now removes them before installing the reviewed version.</span></li>
1322
+ </ul>
1323
+ </div>
1324
+ </div>
1325
+ <div class="archive-row" id="v1-2-7">
1326
+ <div class="archive-head"><a class="release-version" href="#v1-2-7">v1.2.7</a> <span class="release-date">Jul 31, 2026</span></div>
1327
+ <div class="archive-body">
1328
+ <p><strong>Patched MCP and subagent add-ons</strong> — The pinned MCP and subagent add-ons move to versions whose dependency tree reports no advisories, and the audit gate is stricter.</p>
1329
+ <ul class="release-items">
1330
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>An existing <code>pi-subagents</code> install is upgraded during a normal platform update.</span></li>
1331
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Updates could keep a vulnerable transitive version; old add-on registrations are now removed before reinstalling.</span></li>
1332
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Updated to <code>pi-mcp-adapter@2.15.0</code> and <code>pi-subagents@0.38.0</code>, which resolve patched dependencies.</span></li>
1333
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>The release gate now also blocks moderate advisories; one documented dependency advisory in the Pi host remains accepted.</span></li>
1334
+ </ul>
1335
+ </div>
1336
+ </div>
1337
+ <div class="archive-row" id="v1-2-6">
1338
+ <div class="archive-head"><a class="release-version" href="#v1-2-6">v1.2.6</a> <span class="release-date">Jul 31, 2026</span></div>
1339
+ <div class="archive-body">
1340
+ <p><strong>Context Engine v2 and task-shaped tool loading</strong> — A local code index builds bounded context packs, and Piagent exposes only the tools a task needs while guards stay active.</p>
1341
+ <ul class="release-items">
1342
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added Context Engine v2: a local incremental code index with budgeted context packs and the <code>piagent-context</code> command.</span></li>
1343
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added Agent Watch compatible context telemetry by session, without storing raw prompts or tool output.</span></li>
1344
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Tools load by task shape: tiny tasks see 11 of 30 Piagent tools, ordinary tasks 15; guards apply regardless.</span></li>
1345
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A local checkout and the released package could load together; install now removes older local registrations.</span></li>
1346
+ </ul>
1347
+ </div>
1348
+ </div>
1349
+ <div class="archive-row" id="v1-2-5">
1350
+ <div class="archive-head"><a class="release-version" href="#v1-2-5">v1.2.5</a> <span class="release-date">Jul 30, 2026</span></div>
1351
+ <div class="archive-body">
1352
+ <p><strong><code>piagent-update</code> works with npm 12</strong> — The updater now reads npm 12's registry output when resolving the target version and its Pi host.</p>
1353
+ <ul class="release-items">
1354
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span><code>piagent-update</code> failed to read npm 12 version metadata; it now accepts it and still refuses ambiguous results.</span></li>
1355
+ </ul>
1356
+ </div>
1357
+ </div>
1358
+ <div class="archive-row" id="v1-2-4">
1359
+ <div class="archive-head"><a class="release-version" href="#v1-2-4">v1.2.4</a> <span class="release-date">Jul 30, 2026</span></div>
1360
+ <div class="archive-body">
1361
+ <p><strong>Smoother team rollout for <code>piagent-update</code></strong> — Updates fall back to a user-writable npm prefix, and <code>--project</code> adds an optional migration and doctor check.</p>
1362
+ <ul class="release-items">
1363
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Optional <code>--project &lt;path&gt;</code> runs a legacy project migration and doctor after the global update.</span></li>
1364
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Documented an <code>npm exec</code> bootstrap command for machines without the global <code>piagent-update</code> helper.</span></li>
1365
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Updates failed with permission errors when the npm prefix was OS-locked; they now use a user-writable prefix.</span></li>
1366
+ </ul>
1367
+ </div>
1368
+ </div>
1369
+ <div class="archive-row" id="v1-2-3">
1370
+ <div class="archive-head"><a class="release-version" href="#v1-2-3">v1.2.3</a> <span class="release-date">Jul 30, 2026</span></div>
1371
+ <div class="archive-body">
1372
+ <p><strong>Short runtime commands</strong> — Short commands such as <code>/usage</code>, <code>/context</code> and <code>/permission</code> were added, and workflows moved under <code>/workflow</code> and <code>/fresh</code>.</p>
1373
+ <ul class="release-items">
1374
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added <code>/commands</code>, <code>/usage</code>, <code>/context</code>, <code>/permission</code>, <code>/memory</code>, <code>/onboard</code>, <code>/name</code> and <code>/fresh</code>.</span></li>
1375
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Workflow launchers are grouped under <code>/workflow</code>, and <code>/piagent-workflow</code> still routes there.</span></li>
1376
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Docs now separate Pi native commands such as <code>/model</code> and <code>/resume</code> from Piagent commands.</span></li>
1377
+ </ul>
1378
+ </div>
1379
+ </div>
1380
+ <div class="archive-row" id="v1-2-2">
1381
+ <div class="archive-head"><a class="release-version" href="#v1-2-2">v1.2.2</a> <span class="release-date">Jul 29, 2026</span></div>
1382
+ <div class="archive-body">
1383
+ <p><strong>Compact output for large tool results</strong> — Oversized tool output shows a bounded preview and is saved locally, and <code>/setname</code> renames an open session.</p>
1384
+ <ul class="release-items">
1385
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Large tool results show a bounded preview and are saved under <code>.pi/piagent-state/tool-results/</code>.</span></li>
1386
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added <code>/piagent-logs</code> to see recent oversized output captures without calling the model.</span></li>
1387
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added <code>/setname</code> to rename an open session for resume lists, Agent Watch and reports.</span></li>
1388
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span><code>/piagent-usage</code> and <code>/task-preflight</code> now print short status lines.</span></li>
1389
+ </ul>
1390
+ </div>
1391
+ </div>
1392
+ <div class="archive-row" id="v1-2-1">
1393
+ <div class="archive-head"><a class="release-version" href="#v1-2-1">v1.2.1</a> <span class="release-date">Jul 28, 2026</span></div>
1394
+ <div class="archive-body">
1395
+ <p><strong>MCP approval gate and shell guard fixes</strong> — The MCP approval gate now covers direct tools and imported servers, and the shell guard reads commands the way the shell expands them.</p>
1396
+ <ul class="release-items">
1397
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span><code>piagent-mcp doctor</code> and <code>list</code> reported no servers while every tool call was blocked; they now name the cause and exit 1.</span></li>
1398
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A failed <code>piagent-capability vendor</code> could delete files outside the project or leave none; it now changes nothing on failure.</span></li>
1399
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>MCP approval never applied to direct MCP tools; every server is now gated whatever tool naming mode it uses.</span></li>
1400
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Servers pulled in through a repository's <code>imports</code> setting are now listed and require approval.</span></li>
1401
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>The shell guard now resolves braces, quoting, <code>printf</code> and substitutions before checking protected paths and deletes.</span></li>
1402
+ <li data-kind="security"><span class="kind kind-security">Security</span><span><code>piagent-mcp add</code> refuses credentials in server URLs, and <code>list</code> and <code>get</code> mask them.</span></li>
1403
+ </ul>
1404
+ </div>
1405
+ </div>
1406
+ <div class="archive-row" id="v1-2-0">
1407
+ <div class="archive-head"><a class="release-version" href="#v1-2-0">v1.2.0</a> <span class="release-date">Jul 28, 2026</span></div>
1408
+ <div class="archive-body">
1409
+ <p><strong>MCP server management with repository approval</strong> — <code>piagent-mcp</code> now manages servers, and servers defined by a repository need local approval before use.</p>
1410
+ <ul class="release-items">
1411
+ <li data-kind="new"><span class="kind kind-new">New</span><span><code>piagent-mcp</code> gains <code>add</code>, <code>remove</code>, <code>get</code>, <code>list</code>, <code>enable</code>, <code>disable</code> and <code>doctor</code> across config layers.</span></li>
1412
+ <li data-kind="new"><span class="kind kind-new">New</span><span><code>/piagent-mcp</code> opens an in-session menu for status, approval and diagnostics without a model turn.</span></li>
1413
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>The docs site is split into one page per topic, with four pages for MCP.</span></li>
1414
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Servers defined in a repository need <code>piagent-mcp approve</code> on this machine; changing their command resets approval.</span></li>
1415
+ <li data-kind="security"><span class="kind kind-security">Security</span><span><code>piagent-mcp add</code> refuses to write credentials into MCP config and shows the reference form to use.</span></li>
1416
+ </ul>
1417
+ </div>
1418
+ </div>
1419
+ <div class="archive-row" id="v1-1-9">
1420
+ <div class="archive-head"><a class="release-version" href="#v1-1-9">v1.1.9</a> <span class="release-date">Jul 28, 2026</span></div>
1421
+ <div class="archive-body">
1422
+ <p><strong>Update notice reaches ordinary installs</strong> — The update notice from 1.1.8 was hidden on installs cloned by Pi; it now appears for every non-development install.</p>
1423
+ <ul class="release-items">
1424
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Installs from Git were mistaken for working copies and got no update notice; they now see it.</span></li>
1425
+ </ul>
1426
+ </div>
1427
+ </div>
1428
+ <div class="archive-row" id="v1-1-8">
1429
+ <div class="archive-head"><a class="release-version" href="#v1-1-8">v1.1.8</a> <span class="release-date">Jul 28, 2026</span></div>
1430
+ <div class="archive-body">
1431
+ <p><strong>Pi tells you when a release is available</strong> — The session-start line now shows when a newer Piagent is out and names <code>piagent-update</code> as the command to run.</p>
1432
+ <ul class="release-items">
1433
+ <li data-kind="new"><span class="kind kind-new">New</span><span>The session-start line shows an update notice naming <code>piagent-update</code> when a new release exists.</span></li>
1434
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>The check reads a cache refreshed in the background at most daily, so sessions do not wait on it.</span></li>
1435
+ </ul>
1436
+ </div>
1437
+ </div>
1438
+ <div class="archive-row" id="v1-1-7">
1439
+ <div class="archive-head"><a class="release-version" href="#v1-1-7">v1.1.7</a> <span class="release-date">Jul 28, 2026</span></div>
1440
+ <div class="archive-body">
1441
+ <p><strong>Projects keep working after a platform update</strong> — Capability locks behind the installed platform are re-pinned instead of blocking the session, and policy fixes reach every project.</p>
1442
+ <ul class="release-items">
1443
+ <li data-kind="new"><span class="kind kind-new">New</span><span>A project profile can <code>extends</code> an adapter instead of copying its policy.</span></li>
1444
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Policy, prompt and skill content now follows the installed platform, so corrections reach existing projects.</span></li>
1445
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Projects with capability packs stopped working after each release until reapplied; the lock is now re-pinned automatically.</span></li>
1446
+ </ul>
1447
+ </div>
1448
+ </div>
1449
+ <div class="archive-row" id="v1-1-6">
1450
+ <div class="archive-head"><a class="release-version" href="#v1-1-6">v1.1.6</a> <span class="release-date">Jul 27, 2026</span></div>
1451
+ <div class="archive-body">
1452
+ <p><strong>Monorepo detection and scoping fixes</strong> — Profiles now detect and scope frontend and backend packages correctly in monorepos and workspaces.</p>
1453
+ <ul class="release-items">
1454
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span><code>be-readonly-fe</code> left nested backends writable in monorepos; they are now read-only.</span></li>
1455
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Frontend verify ran nothing and reported success when the frontend sat elsewhere; it now finds the right package.</span></li>
1456
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Packages declared in <code>workspaces</code> or <code>pnpm-workspace.yaml</code> were ignored; detection now reads them.</span></li>
1457
+ </ul>
1458
+ </div>
1459
+ </div>
1460
+ <div class="archive-row" id="v1-1-5">
1461
+ <div class="archive-head"><a class="release-version" href="#v1-1-5">v1.1.5</a> <span class="release-date">Jul 27, 2026</span></div>
1462
+ <div class="archive-body">
1463
+ <p><strong>One-command update with <code>piagent-update</code></strong> — <code>piagent-update</code> moves the Pi host, helper and Pi package to the next release in the correct order.</p>
1464
+ <ul class="release-items">
1465
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added <code>piagent-update</code>, which updates the Pi host, terminal helper and Pi package in order.</span></li>
1466
+ <li data-kind="new"><span class="kind kind-new">New</span><span><code>--check</code> and <code>--dry-run</code> show exactly what a real run would install, resolved before anything changes.</span></li>
1467
+ </ul>
1468
+ </div>
1469
+ </div>
1470
+ <div class="archive-row" id="v1-1-4">
1471
+ <div class="archive-head"><a class="release-version" href="#v1-1-4">v1.1.4</a> <span class="release-date">Jul 27, 2026</span></div>
1472
+ <div class="archive-body">
1473
+ <p><strong>Redaction of credentials in command options</strong> — Credentials passed as command-line options or <code>Authorization</code> headers are now redacted reliably.</p>
1474
+ <ul class="release-items">
1475
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Options such as <code>--token</code>, <code>--password</code> and <code>--api-key</code> were not redacted; their values are now hidden.</span></li>
1476
+ <li data-kind="security"><span class="kind kind-security">Security</span><span><code>Authorization</code> header values are redacted wherever they appear in the arguments.</span></li>
1477
+ </ul>
1478
+ </div>
1479
+ </div>
1480
+ <div class="archive-row" id="v1-1-3">
1481
+ <div class="archive-head"><a class="release-version" href="#v1-1-3">v1.1.3</a> <span class="release-date">Jul 27, 2026</span></div>
1482
+ <div class="archive-body">
1483
+ <p><strong>Fixes for issues found reviewing 1.1.2</strong> — Short secrets are redacted, verify evidence identifies commands exactly again, and document reads no longer hang on pipes.</p>
1484
+ <ul class="release-items">
1485
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Verify evidence gave commands with different secrets the same identity; each command is identified exactly again.</span></li>
1486
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Reading a document replaced by a named pipe hung; it is now refused.</span></li>
1487
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span><code>piagent-install</code> showed <code>node: command not found</code> without Node.js; it now reports the missing runtime clearly.</span></li>
1488
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Short secret values such as <code>TOKEN=hunter2</code> were stored in clear text; they are now redacted.</span></li>
1489
+ </ul>
1490
+ </div>
1491
+ </div>
1492
+ <div class="archive-row" id="v1-1-2">
1493
+ <div class="archive-head"><a class="release-version" href="#v1-1-2">v1.1.2</a> <span class="release-date">Jul 26, 2026</span></div>
1494
+ <div class="archive-body">
1495
+ <p><strong>Security and release gating fixes</strong> — Document reads close a file-swap race, evidence no longer hashes unredacted commands, and publishing waits for all checks.</p>
1496
+ <ul class="release-items">
1497
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Publishing now waits for the full verification matrix to pass.</span></li>
1498
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>An unknown <code>--mcp-preset</code> failed only after a partial install; it is now rejected before anything is installed.</span></li>
1499
+ <li data-kind="security"><span class="kind kind-security">Security</span><span><code>piagent_document_read</code> could read a file swapped in after its checks; it now reads the file it checked.</span></li>
1500
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>The evidence ledger no longer stores a hash that could confirm guesses at a redacted secret.</span></li>
1501
+ </ul>
1502
+ </div>
1503
+ </div>
1504
+ <div class="archive-row" id="v1-1-1">
1505
+ <div class="archive-head"><a class="release-version" href="#v1-1-1">v1.1.1</a> <span class="release-date">Jul 26, 2026</span></div>
1506
+ <div class="archive-body">
1507
+ <p><strong>Fixes for issues found reviewing 1.1.0</strong> — <code>piagent-setup --no-mcp</code> skips MCP again, the site check no longer hangs or passes falsely, and binary documents are refused.</p>
1508
+ <ul class="release-items">
1509
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span><code>piagent-setup --no-mcp</code> still installed MCP; it installs none again.</span></li>
1510
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span><code>npm run site:check</code> could hang on large responses or pass with unchecked addresses; both are fixed.</span></li>
1511
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span><code>piagent_document_read</code> decoded binary bytes into garbled text; it now refuses invalid text.</span></li>
1512
+ </ul>
1513
+ </div>
1514
+ </div>
1515
+ <div class="archive-row" id="v1-1-0">
1516
+ <div class="archive-head"><a class="release-version" href="#v1-1-0">v1.1.0</a> <span class="release-date">Jul 26, 2026</span></div>
1517
+ <div class="archive-body">
1518
+ <p><strong>Read documents from outside the project</strong> — The agent can read a downloaded document outside the repository, and both install commands now install MCP by default.</p>
1519
+ <ul class="release-items">
1520
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added <code>piagent_document_read</code> to read a document from a granted directory outside the project, including <code>.docx</code>.</span></li>
1521
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span><code>piagent-install</code> now installs the MCP baseline by default like <code>piagent-setup</code>; both accept <code>--no-mcp</code>.</span></li>
1522
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>The pinned Pi host moves from 0.81.1 to 0.82.0.</span></li>
1523
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Advisory tool-registry warnings were computed but never shown; they are now displayed.</span></li>
1524
+ </ul>
1525
+ </div>
1526
+ </div>
1527
+ <div class="archive-row" id="v1-0-2">
1528
+ <div class="archive-head"><a class="release-version" href="#v1-0-2">v1.0.2</a> <span class="release-date">Jul 25, 2026</span></div>
1529
+ <div class="archive-body">
1530
+ <p><strong>Two-command install and <code>piagent-uninstall</code></strong> — Install is now <code>npm install -g @piagent/platform</code> plus <code>piagent-setup</code>, and <code>piagent-uninstall</code> removes the package cleanly.</p>
1531
+ <ul class="release-items">
1532
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added <code>piagent-uninstall</code>, which reports by default and only removes the package with <code>--apply</code>.</span></li>
1533
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Docs now lead with <code>npm install -g @piagent/platform</code> followed by <code>piagent-setup</code>.</span></li>
1534
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span><code>piagent-setup</code> wrote a local install path into project settings; it now writes the npm package version.</span></li>
1535
+ </ul>
1536
+ </div>
1537
+ </div>
1538
+ <div class="archive-row" id="v1-0-1">
1539
+ <div class="archive-head"><a class="release-version" href="#v1-0-1">v1.0.1</a> <span class="release-date">Jul 25, 2026</span></div>
1540
+ <div class="archive-body">
1541
+ <p><strong>Install from the npm registry</strong> — Documentation now installs the terminal helper from npm instead of the Git source.</p>
1542
+ <ul class="release-items">
1543
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added an <code>npm</code> release channel.</span></li>
1544
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Install, update and rollback docs use <code>npm install -g --ignore-scripts @piagent/platform@1.0.1</code>.</span></li>
1545
+ </ul>
1546
+ </div>
1547
+ </div>
1548
+ <div class="archive-row" id="v1-0-0">
1549
+ <div class="archive-head"><a class="release-version" href="#v1-0-0">v1.0.0</a> <span class="release-date">Jul 25, 2026</span></div>
1550
+ <div class="archive-body">
1551
+ <p><strong>Piagent 1.0: new namespace and stable API</strong> — The <code>company</code> namespace becomes <code>piagent</code> with no alias, <code>apiVersion</code> is stable, and one command migrates existing projects.</p>
1552
+ <ul class="release-items">
1553
+ <li data-kind="breaking"><span class="kind kind-breaking">Breaking</span><span>Tools, commands, package and files are renamed from <code>company</code> to <code>piagent</code>; run <code>piagent-migrate</code> on existing projects.</span></li>
1554
+ <li data-kind="breaking"><span class="kind kind-breaking">Breaking</span><span>Manifest <code>apiVersion</code> moves from <code>piagent/v1alpha1</code> to the stable <code>piagent/v1</code>.</span></li>
1555
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Projects can use capability packs from other sources, fetched for review with <code>piagent-capabilities vendor</code>.</span></li>
1556
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added <code>piagent-import-instructions</code> to import instruction files written for other agents into <code>AGENTS.md</code>.</span></li>
1557
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>The package is now published on npm as <code>@piagent/platform</code> with provenance.</span></li>
1558
+ </ul>
1559
+ </div>
1560
+ </div>
1561
+ <div class="archive-row" id="v0-4-8">
1562
+ <div class="archive-head"><a class="release-version" href="#v0-4-8">v0.4.8</a> <span class="release-date">Jul 22, 2026</span></div>
1563
+ <div class="archive-body">
1564
+ <p><strong>Release channels, trusted profiles and stricter guards</strong> — Install channels and rollback are documented, project profiles load only in trusted projects, and external writes need confirmation.</p>
1565
+ <ul class="release-items">
1566
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added stable, exact, dev and local install channels with dry-run preview, plus rollback docs.</span></li>
1567
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Requires Node.js 22.19.0 or newer and Pi 0.81.1; setup installs the exact Pi host.</span></li>
1568
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Project profiles are ignored until the project is trusted, and applying a profile needs confirmation.</span></li>
1569
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>External provider writes and unknown MCP actions now require human confirmation, even in full access.</span></li>
1570
+ </ul>
1571
+ </div>
1572
+ </div>
1573
+ <div class="archive-row" id="v0-4-7">
1574
+ <div class="archive-head"><a class="release-version" href="#v0-4-7">v0.4.7</a> <span class="release-date">Jul 22, 2026</span></div>
1575
+ <div class="archive-body">
1576
+ <p><strong>Guarded <code>/commit</code> and <code>/pr</code> workflows</strong> — New <code>/commit</code> and <code>/pr</code> workflows review changes before staging and ask before any push, and broad staging needs confirmation.</p>
1577
+ <ul class="release-items">
1578
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added <code>/commit</code>, which stages only reviewed files, runs checks and never pushes.</span></li>
1579
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added <code>/pr</code>, which requires a clean branch and confirmation before <code>git push</code> or GitHub writes.</span></li>
1580
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Broad staging such as <code>git add .</code> or <code>git add -A</code> now asks for confirmation.</span></li>
1581
+ </ul>
1582
+ </div>
1583
+ </div>
1584
+ <div class="archive-row" id="v0-4-6">
1585
+ <div class="archive-head"><a class="release-version" href="#v0-4-6">v0.4.6</a> <span class="release-date">Jul 22, 2026</span></div>
1586
+ <div class="archive-body">
1587
+ <p><strong>Documentation site</strong> — A static HTML documentation site was added, with shorter command docs for daily use.</p>
1588
+ <ul class="release-items">
1589
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added a static HTML documentation site under <code>docs-site/</code>.</span></li>
1590
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Command documentation is shorter for lower-token daily use.</span></li>
1591
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Global install and pinned project setup are documented separately.</span></li>
1592
+ </ul>
1593
+ </div>
1594
+ </div>
1595
+ <div class="archive-row" id="v0-4-5">
1596
+ <div class="archive-head"><a class="release-version" href="#v0-4-5">v0.4.5</a> <span class="release-date">Jul 22, 2026</span></div>
1597
+ <div class="archive-body">
1598
+ <p><strong>Direct <code>/profile</code> commands</strong> — Profile commands apply immediately without a model follow-up, and routine status output is compact.</p>
1599
+ <ul class="release-items">
1600
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added <code>/profile</code>, <code>/profile list</code>, <code>/profile &lt;profile&gt;</code> and <code>/profile auto</code>, applied without a model turn.</span></li>
1601
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added short profile aliases such as <code>fe</code>, <code>be</code> and <code>full</code>.</span></li>
1602
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span><code>/company-status</code> and <code>/company-memory</code> now return short local summaries.</span></li>
1603
+ </ul>
1604
+ </div>
1605
+ </div>
1606
+ <div class="archive-row" id="v0-4-4">
1607
+ <div class="archive-head"><a class="release-version" href="#v0-4-4">v0.4.4</a> <span class="release-date">Jul 21, 2026</span></div>
1608
+ <div class="archive-body">
1609
+ <p><strong>Session permission commands</strong> — Slash commands switch the session between read-only, workspace-write and full access, with a clear precedence order.</p>
1610
+ <ul class="release-items">
1611
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added <code>/permission-status</code>, <code>/read-only</code>, <code>/workspace-write</code>, <code>/full-access</code> and <code>/full-access &lt;task&gt;</code>.</span></li>
1612
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Permission order is explicit: launch override, then session command, then project profile, then default.</span></li>
1613
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Full access still keeps protected paths, secret redaction and destructive or external confirmations.</span></li>
1614
+ </ul>
1615
+ </div>
1616
+ </div>
1617
+ <div class="archive-row" id="v0-4-3">
1618
+ <div class="archive-head"><a class="release-version" href="#v0-4-3">v0.4.3</a> <span class="release-date">Jul 21, 2026</span></div>
1619
+ <div class="archive-body">
1620
+ <p><strong>Runtime permission profiles</strong> — Three permission profiles were added: read-only, workspace-write and trusted-full-access.</p>
1621
+ <ul class="release-items">
1622
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added <code>read-only</code>, <code>workspace-write</code> and <code>trusted-full-access</code> permission profiles.</span></li>
1623
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added <code>PI_COMPANY_PERMISSION_PROFILE</code> for a one-run override; invalid values fail closed.</span></li>
1624
+ </ul>
1625
+ </div>
1626
+ </div>
1627
+ <div class="archive-row" id="v0-4-2">
1628
+ <div class="archive-head"><a class="release-version" href="#v0-4-2">v0.4.2</a> <span class="release-date">Jul 21, 2026</span></div>
1629
+ <div class="archive-body">
1630
+ <p><strong>Better secret redaction with a benchmark</strong> — Redaction covers more credential shapes and nested data, measured by a new benchmark and release gate.</p>
1631
+ <ul class="release-items">
1632
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added a redaction benchmark: 52/52 secrets detected with 0/30 false positives on benign text.</span></li>
1633
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Redaction now catches more credential shapes and secrets inside nested structured data.</span></li>
1634
+ </ul>
1635
+ </div>
1636
+ </div>
1637
+ <div class="archive-row" id="v0-4-1">
1638
+ <div class="archive-head"><a class="release-version" href="#v0-4-1">v0.4.1</a> <span class="release-date">Jul 21, 2026</span></div>
1639
+ <div class="archive-body">
1640
+ <p><strong>Stronger shell protection for secrets</strong> — The shell guard blocks more ways of reaching protected files, and bash output is redacted before the model sees it.</p>
1641
+ <ul class="release-items">
1642
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Globs, aliases, symlinks and redirections such as <code>cat&lt;.env</code> can no longer reach protected files.</span></li>
1643
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>Sensitive bash output is redacted before tool results reach the model.</span></li>
1644
+ </ul>
1645
+ </div>
1646
+ </div>
1647
+ <div class="archive-row" id="v0-4-0">
1648
+ <div class="archive-head"><a class="release-version" href="#v0-4-0">v0.4.0</a> <span class="release-date">Jul 21, 2026</span></div>
1649
+ <div class="archive-body">
1650
+ <p><strong>Governed capability packs with integrity lock</strong> — Capability packs are resolved per profile into <code>.pi/company-profile.lock.json</code>, and tampering with the lock fails closed.</p>
1651
+ <ul class="release-items">
1652
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Added governed capability packs resolved per profile into <code>.pi/company-profile.lock.json</code>.</span></li>
1653
+ <li data-kind="security"><span class="kind kind-security">Security</span><span>The lock checks package source, artifact digests and capability scope, and tampering fails closed.</span></li>
1654
+ <li data-kind="security"><span class="kind kind-security">Security</span><span><code>.pi/settings.json</code> and the lock file are protected, and capability scope can only narrow access.</span></li>
1655
+ </ul>
1656
+ </div>
1657
+ </div>
1658
+ </details>
790
1659
  </section>
791
1660
  <nav class="pager" aria-label="Adjacent pages">
792
- <a class="pager-prev" href="/en/windows">
793
- <span class="pager-label">Previous</span>
794
- <span class="pager-title">Windows</span>
1661
+ <a class="pager-prev" href="/en/update">
1662
+ <span class="pager-label">← Previous</span>
1663
+ <span class="pager-title">Update &amp; uninstall</span>
795
1664
  </a>
796
1665
  <a class="pager-next" href="/en/scope">
797
- <span class="pager-label">Next</span>
1666
+ <span class="pager-label">Next →</span>
798
1667
  <span class="pager-title">Platform scope</span>
799
1668
  </a>
800
1669
  </nav>
801
1670
 
802
1671
  <footer class="footer">
803
- <p>Pi Agent Platform docs · static HTML · governed agent workflow</p>
1672
+ <p>Pi Agent Platform · MIT · static docs, no cookies</p>
804
1673
  <div class="footer-links" aria-label="External links">
805
- <a href="https://piagent.io.vn" target="_blank" rel="noopener noreferrer">piagent.io.vn</a>
806
- <a href="https://github.com/Vt-mmm/piagent" target="_blank" rel="noopener noreferrer">GitHub repository</a>
1674
+ <a href="https://github.com/Vt-mmm/piagent" target="_blank" rel="noopener noreferrer">GitHub</a>
1675
+ <a href="https://www.npmjs.com/package/@piagent/platform" target="_blank" rel="noopener noreferrer">npm</a>
807
1676
  <a href="/whats-new" hreflang="vi">Tiếng Việt</a>
808
- <a href="https://www.facebook.com/vinhtam0544/" target="_blank" rel="noopener noreferrer">Facebook profile</a>
1677
+ <a href="https://www.facebook.com/vinhtam0544/" target="_blank" rel="noopener noreferrer">Facebook</a>
809
1678
  </div>
810
1679
  </footer>
811
1680
  </div>
@@ -816,6 +1685,13 @@
816
1685
  <nav data-toc></nav>
817
1686
  </aside>
818
1687
  </div>
1688
+ <div class="palette" data-palette data-index="/assets/search-en.json" data-empty="No page matches." role="dialog" aria-modal="true" aria-label="Search documentation">
1689
+ <div class="palette-box">
1690
+ <label class="palette-input"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-search"/></svg><input type="search" placeholder="Search the docs…" aria-label="Search documentation" autocomplete="off" spellcheck="false" /></label>
1691
+ <div class="palette-results" data-results role="listbox"></div>
1692
+ <div class="palette-foot"><span>↑↓ select</span><span>↵ open</span><span>esc close</span></div>
1693
+ </div>
1694
+ </div>
819
1695
  <script>
820
1696
  window.va = window.va || function () { (window.vaq = window.vaq || []).push(arguments); };
821
1697
  </script>