Product 5 is live in early access betaRead more
Product 5Product 5
Changelog

Everything that shipped, newest first

Every notable change to CRMS, generated straight from the engineering changelog at build time.

In progress

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 /showcase to /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.

2026.07.4

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 totalUsage so 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) when ASSISTANT_PROVIDER is unset, so a GOOGLE_GENERATIVE_AI_API_KEY on 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 unrecognised ASSISTANT_PROVIDER falls 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 setting ASSISTANT_PROVIDER=anthropic without an explicit ASSISTANT_MODEL failed every request. It is now claude-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.

2026.07.3

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.json engines (required by the AI SDK).

Fixed

  • createDealCore and updateDealCore loaded 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.

2026.07.2

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.

2026.07.1

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.

2026.07.0

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.