KamoCRM

Live Change Log

Every feature, fix and improvement, posted as it ships. Nothing is held back for a launch.

18,407
Total Changes
6,538
Features
5,540
Fixes
30
Projects
Filter by project
All Projects18,407AIService276APIService177BillingService161ConversionService117DaemonService146DocsService240ESigService93EmailService622InitializerService344KBService162KlusterServices769MCPGatewayService277MediaService620RAGService79SecurityService1,997TranslateService62VOIPService265VectorService11kamo-apps26kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,700kamo-login342kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,826kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild23CI525Chore794Docs3,286Feature6,538Fix5,540Other1,001Performance174Refactor282Revert23Style45Test175Upgrade1
August 8, 2026
Fixkamo-internal

Show negotiated pricing instead of $0.00 for enterprise-only add-ons

The origination add-ons carry no list price — they are negotiated per agreement — and formatCurrency(null) renders $0.00, advertising an enterprise module as fr...

kamo·3mo ago
Docskamo-internal

Design the platform app catalog behind an Apps & Features tab

Apps on /settings/account?tab=apps are compile-time constants in the ServiceType enum, so "Available" (stage == COMPLETED), the stage itself, the display name a...

kamo·3mo ago
Featurekamo-internal

Server-paginated organizations console

The tab loaded every organization in one request and rendered a card each, with the backend fanning out per org, then per account, then per subscription. Search...

kamo·3mo ago
Docskamo-internal

Implementation plan for the platform organizations console

17 TDD tasks across BillingService, the translation dictionary and kamo-internal. Physical table names verified against the live cluster -- the org table is 'or...

kamo·3mo ago
Featurekamo-internal

Rename LOS to MLOS, add Personal Loan Origination System, gate commerce verticals

Apps tab now shows 'Commerce: Mortgage Loan Origination System' (the title is served from the backend enum, not the TS mirror) and a new 'Commerce: Personal Loa...

kamo·3mo ago
Docskamo-internal

Design for the platform organizations console

Redesigns **************** from an unbounded card list into a server-paginated console. The current tab loads every org at once and PlatformAdminService fans o...

kamo·3mo ago
Fixkamo-internal

Raise the Next body cap that was truncating every large upload

THE cause of the failing 3 GiB attachments, and it was ours, not the network. **************** was '500mb'. It is not a rewrite/middleware setting: Next wraps ...

kamo·3mo ago
Fixkamo-internal

Stop a dead upload spinning forever, and say what 100% means

A stalled upload sat at 100% with the bar full and no way out. Three separate reasons, all of them mine. XMLHttpRequest has no useful read timeout: when bytes ...

kamo·3mo ago
Fixkamo-internal

Let an in-flight upload finish instead of dying on a rollout

A 2 GiB chat attachment reached 100% and then failed with 'Bad Gateway' because a deploy landed on top of it: the pod took SIGTERM at 03:34:36 and the transfer,...

kamo·3mo ago
Featurekamo-internal

Email a member from their row

Adds a mail action beside chat, call and profile on a member row, opening the Messages tool with the recipient already filled in. It is hidden unless the org ha...

kamo·3mo ago
Fixkamo-internal

Make a failed upload say what happened, and log enough to diagnose it

A 2 GiB attachment failed at the end of a four-minute transfer with 'Upload failed: upload failed Internal Server Error' — a doubled prefix wrapped around a mes...

kamo·3mo ago
Fixkamo-internal

Apply custom status labels to the status tabs

Every other status display on /leads resolves its description through resolveLabel() from useStatusLabels — the grid cell renderers, both filter dropdowns, and ...

kamo·3mo ago
August 7, 2026
Fixkamo-internal

Report user idle time so an abandoned tab can expire

The client activity tracker only ever gated whether we asked to extend; it never told the backend anything. SecurityService renewed the session TTL on every req...

kamo·3mo ago
Featurekamo-internal

Title the mortgage form panes Borrower(s)

The Loan/Borrower/Subject Property form serves every borrower on the file, so the tab and pane titles now come from translations and read Borrower(s). Loan and ...

kamo·3mo ago
Fixkamo-internal

Leave the individual out of a department signature too

A message sent from a department mailbox is written by the department: the reply lands there, not with whoever typed it, so signing it with a member's name and ...

kamo·3mo ago
Featurekamo-internal

Drive the email template off the From address, behind an on/off switch

The template picker in the composer footer is gone. Which template a message wears is not a separate decision from who it is sent as: the member's own primary a...

kamo·3mo ago
Fixkamo-internal

Stop next/image breaking every proxied logo preview

The org branding screen **************** showed the full and simple logos as missing images even though the very same files render fine everywhere else in the a...

kamo·3mo ago
Fixkamo-internal

Sort departments alphabetically

The roster rendered department sections in whatever order the backend returned them. Sort the section keys A→Z (locale-aware); member order inside each section ...

