Skip to content

Releases

TaskPlanner 3.0.12

Choose a tag to compare

@refined refined released this 04 Nov 10:34
1acfe0e

TaskPlanner 3.0: the Claude Code band always shows what to work on next, one folder per host on a shared core, a smaller MCP surface and the known defects fixed.

  • The extension is called TaskPlanner again in the marketplaces, the activity bar and its views, instead of Task → Plan → AI. Its ID stays refined.taskplanner, so installs update in place (TASK-076).
  • The Initialize Project and Setup buttons in the empty task list did nothing: the webview's script policy blocked their inline handlers. They work again (TASK-076).

Upgrading from 2.x

  • Your .tasks/ files and config.json need no change.
  • Update the plugin where you use it. In Claude Code, run /plugin update or use Plugins in the Desktop app. In Cursor and Codex, update it from their plugin list. It keeps its name, so nothing needs reinstalling.
  • Then ask the agent to update TaskPlanner, or run the update-taskplanner skill. It refreshes the managed instruction blocks, and for 3.0 it checks two things:
    • A duplicate MCP server. A project .mcp.json that runs npx @smekai/taskplanner next to the installed plugin makes Claude see the tools twice; the skill offers to remove that entry.
    • The removed taskplanner_board_data tool. It lists any remaining mentions and suggests taskplanner_board or taskplanner_board_visual instead.
  • Without a plugin, a .mcp.json entry for @smekai/taskplanner keeps working and picks up 3.0 from npm.

Added

  • The Claude Code band above the prompt no longer goes blank when nothing is in progress: it shows the highest-priority Next task, or Backlog task when Next is empty, with a Start button. In a folder without a board, the band and the pane offer Set up, so a freshly installed plugin shows itself (TASK-072).

Fixed

  • The VS Code extension package no longer includes repository configuration that leaked into it, such as a local .claude/settings.local.json, .github/, agent instruction files and test configs (TASK-073).
  • A move that failed halfway could lose the task: it was already gone from its old state when writing the new one failed (seen on Windows as EPERM). The new state is now written first, each write uses its own temporary file, and a rename Windows refuses while the file is held open is retried (TASK-075).
  • Creating a task through the MCP server reads only the state it goes into again, so an unreadable file elsewhere on the board no longer blocks it (TASK-075).
  • The Claude Code band names the state of the task it suggests: a Backlog task reads Backlog · …, not Next · … (TASK-077).
  • A build whose MCP board failed to compile now fails, instead of shipping the previous board in every plugin (TASK-077).
  • A state file whose content would not change is no longer rewritten, and a failed write no longer leaves a .tmp file in .tasks/ (TASK-077).

Changed

  • Repository layout: one folder per harness on a shared core. Paths moved: mcp/ for the MCP server and npm package, and views/vscode, views/mcp-app, views/claude, views/cursor, views/codex. The Claude Code, Cursor and Codex plugins are now separate folders, each with its own skills. Behaviour is unchanged, and installed plugins keep their name (TASK-073).

Removed

  • Breaking for direct MCP callers: the taskplanner_board_data tool is gone. It returned the same board as taskplanner_board_visual, which now takes its query, include_completed and limit and is what the board app refreshes through. Agents use taskplanner_board for an overview (TASK-074).

TaskPlanner 2.5.0

Choose a tag to compare

@refined refined released this 16 Oct 18:01
50a1f51

Added

  • TaskPlanner is now a Claude Code plugin: /plugin install taskplanner --marketplace smekai/taskplanner. Then /taskplanner:board (or /taskboard) opens a live board pane in the Claude Desktop Code tab and the terminal. From it you can browse tasks per state, move them to another state, create new ones, start one with Claude, or draft an edit in the prompt. A band above the prompt shows the task in progress (TASK-070).

  • A shared board skill shows the board in Cursor and Codex as well (TASK-070).

  • The MCP server also finds the project from CLAUDE_PROJECT_DIR, so a server Claude Code starts for the plugin resolves the workspace without workspace_root (TASK-070).

  • openBoard(tasksDir, { initialize }) and boardExists open or create a board in one call, defaulting to a read that does not rewrite the owner's config.json. The MCP server now uses it too (TASK-069).

  • TaskStore.findTaskByAttribute finds a task by an attribute a consumer wrote, and TaskStore.knownTaskIds answers whether an id is spent across the board and the archive (TASK-069).

  • renderWorkLogEntry and FileStore.prependWorkLogEntry write a work-log entry in the shape the generated instructions have always described (TASK-069).

  • renderBoardDigest renders a board as text for an agent; taskplanner_board now uses it instead of its own copy (TASK-069).

  • endsTaskSection(text) is exported, so a consumer can ask whether text would end a task section instead of copying the serializer's rule (TASK-067).

  • ConfigManager.isConfigUnreadable() distinguishes a config.json nobody could read from one that was merely migrated, so a consumer can refuse to write defaults over it (TASK-067).

Fixed

  • npm run package writes the .vsix again: the build no longer deletes the packaged release artifacts under dist/vscode/ and dist/codex/ while clearing its own output (TASK-068).
  • The published package no longer ships type declarations for modules that were deleted, because the build now clears its output directories first (TASK-067).
  • reloadFromDisk() no longer keeps reporting a config as unreadable after the file it could not read is gone; a reload with no config.json now means the same as a load with none (TASK-067).

Security