Skip to content

Releases

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 15 Sep 03:59
e2457a2

v0.7.0

Highlights

  • Board and Tickets now share one selected project. Pick a project on either view and the other follows. The selection lives in the URL (?project=<id>), so a filtered view is linkable, survives a reload, and is remembered when you switch to another view and back.
  • The last opened board is remembered. Going to Projects, Teams, or Labels and returning to the Board brings you back to the board you were on — while All boards stays selectable at any time.
  • Terminal panel releases its resources. Closing or unmounting the panel now tears down the WebSocket, the xterm instance, and the resize/drag listeners, and the socket's close handler no longer writes to a disposed terminal.
  • No more stale board data. Switching projects quickly can no longer let a slower, older response overwrite the board with the wrong project's tickets.

Fixes

  • "All boards" is selectable again when a board is remembered (regression in the remembered-board feature).
  • Out-of-order board responses are ignored when switching projects.
  • Terminal panel no longer leaks its WebSocket, xterm instance, or drag listeners on unmount.

Tooling and maintenance

  • Building from source now requires Node 24 (was 22). Go remains 1.26+; go.mod keeps 1.26 as the language floor while CI tracks the latest 1.26 patch.
  • GitHub Actions updated to current majors: checkout v7, setup-go v7, setup-node v7, upload-artifact v7, download-artifact v8, action-gh-release v3.
  • Frontend dependencies updated to their latest semver-compatible versions; dependency majors (Vite 8, @vitejs/plugin-react 6, lucide-react 1, globals 17) picked up as well.
  • Linting and formatting migrated to the Oxc toolchain (oxlint + oxfmt), replacing ESLint and Prettier. Both checks run in CI; 144 transitive packages dropped.
  • TypeScript 7 (the native compiler) adopted — previously blocked by typescript-eslint's peer range.
  • The release workflow no longer publishes to the upstream Homebrew tap.
  • Version display and the MCP serverInfo.version bumped to 0.7.0.

Docs

  • README documents realtime updates, image attachments, and URL-based board selection.

Full Changelog: v0.6.3...v0.7.0

v0.6.3

Choose a tag to compare

@w33ble w33ble released this 06 Sep 23:37

Features

Realtime board updates (SSE)

The board now updates in realtime — no more stale views when changes happen in
another tab, the CLI, or the API.

  • New GET /api/events SSE endpoint. A lightweight hub broadcasts coarse change events (tickets.updated, projects.updated, teams.updated, labels.updated) after every successful mutation.
  • The board automatically refetches when it receives an event, including a 15s heartbeat to keep connections alive through proxies.
  • Drag-and-drop now refetches the board on successful moves so client state always converges with the server; events arriving mid-drag are deferred until the drag completes.

Board selection persists in the URL

The selected project is now stored in the URL (?project=<id>), so board selection survives reloads, can be bookmarked/shared, and works with browser back/forward.

Image attachments

Tickets now support image attachments, stored as SQLite BLOBs — still a single database file.

  • Upload via the ticket panel ("Add image…" input) or POST /api/tickets/{id}/attachments.
  • Attachments display as a preview grid in the ticket panel, and the first image shows as a cover thumbnail on the kanban card.
  • Images only: uploads are validated by content sniffing (png/jpeg/webp/gif); non-images are rejected with 415.
  • 8MB per-file cap; larger uploads are rejected with 413.
  • Served via GET /api/attachments/{id} (Content-Disposition: inline).
  • Deleting an attachment asks for confirmation first.
  • Attachment changes broadcast on the realtime channel like everything else.

Upgrades

  • Go 1.26 (minimum now 1.26+).

API changes

Endpoint Method Notes
/api/events GET New — SSE change events
/api/tickets/{id}/attachments POST New — multipart image upload (8MB cap)
/api/attachments/{id} GET New — fetch attachment bytes
/api/attachments/{id} DELETE New — remove attachment

All pre-existing endpoints are unchanged. Ticket responses now include an optional attachments array.

Upgrading

No manual steps required — the new attachments table is created by an automatic database migration on first start. Your database remains a single file.

v0.6.2

Choose a tag to compare

@w33ble w33ble released this 24 Aug 18:55

This release refreshes the frontend packages and improves the web UI's initial load performance.

What's Changed

  • Updated frontend dependencies and lockfile entries, including React Router and the Vite/Rollup/esbuild toolchain.
  • Applied dependency and npm audit fixes.
  • Lazy-loaded the embedded Terminal panel so xterm.js is downloaded only when Terminal is opened.
  • Lazy-loaded the individual web pages so page-specific code is fetched as each section is visited.
  • Reduced the initial JavaScript bundle below Vite's 500 kB warning threshold.

Upgrade

Download the latest taskboard binary for your platform, or build from source with:

git checkout v0.6.2
make build

v0.6.1

Choose a tag to compare

@w33ble w33ble released this 24 Jul 15:56

Labels — full label management UI.

  • Label badges on tickets and the board view
  • Label picker in the Create/Edit ticket modal (multi-select)
  • Labels management page (/labels) — create, edit, delete labels with name + color

Full Changelog: v0.6.0...v0.6.1