@piagent/platform 1.20.0 → 1.21.1

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 (72) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +1 -1
  3. package/README.vi.md +1 -1
  4. package/docs/command-reference-vietnamese.md +2 -2
  5. package/docs/distribution-standard.md +6 -6
  6. package/docs/languages.json +2 -2
  7. package/docs/operator-manual-vietnamese.md +7 -7
  8. package/docs/publishing-for-teams.md +2 -0
  9. package/docs/release-install-policy.md +2 -2
  10. package/docs/team-onboarding.md +2 -2
  11. package/docs-site/architecture.html +1 -1
  12. package/docs-site/benchmark.html +1 -1
  13. package/docs-site/commands.html +1 -1
  14. package/docs-site/content/en/index.html +4 -4
  15. package/docs-site/content/en/whats-new.html +14 -0
  16. package/docs-site/content/index.html +4 -4
  17. package/docs-site/content/whats-new.html +14 -0
  18. package/docs-site/context-engine.html +1 -1
  19. package/docs-site/ecosystem.html +1 -1
  20. package/docs-site/en/architecture.html +1 -1
  21. package/docs-site/en/benchmark.html +1 -1
  22. package/docs-site/en/commands.html +1 -1
  23. package/docs-site/en/context-engine.html +1 -1
  24. package/docs-site/en/ecosystem.html +1 -1
  25. package/docs-site/en/index.html +5 -5
  26. package/docs-site/en/mcp-approval.html +1 -1
  27. package/docs-site/en/mcp-auth.html +1 -1
  28. package/docs-site/en/mcp-servers.html +1 -1
  29. package/docs-site/en/mcp.html +1 -1
  30. package/docs-site/en/permissions.html +1 -1
  31. package/docs-site/en/profiles.html +1 -1
  32. package/docs-site/en/quickstart.html +1 -1
  33. package/docs-site/en/runtime.html +1 -1
  34. package/docs-site/en/scope.html +1 -1
  35. package/docs-site/en/security.html +1 -1
  36. package/docs-site/en/team.html +1 -1
  37. package/docs-site/en/whats-new.html +15 -1
  38. package/docs-site/en/windows.html +1 -1
  39. package/docs-site/en/workflows.html +1 -1
  40. package/docs-site/index.html +5 -5
  41. package/docs-site/mcp-approval.html +1 -1
  42. package/docs-site/mcp-auth.html +1 -1
  43. package/docs-site/mcp-servers.html +1 -1
  44. package/docs-site/mcp.html +1 -1
  45. package/docs-site/permissions.html +1 -1
  46. package/docs-site/profiles.html +1 -1
  47. package/docs-site/quickstart.html +1 -1
  48. package/docs-site/runtime.html +1 -1
  49. package/docs-site/scope.html +1 -1
  50. package/docs-site/security.html +1 -1
  51. package/docs-site/team.html +1 -1
  52. package/docs-site/whats-new.html +15 -1
  53. package/docs-site/windows.html +1 -1
  54. package/docs-site/workflows.html +1 -1
  55. package/evals/private-holdout-v1/public-exposure.v2.json +2 -2
  56. package/package.json +1 -1
  57. package/packages/piagent-core/managed/call-purpose.mjs +20 -1
  58. package/packages/piagent-core/managed/compaction.mjs +23 -0
  59. package/packages/piagent-core/managed/member-questions.d.mts +2 -2
  60. package/packages/piagent-core/managed/member-questions.mjs +5 -3
  61. package/packages/piagent-core/managed/session.mjs +2 -2
  62. package/packages/piagent-core/package.json +1 -1
  63. package/packages/piagent-webui/dist/client/assets/{MarkdownMessage-nggiOt0N.js → MarkdownMessage-B8LT9b1N.js} +1 -1
  64. package/packages/piagent-webui/dist/client/assets/index-DgcAGoYc.js +231 -0
  65. package/packages/piagent-webui/dist/client/assets/{index-Z91z6SlN.css → index-ZLemRWyJ.css} +1 -1
  66. package/packages/piagent-webui/dist/client/index.html +2 -2
  67. package/packages/piagent-webui/gateway/runtime-session-controls.ts +2 -1
  68. package/packages/piagent-webui/gateway/session-questions.ts +8 -3
  69. package/packages/piagent-webui/gateway/session-runtime-ownership.ts +2 -1
  70. package/packages/piagent-webui/gateway/session-runtime-state.ts +2 -0
  71. package/packages/piagent-webui/gateway/session-runtime-supervisor.ts +10 -10
  72. package/packages/piagent-webui/dist/client/assets/index-CM9cs-gP.js +0 -230
package/CHANGELOG.md CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
  This file records release-facing changes for Pi Agent Platform. Copy the relevant version block into GitHub Releases when publishing a tag.
4
4
 
