Skip to content
What's new

Project updates

  • Updates on every project: where it stands (On track, At risk, Off track, On hold, Done) and a short note, on a new Updates tab. The note is drafted from the project's tasks since the last update (done, in progress, stuck for a week, overdue, due in the next 7 days, time logged), each task once, with a suggested health. Counted in the author's time zone.
  • Posting tells the project's members (by email for those who get task emails), can also post to a channel, and can show the update on the project's client link. A chip beside the project's name shows the latest health; admins see "An update is due" after a week.
  • New: GET/POST /project/{id}/updates, GET /project/{id}/updates/draft, POST /project/{id}/updates/{update}/edit|delete; migration 185 (project_updates).
  • AI summary (with AI): two or three sentences above the facts, in the voice of the team's recent updates; the facts stay below it. POST /ai/project-update/draft.

Lists and boards from the keyboard

  • J/K (or arrows) move through a task list or down a board column, ←/→ cross columns, Enter opens the task (J/K then walk tasks with the panel following), X selects, Shift+J/K or Shift-click selects a run, Ctrl/⌘-click picks.
  • With a selection, S/A/T(L)/P set status, assignee, tags (on for all, or off when all have it) or priority for all of it, through the single-task endpoints. Admin-only as before; tasks you can't change are left alone and counted.
  • G then a letter goes to a page; a task's status list offers "Edit statuses…". A first-visit tip shows Ctrl/⌘ K, Alt-click and ?.

Calls

  • The call buttons in channels, DMs and groups open the call beside the conversation on a computer. One call at a time; a running call is never closed to make room, swapped or restored on reload; Focus on another view keeps it going with "On a call" in the top bar.

Fixes

  • Dropping a card into another row and column could answer 500 (the status and assignee writes conflicted in Dgraph); task writes now retry an aborted transaction.
  • A doc set aside by Focus left its block drag handle on screen.
  • A project's admins could not remove a comment on its tasks (only the author could): the comment lookup never asked whether the reader runs the project. A client's comment on a shared project can now be removed.
  • Email is no longer sent to domains that cannot receive mail (reserved names, or no such domain in DNS): those bounced and cost sending reputation and quota. The queue marks them suppressed.
  • Search writes refused by a busy OpenSearch (429) were dropped; the client now retries them with backoff.
  • OpenSearch's daily security-auditlog-* indices are deleted after 90 days (ISM policy installed at start), and backups no longer include them or query insights.
  • Plain-text email bodies and imported ClickUp comments keep their paragraphs and lists; ClickUp task names are cut by characters, not bytes.
v2.53.0 with AI · v1.38.0 without AI