Every release.
Shipped and documented.

We ship weekly. Every version adds a capability you can feel. Here's everything we've shipped — in reverse chronological order, newest first.

v3.2.1
April 2026
Current
Behind the scenes.
Groundwork for Chrome extension and Slack: your data is ready when those surfaces go live.
  • Automatic sync: health scores, CRM notes, and portfolio totals now update in the background whenever you record a payment, add a contract, or save a note. The data is ready for other tools to use instantly.
  • Secure refresh path: if data ever falls out of date, the Chrome extension and Slack can ask Perfex for a fresh calculation. Requests are signed and verified to prevent tampering.
  • Install action required: go to Setup → Modules → ClientPortal AI → Deactivate → Activate, then click Upgrade Database. This completes the v3.2.1 setup. One-time action per install.
v3.1.1
April 2026
Memory, heard.
AI now reads and acts on client notes. Search extended to contacts, email, phone, and website.
  • AI honours CRM notes in briefs — the auto-brief system prompt now mandates reference to stored memory, instead of treating it as optional. "She asked for a new eshop, Angela should follow up" actually shows up in the brief.
  • Action buttons work for healthy clients with notes — previously, any client with €0 unpaid and no expiring contracts triggered a "no outstanding invoices, cannot help" refusal. The admin chat now treats CRM memory as data: clients with notes always get full, actionable responses regardless of financial state.
  • CRITICAL CONTEXT block — agency notes are now prepended to the admin chat system prompt with a directive to always use them when drafting emails, call scripts, or giving advice.
  • Column-2 search extended — typing a website fragment, email, phone digits, or any contact name now finds the right client. Was company-name-only in v3.1.0.
  • Client info bar under the header — a muted one-line row shows 🌐 website · 📧 email · 📞 phone for the selected client. Clickable links for all three. Only fields with values render — no empty placeholders.
  • Auto-brief token headroom — raised the output budget so the Remember line doesn't get truncated when invoices and contracts already fill the frame.
  • Empty-array cache guard — Invoices and Contracts tabs no longer cache empty states. If a client had no invoices when you first viewed them, adding one in Perfex now shows up on next open instead of sticking as "No invoices found" forever.
v3.1.0
April 2026
The Workspace
From floating bubble to full workspace. Three columns. State never resets.
  • Three-column Apple Notes layout — groups / client list / workspace in one persistent panel.
  • Draggable column dividers with width memory (localStorage persistence).
  • Five tabs per client — Brief · Invoices · Contracts · Chat · Notes.
  • Context-aware opening — the panel auto-selects the client you're viewing in Perfex.
  • Chat isolated per client — never bleeds between clients or portfolio view.
  • Fast-path cards load in ~200ms — brief cached in sessionStorage per client.
  • Portfolio BI with mini metric cards in column 2.
  • Action buttons always visible regardless of chat history.
  • Inline Notes editing — click to edit, Enter to save, Apple Notes feel.
  • Invoices tab with status pills and overdue date highlighting.
  • Contracts tab with expiry countdown and status pills.
  • LiteLLM routing fixed — 12s → 0.65s Haiku latency (was routing to itself).
  • Direct Anthropic API for all tenant traffic.
