@piagent/platform 1.11.0 → 1.11.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 (58) hide show
  1. package/CHANGELOG.md +9 -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 +1 -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 +10 -0
  16. package/docs-site/content/index.html +4 -4
  17. package/docs-site/content/whats-new.html +10 -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 +11 -1
  38. package/docs-site/en/workflows.html +1 -1
  39. package/docs-site/index.html +5 -5
  40. package/docs-site/mcp-approval.html +1 -1
  41. package/docs-site/mcp-auth.html +1 -1
  42. package/docs-site/mcp-servers.html +1 -1
  43. package/docs-site/mcp.html +1 -1
  44. package/docs-site/permissions.html +1 -1
  45. package/docs-site/profiles.html +1 -1
  46. package/docs-site/quickstart.html +1 -1
  47. package/docs-site/runtime.html +1 -1
  48. package/docs-site/scope.html +1 -1
  49. package/docs-site/security.html +1 -1
  50. package/docs-site/team.html +1 -1
  51. package/docs-site/whats-new.html +11 -1
  52. package/docs-site/workflows.html +1 -1
  53. package/evals/private-holdout-v1/public-exposure.v2.json +1 -1
  54. package/package.json +1 -1
  55. package/packages/piagent-core/package.json +1 -1
  56. package/scripts/dashboard-update-job.mjs +5 -1
  57. package/scripts/piagent-dashboard.mjs +8 -0
  58. package/scripts/update-global.mjs +2 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
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.11.1 - 2026-10-05
6
+
7
+ Updates now end on the new release's dashboard, whichever way they ran.
8
+
9
+ ### Fixes
10
+
11
+ - An update started from the dashboard installed the new release but could not restart the dashboard: the restart ran without the package's TypeScript loader, which an npm install needs under node_modules. It now starts the dashboard the way the `piagent` command does.
12
+ - After `piagent-update` (or any reinstall), `piagent dashboard` reused the dashboard still running the earlier release, which kept showing that release's pages. A dashboard from another release is now stopped and started again on the installed one, and `piagent-update` says so when it finishes.
13
+
5
14
  ## v1.11.0 - 2026-10-05
6
15
 
7
16
  The dashboard keeps Piagent and Pi up to date itself, and works like an editor:
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.11.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.11.1` or a reviewed commit.
350
350
 
351
351
  Ready for:
352
352
 
package/README.vi.md CHANGED
@@ -175,7 +175,7 @@ Xem [bằng chứng benchmark](https://piagent.io.vn/benchmark) và
175
175
 
176
176
  Gate này chạy architecture check, test, typecheck, capability validation, runtime smoke và docs consistency trước khi release.
177
177
 
178
- Bản phát hành hiện tại là `v1.11.0`. Với team hoặc production, hãy pin tag này
178
+ Bản phát hành hiện tại là `v1.11.1`. Với team hoặc production, hãy pin tag này
179
179
  hoặc một commit đã review thay vì dựa vào nguồn package không cố định.
180
180
 
181
181
  ## Security
@@ -473,8 +473,8 @@ Các lệnh này chạy ngoài Pi.
473
473
  | Command | Dùng khi nào |
474
474
  |---|---|
475
475
  | `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. |
476
- | `npm install -g --ignore-scripts @piagent/platform@1.11.0` | Cài terminal helper `piagent-*` từ release tag hiện tại. |
477
- | `pi install git:github.com/Vt-mmm/piagent@v1.11.0` | Cài pinned release khi cần reproducible team setup. |
476
+ | `npm install -g --ignore-scripts @piagent/platform@1.11.1` | Cài terminal helper `piagent-*` từ release tag hiện tại. |
477
+ | `pi install git:github.com/Vt-mmm/piagent@v1.11.1` | Cài pinned release khi cần reproducible team setup. |
478
478
  | `pi install git:github.com/Vt-mmm/piagent` | Cài latest package platform cho máy cá nhân/sandbox. |
