KamoCRM

Live Change Log

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

17,395
Total Changes
5,910
Features
5,260
Fixes
30
Projects
Filter by project
All Projects17,395AIService242APIService174BillingService157ConversionService110DaemonService137DocsService223ESigService91EmailService568InitializerService329KBService151KlusterServices738MCPGatewayService235MediaService592RAGService79SecurityService1,830TranslateService62VOIPService248VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,328kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,637kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore773Docs3,252Feature5,910Fix5,260Other993Performance165Refactor278Revert23Style42Test159Upgrade1
October 4, 2026
FeatureAIService

An org that ranks OpenAI transcription first streams STT through it, and every ticket names its session dialect (SP95)

transcription model was dropped as ADAPTER_UNSUPPORTED and every streaming STT ticket went to Kamo Speech on CPU. Each catalogue row now names the session (the ...

Kamo·2w ago
FeatureAPIService

Route website contact forms, on the session-creation budget

POST /api/public-chat/contact proxies to MediaService's new contact endpoint through the same site-key, origin and scope checks as every other public-chat call,...

Kamo·2w ago
FeatureMediaService

A lender's website contact form files a ticket in their own queue

POST /api/media/public-chat/contact, reached through the gateway's site-key gate like every other public-chat call, so the key names the org and its allowed ori...

Kamo·2w ago
FeatureMCPGatewayService

Rag_search takes audience PUBLIC, the search the public may read (SP95 T12)

An AI on a phone call answers an anonymous caller, so it searches only the published articles the public may read, never notes (spec D12). The optional audience...

Kamo·2w ago
FixEmailService

The AI signature disclosure names the company by its spoken name

An AI member's email disclosure filled {organization} with the organization's title (its letterhead), so Luna's mail said "an AI member of the KamoCRM Inc. team...

Kamo·2w ago
FixKlusterServices

Nothing in the mail namespace reaches the session store

rspamd now keeps its data in its own Redis, so the platform Redis drops its mail_rspamd user and admits only the kamo namespace; rspamd's ConfigMap drops the ke...

Kamo·2w ago
Docskamo-internal

SP95 ledger: Task 15 ruling SP95-T15-1

Kamo·2w ago
FeatureKlusterServices

Rspamd keeps its data in its own Redis

local.d/redis.conf is now the redis-own.conf key: rspamd-redis in mail, database 0, the same mail_rspamd login. The subPath change rolls the pod. The old key st...

Kamo·2w ago
FeatureKlusterServices

A Redis of rspamd's own

rspamd parses untrusted mail and logs in to the platform Redis, beside every member's session, and no ACL can keep it from them there: a user cannot be scoped t...

Kamo·2w ago
DocsInitializerService

Say that the platform org holds every app whatever its plan rows say

Completes the corrected comment over the platform-only catalog entries: the rows it describes decide nothing for the platform org itself, which ****************...

Kamo·2w ago
FeatureSecurityService

A charter save reaches the AI runtime at once, and the charter profile names the company (SP95 T6)

**************** now carries a cause. The rights path sends RIGHTS; a committed charter save sends CHARTER for each affected AI member, with the member's curren...

Kamo·2w ago
Docskamo-internal

Ledger — 1 entries

Kamo·2w ago
DocsInitializerService

The platform-only catalog comment says what the ladder did to each app

The comment over REPORTS, GAMIFICATION, KAMO_UNIVERSE, CHESS and HOLDEM said all five were placed where their live entitlement already was, on OWNER_UNLIMITED. ...

Kamo·2w ago
FeatureMCPGatewayService

Approvals_request sends a class a tool performs to that tool; the charter stamp keeps tools fresh (SP95 T10)

approvals_request refuses an action class a catalogue tool performs with INVALID_ARGUMENTS USE_TOOL {tool, tools, actionClass}, or NO_TOOL_FOR_YOU when the call...

Kamo·2w ago
FixSecurityService

Assigning a computer reads the one member, not the whole organization

HostedComputerAccess.isMember loaded every member of the organization to test one id, and emailOf, called right after it on the same assign path, did the same t...

Kamo·2w ago
FixKlusterServices

A member's xrdp desktop shows the organization's wallpaper

xfdesktop draws the backdrop stored under the X server's RandR output name. A member works in an xrdp session, whose xorgxrdp server names its output rdp0, but ...

Kamo·2w ago
FixKlusterServices

A take-over ends only once its VNC password is sealed

VncAccess cleared the take-over in memory and then wrote the password file. When the write failed, x11vnc kept accepting the take-over password while the agent ...

Kamo·2w ago
FixConversionService

A blank internal secret answers 503 on /transcribe too

/transcribe answered 403 when **************** is not configured; master §7 item 13 asks 503 of every internal endpoint, which its sibling /transcribe/detailed ...

Kamo·2w ago
Fixkamo-asterisk-support

The AI endpoint writer does nothing until FreePBX has generated its endpoint file

Without pjsip.endpoint.conf nothing is known about which extensions exist, so Apply wrote empty managed AI sections (and reloaded), which would take every AI ex...

Kamo·2w ago
Featurekamo-apps

Open the application with the answers a lender's site already took

A lender's marketing site can now carry its own short "get started" form and send the borrower here with purpose, name, email and phone filled in, so nobody typ...

Kamo·2w ago
FeatureSecurityService

SP94 DDL for the org's two phonetic name columns, pinned by a contract test

orgs.title_phonetic and orgs.title_short_phonetic, both nullable VARCHAR(255) with no default and no CHECK, the same shape as users.name_phonetic. Hand-applied ...

Kamo·2w ago
Docskamo-internal

SP95 Task 25 rulings SP95-T25-1..2 (four keys for Tasks 26–27; the wording left open)

Plan Tasks 26 and 27 name the extra keys: the palette label, captionOther, and the link text beside "Asked for by {name}".

Kamo·2w ago
FixAIService

Note why the ulaw mapping is unreachable today

Review (el-format-review-1.md) flagged that AudioController.SPEECH_FORMATS has no "ulaw" entry, so nothing reaches that arm of ElevenLabsFamily's output_format ...

Kamo·2w ago
FixEmailService

Key the cross-root retry on alias-domain membership, not root-or-not

Round 3 review (email-fix-review-3.md) confirmed round 2's BLOCKER fixed (walked sage@kamouniverse.com through both the app code and Postfix's own platform-alia...

Kamo·2w ago
September 29, 2026
FixAIService

ElevenLabs speaks the format a caller actually asked for

The adapter hard-coded output_format=mp3_44100_128 on every call, so a caller asking E5 for wav (or kamoai-voice asking for pcm, on every phone call) still got ...

Kamo·3w ago
FixEmailService

Retry every owned domain unconditionally, and drop the +tag fold

Round 2 review (email-fix-review-2.md) found the round 1 fix for MAJOR #3 (multiple root domains) still reopened the original bug: - BLOCKER: kamouniverse.com ...

Kamo·3w ago
FeatureAIService

E5 speaks with an AI member's remembered voice, its preferred model first, and names the voice it sent

For an AI subject (the AI's own session, or the internal twin with ?memberId=) every TTS candidate is sent the voice the SP96 resolver decides, and the answerin...

Kamo·3w ago
FeatureRAGService

Audience PUBLIC narrows a session search to published public articles

A session search may send audience: "PUBLIC" to search as the public widget does (no member, no member type): published articles flagged for the public, never a...

Kamo·3w ago
Docskamo-internal

Ledger — 1 entries

Kamo·3w ago
FeatureVOIPService

The phone server's team line for an AI member's unnamed transfer

SP95 D10: the AI voice settings take defaultTransferExtension (digits, like the fallback; blank clears it) and echo it. The new internal route GET *************...

Kamo·3w ago
FixMediaService

Trim the mirrored-alias check, and stop it forcing a lazy load per member

Review findings on the AI-full-name fix (4ea53c5): - LOW: the mirrored-username comparison didn't trim either side, so an alias saved with stray whitespace (...

Kamo·3w ago
FixSecurityService

The AI-dispatch audit trail names people the same way chat does

**************** hand-duplicated MemberDisplayNames' pre-fix precedence (usernameAlias wins unconditionally over the real name), with its own comment warning th...

Kamo·3w ago
Docskamo-internal

SP93 phone outbound policy settings — spec, plan, ledger

Plans the two per-phone-server settings the owner asked for (2026-09-28): a default for whether a new extension, human or AI, starts allowed to dial out (off by...

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