Product updates from this workspace.
Docs now use more, tighter top-level groups: Get started, Collect, Boards, Triage, Roadmap, Changelog, Branding, Sharing, Team, Integrations, Developers, and Reference.
Get started is first start only (create a workspace / log in). Invite members and publish-an-update moved to Team and Changelog. Organize and Share no longer dump eight guides each. Previous article URLs redirect to the new paths.
New /product hub and 14 feature landings: Feedback, Portal, Widget, Embed, Roadmap, Changelog, Merge, Linear, Slack, Discord, Webhooks, AI Agents, Branding, and Emails.
When Changelog is enabled, the widget launcher shows a red dot until the visitor opens new entries.
Anonymous last-seen stays in the browser. Identified embed sessions persist last-seen on the server. Boarbs.on("unread") and Boarbs.hasUnseenChangelog() report the same state.
QA test entry for BOA-54 unread dot verification.
Outbound mail subjects now use the same template values as the body, so a closed or updated post shows the real title instead of {postTitle}.
After a merge, creators and subscribers of both posts get one short email with a link to the surviving post. The person who merged is not emailed. Unmerge stays silent.
Auth and product emails include a “Feature board powered by Boarbs” footer that links to https://boarbs.com. Workspace name, logo, color, and email theme are unchanged. Remove Boarbs branding in Settings → General hides that footer. The setting is Pro-only and off by default.
In a connected Slack channel, /boarbs or Create Boarbs post now creates a draft first. The channel gets Approve and Reject actions. Only Approve publishes the post to the board. Reject discards the draft so it cannot be approved later.
Board-specific channels post to that board; the organization default channel uses the oldest public board. Casual chat, bot messages, and notification-thread replies are not imported as posts. Two-way comment sync is unchanged.
Each board can override the organization Slack channel. New public posts and public comments go to the board channel when set, otherwise the organization default.
Organization-level Linear authorization with one selected Linear team per Boarbs organization, plus a default, editable two-way status map.
Post actions can create a Linear issue, link an existing issue, open the visible link, or unlink it. Several posts in one organization can share a Linear issue and receive its status updates. The surviving post keeps its Linear link when duplicates are merged.
Existing organization webhooks now also send linear.linked, linear.status_changed, and linear.unlinked with the Post and Linear issue (id, identifier, url, status).
The hosted Boarbs MCP server is live for boards, posts, comments, statuses, tags, roadmaps, and votes, with organization API key and OAuth connection options.
Well-known OAuth metadata (/.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server) is no longer locale-prefixed to /en, so ChatGPT and other RFC 9728 clients receive JSON instead of an HTML 404.
The setup guide includes per-client tutorials for Cursor, Claude.ai, Claude Code, ChatGPT, and other MCP clients.
Merge is on post detail pages for organization admins, with bulk merge still available for several duplicates at once.
Portal, Widget, and Embed create forms show similar posts from the same organization while someone writes. Customers can upvote a suggestion or still create a new post. Choosing a suggestion never merges.
Unmerge on a surviving post now unwinds recorded merge chains such as A into B into C, restoring attributed votes, comments, tags, and dependency links. Older merges without history stay merged.
Changelog is an optional module and is off by default. When on, it adds a hosted portal page, a widget tab, an embed surface, and a way to create an entry from a Complete post.
On a Complete post, Create with AI drafts a changelog title and body. You edit and publish yourself; nothing is auto-published.
Added a Spam action on posts for board operators, with an optional author message and optional notify checkbox.
Soft-closed spam posts leave the public board and do not appear under Canceled. The internal board Status filter includes Spam so those posts can be found again. Author-facing copy stays diplomatic (closed / unclear / wrong place) and never mentions spam.
Organization-level Discord notifications for new public posts and public comments in one selected channel. Connected Discord servers can create a public Boarbs post with /feedback.
Signed outbound webhooks with retries now cover new posts, new comments, post status changes, vote.created, and vote.deleted.
Google and GitHub login and signup are available when each provider's OAuth credentials are configured. Linear, Slack, and Discord authorization callbacks return to the same organization's Integrations page.
Added a personal inbox for organization members with unread counts and mark-all-read, plus per-member controls for new post, public comment, status change, and assignment notifications.
Post subscribers continue to receive emails for public comments, status changes, and completed posts. The person who takes the action is excluded, and selecting the same status again does not send an email.
Attach or paste images directly in the post editor. They appear on the post.
On phones and tablets, the internal post page stacks the post above status, board, assignee, ETA, Linear, tags, and dependencies. Desktop post detail is unchanged.
All Requests now shows the newest requests first and hides canceled and completed requests by default. The account billing page has a current-plan summary, a complete plan comparison, and self-service paid plan and billing-cycle changes.