479
479
  | `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ì. |
480
480
  | `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.11.0` |
18
+ | Team pinned release | `git:github.com/Vt-mmm/piagent@v1.11.1` |
19
19
  | Personal/sandbox dev | `git:github.com/Vt-mmm/piagent` |
20
- | Registry distribution | `npm:@piagent/platform@1.11.0` |
20
+ | Registry distribution | `npm:@piagent/platform@1.11.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.11.0
57
+ pi install git:github.com/Vt-mmm/piagent@v1.11.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.11.0
69
+ npm install -g --ignore-scripts @piagent/platform@1.11.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.11.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.11.0`.
74
+ `pi install git:github.com/Vt-mmm/piagent@v1.11.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.11.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.11.0 \
121
+ --package-source git:github.com/Vt-mmm/piagent@v1.11.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": "524743fb71b0a1bcb7c7f65146cb574753823295",
25
- "vi": "c52264098917ae33e9025d91fde3387448c58af7"
24
+ "en": "f0c8aa0995fb58afbbb38493e66ec4cb8d88ad56",
25
+ "vi": "035352169275f2cf6d89285dea8c58ef37f78efc"
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.11.0
22
+ npm install -g --ignore-scripts @piagent/platform@1.11.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.11.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.11.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.11.0
103
+ npm install -g --ignore-scripts @piagent/platform@1.11.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.11.0 \
288
+ --package-source git:github.com/Vt-mmm/piagent@v1.11.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.11.0` | Cài terminal helper `piagent-*` từ release tag hiện tại. |
1003
- | `pi install git:github.com/Vt-mmm/piagent@v1.11.0` | Install pinned release cho reproducible team setup. |
1002
+ | `npm install -g --ignore-scripts @piagent/platform@1.11.1` | Cài terminal helper `piagent-*` từ release tag hiện tại. |
1003
+ | `pi install git:github.com/Vt-mmm/piagent@v1.11.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.11.0
1099
+ npm install -g --ignore-scripts @piagent/platform@1.11.1
1100
1100
  command -v piagent-install
