KamoCRM

Live Change Log

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

18,405
Total Changes
6,537
Features
5,539
Fixes
30
Projects
Filter by project
All Projects18,405AIService276APIService177BillingService161ConversionService117DaemonService146DocsService240ESigService93EmailService622InitializerService344KBService162KlusterServices769MCPGatewayService277MediaService620RAGService79SecurityService1,997TranslateService62VOIPService265VectorService11kamo-apps26kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,698kamo-login342kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,826kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild23CI525Chore794Docs3,286Feature6,537Fix5,539Other1,001Performance174Refactor282Revert23Style45Test175Upgrade1
September 11, 2026
FeatureBillingService

Active and Void tabs in the platform org directory

The console's Organizations tab now splits into Active and Void sub-tabs. A voided organization is orgs.is_active = FALSE (set by SecurityService's void endpoin...

Kamo·2mo ago
FeatureSecurityService

Void an organization, and let no way in reach a voided one

Platform -> Configuration -> Organizations can now void an organization. The void is orgs.is_active = FALSE; this commit adds the action and makes every way INT...

Kamo·2mo ago
Featurekamo-shared-library

A voided organization is left out of every listing and host lookup

Platform operators can now void an organization from Platform -> Configuration -> Organizations. The void is orgs.is_active = FALSE — the flag sign-in and host ...

Kamo·2mo ago
Featurekamo-internal

Topic titles in the bar's dropdowns sit on a darker plate of the brand

A menu's own name at its top and every section heading (Support's "Online Support", "Bugs & Enhancements", "Training"; Docs' "Create new") now sit on a rounded ...

Kamo·2mo ago
Featurekamo-internal

Faces on messages only in conversations of three or more

A face beside every message tells people apart, and between two people the side a message is drawn on already does that - so the corner face now appears only wh...

Kamo·2mo ago
FeatureMediaService

The faces answer says how many people are in the conversation

GET **************** now carries `participants`: the console puts a face beside each message only when three or more people are in a conversation, since between...

Kamo·2mo ago
Featurekamo-marketing

Generate the sitemaps per request, and give every change its own page

/sitemap.xml was a metadata file prerendered at build time, in a container that cannot reach KBService or SecurityService, so every deploy shipped a sitemap wit...

Kamo·2mo ago
FeatureSecurityService

Give every public entry an address, and page the list on the server

The public changelog served entries with no identifier, so the marketing site could neither link to one nor list them in a sitemap. Each entry now carries a slu...

Kamo·2mo ago
Featurekamo-internal

Every message wears its author's face, on the bubble's corner

In every chat popup tool window - Chat, Support, Exec2Exec, Social, SMS, AI Chat - each message now carries a 16x16 photo that overlaps the bubble's top-left co...

Kamo·2mo ago
Featurekamo-internal

The Signature Requests tab, and a colleague's save in the template editor

Signature Requests, between Templates and Common in the Docs manager: every document the collection's templates sent out for signature, in a grid paged on the s...

Kamo·2mo ago
FeatureESigService

Signature requests for the Docs manager, with new counts per member

The Docs manager gets a Signature Requests tab: every document a collection's templates sent out for signature, in three buckets by signatures (nobody, some, or...

Kamo·2mo ago
FeatureDocsService

A save reaches every colleague with the template open

A save of a template's file told only the member who saved it, so a colleague with the same template open kept placing fields over pages the file had moved on f...

Kamo·2mo ago
FeatureMediaService

A face for every message in every chat window

