Skip to content
What's new

New

Threads to follow, views to arrange, docs on the web

Chat gains the threads you follow, a tab of their own in the Inbox, and mentions that reach a whole room or a team, asking first before they notify a crowd. Keywords and VIPs tell you about the words and people you care about, a conversation opens where you left off, and drafts follow you from device to device. Split view now arranges by drag, by keys or from a menu. A doc can be published to the web at its own address, optionally behind a password, and its history keeps a year of versions you can page through and replay. Calls get backgrounds and noise reduction, served by your own server, and hosts can run a call from the people panel. A board's undo no longer takes back other people's work. Imports from Slack, Notion and the task tools bring much more across, and the app loads lighter and scrolls more smoothly throughout.

  • Threads you follow. The Inbox has a Threads tab: the threads you follow, unread first, with a plain count, key 4 and Mark all read. Replying to a thread follows it, the bell in its header shows whether you do, and each thread shows its newest faces.
  • Mentions that reach a room or a team. The @ list offers @channel (everyone in it), @here (everyone in it who is here now) and your teams, and groups anyone outside the conversation under Others. A mention that would notify many people asks first ("Notify 42 people?"), and a channel message naming someone who isn't in the channel says they weren't told, with Add them.
  • Keywords and VIPs. Choose words and people to hear about in Settings › Notifications; your keywords are marked in channel posts.
  • Pick up where you left off. Mark a message unread from any conversation, and your read position follows you across tabs and devices. A conversation with more than a screen unread opens at the first unread message, with a banner. A link to a message opens it in place, in the middle of the conversation and lit up.
  • Pins in every conversation and several reactions each. Pin a message in any channel, group or DM, and react with more than one emoji. A draft survives a reload and waits for you on your other devices. A run of channel lines (joins, topics, renames) reads as one, and the message list is a single Tab stop that pages with the keyboard.
  • Import Slack through Slack's API. Paste a token in the import dialog and the workspace comes across without an export file; the token is held in memory for the import alone. A whole export also comes across now, with group DMs, every reaction, pins (as their pinner's, at their time), and joins, topics and renames as quiet lines, and messages read as they did in Slack.
  • Arrange split view. Move any view, the page among them, by dragging its bar, from the keyboard (Ctrl+Alt+Shift+[ and ]) or from its menu, with Undo. The window's width decides how many views fit beside the page (one at 1280 px, three at 1920 px), and a narrower window tucks views away as chips instead of closing them. Opening something already open brings its view forward, each view keeps its width, and a double-click on a seam evens them. On a tablet a call's button opens the call's page.
  • Publish a doc to the web. From the share dialog's Publish tab, a doc's guest link becomes a page at its own address, optionally behind a password.
  • Page history. A doc's history pages through a long past, replays it, and pins the versions you want to keep. Versions are kept for a year, up from 30 days; a workspace admin can choose from 30 days to 10 years.
  • Calls: backgrounds and sound. A light or strong blur or one of six backdrops, and noise reduction (standard or strong), in a call and in its green room. Their files are served by your own server, never fetched from a CDN while someone is on camera.
  • Calls run by their hosts. From the people panel or a tile, a host or co-host mutes someone, stops their video or screen share, asks them to unmute, spotlights them for everyone, makes a co-host, removes someone, mutes everyone, locks the call, mutes people as they join, or ends it for everyone.
  • Project rules. A project's work can run itself: when a task is made, assigned, moved to a status or changed, and the conditions you set hold, a rule assigns it (to a person, by turns or to whoever has least), moves it, sets its due date or priority, adds a sub-task, comments, or tells someone. Ready-made rules get you started, and a rule's dates follow the time zone of whoever saved it.
  • Board columns in your order. A project's admins drag its board's columns into order, or move them from the keyboard or the column menu.
  • A guided first run. A new workspace's owner is walked through the setup checklist's own steps, one primary action each, and can open a worked sample project, with a brief, to see how a project runs, then remove it in one step.
  • Imports bring more across. A Notion workspace arrives block for block, with its files and its pages' comments. Jira, Asana and Todoist now bring their comments, Asana its files, and every importer keeps all of a task's labels as tags.
  • The Inbox reads beside the list. On a wider screen a thread, task or event opens in a reading pane beside the Inbox, one person's shares fold into one row, and a Compact density shows more at once.
  • The work graph, first steps. Links in messages, comments and docs become references between the things they name. Ask AI follows those links and cites the ones it used (set AI_GRAPH_CONTEXT=false to turn it off), and agents and MCP clients get two graph tools, related items and how two items are connected; they need the search:read scope and see only what the member can. Finding people by name no longer reads everyone in the workspace on each keystroke.
  • Each part of OneCamp has its colour. Chat, calls, docs, projects, calendar, tables and agents each wear one hue on their tabs, tiles and dots, and settings that name no part are neutral.
  • Phones and overlays. Fourteen more overlays open as sheets on a phone, in landscape too, and the account sheet opens at once. The calendar's New event card stays beside what opened it, never in the corner, and the docs block menu and colour grid stay beside their block.
  • Lighter and smoother. Each page loads only the server addresses it uses, the reaction picker loads on first use, a long conversation keeps its rows while it scrolls, typing a reply redraws only the reply box, the timeline draws far less as it scrolls, and a Month day's "+N more" builds its list only when pressed. The sidebar, the DM list and the doc tree read faster, and every link between records in the database has an index.
  • An accepted invitation appears in the members and invitations lists without a reload.

