Server v0.3.2 is live. Here's what shipped.
Task keys
Tasks now have short human-friendly IDs, such as PROJ-1, WORK-15 and HOME-3. The same key appears on every device, whether you're in taskwarrior, the iOS app or the REST API. You can reference them in webhooks, in the filter engine and from any client.
Beta users asked for this more than any other feature.
Performance
The write path had a config-DB read going through the writer lock at scale. Unnoticeable at 1 user. At 50 concurrent users it had grown to a 368× regression: 35.9ms per write. It's now 0.11ms and stays flat under load.
Webhook reliability
Webhook delivery used to run inline on the write path. A slow or dead endpoint could stall a task save for up to ~71 seconds. Delivery is now async. A dead webhook no longer touches response time at all.
Three hardening changes shipped alongside. The release adds atomic enforcement of the per-user webhook cap, SSRF protection on webhook URLs and required webhook secrets on all endpoints.
Security and multi-arch
Base image updated to patch external gnutls CVEs. The public image now publishes linux/amd64 and linux/arm64, including Pi 4 and Pi 5.
Examples repo
This release also ships github.com/cmdock/examples, a tested contrib directory of reference integrations built against the server's REST API.
The first example is a Grafana + Prometheus exporter that puts task data on a dashboard in three commands. It reports overdue counts, due buckets, priority distribution and project trajectory, not server health metrics. More on that here.
iOS beta
The iOS app pairs with v0.3.2. This build adds:
- Task keys in Task Detail (
WORK-15), consistent across devices - Markdown in task annotations, including bold, lists, links and code blocks (read-only)
- Offline create, delete and undo now sync exactly once on reconnect, without duplicates
- Home screen widget completes a task without opening the app
- Share extension adds tasks from the iOS Share sheet
- Siri adds a "due today" shortcut
Still TestFlight beta, not App Store yet. Join here.
Get it
- Source is at github.com/cmdock/server (AGPL-3.0)
docker pull ghcr.io/cmdock/server:v0.3.2- Examples are at github.com/cmdock/examples (MIT)
- iOS beta is at testflight.apple.com/join/5kySWyJg