GET **************** answers, for one conversation, the photo to draw beside each message: everybody on it now AND everybody who ever wrote in it (a roster forg...

Kamo·2mo ago
FeatureMediaService

A meeting link in the conversation, always on the platform's Kamo Meet

POST **************** lets either side of an Exec2Exec conversation add a meeting link, behind the same gate as sending a message. The meeting is created as the...

Kamo·2mo ago
Featurekamo-internal

Add a meeting link to the conversation - always the platform's Kamo Meet

Both sides of an Exec2Exec window now carry the camera the other chat windows have: Add a meeting link. The meeting is created by MediaService as the PLATFORM o...

Kamo·2mo ago
Featurekamo-internal

The desk's filters, faces and presence; an Exec2Exec badge that burns

Interaction Center > Chats > Exec2Exec gets two filters under the sub-tabs: Org Owner (All | Org-less | Org Owner) and Order By (Last Message | Latest Sign In) ...

Kamo·2mo ago
Featurekamo-internal

Files and Templates, version history, and versioning settings

Members asked for documents that keep their history the way their organization chooses, and for templates that stand on their own instead of the Originals/Modif...

Kamo·2mo ago
FeatureMediaService

Faces on the desk — a client's photo, last sign-in and presence

The desk's roster now carries, for every client, their own photo (users.avatar_id, built on the operator's live theme host — the only one their console loads im...

Kamo·2mo ago
FeatureDocsService

Read a template's layer by design version

The version history draws a template's fields over each version's pages. It asked for them through a document version (/{imgId}/{n}/design), and a template's wo...

Kamo·2mo ago
FeatureConversionService

Upload a new version of a document

The one way to change a file the document editor cannot open - a PDF above all, which is what most templates are. POST **************** takes the new file, scan...

Kamo·2mo ago
FeatureESigService

Saving a template's fields is a version of the template

A template is a document with a layer of fields over it, and a version of it is both halves: its bytes and that layer. Its underlying file's saves already reach...

Kamo·2mo ago
FeatureDocsService

Files and templates, edited in place, with the versions each category keeps

A document was two records: the upload, which nothing edited, and one modified copy derived the first time anyone opened it in either editor. The Docs manager s...

Kamo·2mo ago
Featurekamo-shared-library

Document versions, and the versioning mode an organization chooses

Documents were two records: the upload, which nothing edited, and one modified copy derived the first time anyone opened it to edit. Members found the pair conf...

Kamo·2mo ago
Featurekamo-internal

A Nav Logo Overlay and a Careers Logo Overlay

Behavior & Labeling gains two more logo overlays in the vocabulary the other six use - a token, resolved against the org's own palette: - "Nav Logo Overlay", d...

Kamo·2mo ago
FeatureSecurityService

Bake the careers site's logo overlay into config.json

kamo-careers paints the org's logo in its header and has no OrgContext; it reads the theme config.json on the server, the same file login, register and apps tak...

Kamo·2mo ago
Featurekamo-shared-library

A logo overlay for the nav rail and one for the careers site

Two more columns in the vocabulary home_logo_overlay established: a token, not a hex, so an org that rebrands keeps an overlay that matches its new colours. Bot...

Kamo·2mo ago
Featurekamo-internal

A minimized Exec2Exec head runs a current of light round its rim

A line to KamoCRM's executives must never sit in the dock looking like one more chat. Its minimized head now carries an energy rim: a gold-to-white-to-sky arc r...

Kamo·2mo ago
FeatureMediaService

A conversation reaches the phone

A message on an Exec2Exec line now goes to the recipients' phones as well as their consoles: the customer's phone when KamoCRM replies, every desk member's phon...

Kamo·2mo ago
September 10, 2026
Featurekamo-internal

NavTop's Exec2Exec control is the desk for a KamoCRM executive

For a member with Exec2Exec Access standing in the platform organization, the control now counts messages from clients they have not viewed (GET ***************...

Kamo·2mo ago
FeatureMediaService

The desk's count of client messages not yet viewed

GET **************** returns how many messages from clients this EXEC2EXEC_ACCESS holder has not viewed, across every conversation, and each roster row carries ...

Kamo·2mo ago
FeatureKlusterServices

Dial 911 and 933 from every extension, with an MLTS email notice

Extensions could not reach 911: no outbound route matched 911 or 933, so from-internal fell through to bad-number and played "cannot be completed as dialed" wit...

Kamo·2mo ago
Featurekamo-marketing

List the phone number on the English pages only

showsPhone(locale) in app/lib/phone.ts is the single rule, currently locale === "en". PhoneLink returns nothing elsewhere, which covers the header, mobile menu ...

Kamo·2mo ago
Featurekamo-marketing

Let the logo lead home, and list the phone number where visitors decide

The header's Home entry duplicated the logo, which already links to /. It is gone from the desktop and mobile menus; in its place the logo carries a hover/focus...

Kamo·2mo ago
Featurekamo-internal

One brand-painted dropdown surface for the whole top bar

Every dropdown that hangs off NavTop — the eight option menus (Mail, Docs, Call / Text, Calculator, Support, Settings, Linux Desktop, Games), the availability p...

Kamo·2mo ago
FeatureMediaService

Seat the whole desk on every chat, show who is on it, close the chat feeds

- Standing membership: every explicit EXEC2EXEC_ACCESS holder sits on every Exec2Exec conversation. Exec2ExecDeskReconciler seats and unseats from the grant...

Kamo·2mo ago
Featurekamo-marketing

Hand Google the green-tile mark, because it lists the largest icon we declare

Search shows one icon per site and takes the largest one declared, apple-touch-icon included, so the 180px touch icons (ours and the theme's) outranked everythi...

Kamo·2mo ago
Featurekamo-internal

Show who from KamoCRM is on the chat, and how to reach them

The customer's window now lists the KamoCRM executives on their conversation, re-read whenever somebody is added or removed. The line shows NAMES only, with tit...

Kamo·2mo ago
FeatureSecurityService

Say when the desk changes

Granting or revoking Exec2Exec Access now publishes exec2exec.desk.changed, so MediaService can put an executive on every chat — or take them off — as the toggl...

Kamo·2mo ago
Featurekamo-shared-library

Carry the executive's phone line on a message

ChatMessageDto gains senderPhone and senderPhoneExt, set only when the sender is KamoCRM staff: the platform org's main line plus the extension that reaches tha...

Kamo·2mo ago
Featurekamo-internal

Stop at a pinned Interaction Center; keep windows under every menu

Two follow-ups to 0c5ef994 (maximize beside the nav). A PINNED Interaction Center now takes its width away from the maximized pane. Pinned, the panel is worked...

Kamo·2mo ago
Featurekamo-internal

Maximize beside the nav, not over it

A maximized tool window used to take the whole viewport. It, its navigator column and its tab strip were all pinned at (0,0) at the dock's stacking level, over ...

Kamo·2mo ago
Featurekamo-shared-library

List the members who hold a platform right

countHoldersOf answered how many; the Exec2Exec desk needs who. Grant rows alone are the wrong answer to "who works the desk" — the top-level owner holds every ...

Kamo·2mo ago
Featurekamo-internal

The executive channel in the console

A direct line between a customer executive and the KamoCRM executives: the chat half of the support window with no ticket, no status, no rating and no queue. T...

Kamo·2mo ago
FeatureSecurityService

Store the Welcome Message

The greeting the platform sends first over Exec2Exec, on the platform config singleton where every other platform-wide setting already lives. Two new endpoints...

Kamo·2mo ago
FeatureMediaService

Serve the executive channel

A conversation with its own audience rule and no ticket machinery, following SystemBug's shape: its own package, its own controller, its own visibility, and Med...

Kamo·2mo ago
Featurekamo-shared-library

The executive channel's foundation

One standing conversation between a customer executive and the KamoCRM executives, keyed on the USER rather than on a member — which is what lets it follow some...

Kamo·2mo ago
Featurekamo-signer-monorepo

The org's wallpaper behind every page, and white copy on it

kamo-sign was the one white-labelled surface still painting a flat grey. It now plays the inviting organization's background photography the way kamo-login, kam...

Kamo·2mo ago
Featurekamo-internal

Finish the category page — width, one back arrow, real words

The three managers were written to sit inside a nested tab of a tab. As a page of their own they needed the space they now have. - Configuration capped itself ...

Kamo·2mo ago
September 9, 2026
Featurekamo-internal

Categories are a table, and each one opens as its own page

/settings/features/docs carried eight tabs: General, then seven that each mounted the same three managers against a different ordinal. Seven copies of one scree...

Kamo·2mo ago
FeatureDocsService

Serve the document categories from the enum that defines them

The docs settings page named its own categories and sent the ordinal it believed each one had. Those ordinals were written when ImageAssocType was six constants...

Kamo·2mo 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