v3.0.0
April 2026
Foresight, not reporting. Agency voice, not chatbot.
A major version — the AI perspective shifted from client-facing to staff-facing, and the widget started telling you what to do instead of waiting to be asked.
  • Agency-staff AI perspective — every outbound AI call now sends admin_context: true, flipping the system prompt from "you are talking to the client" to "you are advising agency staff about the client". Call scripts now speak in the agency's voice. Payment reminders are drafted from the right side of the relationship. Upsell scans give strategic advice instead of customer-service deflection. This single change fixed subtly-wrong AI output across every feature.
  • Numeric invoice + contract fields in client contextget_client_context() now returns unpaid_invoices, unpaid_total, overdue_invoices, overdue_total, and contracts_expiring as separate counters alongside the existing formatted string. The staff-facing AI branch needs these to avoid short-circuiting on "no data" for clients with real outstanding balances.
  • Portfolio health dashboard — clickable cards showing at-risk, watch, healthy, and dormant client counts. Filter the list, drill into any band, back to overview with one click.
  • Outcome action buttons — contextual one-click actions per client: payment reminder, call script, renewal proposal, upsell scan. Prompts built from real client data. The right action for the right moment.
  • Dormant client detection — clients with no invoices in 12 months and no active contracts are separated from the at-risk list and shown in their own bucket. At-risk stops being polluted by accounts that stopped buying years ago.
  • Health score rebalancing — no-contract clients no longer score artificially high from the "not expiring" component. Absence is no longer rewarded.
  • Memoized portfolio health — the full categorized client list is cached in CI session for 5 minutes, so card clicks no longer re-run the N+1 scoring loop.
  • Streaming responses uncapped — no longer cut off mid-sentence at the 500-token limit. Bumped to 1,500 tokens for /v1/chat/stream.
  • Mode persistence — brief and action buttons survive Portfolio BI ↔ Client tab switching. No more losing your place.
  • Widget version badge — current module version visible in the panel header at all times.
v2.8.1
April 2026
Stability & Correctness
Shoring up v2.8.0's foundation.
  • Critical fix: invoice status SQL corrected — paid clients no longer flagged as having unpaid balances. Status code semantics aligned with Perfex 3.x.
  • Panel close/reopen race condition fixed — the widget no longer gets stuck when opened and closed rapidly.
  • At-risk client rows are visually clickable — blue link styling makes the interaction affordance obvious.
  • Search dropdown blur timing — 200ms delay allows clicks to register before the dropdown closes.
  • Migration file system introduced — module versioning now flows through a proper CI_Migration chain, so installed_version advances cleanly on every release.
v2.8.0
April 2026
Proactive Intelligence
The moment the widget stopped waiting for questions.
  • Auto-brief on client select — click a client, the brief appears. No question needed.
  • Proactive BI default state — portfolio dashboard visible the moment you open the widget.
  • Opinionated briefing sidebar — urgency labels (CALL TODAY / Follow up / Monitor) with color-coded health scores.
  • Period comparison footer — This Month vs Last Month, at a glance.
  • Brand color system — #ff623f / #fe8b21 / #50bd64 applied consistently across the widget, briefing, and BI cards.
v2.7.0
April 2026
Memory & Health
The AI starts learning your clients.
  • Client health score (0–100) per client — five weighted components across payments, overdue, contracts, and activity.
  • Portfolio health aggregation — average score + band distribution rolled up across your entire book.
  • AI learning — insights extracted from conversations are saved to client memory automatically.
  • Memory panel — view and edit what the AI knows about each client.
  • Monday morning portfolio email — HTML briefing delivered via the Perfex cron hook.
v2.6.0
April 2026
Intelligence Depth
From chat assistant to portfolio analyst.
  • Monthly revenue query support — month-over-month comparisons in the Portfolio BI mode.
  • Customer analysis — multi-section reports covering payment behavior, contract status, revenue trend, and notes.
  • Lead scoring — AI-ranked leads with confidence indicators.
  • Lead search — ask natural-language questions about your pipeline.
v2.5.0
April 2026
Streaming & Language
Real-time responses in any language.
  • SSE streaming — token-by-token responses instead of the old fetch-and-wait pattern.
  • Auto-language detection — replies in whatever language the user wrote in.
  • Linkify — client names in replies become clickable, routing to the Perfex client page.
v2.4.0
April 2026
The first stable release
Per-client briefings, credit system, first dashboard surface.
  • Per-client AI briefing — ask anything about a client's invoices, contracts, and notes.
  • Daily briefing sidebar — the first iteration of the briefing panel.
  • Overdue invoice + expiring contract tracking — the foundations of what became Portfolio Foresight.
  • Credit-based usage system — transparent per-response cost, credits never expire.