KamoCRM

Live Change Log

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

17,374
Total Changes
5,891
Features
5,258
Fixes
30
Projects
Filter by project
All Projects17,374AIService242APIService174BillingService157ConversionService110DaemonService137DocsService223ESigService91EmailService568InitializerService329KBService151KlusterServices738MCPGatewayService235MediaService592RAGService79SecurityService1,822TranslateService62VOIPService248VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,321kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,631kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore773Docs3,252Feature5,891Fix5,258Other993Performance165Refactor278Revert23Style42Test159Upgrade1
October 22, 2026
Fixkamo-internal

The POS proxy passes a PDF or an empty reply through instead of failing it as JSON

The invoice PDF and any 204 went through response.json() and became a 500.

KamoΒ·23h ago
Fixkamo-internal

Read subscription invoices, events and agreements under the keys the server sends

The server answers invoices/invoice, events and agreements/agreement; posApi read subscriptionInvoices, subscriptionEvents and subscriptionAgreements, so the In...

KamoΒ·1d ago
October 21, 2026
Fixkamo-internal

Open deals are always expanded, the loan officer shows their photo, and the loan count reads one way

- Open view: every deal shows its loans, with no expand/collapse control. Past and All stay collapsed by default and expandable. - The loan officer avatar was...

KamoΒ·2d ago
Fixkamo-internal

Back from a loan returns to the screen it was opened from, and a loan always shows its full number

- The loan page's Back was hard-coded to /commerce, which opens the first market's home. Every opener (Pipeline, Board, document queue, applications tab) now ...

KamoΒ·2d ago
Fixkamo-internal

A tool menu stays selected on any of its pages and the pages beneath them

The last change lit a tool menu (Mail, Docs, Support, IoT, Settings, Cameras) only when a row's href was exactly the page open, and most rows carried no href at...

KamoΒ·2d ago
Fixkamo-internal

Numbers and addresses open their popups, unseen records in plain words, plain labels, rights cases