1101
1101
  ```
1102
1102
 
@@ -41,6 +41,7 @@ pi install /path/to/piagent
41
41
 
42
42
  ## Versioning
43
43
 
44
+ - `1.11.1`: cập nhật xong luôn chạy dashboard của bản mới: nút cập nhật trong dashboard khởi động lại dashboard đúng cách (bản 1.11.0 cài xong nhưng không tự khởi động lại), và `piagent dashboard` thay dashboard của bản cũ còn đang chạy sau `piagent-update`.
44
45
  - `1.11.0`: dashboard tự kiểm tra bản mới (khi mở và mỗi 6 giờ) và cập nhật Pi + Piagent bằng một nút, Pi luôn lên đúng bản Piagent yêu cầu, khoá khi đang có lượt chạy; thanh trạng thái kiểu IDE, bảng lệnh ⌘K/Ctrl+K, ⌘,/Ctrl+, mở Cài đặt; Cài đặt có ô tìm kiếm, nhóm mục và mục Phím tắt. Máy đang ở 1.10.0 cập nhật tay một lần; từ 1.11.0 bấm nút trong dashboard.
45
46
  - `1.10.0`: main agent hỏi lại khi yêu cầu còn để ngỏ một quyết định (thẻ câu hỏi có lựa chọn đánh số, "Khác" và "Để agent tự quyết"); subagent được phản biện brief, bất đồng lần hai thì member quyết (báo cáo quy trình v3 cần Studio và Agent Watch mới, bản cũ vẫn nhận v2); subagent tự chạy lại trên model dự phòng khi hết quota; patch lớn được review theo từng phần; tab dashboard cũ không còn bị từ chối khi dashboard được mở lần nữa trong cùng trình duyệt.
46
47
  - `1.9.3`: Enter khi gõ tiếng Việt (bộ gõ đang chốt chữ) không còn gửi tin hay tạo cuộc trò chuyện; bấm Enter hai lần chỉ tạo một cuộc trò chuyện và gửi một tin; subagent đọc tối đa 20.000 ký tự mỗi trang web (main giữ 100.000).
@@ -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.11.0
156
+ npm install -g --ignore-scripts @piagent/platform@1.11.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.11.0
182
+ pi install git:github.com/Vt-mmm/piagent@v1.11.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.11.0
13
+ npm install -g --ignore-scripts @piagent/platform@1.11.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.11.0
48
+ npm install -g --ignore-scripts @piagent/platform@1.11.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.11.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.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.11.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.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.11.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.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.11.0</p>
2
+ <p class="eyebrow">Piagent 1.11.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.11.0</a>
16
+ <a class="button" href="/en/whats-new">What’s new in 1.11.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.11.0</span>
92
+ <span class="card-kicker">Release 1.11.1</span>
93
93
  <h3>What’s new</h3>
94
- <p>One-click updates of Pi and Piagent, a ⌘K command palette and searchable Settings; in 1.10.0: the main agent asks when it is unsure and subagents may object to a brief.</p>
94
+ <p>An update ends on the new release’s dashboard; in 1.11.0: one-click updates of Pi and Piagent, a ⌘K command palette and searchable Settings.</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,13 @@
1
+ <section class="section">
2
+ <p class="section-kicker">v1.11.1 · 2026-10-05</p>
3
+ <h2 id="v1-11-1">An update ends on the new release's dashboard</h2>
4
+ <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>
5
+ <div class="grid cols-2">
6
+ <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>
7
+ <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>
8
+ </div>
9
+ </section>
10
+
1
11
  <section class="section">
2
12
  <p class="section-kicker">v1.11.0 · 2026-10-05</p>
3
13
  <h2 id="v1-11-0">One-click updates, and a dashboard that works like an editor</h2>
@@ -1,5 +1,5 @@
1
1
  <section class="hero">
2
- <p class="eyebrow">Piagent 1.11.0</p>
2
+ <p class="eyebrow">Piagent 1.11.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.11.0</a>
16
+ <a class="button" href="/whats-new">Có gì mới trong 1.11.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.11.0</span>
92
+ <span class="card-kicker">Bản 1.11.1</span>
93
93
  <h3>Có gì mới</h3>
94
- <p>Cập nhật Pi và Piagent bằng một nút, bảng lệnh ⌘K và Cài đặt tìm được; ở 1.10.0: main agent hỏi lại khi chưa rõ, subagent được phản biện brief.</p>
94
+ <p>Cập nhật xong là dashboard chạy bản mới; ở 1.11.0: cập nhật Pi và Piagent bằng một nút, bảng lệnh ⌘K và Cài đặt tìm được.</p>
95
95
  </a>
96
96
  <a class="doc-card" href="/ecosystem">
97
97
  <span class="card-kicker">Get started</span>
@@ -1,3 +1,13 @@
1
+ <section class="section">
2
+ <p class="section-kicker">v1.11.1 · 2026-10-05</p>
3
+ <h2 id="v1-11-1">Cập nhật xong là dashboard chạy bản mới</h2>
4
+ <p class="section-lead">Bấm cập nhật trong dashboard hay chạy <code>piagent-update</code>, dashboard đều mở lại trên bản vừa cài, không còn giữ giao diện của bản cũ.</p>
5
+ <div class="grid cols-2">
6
+ <article class="card"><h3 id="restart-after-update">Khởi động lại sau khi cập nhật</h3><p>Nút cập nhật cài bản mới rồi khởi động lại dashboard và mở trong tab mới. Ở 1.11.0, bước khởi động lại không chạy được trên bản cài từ npm.</p></article>
7
+ <article class="card"><h3 id="replace-older-dashboard">Thay dashboard của bản cũ</h3><p>Sau <code>piagent-update</code>, lệnh <code>piagent dashboard</code> dừng dashboard của bản cũ còn đang chạy và mở dashboard của bản mới.</p></article>
8
+ </div>
9
+ </section>
10
+
1
11
  <section class="section">
2
12
  <p class="section-kicker">v1.11.0 · 2026-10-05</p>
3
13
  <h2 id="v1-11-0">Cập nhật bằng một nút, và dashboard như một trình soạn code</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.11.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.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.11.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.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.11.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.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.11.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.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.11.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.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.11.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.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.11.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.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.11.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.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>
@@ -93,7 +93,7 @@
93
93
  <main>
94
94
  <div class="content-shell" data-article>
95
95
  <section class="hero">
96
- <p class="eyebrow">Piagent 1.11.0</p>
96
+ <p class="eyebrow">Piagent 1.11.1</p>
97
97
  <h1>A coding agent for the whole team, checked at every step.</h1>
98
98
  <p>
99
99
  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.
@@ -107,7 +107,7 @@
107
107
  <div class="hero-actions">
108
108
  <a class="button primary" href="/en/quickstart">Get started</a>
109
109
  <a class="button" href="/en/ecosystem">Ecosystem</a>
110
- <a class="button" href="/en/whats-new">What’s new in 1.11.0</a>
110
+ <a class="button" href="/en/whats-new">What’s new in 1.11.1</a>
111
111
  <a class="button" href="/en/commands">View commands</a>
112
112
  </div>
113
113
  </section>
@@ -183,9 +183,9 @@ piagent-setup</code></pre>
183
183
  <h2 id="where-to-start">Where to start</h2>
184
184
  <div class="card-grid">
185
185
  <a class="doc-card" href="/en/whats-new">
186
- <span class="card-kicker">Release 1.11.0</span>
186
+ <span class="card-kicker">Release 1.11.1</span>
187
187
  <h3>What’s new</h3>
188
- <p>One-click updates of Pi and Piagent, a ⌘K command palette and searchable Settings; in 1.10.0: the main agent asks when it is unsure and subagents may object to a brief.</p>
188
+ <p>An update ends on the new release’s dashboard; in 1.11.0: one-click updates of Pi and Piagent, a ⌘K command palette and searchable Settings.</p>
189
189
  </a>
190
190
  <a class="doc-card" href="/en/ecosystem">
191
191
  <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.11.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.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.11.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.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.11.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.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.11.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.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.11.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.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.11.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.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.11.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.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.11.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.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.11.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.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.11.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.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>
@@ -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.11.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/team" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/team" 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.11.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/whats-new" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/whats-new" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -103,6 +103,16 @@
103
103
  <h1>1.9.0: ask in plain language, the team's Harness checks</h1>
104
104
  <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>
105
105
  </div>
106
+ <section class="section">
107
+ <p class="section-kicker">v1.11.1 · 2026-10-05</p>
108
+ <h2 id="v1-11-1">An update ends on the new release's dashboard</h2>
109
+ <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>
110
+ <div class="grid cols-2">
111
+ <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>
112
+ <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>
113
+ </div>
114
+ </section>
115
+
106
116
  <section class="section">
107
117
  <p class="section-kicker">v1.11.0 · 2026-10-05</p>
108
118
  <h2 id="v1-11-0">One-click updates, and a dashboard that works like an editor</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.11.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/workflows" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/workflows" 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.11.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.1 docs · VI</span>
34
34
  <nav class="language-switch" aria-label="Ngôn ngữ">
35
35
  <a class="language-option current" href="/" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
36
  <a class="language-option" href="/en/" hreflang="en" lang="en">EN</a>
@@ -93,7 +93,7 @@
93
93
  <main>
94
94
  <div class="content-shell" data-article>
95
95
  <section class="hero">
96
- <p class="eyebrow">Piagent 1.11.0</p>
96
+ <p class="eyebrow">Piagent 1.11.1</p>
97
97
  <h1>Coding agent cho cả team, kiểm tra từng bước.</h1>
98
98
  <p>
99
99
  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.
@@ -107,7 +107,7 @@
107
107
  <div class="hero-actions">
108
108
  <a class="button primary" href="/quickstart">Bắt đầu</a>
109
109
  <a class="button" href="/ecosystem">Hệ sinh thái</a>
110
- <a class="button" href="/whats-new">Có gì mới trong 1.11.0</a>
110
+ <a class="button" href="/whats-new">Có gì mới trong 1.11.1</a>
111
111
  <a class="button" href="/commands">Xem command</a>
112
112
  </div>
113
113
  </section>
@@ -183,9 +183,9 @@ piagent-setup</code></pre>
183
183
  <h2 id="bat-dau-tu-dau">Bắt đầu từ đâu</h2>
184
184
  <div class="card-grid">
185
185
  <a class="doc-card" href="/whats-new">
186
- <span class="card-kicker">Bản 1.11.0</span>
186
+ <span class="card-kicker">Bản 1.11.1</span>
187
187
  <h3>Có gì mới</h3>
188
- <p>Cập nhật Pi và Piagent bằng một nút, bảng lệnh ⌘K và Cài đặt tìm được; ở 1.10.0: main agent hỏi lại khi chưa rõ, subagent được phản biện brief.</p>
188
+ <p>Cập nhật xong là dashboard chạy bản mới; ở 1.11.0: cập nhật Pi và Piagent bằng một nút, bảng lệnh ⌘K và Cài đặt tìm được.</p>
189
189
  </a>
190
190
  <a class="doc-card" href="/ecosystem">
191
191
  <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.11.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.1 docs · VI</span>
34
34
  <nav class="language-switch" aria-label="Ngôn ngữ">
35
35
  <a class="language-option current" href="/mcp-approval" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
36
  <a class="language-option" href="/en/mcp-approval" 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.11.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.1 docs · VI</span>
34
34
  <nav class="language-switch" aria-label="Ngôn ngữ">
35
35
  <a class="language-option current" href="/mcp-auth" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
36
  <a class="language-option" href="/en/mcp-auth" 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.11.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.1 docs · VI</span>
34
34
  <nav class="language-switch" aria-label="Ngôn ngữ">
35
35
  <a class="language-option current" href="/mcp-servers" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
36
  <a class="language-option" href="/en/mcp-servers" 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.11.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.1 docs · VI</span>
34
34
  <nav class="language-switch" aria-label="Ngôn ngữ">
35
35
  <a class="language-option current" href="/mcp" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
36
  <a class="language-option" href="/en/mcp" 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.11.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.1 docs · VI</span>
34
34
  <nav class="language-switch" aria-label="Ngôn ngữ">
35
35
  <a class="language-option current" href="/permissions" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
36
  <a class="language-option" href="/en/permissions" 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.11.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.1 docs · VI</span>
34
34
  <nav class="language-switch" aria-label="Ngôn ngữ">
35
35
  <a class="language-option current" href="/profiles" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
36
  <a class="language-option" href="/en/profiles" 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.11.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.1 docs · VI</span>
34
34
  <nav class="language-switch" aria-label="Ngôn ngữ">
35
35
  <a class="language-option current" href="/quickstart" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
36
  <a class="language-option" href="/en/quickstart" 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.11.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.1 docs · VI</span>
34
34
  <nav class="language-switch" aria-label="Ngôn ngữ">
35
35
  <a class="language-option current" href="/runtime" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
36
  <a class="language-option" href="/en/runtime" 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.11.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.1 docs · VI</span>
34
34
  <nav class="language-switch" aria-label="Ngôn ngữ">
35
35
  <a class="language-option current" href="/scope" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
36
  <a class="language-option" href="/en/scope" 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.11.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.1 docs · VI</span>
34
34
  <nav class="language-switch" aria-label="Ngôn ngữ">
35
35
  <a class="language-option current" href="/security" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
36
  <a class="language-option" href="/en/security" 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.11.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.1 docs · VI</span>
34
34
  <nav class="language-switch" aria-label="Ngôn ngữ">
35
35
  <a class="language-option current" href="/team" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
36
  <a class="language-option" href="/en/team" 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.11.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.1 docs · VI</span>
34
34
  <nav class="language-switch" aria-label="Ngôn ngữ">
35
35
  <a class="language-option current" href="/whats-new" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
36
  <a class="language-option" href="/en/whats-new" hreflang="en" lang="en">EN</a>
@@ -103,6 +103,16 @@
103
103
  <h1>Bản 1.9.0: nói việc bằng lời, Harness của team kiểm tra</h1>
104
104
  <p>Bỏ task contract và lệnh workflow. Chế độ công ty tự yêu cầu check và review; nút Dừng, lệnh có mạng theo lần duyệt và thẻ duyệt dễ đọc hơn.</p>
105
105
  </div>
106
+ <section class="section">
107
+ <p class="section-kicker">v1.11.1 · 2026-10-05</p>
108
+ <h2 id="v1-11-1">Cập nhật xong là dashboard chạy bản mới</h2>
109
+ <p class="section-lead">Bấm cập nhật trong dashboard hay chạy <code>piagent-update</code>, dashboard đều mở lại trên bản vừa cài, không còn giữ giao diện của bản cũ.</p>
110
+ <div class="grid cols-2">
111
+ <article class="card"><h3 id="restart-after-update">Khởi động lại sau khi cập nhật</h3><p>Nút cập nhật cài bản mới rồi khởi động lại dashboard và mở trong tab mới. Ở 1.11.0, bước khởi động lại không chạy được trên bản cài từ npm.</p></article>
112
+ <article class="card"><h3 id="replace-older-dashboard">Thay dashboard của bản cũ</h3><p>Sau <code>piagent-update</code>, lệnh <code>piagent dashboard</code> dừng dashboard của bản cũ còn đang chạy và mở dashboard của bản mới.</p></article>
113
+ </div>
114
+ </section>
115
+
106
116
  <section class="section">
107
117
  <p class="section-kicker">v1.11.0 · 2026-10-05</p>
108
118
  <h2 id="v1-11-0">Cập nhật bằng một nút, và dashboard như một trình soạn code</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.11.0 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.11.1 docs · VI</span>
34
34
  <nav class="language-switch" aria-label="Ngôn ngữ">
35
35
  <a class="language-option current" href="/workflows" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
36
  <a class="language-option" href="/en/workflows" hreflang="en" lang="en">EN</a>
@@ -257,7 +257,7 @@
257
257
  {
258
258
  "path": "tests",
259
259
  "fileCount": 518,
260
- "sha256": "4628815d440fc611a55dfb748aaaccef1e514ced56d51a309daa77bf28e9f92d"
260
+ "sha256": "92327b355aae9153c31a8dcf39be2b15b9ef2d0e9036e83b048c98ec5872f17a"
261
261
  }
262
262
  ],
263
263
  "custodianComparisonRules": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@piagent/platform",
3
- "version": "1.11.0",
3
+ "version": "1.11.1",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@piagent/core",
3
- "version": "1.11.0",
3
+ "version": "1.11.1",
4
4
  "type": "module",
5
5
  "private": true,
6
6
  "license": "MIT",
@@ -68,5 +68,9 @@ try {
68
68
  // The new dashboard opens in a new browser tab: the old tab's browser session
69
69
  // ends with the old dashboard. Its launch link is never written to the log.
70
70
  fs.writeSync(log, "\nRestarting the dashboard on the new release\n");
71
- const restart = spawnSync(process.execPath, [dashboard, "restart", "--json"], { stdio: ["ignore", "ignore", log], env, timeout: 3 * 60 * 1000 });
71
+ // Like the \`piagent\` command, with the package's TypeScript loader: an npm
72
+ // install sits under node_modules, where Node does not strip types itself.
73
+ const loader = path.join(packageRoot, "scripts", "register-typescript-loader.mjs");
74
+ const restart = spawnSync(process.execPath, ["--disable-warning=ExperimentalWarning", "--import", loader, dashboard, "restart", "--json"],
75
+ { stdio: ["ignore", "ignore", log], env, timeout: 3 * 60 * 1000 });
72
76
  finish("succeeded", { installed, ...(bindingChanged ? { bindingChanged } : {}), ...(restart.status === 0 ? {} : { reason: "dashboard-restart-failed" }) });
@@ -155,6 +155,14 @@ async function waitForGatewayStopped(previous, timeoutMs = 8_000) {
155
155
  }
156
156
 
157
157
  async function ensureStarted() {
158
+ // After an update the Gateway still running is the earlier release, with
159
+ // its pages loaded: it is replaced rather than reused.
160
+ const running = readGatewayDescriptor(gatewayProfileState(agentDir));
161
+ if (running && processAlive(running.pid) && typeof running.packageVersion === "string" && running.packageVersion !== packageJson.version) {
162
+ process.stderr.write(`Piagent ${running.packageVersion} is still running; restarting the dashboard on ${packageJson.version}.\n`);
163
+ try { await control("stop"); } catch { /* already stopping */ }
164
+ await waitForGatewayStopped(running);
165
+ }
158
166
  const existing = await currentLaunchUrl() ?? await waitForRunningGateway();
159
167
  if (existing) return existing;
160
168
  const effectiveAgentDir = path.resolve(agentDir ?? process.env.PI_CODING_AGENT_DIR ?? path.join(os.homedir(), ".pi", "agent"));
@@ -526,6 +526,8 @@ function main() {
526
526
  console.log(options.dryRun
527
527
  ? `\nDRY RUN: nothing was installed. Rerun without --dry-run to apply v${targetHelper}.`
528
528
  : `\nPASS: updated to v${targetHelper}.`);
529
+ // A dashboard started before the update still serves the earlier release.
530
+ if (!options.dryRun && helperNeedsChange) console.log("Open the dashboard with `piagent dashboard`: one still running an earlier release is restarted on the new one.");
529
531
  }
530
532
 
531
533
  main();