KamoCRM

Live Change Log

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

18,446
Total Changes
6,574
Features
5,540
Fixes
30
Projects
Filter by project
All Projects18,446AIService276APIService179BillingService162ConversionService117DaemonService146DocsService240ESigService93EmailService625InitializerService344KBService162KlusterServices769MCPGatewayService277MediaService621RAGService79SecurityService2,005TranslateService62VOIPService265VectorService11kamo-apps28kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,710kamo-login342kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,836kamo-signer-monorepo58kamolos115
Filter by type
All TypesBuild23CI525Chore794Docs3,287Feature6,574Fix5,540Other1,001Performance174Refactor284Revert23Style45Test175Upgrade1
September 24, 2026
FeatureConversionService

/image/logo-variants cuts a logo into pre-sized PNG + WebP rungs

Org logos are uploaded once and drawn everywhere at 24-120px, and every surface downloaded the original: crm's logo-full.png is 2.2 MB (its .svg stand-in 2.95 M...

Kamo·1mo ago
Docskamo-internal

SP00-T49 fix round 1 — the kamo node password goes on the owner checklist

Task 52 Step 9 gains item 4: rotate the kamo node password, after Task 49 Step 3 and followed by a memory update. The item lists every copy that a value-keyed s...

Kamo·1mo ago
Otherkamo-internal

Merge kamoai/program: KamoAI ledger

Kamo·1mo ago
Docskamo-internal

SP00 ledger task 44

Kamo·1mo ago
Docskamo-internal

SP00-T49 rulings — the worldgen agent's unit is installed before its env file; NATS violation checks grep what the server logs

Task 49 Step 3 now deploys universe-earthdata's unit on k3m1 (the live one points at 127.0.0.1 and reads no env file), logs in as kamo@k3m1, and carries its own...

Kamo·1mo ago
ChoreKlusterServices

Scylla to 2 CPU / 4Gi, libretranslate request to 10Gi (32 GiB, 6 CPU released)

Scylla: --smp 2 --memory 3G in a Guaranteed 2 CPU / 4Gi pod (14-day peak 0.66 GiB, 0.05 CPU; the database is 2.93 MB). The init container now has requests == li...

Kamo·1mo ago
FixVOIPService

Mint a RingCentral webhook verificationToken RingCentral accepts

RingCentral refuses a deliveryMode.verificationToken longer than 32 characters with CMN-101 "Parameter **************** value is invalid" (measured against the ...

Kamo·1mo ago
Docskamo-internal

SP00 ledger task 45

Kamo·1mo ago
Otherkamo-internal

Own NATS login

kamo-internal's three NATS connections (org changes, worldgen, world live) present svc_kamo_internal from the nats-user-kamo-internal Secret instead of the shar...

Kamo·1mo ago
Docskamo-internal

SP00 ledger task 42

Kamo·1mo ago
Docskamo-internal

SP00 ledger task 21

Kamo·1mo ago
Otherkamo-internal

Merge kamoai/program: KamoAI ledger

Kamo·1mo ago
Docskamo-internal

SP00-T44 fix round 1 — the OTA step reads memory only through a value-keyed redactor, and never under set -x

Phase A printed the node password twice, reading two memories the step cites. Step 3 now sources a preamble that holds commands only, reads memory through memre...

Kamo·1mo ago
Docskamo-internal

SP00 ledger task 43

Kamo·1mo ago
Fixkamo-internal

A socket's one-time key is not a sign-in hand-off

Since 46191c47 every browser WebSocket authenticates with ?otk=<key>. The EmailService sockets connect through the same-origin /email-ws rewrite, so they pass t...

Kamo·1mo ago
Docskamo-internal

SP00 ledger task 19

Kamo·1mo ago
Otherkamo-internal

Merge kamoai/program: KamoAI ledger

Kamo·1mo ago
Fixkamo-internal

New mail shows on /messages as soon as the badge counts it

The badge and the list hear the same socket, and EmailService relays every arrival (verified on NATS: email.changed ARRIVED from both pods, then the unread snap...

Kamo·1mo ago
Docskamo-internal

SP00 plan — log checks read every line (kubectl logs -l prints only the last 10)

Task 29's daemon and compute checks and Task 45's RAG check now pass --tail=-1. With a label selector, kubectl logs defaults to the last 10 lines, so the daemon...

Kamo·1mo ago
OtherConversionService

Own NATS login and Redis login

Kamo·1mo ago
OtherESigService

Redis login

Kamo·1mo ago
OtherBillingService

Own NATS login and Redis login

Kamo·1mo ago
OtherDocsService

Own NATS login and Redis login

Kamo·1mo ago
FeatureKlusterServices

Require the API key and admit only RAGService

Kamo·1mo ago
FeatureEmailService

Sending mail needs a seat, for people and AI members alike

A member without a licensed seat is refused with the shared 403 SEAT_REQUIRED body before anything is sent: POST /api/email/send, the shared-mailbox send, and t...

Kamo·1mo ago
Otherkamo-internal

The Redis login

The pod logs in to Redis as the platform ACL user (Secret redis-auth: REDIS_USERNAME, REDIS_PASSWORD), which app/lib/redis.ts already reads, so sign-in keeps wo...

Kamo·1mo ago
OtherMCPGatewayService

Shared library 1.6.1, Redis login, KamoAI secret

Kamo·1mo ago
OtherKBService

Own NATS login, Redis login, KamoAI secret

NatsConfig's comment now names where the login comes from: svc_kb, from the nats-user-kb Secret, which overrides the shared kamo_svc keys.

Kamo·1mo ago
OtherDaemonService

Own NATS login, Redis login, KamoAI secret

Kamo·1mo ago
FixVOIPService

Only verified RingCentral webhooks are processed; calling needs a seat

The legacy path that processed a RingCentral call or SMS event with no instanceId, trusting the payload's own to-number, is removed together with its 2026-10-13...

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