Changelog

What shipped in Planu 8.x

Headlines from the repository CHANGELOG. The runtime on npm is @planu/cli.

Website

HTML page loads are counted without storing an IP. The home footer shows today's count and the running total. Optional analytics stays off until Allow.

8.2.13

The bug report form keeps the prefilled version and host after a send. More scripted clients and link previews are left out of the visit counters, and CUBOT phones now count as visitors.

8.2.12

planu.dev/report takes bug reports, stored without an IP for 365 days. Crawlers and scripted clients no longer count as visits, and the old /es, /pt, /en, and /blog links now go to the home page.

8.2.11

The repository moves to pnpm 12.11.2. Direct dependencies move to zod 4.6.7, vitest 5.0.4, vite 8.3.4, typescript-eslint 8.71.2, knip 6.41.0, and happy-dom 21.0.1.

8.2.10

Direct dependencies move to MCP SDK 1.32.1, eslint 10.12.0, vite 8.3.3, typescript-eslint 8.71.1, and secretlint 13.0.7. @types/node stays on 22.20.5.

8.2.9

Direct dependencies move to MCP SDK 1.31.0, vitest 5.0.3, typescript-eslint 8.71.0, knip 6.39.0, type-coverage 2.30.2, and tsc-alias 1.9.6. @types/node stays on 22.20.4.

8.2.7

sdd_complete_task runs the task Verification command and stores that output. sdd_init_workspace installs a Cursor guard that denies native writes while a locked feature has an unchecked task, and denies git --no-verify.

8.2.6

Direct dependencies move to MCP SDK 1.30.1, vitest 5.0.2, vite 8.3.1, typescript-eslint 8.70.1, prettier 3.9.9, knip 6.38.0, lint-staged 17.6.0, commitlint 21.2.3, and secretlint 13.0.6. @types/node stays on 22.20.4.

8.2.5

sdd_complete_task keeps up to 500 characters of verification evidence, cut at a word boundary. sdd_apply_file_patch writes replacement text literally. sdd_lock_spec rejects File Manifest writes under .sdd, .git, or planu/specs. The planu-guard hook catches quoted no-verify flags without flagging commit messages.

8.2.4

The Claude Code plugin ships planu-guard hooks: native writes are denied while a locked feature has an unchecked task, git --no-verify is denied, and session start re-injects the active task. sdd_lock_spec requires GIVEN/WHEN/THEN criteria. The MCP handshake reports the package version. Codex plugin and Cursor install docs.

8.2.3

Claude Code plugin marketplace: /plugin marketplace add planu-dev/planu, then /plugin install planu@planu. The File Manifest parser ignores none placeholders. Interactive cycle board and editor-and-terminal hero on the homepage. Opaque, typeable commercial lead form. Spanish copy uses LatAm wording.

8.2.2

sdd_init_workspace installs cognitive skills into Claude, Cursor, Codex, and Gemini host folders. Specs stay in .sdd/features.

8.2.1

sdd_init_workspace stamps Planu-owned Cursor, Claude, and Gemini host rules. FEAT-only. Never stub planu/specs.

8.2.0

Preserve existing AGENTS.md unless force is true. Relock with reason. Count every task checkbox. File Manifest globs for CREATE, MODIFY, and READ_ONLY.

8.1.2

Ignore unexpanded workspaceFolder and HOME as PLANU_WORKSPACE. Expand tilde paths. Host-agnostic install docs.

8.1.1

Fail closed with ERR_WORKSPACE_UNRESOLVED when the workspace is the user home directory.

8.1.0

Atomic global FEAT-NNNN-TITLE identifiers when create_feature omits id.

8.0.0

FEAT-only Planu v8 with exactly nine canonical MCP tools.