5
+ ## v1.21.1 - 2026-10-09
6
+
7
+ Bypass can be turned on while a turn runs, and it stays on.
8
+
9
+ ### Fixes
10
+
11
+ - 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 the switch looked done and 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.
12
+
13
+ ## v1.21.0 - 2026-10-09
14
+
15
+ The agent's questions and approvals come one card at a time, other conversations announce when they finish or wait for you, and Studio logs each context compaction.
16
+
17
+ ### Changes
18
+
19
+ - What waits for you comes one card at a time. A conversation's questions and approval requests no longer stack down the page: one card shows, with steps above it ("Việc cần bạn quyết · 1/3") that say who asks (main agent or a subagent role), what kind (Hỏi / Duyệt) and let you jump to another. The main agent's come first, since its 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.
20
+ - Several conversations at once: a toast at the top right says when another conversation finishes a turn (Xong), fails or stops, or starts waiting for your answer or approval; "Mở" opens it. A finished turn fades after a few seconds; a waiting decision stays until it is answered or opened. In the sidebar, a conversation waiting for you glows amber and reads "Cần bạn trả lời" or "Cần duyệt", one that finished while you were elsewhere reads "Xong · chưa xem" until you open it, and they move to the top of "Đang chạy · cần chú ý". The tab title counts what waits, e.g. "(2) Piagent". Before, a conversation waiting on a question showed only "Đang chạy"; the Gateway now marks it, so a page opened later still knows.
21
+ - Studio logs each context compaction of a company conversation. The summary calls carry `X-Agent-Compaction` (`<id>;<reason>;<part>`, reason `threshold`, `overflow` or `manual`), and the main agent's next call carries `X-Agent-Compacted` (`<id>;<reason>;<done|failed|aborted>;<tokens before>;<tokens after>;<ms>`, Pi's own counts). Logs → Lượt agent shows "Compact context 244k → 34k · context chạm ngưỡng · 2 lượt tóm tắt". No summary text leaves the machine. Needs Studio with migration 046; an older Studio ignores the headers.
22
+
5
23
  ## v1.20.0 - 2026-10-09
6
24
 
7
25
  Package installs in the company sandbox no longer ask; a long subagent no longer gets its turn stopped; the review subagent reads work committed in earlier turns.
package/README.md CHANGED
@@ -346,7 +346,7 @@ This repository intentionally excludes:
346
346
 
347
347
  ## Maturity
348
348
 
349
- The current package version is read from package metadata and release tags. Personal machines may follow the unpinned package source when accepting ongoing updates; production/team quickstarts and committed project settings should pin an explicit tag such as `v1.20.0` or a reviewed commit.
349
+ The current package version is read from package metadata and release tags. Personal machines may follow the unpinned package source when accepting ongoing updates; production/team quickstarts and committed project settings should pin an explicit tag such as `v1.21.1` or a reviewed commit.
350
350
 
351
351
  Ready for:
352
352
 
package/README.vi.md CHANGED
@@ -179,7 +179,7 @@ Xem [bằng chứng benchmark](https://piagent.io.vn/benchmark) và
179
179
 
180
180
  Gate này chạy architecture check, test, typecheck, capability validation, runtime smoke và docs consistency trước khi release.
181
181
 
182
- Bản phát hành hiện tại là `v1.20.0`. Với team hoặc production, hãy pin tag này
182
+ Bản phát hành hiện tại là `v1.21.1`. Với team hoặc production, hãy pin tag này
183
183
  hoặc một commit đã review thay vì dựa vào nguồn package không cố định.
184
184
 
185
185
  ## Security
@@ -475,8 +475,8 @@ Các lệnh này chạy ngoài Pi.
475
475
  | Command | Dùng khi nào |
476
476
  |---|---|
477
477
  | `npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1` | Cài Pi CLI tương thích với release hiện tại. |
478
- | `npm install -g --ignore-scripts @piagent/platform@1.20.0` | Cài terminal helper `piagent-*` từ release tag hiện tại. |
479
- | `pi install git:github.com/Vt-mmm/piagent@v1.20.0` | Cài pinned release khi cần reproducible team setup. |
478
+ | `npm install -g --ignore-scripts @piagent/platform@1.21.1` | Cài terminal helper `piagent-*` từ release tag hiện tại. |
479
+ | `pi install git:github.com/Vt-mmm/piagent@v1.21.1` | Cài pinned release khi cần reproducible team setup. |
480
480
  | `pi install git:github.com/Vt-mmm/piagent` | Cài latest package platform cho máy cá nhân/sandbox. |
481
481
  | `piagent-update --check` | Báo version hiện tại vs version sẽ lên cho cả ba thành phần; không cài gì. |
482
482
  | `piagent-update` | Full update global một lệnh cho cả máy: Pi host → npm-global helper → Pi package, đúng thứ tự release yêu cầu. |
@@ -15,9 +15,9 @@ Repo này phải chạy được cho nhiều project/domain khác nhau. Vì vậ
15
15
 
16
16
  | Use case | Package source |
17
17
  |---|---|
18
- | Team pinned release | `git:github.com/Vt-mmm/piagent@v1.20.0` |
18
+ | Team pinned release | `git:github.com/Vt-mmm/piagent@v1.21.1` |
19
19
  | Personal/sandbox dev | `git:github.com/Vt-mmm/piagent` |
20
- | Registry distribution | `npm:@piagent/platform@1.20.0` |
20
+ | Registry distribution | `npm:@piagent/platform@1.21.1` |
21
21
  | Enterprise npm (fork under another scope) | `npm:@your-scope/platform@x.y.z` |
22
22
  | Local platform dev | `/path/to/piagent` |
23
23
 
@@ -54,7 +54,7 @@ Root `package.json` có `pi` manifest trỏ tới:
54
54
  Do đó team có thể:
55
55
 
56
56
  ```bash
57
- pi install git:github.com/Vt-mmm/piagent@v1.20.0
57
+ pi install git:github.com/Vt-mmm/piagent@v1.21.1
58
58
  ```
59
59
 
60
60
  Không cần biết internal folder `packages/piagent-core`. Source không pin chỉ dành cho personal/sandbox như bảng channel ở trên.
@@ -66,12 +66,12 @@ Team nên install global package một lần:
66
66
  ```bash
67
67
  node --version # >= 22.19.0
68
68
  npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1
69
- npm install -g --ignore-scripts @piagent/platform@1.20.0
69
+ npm install -g --ignore-scripts @piagent/platform@1.21.1
70
70
  piagent-install --stable --dry-run
71
71
  piagent-install --stable
72
72
  ```
73
73
 
74
- `pi install git:github.com/Vt-mmm/piagent@v1.20.0` vẫn hợp lệ nếu chỉ cần cài Pi package. Lệnh đó không tự tạo các binary terminal `piagent-*`; muốn có helper global thì dùng `npm install -g --ignore-scripts @piagent/platform@1.20.0`.
74
+ `pi install git:github.com/Vt-mmm/piagent@v1.21.1` vẫn hợp lệ nếu chỉ cần cài Pi package. Lệnh đó không tự tạo các binary terminal `piagent-*`; muốn có helper global thì dùng `npm install -g --ignore-scripts @piagent/platform@1.21.1`.
75
75
 
76
76
  Support matrix hiện tại: macOS Apple Silicon + Bash và Linux x64 + Bash đã được verify; macOS Intel + Bash và Linux ARM64 + Bash là supported target cần chạy smoke trước rollout; native Windows chưa phải target rollout team; WSL2 experimental. Chi tiết và version runtime nằm trong [release/install policy](release-install-policy.md).
77
77
 
@@ -118,7 +118,7 @@ Nếu muốn commit sẵn `.pi/piagent-profile.json` vào repo hoặc bootstrap
118
118
  ```bash
119
119
  bash scripts/setup.sh /path/to/project \
120
120
  --profile be-readonly-fe \
121
- --package-source git:github.com/Vt-mmm/piagent@v1.20.0 \
121
+ --package-source git:github.com/Vt-mmm/piagent@v1.21.1 \
122
122
  --mcp-preset core \
123
123
  --subagents-preset safe
124
124
  ```
@@ -21,8 +21,8 @@
21
21
  "en": "README.md",
22
22
  "vi": "README.vi.md",
23
23
  "consistentAt": {
24
- "en": "fc9b775a03b4701ca9703bee7178926e4d6f6283",
25
- "vi": "758090edabbc1cbbbfbc307793b96a4cbb4da398"
24
+ "en": "30b229ff546f7fff663f5f0c35dfc59e59d79b36",
25
+ "vi": "4ecff796978cb17fae08d9cb053e6db5f811137e"
26
26
  }
27
27
  },
