Skip to content

TaskView

v1.32.0 Breaking

This release includes 1 breaking change for platform teams planning a safe upgrade.

Published 4mo Productivity & Wikis
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

graphview kanban-board nodejs productivity project-management self-hosted
+4 more
task task-management task-manager todoapp

Affected surfaces

breaking_upgrade

Summary

AI summary

Webhooks now support HTTP POST notifications with HMAC‑SHA256 signatures and automatic retries.

Full changelog

v1.32.0 Release Notes

New features:

  • Webhooks - receive HTTP POST notifications when events happen in your projects. Configure webhook URLs, select events (task.created, task.updated, task.deleted, task.assigneesChanged), and verify payloads with HMAC-SHA256 signatures. Includes automatic retries (3 attempts with exponential backoff), delivery history with payload viewer, status filtering, manual retry for failed deliveries, secret rotation, and test delivery. Webhooks auto-deactivate after 10 consecutive failures.

  • Kanban & Graph filters - filter tasks by lists and assignees on both Kanban board and Graph views. Multiple lists and multiple users can be selected simultaneously. Filters are applied server-side for Kanban (query params on API) and client-side for Graph. Filter toolbar with reset button, responsive layout (inline on desktop, separate row on mobile).

  • Markdown rendering in notes - task notes from GitHub/GitLab integrations now render as formatted markdown instead of plain text with raw symbols. Uses Nuxt UI Editor with content-type="markdown" when task has a sourceUrl.

  • Centrifugo v6 support - updated real-time notification configuration for Centrifugo v6 nested config format. Replaced CENTRIFUGO_PUBLIC_PORT with CENTRIFUGO_PUBLIC_URL for flexible WebSocket URL configuration, enabling nginx proxy setup without exposing separate ports.

Fixes:

  • Kanban order conflict on task move - fixed unique constraint violation (goal_id, kanban_order) when moving tasks between columns from the task detail panel. The server now assigns a new unique kanbanOrder when statusId changes.

  • Kanban order conflict on drag to filtered empty column - when filters made a column appear empty, dragging a task into it could assign a conflicting kanbanOrder. Fixed by calculating order based on the entire project scope, not just the visible column.

  • Task not moving between kanban columns - when changing a task's column from the task detail overlay, the kanban board didn't reflect the change until page reload. syncTask now detects column changes and moves the task between columns in the local store.

  • Subtask description reverting on completion - toggling a subtask's completion checkbox could revert its description to the original text from creation. Fixed by updating the full subtask object from server response instead of only the complete field, and by correctly updating subtask descriptions in the parent task's subtasks array.

  • Goal lists not loading on kanban page - the list filter dropdown was empty on kanban because useProjectDataLoader didn't fetch goal lists. Added goalListsStore.fetchLists() to the shared data loader.

  • Centrifugo connection token crash - CentrifugoClient.generateConnectionToken() used dynamic require('jsonwebtoken') which wasn't included in the production bundle. Replaced with static import.

Infrastructure:

  • Added Dispatcher interface for event dispatchers - standardized register() and registerWorkers() contract. Both NotificationDispatcher and WebhooksDispatcher implement it. New dispatchers are registered via a single array in all-events.ts.

  • Added goalId to task.deleted event in EventBus for webhook delivery routing.

  • Docker Compose configuration for Centrifugo with nginx WebSocket proxy setup.

Documentation:

  • Added webhooks documentation (/docs/features/webhooks) - setup, payload format, signature verification with code example, retry behavior, auto-deactivation, secret rotation, local testing script.

  • Updated notifications documentation with CENTRIFUGO_PUBLIC_URL and Centrifugo v6 config format.

  • Updated environment variables documentation with Centrifugo v6 config example and nginx proxy setup.


Migration notes:

  • Run database migration 1.32.0 - creates tasks.webhooks and tasks.webhook_deliveries tables.
  • Replace CENTRIFUGO_PUBLIC_PORT with CENTRIFUGO_PUBLIC_URL in .env.taskview (e.g. wss://api.example.com/centrifugo/connection/websocket).
  • If using Centrifugo, update config to v6 format (nested keys: client.token.hmac_secret_key, http_api.key, client.allowed_origins).

Breaking Changes

  • Replace `CENTRIFUGO_PUBLIC_PORT` with `CENTRIFUGO_PUBLIC_URL` in environment configuration.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track TaskView

Get notified when new releases ship.

Sign up free

About TaskView

Project and task management platform

All releases →

Related context

Beta — feedback welcome: [email protected]