KamoCRM

Live Change Log

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

15,120
Total Changes
5,169
Features
4,935
Fixes
30
Projects
Filter by project
All Projects15,120AIService197APIService161BillingService143ConversionService107DaemonService129DocsService215ESigService88EmailService518InitializerService318KBService105KlusterServices697MCPGatewayService85MediaService546RAGService71SecurityService1,658TranslateService55VOIPService205VectorService11kamo-apps25kamo-asterisk-support24kamo-capcha17kamo-capcha-widget4kamo-internal6,937kamo-login330kamo-marketing625kamo-nowww20kamo-register213kamo-shared-library1,455kamo-signer-monorepo53kamolos108
Filter by type
All TypesBuild11CI523Chore738Docs2,167Feature5,169Fix4,935Other986Performance157Refactor274Revert23Style42Test94Upgrade1
September 28, 2026
FeatureMediaService

Meeting-provider connects send the api.kamouniverse.com redirect

The owner added **************** to the platform Microsoft app and kept the api.kamocrm.com one. Both hosts serve the path, so a connect started under either co...

Kamo·8h ago
FeatureMediaService

Relay media.feed.<orgId> to /topic/media/feed/<orgId>, guarded by org

A new post or lead note is announced on media.feed.<orgId>, and kamo-internal's MediaStream (a lead's Notes, the Clubhouse feed) listens on /topic/media/feed/<o...

Kamo·17h ago
FeatureMediaService

Meeting history, meeting detail with dial-in and transcripts, inviteable AI members

M3 GET /api/meet/ai-candidates, M4 GET /api/meet/meetings, M5 GET /api/meet/meetings/{id} (spec §4.4.1). Every answer is application/json; a page never splits m...

Kamo·1d ago
September 27, 2026
FeatureMediaService

Encrypted meeting transcripts and summaries, companion upload, downloads, retention

M6-M9 answer JSON whatever the client accepts and ignore unknown body fields (MediaService's bare ObjectMapper fails on them); M6 is NOT_READY while a transcrip...

Kamo·1d ago
September 25, 2026
FeatureMediaService

MediaService announces its own webinar writes

Kamo·3d ago
FeatureMediaService

Relay notification frames to the phone; voicemail gets its own topic

Every pod relays core-NATS email.notify.<memberId> to /topic/notifications/<memberId> on its own broker, for KamoMobile's notification centre. voip.voicemail.* ...

Kamo·3d ago
FeatureMediaService

Every chat sender goes through the one fan-out

Alerts, web-chat visitors, the AI Sales Agent, inbound social messages and the Exec2Exec desk now announce through ChatFanoutService: alerts reach the recipient...

Kamo·3d ago
FeatureMediaService

One fan-out for every chat sender

Kamo·3d ago
FeatureMediaService

Never send a missed-chat email to an AI member

Kamo·4d ago
September 24, 2026
FeatureMediaService

Image attachments are drawn from a 480px preview, not the original

A chat bubble draws an image at most 240x240 CSS px and every viewer downloaded the original to do it — 3-8 MB per phone photo. GET **************** now answers...

Kamo·4d ago
September 23, 2026
FeatureMediaService

The Hold'em invite and the meeting reminder say who they are from

MemberNotificationClient.raise gains an overload carrying actorMemberId/actorName (the id sent as text; the old signature is unchanged and sends neither). Holde...

Kamo·5d ago
September 18, 2026
FeatureMediaService

Quotes, hand histories, ticket events and bug threads send the id a member card needs

Four surfaces showed a member by name with no id beside it, so the console's member card had nothing to open. Each now sends the id as TEXT next to the name it ...

Kamo·1w ago
FeatureMediaService

The Presenters table can see which presenters nobody can book

GET **************** — MANAGE_SUPPORT, the caller's own organization's type only (anything else is "not found") — answers each active presenter with hasBookable...

Kamo·1w ago
September 17, 2026
FeatureMediaService

Tell a presenter, live, when nobody can book a time with them

A presenter whose declared hours have run out is the one state in this feature nothing reported: the booking page simply offers no times, the visitor leaves, an...

Kamo·1w ago
September 13, 2026
FeatureMediaService

Blind-copy the Additionally Notified team members on presenter emails

GET/PUT /api/webinar/notify-members (MANAGE_SUPPORT) read and replace an organization's Additionally Notified list; every id must be a team member of that organ...

Kamo·2w ago
September 12, 2026
FeatureMediaService

Relay org change events to /topic/rt/org/{orgId}/{domain}

Writers publish rt.org.{orgId}.{domain} on core NATS after a successful change; every pod relays it to the org's topic so open screens refetch instead of loadin...

Kamo·2w ago
September 11, 2026
FeatureMediaService

The roster no longer names a voided organization

An organization voided from Platform -> Configuration -> Organizations (orgs.is_active = FALSE) does not exist anywhere but the console's Void tab. findOwnedOrg...

Kamo·2w 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·2w 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·2w 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·2w 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·2w 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·2w ago
September 10, 2026
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·2w 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·2w 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·2w ago
September 9, 2026
FeatureMediaService

No empty tables, numbered tables, and one table per member

Four rules, all of them things a member reported seeing broken. EMPTY TABLES. A lobby showed three tables while one game was being played. Two had no seats at ...

Kamo·2w ago
FeatureMediaService

Show the hand nobody made you show

A pot taken with everybody folding is the one hand at the table whose contents only its owner knows, and there was no way to say what it was. Showing a bluff is...

Kamo·2w ago
FeatureMediaService

Opening a table buys you into it, and the last one out closes it

Both ends of a table's life allowed the same thing: a table with nobody at it. OPENING ONE COST NOTHING AND SEATED NOBODY. A host could put a table in front of...

Kamo·2w ago
September 8, 2026
FeatureMediaService

The plies, and how long each one took

Two things the move panel needs, neither of them on the published frame. `GET /games/{id}/moves` hands over every ply in order. It is a separate read rather th...

Kamo·2w ago
FeatureMediaService

A server-authoritative Texas Hold'em, and the Cheddar wallet seam

Up to ten players a table, started from any conversation, with anyone else in the organization invitable into it. Every rule lives here; the browser owns none. ...

Kamo·2w ago
FeatureMediaService

The chat entry is a door to the pair's board, and you can ask them back

Two colleagues who have played once have a board together for good. So the chat entry stops offering to introduce them: `gameWith` answers with the SHARED game ...

Kamo·2w ago
FeatureMediaService

The inviter plays immediately, and the invitee is told when it is their turn

An invitation used to produce a board the inviter could look at and not touch, waiting on somebody who might be away from their desk. Now the game is running fr...

Kamo·3w 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