Added
The assistant can create a deal
"start a deal for Northwind at 48,000" now opens a new deal on the board instead of explaining how to add one. It picks the first stage of the pipeline unless you say otherwise, can attach an existing contact and an owner, and shows you the title, stage and value for approval before anything is created.
DeepSeek as a provider
an admin can now point the assistant at DeepSeek with their own key, alongside OpenAI, Anthropic, Google, Groq and xAI. Two models are offered, DeepSeek V4 Flash and V4 Pro, both with a one-million token context window.
Gemini 2.5 back in the model picker
Pro, Flash and Flash-Lite are selectable again, marked "Legacy". Google has scheduled all three for shutdown on 16 October 2026, and already refuses them on Google projects created after July 2026, so they are offered as a choice for workspaces whose key still has access rather than as a recommendation.
A public changelog
release notes now live at
/changelogs, generated from this file at build time rather than written a second time by hand, so what the site claims and what this file records cannot disagree. Entries are grouped by release and by kind, and the internal registry slugs are left out of the public view.A landing page that shows the product
the marketing page now walks through the deal board, contacts, custom fields, the activity timeline and the assistant, each illustrated with a working miniature built from the same components the app uses, so the previews follow the theme and cannot go stale. Below them sits a plain-English summary of what the product covers — each area's feature count read from the registry, so the numbers drop on their own if something stops shipping — then a note on how tenancy, roles and the audit trail are enforced.
Changed
Signing in twice is no longer possible
opening sign-in, sign-up or forgot-password while already signed in now takes you into the app instead of showing a form you have no use for. An invite link you were sent still lands on the invitation. The assistant, its API and the create-workspace screen are now covered by the same guard as the rest of the app, and an unauthenticated API call gets a plain 401 rather than a redirect to a page.
The app now opens in light mode for anyone who has not chosen a theme. Dark and System are still there in the theme menu, and a choice already made is remembered as before.
Section icons on the marketing page are now coloured. Each subject keeps one colour the whole way down the page — deals violet, contacts blue, history green, and so on — so the same colour twice means the same subject twice. The colour never carries meaning on its own: every icon still has its own glyph and a written label beside it.
The footer now carries the site's actual map — Product, Design system and Account columns, a short description under the logo, and a live "early access beta" line that links to this changelog. It used to repeat the same two links the header already showed.
The marketing pages share one shell. The landing page and the changelog now take their announcement bar, header and footer from a single layout, so the navigation cannot drift between them, and the beta bar appears on both.
The design system has moved from
/showcaseto/design-systems, and wears the site's own header and footer. It used to carry a private top bar with a second logo, a second navigation and a theme toggle — furniture no other page has, on the one page whose job is consistency.The design-system page shows the real Product 5 logo. It had been documenting a red arc mark that shipped nowhere, while the product itself used the orange crown tile everywhere else; the arc mark has been retired.
Red is no longer decoration. The design-system page painted its section numbers, rules and bullets in the danger red used by the workspace danger zone; the identity is one brand orange on a warm-neutral spine, and red now appears only where something is actually dangerous.
The design-system page now documents the whole system rather than the component list alone: which type token belongs on which heading, the canvas-and-card surfaces and the icon tiles with their fixed subject colours, the motion budget shown as live specimens, and the page patterns — page skeleton, where a record opens, and how boards and dragging behave. It also named the wrong typeface (Geist, where the product uses Inter) and claimed thirty type styles where the scale ships twenty-two.
The changelog page is built from the system's own parts — the shared heading rhythm and a tinted icon tile per kind of change, matching how the rest of the product labels a subject.
The pipeline miniature on the marketing page drops to two stage columns on a phone. At three, deal names truncated to "Vertex Indu…" and the values wrapped.
The announcement bar on the marketing page now says Product 5 is live in early access beta and links to the changelog, instead of pointing at the design-system showcase.
The "Docs" link in the marketing header and footer has been replaced with "Changelog". It pointed at
/docs, which has never existed and returned a 404 to anyone who clicked it.
Removed
The assistant section has been taken off the landing page. Its four claims described a feature that is still being built, and the page now ends on what the product does today.
Fixed
The design-system page opened scrolled to the bottom. The command-menu example was rendered inline, and that component selects its first entry as it mounts and scrolls it into view — near the foot of a long page, that dragged the whole document down on every visit. It now opens from a button, the way the app itself uses it.
Questions about stalled deals
asking what is at risk in the pipeline, or for the detail of a single deal, would show the answer being looked up and then fail with what looked like a provider outage. The dates on those results were being handed to the model in a form it could not accept; they are now sent as plain timestamps and the answer completes.
Added
Token monitor
the composer now shows what the assistant is spending. A gauge tracks how full the model's context window is, and hovering it breaks the conversation down into input, output, cached and reasoning tokens. It appears once the first reply lands and stays hidden in demo mode, where nothing is billed. Models whose context window is not published — currently Grok 4.5 and 4.3 — show token counts without a percentage rather than an invented one.
Changed
Assistant replies now carry their token usage as message metadata, taken from the SDK's cumulative
totalUsageso a multi-step tool-calling turn is counted whole rather than reporting only its final step.The environment-configured assistant now defaults to Google (
gemini-2.5-flash) whenASSISTANT_PROVIDERis unset, so aGOOGLE_GENERATIVE_AI_API_KEYon its own is enough to get real answers. A key is still required — an install with no keys keeps running in demo mode — and an unrecognisedASSISTANT_PROVIDERfalls back to demo mode rather than quietly using Google's key instead of the one named.API key status and removal
the assistant settings screen now states plainly whether a key is set, showing its last four digits and the date it was saved, and offers a confirmed "Remove key" action that returns the workspace to demo mode. Previously the only signal was the key field's placeholder, which disappears as soon as the field is focused, and a saved key could be replaced but never cleared.
Fixed
The default Anthropic model was
claude-3-5-haiku-latest, an undocumented alias whose only underlying snapshot was retired on 2026-02-19 — so settingASSISTANT_PROVIDER=anthropicwithout an explicitASSISTANT_MODELfailed every request. It is nowclaude-haiku-4-5-20251001. A test pins each provider's default to a current model in the curated catalog, so a stale or cross-provider default fails the build instead of failing at runtime.
Added
Assistant write actions
the assistant can now act, not just answer. It saves notes, creates follow-up tasks and adds contacts on its own, and asks before changing a deal's value, stage or owner.
Remove an activity
a delete control on each note and task in the timeline (and the deal sheet's activity list), gated to its author or an admin, with a confirmation step before it runs. Removal is a soft delete, so history is preserved. Editing a note or task's text still has no UI.
Changed
Node 22 is now the minimum supported version, declared in
package.jsonengines(required by the AI SDK).
Fixed
createDealCoreandupdateDealCoreloaded custom-field definitions from the caller's session rather than from the workspace context passed to them. Harmless today, but it broke the explicit-context contract every non-request caller depends on.
Added
Assistant chat
ask questions about your workspace from a slide-over panel or a full page, and watch the reply stream in.
Bring-your-own-key provider settings
choose a provider and model and store your own API key, encrypted at rest and never shown again.
@-mention records as context
pin specific deals and contacts to a message so the assistant answers from those records.
Inline result cards
deals and contacts returned by the assistant render as compact cards in the transcript.
Per-message model and mode
pick any catalogue model for your provider and switch between fast and thorough answers.
Composer quick actions
start from four canned prompts instead of a blank box.
Scripted demo fallback
the assistant is demonstrable before any provider key is configured.
Inline error surfacing and retry
a failed request explains itself and offers a retry instead of failing silently.
Changed
Replaced Phosphor icons with Tabler across every component.
Domain logic now takes an explicit workspace context rather than deriving it implicitly.
Added
Invite a teammate
invite someone by email as an admin or member, once your own address is verified.
Accept an invitation
join a workspace from an emailed link and land in it immediately.
Wrong-account recovery
an invite opened while signed in as the wrong person names the right address and offers one-click switching.
Resend and cancel invitations
manage outstanding invitations from the Members page.
Team member management
see who is in the workspace, change roles, remove people, and reinstate them later.
Transfer ownership
hand a workspace to another member in one atomic step.
Email verification
confirm your address from a link, with a resend banner in the app.
Forgot and reset password
recover an account by email without revealing whether the address exists.
Change password and email
update credentials from Settings, with confirmation sent to the old address.
Edit display name
change how your name appears to teammates.
Transactional email
invitations and account mail are delivered through one templated sender.
Stage colours
give pipeline stages a colour from a fixed palette.
Fixed
Change-email requests from unverified sessions are refused, closing a session-hijack hole.
Post-authentication redirects are validated, closing an open redirect.
Email-verification states are reported honestly instead of optimistically.
Security
Cross-tenant entity references are validated in every mutation.
Removed members lose access on their next request rather than when their session expires.
The identity provider's built-in
/organization/*HTTP endpoints are refused, since they cannot see deactivated memberships.Email addresses are scrubbed from provider error logs.
Production email misconfiguration fails loudly instead of dropping mail.
Added
Contacts
keep a searchable record of the people you work with.
Deals and the kanban board
track opportunities through stages by dragging them across a board.
Pipelines and stages
shape the board to match how you actually sell.
Custom fields
add your own fields to contacts and deals without waiting for a release.
Activities
log notes and tasks against any contact or deal.
Dashboard
see pipeline value, momentum and what needs attention on one page.
Workspaces
run separate workspaces and switch between them.
Accounts
email-and-password authentication.
Audit trail
every workspace mutation is recorded immutably.
Security
Role-based access control across owner, admin and member, enforced server-side.
Per-workspace data isolation derived from the server session only.
Session-gated routes, auth rate limiting and hardened security headers.