kamo·3mo ago
Fixkamo-internal

Stop the first list row wearing a permanent focus ring

is but hide its ring until j/k is actually pressed; the first press just reveals it in place, and changing folders hides it again.

kamo·3mo ago
Fixkamo-internal

Make the popup's disabled buttons readable

kamo·3mo ago
Featurekamo-internal

Switch mailboxes from the same searchable picker the composer uses

The switcher was the weaker half of the pair: a select holding every mailbox the member can open, which for org-wide access is every mailbox in the org. It also...

kamo·3mo ago
Featurekamo-internal

Proxy the queue-summary and claim endpoints

kamo·3mo ago
Featurekamo-internal

Download the executed document, and choose a real signing order

The sender had no route to the finished document at all. EnvelopeSummary advertised a signedDocumentUrl pointing inside the kamo-signer app's own BFF, authentic...

kamo·3mo ago
Featurekamo-internal

Rebuild the mortgage market settings into seven coherent tabs

The MORTGAGE market page carried fifteen tabs, twelve of them lender config, and several answered the same question in two places: hedging was switched on under...

kamo·3mo ago
Featurekamo-internal

Pick the From address from a searchable dialog, not a dropdown

A select cannot hold this list. Everything the /messages switcher offers is sendable, and for a member with ACCESS_ALL_MEMBER_MAILBOXES that is every mailbox in...

kamo·3mo ago
Fixkamo-internal

Match the TypeScript DTOs to the Java ones they proxy

/api/webinar/* is a passthrough, so every TS field name that drifted from the Java DTO silently read as undefined instead of failing to compile. The settings ta...

kamo·3mo ago
Docskamo-internal

Record the compatibility bridge and what retires it

The bridge is invisible from the code that will eventually delete it -- the field looks like a real part of the request. Name the condition that ends it: Securi...

kamo·3mo ago
Featurekamo-internal

Assign a mailbox to a department and to the organization

The department dialog's contact email was free text, so it could name an address the org does not own. It becomes a picker over the org's real mailboxes -- the ...

kamo·3mo ago
Fixkamo-internal

Populate the Quick Tips and use the shared help primitives

The scheduled-support tips rendered four placeholder strings ("How Step1"…); replace them with real guidance covering the type → presenters → slots → reminders ...

kamo·3mo ago
Fixkamo-internal

Compose from the mailbox you have open, and offer every one you can access

New Message opened the composer on the member's default mailbox: only onBehalfOf was passed, and only for another member's mailbox, so a personal or shared mail...

kamo·3mo ago
Featurekamo-internal

A Manager field on Position, and one people picker for the whole app

The Position card gains Manager, optional. It is a search, not a dropdown: an org can hold thousands of names, and the only thing a select with all of them guar...

kamo·3mo ago
Featurekamo-internal

Draw departments as an org chart with a parent picker

The departments tab was a flat list, so an org with Operations > Customer Success > Onboarding had no way to say so and no way to see it. Add/edit gets a Paren...

kamo·3mo ago
Featurekamo-internal

Grow the To/Cc/Bcc fields to three rows, then scroll

The recipient fields in the compose tool window were a single nowrap row that had to be dragged sideways to read, and the window is 360px wide and not resizable...

kamo·3mo ago
Featurekamo-internal

Make org creation survivable, and offer every branding option up front

The wizard could fail a customer in ways nothing on screen explained, and it asked for a fraction of what Settings → Behavior & Labeling exposes. Creation reli...

kamo·3mo ago
Fixkamo-internal

Make the create-account form tell you what happened

Creating an account from a lead appeared to do nothing. The server was returning a 500 (see the AccountAddress fix in kamo-shared-library), but the only error U...

kamo·3mo ago
Fixkamo-internal

Make the create-account form tell you what happened

Creating an account from a lead appeared to do nothing. The server was returning a 500 (see the AccountAddress fix in kamo-shared-library), but the only error U...

kamo·3mo ago
Fixkamo-internal

Keep the right-click menus inside the viewport

Right-clicking a folder low in the sidebar opened its menu below the fold. The flip-at-the-edge logic was there but never ran: the component returns null until ...

kamo·3mo ago
Featurekamo-internal

Send the editor's back button where the member came from

The wallpaper editor was a dead end — no way out but the nav rail. Both entry points (the home top-bar chip and the member profile header shortcut) now stamp th...

kamo·3mo ago
Fixkamo-internal

Stop a menu click on an open settings page from bouncing back, and repair the dead tab links

Clicking Apps & Features (or Stats & Costs) while /settings/account was already open landed on the tab you came from. Next.js swaps the query string without rem...

kamo·3mo ago
Featurekamo-internal

Show a primary mailbox under its member's profile name

A mailbox held as somebody's primary is that person's address, so suggesting it as "Sales Desk" — whatever it happened to be labelled when it was provisioned — ...

kamo·3mo ago

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing