Skip to content

Commit 6fc5d89

Browse files
committed
docs: prepare CHANGELOG for v0.30.3
Move the three improvements from [Unreleased] into a dated [0.30.3] section: Fixed: - taskplane --version 'vundefined' placeholder (#601) Enhanced: - taskplane doctor duplicate-install detection with platform-aware remediation (#601, #602) Docs: - README install section + install tutorial Pi 0.75.0 PATH guidance (#601) Insert fresh empty [Unreleased] placeholder per keep-a-changelog convention.
1 parent 94fa231 commit 6fc5d89

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,51 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.30.3] - 2026-06-17
11+
12+
### Fixed
13+
14+
- **`taskplane --version` displayed "vundefined, initialized unknown" placeholders
15+
for `.pi/taskplane.json` files lacking `version` / `installedAt` fields:**
16+
Reproducible in any repo where `.pi/taskplane.json` exists for a non-init
17+
purpose (e.g. taskplane's own source repo, where the file carries only
18+
migration history). `cmdVersion()` now defensively renders only the fields
19+
that are actually present and non-empty; falls through to `(metadata only)`
20+
when neither field is set. Cosmetic but operator-visible.
21+
22+
### Enhanced
23+
24+
- **`taskplane doctor` detects duplicate Pi-private / npm-global installs:**
25+
Pi 0.75.0 (2026-05-17) moved user-scoped pi extensions from npm's global
26+
root to `~/.pi/agent/npm/node_modules/`. Operators who had previously
27+
installed via `npm install -g taskplane` now have two on-disk copies that
28+
drift independently: `pi update` refreshes only the Pi-private one, so the
29+
system-wide CLI silently runs stale code. The new
30+
`detectDuplicateTaskplaneInstall()` helper in `cmdDoctor` identifies this
31+
state (both copies present + versions differ) and emits a WARN with both
32+
paths, both versions, and a platform-aware remediation (PowerShell snippet
33+
on Windows, bash form on Linux/macOS, both inline on either). Same-version
34+
pairs are silently tolerated. Best-effort: 5s timeout on `npm root -g`,
35+
silently returns null on errors so doctor never crashes on this side
36+
check. Doctor's failure-summary line is also context-aware now: when
37+
duplication is the issue it points at `npm uninstall -g taskplane`
38+
instead of the generic `taskplane init` (which was actively misleading
39+
remediation for this case).
40+
41+
### Docs
42+
43+
- **`README.md` Installation section:** documents the PATH requirement for
44+
Pi 0.75.0+ (bash/zsh + PowerShell snippets) so the `taskplane` CLI is
45+
callable on the shell after `pi install npm:taskplane`. Adds a
46+
duplication-caveat note for users who previously ran
47+
`npm install -g taskplane` under older docs.
48+
- **`docs/tutorials/install.md`:** Reframes Option A (Global install) to
49+
explicitly steer users away from `npm install -g taskplane` as the
50+
primary install command, citing the Pi 0.75.0 install-location change
51+
and the duplication caveat. Expands the "taskplane not on PATH"
52+
troubleshooting section into three labeled options (npx, direct bin
53+
invocation, PATH addition) with platform-specific snippets for each.
54+
1055
## [0.30.2] - 2026-06-17
1156

1257
### Fixed

0 commit comments

Comments
 (0)