28
28
  {
@@ -19,12 +19,12 @@ Support matrix release hiện tại: macOS Apple Silicon + Bash và Linux x64 +
19
19
  ```bash
20
20
  node --version # >= 22.19.0
21
21
  npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1
22
- npm install -g --ignore-scripts @piagent/platform@1.20.0
22
+ npm install -g --ignore-scripts @piagent/platform@1.21.1
23
23
  piagent-install --stable --dry-run
24
24
  piagent-install --stable
25
25
  ```
26
26
 
27
- Khi seed `.pi/settings.json` cho team/repo cần audit lặp lại, giữ package source dạng pinned tag như `git:github.com/Vt-mmm/piagent@v1.20.0`. Máy cá nhân có thể dùng `git:github.com/Vt-mmm/piagent` để theo latest.
27
+ Khi seed `.pi/settings.json` cho team/repo cần audit lặp lại, giữ package source dạng pinned tag như `git:github.com/Vt-mmm/piagent@v1.21.1`. Máy cá nhân có thể dùng `git:github.com/Vt-mmm/piagent` để theo latest.
28
28
 
29
29
  Nếu đang ở source checkout của platform, dùng helper theo channel để preview trước khi đổi:
30
30
 
@@ -100,7 +100,7 @@ install package once
100
100
 
101
101
  ```bash
102
102
  npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1
103
- npm install -g --ignore-scripts @piagent/platform@1.20.0
103
+ npm install -g --ignore-scripts @piagent/platform@1.21.1
104
104
  piagent-install --stable --dry-run
105
105
  piagent-install --stable
106
106
  ```
@@ -285,7 +285,7 @@ Không phải daily default. Dùng khi muốn tạo sẵn `.pi` files cho projec
285
285
  bash /path/to/piagent/scripts/setup.sh /path/to/project \
286
286
  --project-only \
287
287
  --profile auto \
288
- --package-source git:github.com/Vt-mmm/piagent@v1.20.0 \
288
+ --package-source git:github.com/Vt-mmm/piagent@v1.21.1 \
289
289
  --mcp-preset core \
290
290
  --subagents-preset safe
291
291
  ```
@@ -999,8 +999,8 @@ Watchdog là optional adversarial reviewer ở cuối turn, không bật mặc
999
999
 
1000
1000
  | Command | Dùng để |
1001
1001
  |---|---|
1002
- | `npm install -g --ignore-scripts @piagent/platform@1.20.0` | Cài terminal helper `piagent-*` từ release tag hiện tại. |
1003
- | `pi install git:github.com/Vt-mmm/piagent@v1.20.0` | Install pinned release cho reproducible team setup. |
1002
+ | `npm install -g --ignore-scripts @piagent/platform@1.21.1` | Cài terminal helper `piagent-*` từ release tag hiện tại. |
1003
+ | `pi install git:github.com/Vt-mmm/piagent@v1.21.1` | Install pinned release cho reproducible team setup. |
1004
1004
  | `pi install git:github.com/Vt-mmm/piagent` | Install latest platform package cho máy cá nhân/sandbox. |
1005
1005
  | Cài exact Pi host của release, rồi `npm install -g --ignore-scripts @piagent/platform@X.Y.Z` và `piagent-install --stable` | Full update: đồng bộ host, terminal helper và Pi package. Mỗi release pin một Pi host chính xác; lấy đúng version của release đang cài trong [release/install policy](release-install-policy.md). |
1006
1006
  | Cài exact Pi host ghi trong release cũ, rồi helper `vPREVIOUS` và `piagent-install --stable` | Full rollback; đánh giá lại dependency findings của host cũ trước khi hạ version. |
@@ -1096,7 +1096,7 @@ Mở lại Pi session sau khi install.
1096
1096
  Cài lại terminal helper đúng release rồi kiểm tra `PATH`:
1097
1097
 
1098
1098
  ```bash
1099
- npm install -g --ignore-scripts @piagent/platform@1.20.0
1099
+ npm install -g --ignore-scripts @piagent/platform@1.21.1
1100
1100
  command -v piagent-install
1101
1101
  ```
1102
1102
 
@@ -41,6 +41,8 @@ pi install /path/to/piagent
41
41
 
42
42
  ## Versioning
43
43
 
44
+ - `1.21.1`: sửa lỗi bật Bypass khi lượt đang chạy (đang chờ duyệt lệnh) không có tác dụng và tải lại thì về “Hỏi trước”; cuộc trò chuyện công ty giờ đổi Hỏi trước/Bypass được giữa lượt, áp dụng cho các lệnh sau, lệnh đang chờ vẫn giữ thẻ duyệt; kết quả đổi quyền hiện thành thông báo.
45
+ - `1.21.0`: câu hỏi và yêu cầu duyệt của agent hiện từng thẻ một với thanh “Việc cần bạn quyết · 1/N” (ghi rõ main agent hay subagent nào, Hỏi hay Duyệt; main agent trước, rồi subagent theo thứ tự scout → research → verify → review, cùng agent thì hỏi trước hiện trước); thông báo góc phải khi cuộc trò chuyện khác xong lượt, lỗi, dừng hoặc chờ bạn trả lời/duyệt (bấm Mở để vào); cột trái sáng viền cam “Cần bạn trả lời”/“Cần duyệt”, “Xong · chưa xem” đến khi mở; tiêu đề tab đếm việc đang chờ; gateway đánh dấu cuộc trò chuyện có câu hỏi đang chờ; mỗi lần compact gửi cho Studio (`X-Agent-Compaction`, `X-Agent-Compacted`) để Logs hiện lý do, kích thước trước/sau và kết quả (cần Studio 0.25.0).
44
46
  - `1.20.0`: sandbox công ty cài package không cần duyệt: lệnh bash thường đi qua proxy của Piagent (chạy ngoài sandbox) tới npm, PyPI, Go proxy, crates.io, Maven Central, Gradle, NuGet, RubyGems, Packagist, pub.dev, CocoaPods, Hex và tải về public từ GitHub; chỉ cổng 443/80, không IP trực tiếp hay mạng nội bộ; host khác bị chặn và lỗi ghi rõ host, vẫn phải dùng `run_with_network`; registry riêng thêm vào `~/.piagent/sandbox-domains`; Maven/Gradle (`./mvnw`, `./gradlew`) dùng được proxy; Bypass chạy `run_with_docker` không hỏi (trừ push/deploy/login/xoá không rõ đích); subagent chạy quá 15 phút (verify chạy cả bộ test) không còn bị dừng với `managed-helper-cancelled`; subagent review đọc được code đã commit ở các lượt trước (`since`, hoặc các commit của nhánh khi lượt chưa sửa gì) thay vì báo “không có patch”.
45
47
  - `1.19.0`: task công ty có checklist được làm đến hết: khi main agent tự dừng giữa chừng lúc checklist còn bước (Harness bắt buộc plan), Harness tự cho làm tiếp bước kế tiếp (mỗi vòng là một run mới, dừng sau 2 vòng liên tiếp không tiến triển, tối đa 30 vòng); cuối mỗi lượt có dòng báo Hoàn thành / Dừng giữa chừng còn x/y bước / Lỗi / Bạn đã dừng, kèm nút Tiếp tục; bước member bảo để sau được ghi “để sau” chứ không ghi là xong; lượt có commit vẫn được check và review; run không đóng được (mất mạng, máy ngủ) kết thúc lượt là lỗi; sandbox công ty có `run_with_docker` (một lệnh được duyệt dùng internet và Docker engine, không có credential registry, Bypass vẫn hỏi khi mount ngoài project); `./gradlew` và `./mvnw` dùng lại distribution đã có trên máy; folder chứa nhiều repo hiện “N repo” và đổi nhánh từng repo; danh sách folder đầy tự nhường chỗ.
46
48
  - `1.18.0`: đổi nhánh Git ngay trên dashboard (bấm vào tên nhánh: chọn nhánh có sẵn hoặc tạo nhánh mới; không đổi khi có cuộc trò chuyện đang chạy trong folder); lỗi tạm thời của model sau khi Studio đã nhận (stream bị cắt, model hoặc gateway không trả lời) tự thử lại tối đa 2 lần; Claude Haiku 5.5.
@@ -153,7 +153,7 @@ Use this flow when the team needs both terminal commands and the Pi package:
153
153
  ```bash
154
154
  node --version # >= 22.19.0
155
155
  npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1
156
- npm install -g --ignore-scripts @piagent/platform@1.20.0
156
+ npm install -g --ignore-scripts @piagent/platform@1.21.1
157
157
  piagent-install --stable --dry-run
158
158
  piagent-install --stable
159
159
  ```
@@ -179,7 +179,7 @@ bash scripts/install-global.sh --stable
179
179
  Use this only when terminal commands are not needed:
180
180
 
181
181
  ```bash
182
- pi install git:github.com/Vt-mmm/piagent@v1.20.0
182
+ pi install git:github.com/Vt-mmm/piagent@v1.21.1
183
183
  ```
184
184
 
185
185
  Direct `pi install` does not create `piagent-*` commands on `PATH`.
@@ -10,7 +10,7 @@ Một thành viên mới không cần biết local path của maintainer. Luồn
10
10
  ```bash
11
11
  node --version # >= 22.19.0
12
12
  npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1
13
- npm install -g --ignore-scripts @piagent/platform@1.20.0
13
+ npm install -g --ignore-scripts @piagent/platform@1.21.1
14
14
  piagent-install --stable
15
15
  cd /path/to/project
16
16
  pi
@@ -45,7 +45,7 @@ Mặc định team dùng stable helper:
45
45
  ```bash
46
46
  node --version # >= 22.19.0
47
47
  npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1
48
- npm install -g --ignore-scripts @piagent/platform@1.20.0
48
+ npm install -g --ignore-scripts @piagent/platform@1.21.1
49
49
  piagent-install --stable --dry-run
50
50
  piagent-install --stable
51
51
  ```
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.20.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.21.1 docs · VI</span>
34
34
  <nav class="language-switch" aria-label="Ngôn ngữ">
35
35
  <a class="language-option current" href="/architecture" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
36
  <a class="language-option" href="/en/architecture" hreflang="en" lang="en">EN</a>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.20.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.21.1 docs · VI</span>
34
34
  <nav class="language-switch" aria-label="Ngôn ngữ">
35
35
  <a class="language-option current" href="/benchmark" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
36
  <a class="language-option" href="/en/benchmark" hreflang="en" lang="en">EN</a>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.20.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.21.1 docs · VI</span>
34
34
  <nav class="language-switch" aria-label="Ngôn ngữ">
35
35
  <a class="language-option current" href="/commands" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
36
  <a class="language-option" href="/en/commands" hreflang="en" lang="en">EN</a>
@@ -1,5 +1,5 @@
1
1
  <section class="hero">
2
- <p class="eyebrow">Piagent 1.20.0</p>
2
+ <p class="eyebrow">Piagent 1.21.1</p>
3
3
  <h1>A coding agent for the whole team, checked at every step.</h1>
4
4
  <p>
5
5
  One dashboard for Terminal and the browser. Use models with your own account, or the company's models through Agent Watch and Agent Studio. The guard checks every tool call; in company mode the team's Harness asks for checks, has a subagent review the change and reports the outcome right under the answer.
@@ -13,7 +13,7 @@
13
13
  <div class="hero-actions">
14
14
  <a class="button primary" href="/en/quickstart">Get started</a>
15
15
  <a class="button" href="/en/ecosystem">Ecosystem</a>
16
- <a class="button" href="/en/whats-new">What’s new in 1.20.0</a>
16
+ <a class="button" href="/en/whats-new">What’s new in 1.21.1</a>
17
17
  <a class="button" href="/en/commands">View commands</a>
18
18
  </div>
19
19
  </section>
@@ -89,9 +89,9 @@ piagent-setup</code></pre>
89
89
  <h2 id="where-to-start">Where to start</h2>
90
90
  <div class="card-grid">
91
91
  <a class="doc-card" href="/en/whats-new">
92
- <span class="card-kicker">Release 1.20.0</span>
92
+ <span class="card-kicker">Release 1.21.1</span>
93
93
  <h3>What’s new</h3>
94
- <p>Package installs in the company sandbox no longer ask (npm, PyPI, Go, Maven, Gradle… through a registry-only proxy); in 1.19.0: company tasks with a checklist are carried to the end, every turn says whether it finished, stopped midway or failed, Docker in the company sandbox, folders with several repositories; in 1.18.0: switch the Git branch from the dashboard, retries for passing failures, Claude Haiku 5.5; in 1.17.0: the dashboard shows each project's Git branch; in 1.16.3: an updated dashboard keeps checking for releases; in 1.16.2: the Terminal says what the dashboard says: update question, /bypass, failures and Harness notes in Vietnamese; in 1.16.1: new releases are announced in a dialog and checked every hour, dashboard tabs stay signed in; in 1.16.0: Bypass for company conversations, Harness changes never interrupt you; in 1.15.2: long conversations shrink again; in 1.15.1: Studio sees what each model call is for, conversations in one folder keep their changes apart; in 1.15.0: a refused subagent says why; in 1.14: updates keep the models you chose; in 1.13: conversations keep their place, the agent's notes are formatted, Piagent on Windows through WSL2: a bubblewrap sandbox for company conversations and Agent Watch for Windows; in 1.12: @ picks files and folders on the Mac, skills and commands run from /, and forked company conversations take messages.</p>
94
+ <p>Bypass can be turned on while a turn runs and stays on after a reload; in 1.21.0: questions and approvals one card at a time (the main agent's first), a notification at the top right when another conversation finishes or waits for you, Studio logs each compaction; in 1.20.0: package installs in the company sandbox no longer ask (npm, PyPI, Go, Maven, Gradle… through a registry-only proxy); in 1.19.0: company tasks with a checklist are carried to the end, every turn says whether it finished, stopped midway or failed, Docker in the company sandbox, folders with several repositories; in 1.18.0: switch the Git branch from the dashboard, retries for passing failures, Claude Haiku 5.5; in 1.17.0: the dashboard shows each project's Git branch; in 1.16.3: an updated dashboard keeps checking for releases; in 1.16.2: the Terminal says what the dashboard says: update question, /bypass, failures and Harness notes in Vietnamese; in 1.16.1: new releases are announced in a dialog and checked every hour, dashboard tabs stay signed in; in 1.16.0: Bypass for company conversations, Harness changes never interrupt you; in 1.15.2: long conversations shrink again; in 1.15.1: Studio sees what each model call is for, conversations in one folder keep their changes apart; in 1.15.0: a refused subagent says why; in 1.14: updates keep the models you chose; in 1.13: conversations keep their place, the agent's notes are formatted, Piagent on Windows through WSL2: a bubblewrap sandbox for company conversations and Agent Watch for Windows; in 1.12: @ picks files and folders on the Mac, skills and commands run from /, and forked company conversations take messages.</p>
95
95
  </a>
96
96
  <a class="doc-card" href="/en/ecosystem">
97
97
  <span class="card-kicker">Get started</span>
@@ -1,3 +1,17 @@
1
+ <section class="section">
2
+ <p class="section-kicker">v1.21.1 · 2026-10-09</p>
3
+ <h2 id="v1-21-1">Bypass can be turned on while a turn runs, and it stays on</h2>
4
+ <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>
5
+ </section>
6
+
7
+ <section class="section">
8
+ <p class="section-kicker">v1.21.0 · 2026-10-09</p>
9
+ <h2 id="v1-21-0">Decisions come one at a time, and you see at once which conversation finished or waits for you</h2>
10
+ <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>
11
+ <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>
12
+ <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>
13
+ </section>
14
+
1
15
  <section class="section">
2
16
  <p class="section-kicker">v1.20.0 · 2026-10-09</p>
3
17
  <h2 id="v1-20-0">Package installs in the company sandbox no longer ask</h2>
@@ -1,5 +1,5 @@
1
1
  <section class="hero">
2
- <p class="eyebrow">Piagent 1.20.0</p>
2
+ <p class="eyebrow">Piagent 1.21.1</p>
3
3
  <h1>Coding agent cho cả team, kiểm tra từng bước.</h1>
4
4
  <p>
5
5
  Một dashboard cho Terminal và trình duyệt. Dùng model bằng tài khoản của bạn, hoặc model của công ty qua Agent Watch và Agent Studio. Guard kiểm tra từng tool call; ở chế độ công ty, Harness của team tự yêu cầu chạy check, cho subagent review và báo kết quả ngay dưới câu trả lời.
@@ -13,7 +13,7 @@
13
13
  <div class="hero-actions">
14
14
  <a class="button primary" href="/quickstart">Bắt đầu</a>
15
15
  <a class="button" href="/ecosystem">Hệ sinh thái</a>
16
- <a class="button" href="/whats-new">Có gì mới trong 1.20.0</a>
16
+ <a class="button" href="/whats-new">Có gì mới trong 1.21.1</a>
17
17
  <a class="button" href="/commands">Xem command</a>
18
18
  </div>
19
19
  </section>
@@ -89,9 +89,9 @@ piagent-setup</code></pre>
89
89
  <h2 id="bat-dau-tu-dau">Bắt đầu từ đâu</h2>
90
90
  <div class="card-grid">
91
91
  <a class="doc-card" href="/whats-new">
92
- <span class="card-kicker">Bản 1.20.0</span>
92
+ <span class="card-kicker">Bản 1.21.1</span>
93
93
  <h3>Có gì mới</h3>
94
- <p>Cài package trong sandbox công ty không phải duyệt (npm, PyPI, Go, Maven, Gradle… qua proxy chỉ cho registry); ở 1.19.0: task công ty có checklist được làm đến hết, cuối mỗi lượt báo rõ xong, dừng giữa chừng hay lỗi, Docker trong sandbox công ty, folder chứa nhiều repo; ở 1.18.0: đổi nhánh Git trên dashboard, tự thử lại khi lỗi tạm thời, Claude Haiku 5.5; ở 1.17.0: dashboard hiện nhánh Git của project; ở 1.16.3: dashboard cập nhật xong vẫn tự kiểm tra bản mới; ở 1.16.2: Terminal nói giống dashboard: hỏi cập nhật, /bypass, lỗi và ghi chú Harness bằng tiếng Việt; ở 1.16.1: bản mới được báo bằng dialog và kiểm tra mỗi giờ, tab dashboard không còn mất đăng nhập; ở 1.16.0: Bypass cho cuộc trò chuyện công ty, đổi Harness không làm gián đoạn; ở 1.15.2: cuộc trò chuyện dài tự thu gọn trở lại; ở 1.15.1: Studio thấy mỗi call của model dùng để làm gì, nhiều cuộc trò chuyện trong một folder không nhận nhầm thay đổi của nhau; ở 1.15.0: subagent bị từ chối nói đúng lý do; ở 1.14: cập nhật giữ model bạn đã chọn; ở 1.13: cuộc trò chuyện giữ chỗ đang đọc, chữ của agent có định dạng, Piagent trên Windows qua WSL2: sandbox công ty bằng bubblewrap và Agent Watch cho Windows; ở 1.12: @ chọn file và folder trên máy, skill và command dùng bằng /, nhánh cuộc trò chuyện công ty gửi được tin nhắn.</p>
94
+ <p>Bật Bypass được cả khi lượt đang chạy và được giữ sau khi tải lại; ở 1.21.0: câu hỏi và yêu cầu duyệt hiện từng cái một (main agent trước), thông báo góc phải khi cuộc trò chuyện khác xong hay đang chờ bạn, Studio ghi lại mỗi lần compact; ở 1.20.0: cài package trong sandbox công ty không phải duyệt (npm, PyPI, Go, Maven, Gradle… qua proxy chỉ cho registry); ở 1.19.0: task công ty có checklist được làm đến hết, cuối mỗi lượt báo rõ xong, dừng giữa chừng hay lỗi, Docker trong sandbox công ty, folder chứa nhiều repo; ở 1.18.0: đổi nhánh Git trên dashboard, tự thử lại khi lỗi tạm thời, Claude Haiku 5.5; ở 1.17.0: dashboard hiện nhánh Git của project; ở 1.16.3: dashboard cập nhật xong vẫn tự kiểm tra bản mới; ở 1.16.2: Terminal nói giống dashboard: hỏi cập nhật, /bypass, lỗi và ghi chú Harness bằng tiếng Việt; ở 1.16.1: bản mới được báo bằng dialog và kiểm tra mỗi giờ, tab dashboard không còn mất đăng nhập; ở 1.16.0: Bypass cho cuộc trò chuyện công ty, đổi Harness không làm gián đoạn; ở 1.15.2: cuộc trò chuyện dài tự thu gọn trở lại; ở 1.15.1: Studio thấy mỗi call của model dùng để làm gì, nhiều cuộc trò chuyện trong một folder không nhận nhầm thay đổi của nhau; ở 1.15.0: subagent bị từ chối nói đúng lý do; ở 1.14: cập nhật giữ model bạn đã chọn; ở 1.13: cuộc trò chuyện giữ chỗ đang đọc, chữ của agent có định dạng, Piagent trên Windows qua WSL2: sandbox công ty bằng bubblewrap và Agent Watch cho Windows; ở 1.12: @ chọn file và folder trên máy, skill và command dùng bằng /, nhánh cuộc trò chuyện công ty gửi được tin nhắn.</p>
95
95
  </a>
96
96
  <a class="doc-card" href="/ecosystem">
97
97
  <span class="card-kicker">Get started</span>
@@ -1,3 +1,17 @@
1
+ <section class="section">
2
+ <p class="section-kicker">v1.21.1 · 2026-10-09</p>
3
+ <h2 id="v1-21-1">Bật Bypass ngay cả khi lượt đang chạy, và Bypass được giữ</h2>
4
+ <p class="section-lead">Sửa lỗi: bật Bypass lúc một lệnh đang chờ bạn duyệt không có tác dụng. Gateway từ chối đổi quyền khi lượt đang chạy, còn thông báo lỗi lại nằm trong bảng vừa đóng, nên trông như đã bật nhưng tải lại trang thì vẫn là “Hỏi trước”. Giờ cuộc trò chuyện công ty đổi giữa “Hỏi trước” và Bypass lúc nào cũng được, kể cả giữa lượt; quyền được đọc lại ở mỗi lệnh nên các lệnh sau làm theo lựa chọn mới. Lệnh đang chờ vẫn giữ thẻ duyệt (Cho phép hoặc Từ chối). Kết quả đổi quyền hiện thành thông báo ở trên cùng.</p>
5
+ </section>
6
+
7
+ <section class="section">
8
+ <p class="section-kicker">v1.21.0 · 2026-10-09</p>
9
+ <h2 id="v1-21-0">Việc cần bạn quyết hiện từng cái một, và biết ngay cuộc trò chuyện nào xong hay đang chờ bạn</h2>
10
+ <p class="section-lead">Câu hỏi và yêu cầu duyệt của agent không còn xếp chồng dài xuống trang: mỗi lần chỉ hiện một thẻ, phía trên có thanh “Việc cần bạn quyết · 1/3” ghi rõ ai hỏi (main agent hay subagent nào), loại việc (Hỏi / Duyệt) và cho bấm chuyển sang việc khác. Việc của main agent hiện trước vì câu trả lời của bạn định hướng việc của subagent; sau đó tới subagent theo thứ tự làm việc (scout, research, verify, review); trong cùng một agent, việc hỏi trước hiện trước. Trả lời xong thẻ này thì thẻ kế tiếp hiện lên.</p>
11
+ <p class="section-lead">Làm nhiều cuộc trò chuyện cùng lúc: góc phải trên màn hình hiện thông báo khi một cuộc trò chuyện khác xong lượt, bị lỗi, bị dừng, hoặc đang chờ bạn trả lời hay duyệt; bấm “Mở” để vào đúng cuộc trò chuyện đó. Thông báo “Xong” tự ẩn sau vài giây, việc đang chờ bạn thì giữ đến khi bạn trả lời hoặc mở. Ở cột trái, cuộc trò chuyện đang chờ bạn sáng viền cam và ghi “Cần bạn trả lời” hoặc “Cần duyệt”, cuộc trò chuyện xong khi bạn đang ở chỗ khác ghi “Xong · chưa xem” cho đến khi bạn mở, và cả hai được đưa lên đầu mục “Đang chạy · cần chú ý”. Tiêu đề tab đếm số việc đang chờ, ví dụ “(2) Piagent”.</p>
12
+ <p class="section-lead">Studio ghi lại mỗi lần cuộc trò chuyện công ty được thu gọn (compact): lý do, kích thước trước và sau, kết quả, hiện trong Logs → Lượt agent (cần Agent Studio 0.25.0).</p>
13
+ </section>
14
+
1
15
  <section class="section">
2
16
  <p class="section-kicker">v1.20.0 · 2026-10-09</p>
3
17
  <h2 id="v1-20-0">Cài package trong sandbox công ty không phải duyệt nữa</h2>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.20.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.21.1 docs · VI</span>
34
34
  <nav class="language-switch" aria-label="Ngôn ngữ">
35
35
  <a class="language-option current" href="/context-engine" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
36
  <a class="language-option" href="/en/context-engine" hreflang="en" lang="en">EN</a>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.20.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.21.1 docs · VI</span>
34
34
  <nav class="language-switch" aria-label="Ngôn ngữ">
35
35
  <a class="language-option current" href="/ecosystem" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
36
  <a class="language-option" href="/en/ecosystem" hreflang="en" lang="en">EN</a>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.21.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/architecture" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/architecture" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.21.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/benchmark" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/benchmark" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.21.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/commands" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/commands" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.21.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/context-engine" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/context-engine" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.21.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/ecosystem" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/ecosystem" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.21.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -94,7 +94,7 @@
94
94
  <main>
95
95
  <div class="content-shell" data-article>
96
96
  <section class="hero">
97
- <p class="eyebrow">Piagent 1.20.0</p>
97
+ <p class="eyebrow">Piagent 1.21.1</p>
98
98
  <h1>A coding agent for the whole team, checked at every step.</h1>
99
99
  <p>
100
100
  One dashboard for Terminal and the browser. Use models with your own account, or the company's models through Agent Watch and Agent Studio. The guard checks every tool call; in company mode the team's Harness asks for checks, has a subagent review the change and reports the outcome right under the answer.
@@ -108,7 +108,7 @@
108
108
  <div class="hero-actions">
109
109
  <a class="button primary" href="/en/quickstart">Get started</a>
110
110
  <a class="button" href="/en/ecosystem">Ecosystem</a>
111
- <a class="button" href="/en/whats-new">What’s new in 1.20.0</a>
111
+ <a class="button" href="/en/whats-new">What’s new in 1.21.1</a>
112
112
  <a class="button" href="/en/commands">View commands</a>
113
113
  </div>
114
114
  </section>
@@ -184,9 +184,9 @@ piagent-setup</code></pre>
184
184
  <h2 id="where-to-start">Where to start</h2>
185
185
  <div class="card-grid">
186
186
  <a class="doc-card" href="/en/whats-new">
187
- <span class="card-kicker">Release 1.20.0</span>
187
+ <span class="card-kicker">Release 1.21.1</span>
188
188
  <h3>What’s new</h3>
189
- <p>Package installs in the company sandbox no longer ask (npm, PyPI, Go, Maven, Gradle… through a registry-only proxy); in 1.19.0: company tasks with a checklist are carried to the end, every turn says whether it finished, stopped midway or failed, Docker in the company sandbox, folders with several repositories; in 1.18.0: switch the Git branch from the dashboard, retries for passing failures, Claude Haiku 5.5; in 1.17.0: the dashboard shows each project's Git branch; in 1.16.3: an updated dashboard keeps checking for releases; in 1.16.2: the Terminal says what the dashboard says: update question, /bypass, failures and Harness notes in Vietnamese; in 1.16.1: new releases are announced in a dialog and checked every hour, dashboard tabs stay signed in; in 1.16.0: Bypass for company conversations, Harness changes never interrupt you; in 1.15.2: long conversations shrink again; in 1.15.1: Studio sees what each model call is for, conversations in one folder keep their changes apart; in 1.15.0: a refused subagent says why; in 1.14: updates keep the models you chose; in 1.13: conversations keep their place, the agent's notes are formatted, Piagent on Windows through WSL2: a bubblewrap sandbox for company conversations and Agent Watch for Windows; in 1.12: @ picks files and folders on the Mac, skills and commands run from /, and forked company conversations take messages.</p>
189
+ <p>Bypass can be turned on while a turn runs and stays on after a reload; in 1.21.0: questions and approvals one card at a time (the main agent's first), a notification at the top right when another conversation finishes or waits for you, Studio logs each compaction; in 1.20.0: package installs in the company sandbox no longer ask (npm, PyPI, Go, Maven, Gradle… through a registry-only proxy); in 1.19.0: company tasks with a checklist are carried to the end, every turn says whether it finished, stopped midway or failed, Docker in the company sandbox, folders with several repositories; in 1.18.0: switch the Git branch from the dashboard, retries for passing failures, Claude Haiku 5.5; in 1.17.0: the dashboard shows each project's Git branch; in 1.16.3: an updated dashboard keeps checking for releases; in 1.16.2: the Terminal says what the dashboard says: update question, /bypass, failures and Harness notes in Vietnamese; in 1.16.1: new releases are announced in a dialog and checked every hour, dashboard tabs stay signed in; in 1.16.0: Bypass for company conversations, Harness changes never interrupt you; in 1.15.2: long conversations shrink again; in 1.15.1: Studio sees what each model call is for, conversations in one folder keep their changes apart; in 1.15.0: a refused subagent says why; in 1.14: updates keep the models you chose; in 1.13: conversations keep their place, the agent's notes are formatted, Piagent on Windows through WSL2: a bubblewrap sandbox for company conversations and Agent Watch for Windows; in 1.12: @ picks files and folders on the Mac, skills and commands run from /, and forked company conversations take messages.</p>
190
190
  </a>
191
191
  <a class="doc-card" href="/en/ecosystem">
192
192
  <span class="card-kicker">Get started</span>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.21.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/mcp-approval" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/mcp-approval" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.21.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/mcp-auth" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/mcp-auth" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.21.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/mcp-servers" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/mcp-servers" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.21.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/mcp" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/mcp" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.21.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/permissions" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/permissions" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.21.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/profiles" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/profiles" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.21.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/quickstart" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/quickstart" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.21.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/runtime" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/runtime" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.21.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/scope" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/scope" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.21.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/security" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/security" hreflang="en" lang="en" aria-current="true">EN</a>