Approval follow-up 2026-10-21 (controller review of the approvals pane). - The headline draws every phone number and email address the card names (card.conta...

KamoΒ·2d ago
Fixkamo-internal

A charter item's tool is behavior; its grant provenance is not

CharterItem gained toolName and the standing-permission provenance (53e6e2cd6), so the compile-time check that every field is listed failed the build. toolName ...

KamoΒ·2d ago
Fixkamo-internal

Vendor sign-ins ask their settings, Sign in again keeps them, and the SP14 audit's web findings

- Link wizard: a vendor sign-in (SolarEdge app site IDs, Tuya region) asks the provider's declared settings before the vendor opens; a refusal to start reads ...

KamoΒ·2d ago
Fixkamo-internal

Brand and state colours read at AA in both themes; grid header strips are not scroll regions; AgentSelector chips are not inside a button

- StateChip/Kicker (patients, knowledge base, attendance, chat policies): the ink is the tone's own hue with its OKLCH lightness capped (light) or floored (da...

KamoΒ·2d ago
October 19, 2026
Fixkamo-internal

Restrict from Disabled says what it does; site modes article states the previous-mode return (IoT close-out F10, F9e)

- The platform connector dialog's Restrict confirmation, on a DISABLED connector (now offered for every provider with platform setup after a fresh test, iot-s...

KamoΒ·4d ago
October 18, 2026
Fixkamo-internal

Deleting an application that must be kept shows why instead of doing nothing (SITP TP21FU)

SecurityService now answers 409 for a received mortgage application (a record of business, withdraw it instead). The delete handler had no catch, so the rejecti...

KamoΒ·4d ago
Fixkamo-internal

The Interaction Center and the hexheads stand aside for a guided tour too

Follow-up to 2363d832, which cleared the dock windows. Two more surfaces could still sit in the spotlight: - The Interaction Center. A tour step (Online Meetin...

KamoΒ·5d ago
Fixkamo-internal

The quick-insert lists and renders templates through VOIPService's members' door (SITP TP11)

/api/voip/sms/templates is X-Internal-Auth only, so no browser session reached it and the popover always listed nothing. /api/voip/sms/text-templates takes the ...

KamoΒ·5d ago
Fixkamo-internal

The history's "Opt-out not recorded" chip in the primary colour (info failed contrast), and channel chips one width so the addresses line up

Follows b93576e8. Found by the component-harness screenshots and axe (color-contrast on the info-coloured chip). Tests: DoNotBlockTab.test.tsx.

KamoΒ·5d ago
Fixkamo-internal

A guided tour starts on a clear screen β€” dock windows go away as hexheads, and one that covers the highlight mid-tour follows

A chat that popped up at sign-in sat over the elements the tour pointed at, so the spotlight was drawn round the chat window instead of the lead search, the fil...

KamoΒ·5d ago
Fixkamo-internal

The nav's Voicemail row opens the softphone on voicemail, not the dialpad

The row dispatched a plain tool:open, so a new softphone started on the dialpad and an open one was only raised. It now opens with initialTab 'voicemail' (throu...

KamoΒ·5d ago
Fixkamo-internal

The vendor and product questions move off the field's border

A member reported "Description" on Create New Vendor (Settings β†’ Client Relations Manager β†’ Vendors & Products) with the field's border running through it: an M...

KamoΒ·5d ago
Fixkamo-internal

Hexhead side corners are no longer cut off

The hexagon's side points sit on the 0-100 viewBox edge while its flat top and bottom have 6.7 units to spare, so the clipping SVG shaved half the outline and t...

KamoΒ·5d ago
Fixkamo-internal

The keys tip on the tour card always shows in full

The "Tip: use the arrow keys to move" line shared the button row with Back and the primary button. A long label such as "Next tour: Service Work" left it no roo...

KamoΒ·5d ago
October 15, 2026
Fixkamo-internal

The do-not-contact screens read clearly to everyone β€” "Call anyway" and the history's Removed chips in the error colour (warning failed contrast), spinners named, the removal sentence names the channel as written

Follows 35421d4d. Found by the component-harness screenshots and axe (color-contrast on the warning-coloured text button and chip; aria-progressbar-name on the ...

KamoΒ·1w ago
Fixkamo-internal

An edit that changes nothing cannot be saved

Opening an event and pressing Save without touching anything rewrote it β€” and, for a meeting with guests, could ask whether to tell them about a change that did...

KamoΒ·1w ago
Fixkamo-internal

An add the server moved to another chat opens in its own window

Adding somebody to a conversation that already has messages no longer grows that room (MediaService now moves the add to the chat for the new set of people). Op...

KamoΒ·1w ago
October 14, 2026
Fixkamo-internal

Picking a non-default alias domain From no longer fails the send

Every alias-domain row in the From picker is the member's primary mailbox under another domain, but only the default one was mapped to a primary From. Any other...

KamoΒ·1w ago
Fixkamo-internal

Mirror the honest default Live Support welcome

Matches kamo-shared-library a82f3c78: the team is notified only once the visitor sends a message, so the default no longer says someone will be with them shortl...

KamoΒ·1w ago
Fixkamo-internal

Send the chosen From even when it is the primary row

The default org alias domain (kamouniverse.com) is offered in the From picker as the member's primary, and the composer left any primary From off the request. W...

KamoΒ·1w ago
Fixkamo-internal

The lit Settings row follows the page's own tab

The rail lit the row the member last clicked, so switching tabs inside a settings page (Docs -> General from the page's tab strip) left the light on the old row...

KamoΒ·1w ago
Fixkamo-internal

Reopening a field shows the settings just saved

The stack's sorted field list was memoized on each field's id and order only, so a change from Save Field (Display on Intake, title, required…) never rebuilt it...

KamoΒ·1w ago
Fixkamo-internal

GD alone no longer grants every right on proxy routes

ksemHasRight treated GD (god-mode ELIGIBILITY) as an all-rights bypass, so every god-eligible operator held every right on the 18 proxy routes that use it, with...

KamoΒ·1w ago
Fixkamo-internal

Never relay a browser-set X-God-Mode-Active

God mode is SERVER-owned. The billing and LOS proxies copied the browser's X-God-Mode-Active onto the upstream call, and BillingService treated it plus users.is...

KamoΒ·1w ago
Fixkamo-internal

The tours really do start by themselves at sign-in

They never had, for anybody. The trigger waited for userInfo.tokenId, which the type declares but the web app's /api/user-info never sends β€” so it returned befo...

KamoΒ·1w ago
Fixkamo-internal

An image attachment that has not drawn holds a placeholder, and one that never answers fails over

An <img> reports load or error and nothing in between, so a request that never answered left an unsized element at 0x0 β€” a chat bubble with nothing in it. A mem...

KamoΒ·1w ago
Fixkamo-internal

A docked chess window is as wide as its board

The window opened at a fixed 560 while the row decided its height, so at the default 690 row the board was 346px square in a 540px column: 97px of empty table e...

KamoΒ·1w ago
Fixkamo-internal

Drag-selecting up or left out of a text field scrolls it

WebKit (Safari, DuckDuckGo on macOS β€” the reporter's browser) only autoscrolls a text field toward the END of its text during a drag-select: dragging up out of ...

KamoΒ·1w ago
Fixkamo-internal

The Settings rail keeps your place in its tree

Choosing a row in the expanded rail ran close(), which also emptied every expanded branch, so each click folded Settings back to its own row and the next sub-to...

KamoΒ·1w ago
Fixkamo-internal

A card taller than the room it has scrolls instead of running off the screen

Opened from a name low on a laptop screen (the Interaction Center's "..." on a roster row), the member card was placed below it at full height; once "More" open...

KamoΒ·1w ago
Fixkamo-internal

Related-article rows open the article

The Related Articles list under an open article drew each link as a plain box with no href or click handler, so nothing happened when a reader clicked one. A re...

KamoΒ·1w ago
Fixkamo-internal

Tiles recover on their own, a manager's Watch shows the camera, cloud logins never stored in clear

From an independent review of the shipped Cameras screens. Viewer: - A Settings "Watch" of a camera not shared with the manager showed "unavailable": the windo...

KamoΒ·1w ago
Fixkamo-internal

Nothing dials by itself any more, and four red tests on main go green

The softphone never places a call for the member (owner rule, 2026-10-13): - The lead header's Call work / Call personal now fill the dialpad and stop, like eve...

KamoΒ·1w ago
Fixkamo-internal

Tours show for members signed in before them, and survive a failed progress read

Two reasons the first deploy showed no tour, not even on the App Shelf: - The progress read was attempted once per page, and every tour surface waited on it. ...

KamoΒ·1w ago
Fixkamo-internal

Display on Intake now saves

The form editor built each field for the save request without isDisplayOnIntake, so the server stored false for every field that was not required. The toggle re...

KamoΒ·1w ago
October 13, 2026
Fixkamo-internal

Attaching a custom form to a market now saves

The market dialog sent each form as Number(uuid). That is NaN, which JSON sends as null, and the service skips a null form id, so every save reported success wi...

KamoΒ·1w ago
October 12, 2026

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