Before you update: 124 database migrations (351 to 474), which make update applies after taking a backup; most add an index to a link between records, built without holding up writes. Re-run the install command you installed with, then make update. Update the web app with the server, as make update does, and if you host the web app yourself, deploy this release's web app at the same time; anyone with a tab open should reload. Going back to the earlier release isn't supported: restore the backup make update took. The first start after the update builds two new graph indexes, for people's names and for links between things, and then writes each person's search name. On a fresh install with a little data this took about ten seconds; on a large workspace it can take longer, while the rest of the app starts as usual. Links already in your messages, comments and docs become references a bounded batch at a time, over the nights that follow. A doc's versions are now kept for a year by default, up from 30 days, within each doc's storage cap. To keep less, set the doc history setting in Admin; DOC_SNAPSHOT_RETENTION_DAYS in .env still applies when it's longer. For scripts and integrations: every /v1 answer carries X-OneCamp-API-Version: 1 and a request id (X-Request-Id, yours if you send one); each token has a limit per route (600 reads and 120 writes a minute unless a route says otherwise), answered with 429 and Retry-After when it's over; writes take an Idempotency-Key, and the same key with the same body gets the first answer for 24 hours, while a different body is refused; and GET /v1/openapi.json describes every route. Existing routes keep their paths, answers and error bodies.

Fixes

  • On a shared board, undo also took back what other people had drawn, and what the board opened with, so two undos could empty a board for everyone. Your undo now takes back only your own changes, and inserting a template or an AI drawing is one undo step. To recover a board this emptied, an editor opens More › Version history and restores the last "Auto-saved" version from before it emptied (not "Before large deletion", which already holds the empty board); the restore takes effect once everyone has left the board. Anything drawn in the few minutes before the undo can't come back: auto-saves are at least ten minutes apart, and a board keeps its last 15 for 30 days.
  • Someone removed from a call could get back in when the server couldn't check the removal; fixed. A person put out because the check couldn't be made is told so, with Join again.
  • A Slack import left the admin who ran it in every imported channel, including ones they weren't in on Slack; each imported channel now holds exactly its Slack members, and the admin leaves the rest.
  • Files attached in Trello failed to import; they come across again.
  • Importing from Asana reopened completed tasks that sat in a "To do" section; a task the source calls completed stays closed.
  • An imported task kept only its first label; it keeps them all.
  • An imported sub-task lost its co-assignees; its description names them, as a task's does.
v2.75.0 with AI · v1.60.0 without AI