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 24, 2026
FeatureKlusterServices

Retire the shared kamo_svc login

Kamo·4d ago
Docskamo-internal

SP00 ledger task 23

Kamo·4d ago
Otherkamo-internal

Merge kamoai/program: KamoAI ledger

Kamo·4d ago
Featurekamo-internal

Image bubbles draw a 480px preview; the lightbox keeps the original

A chat image is drawn at most 240x240 CSS px and the bubble downloaded the whole original to do it — 3-8 MB per phone photo, per viewer. AttachmentChip now draw...

Kamo·4d ago
Docskamo-internal

SP00 ledger task 47

Kamo·4d ago
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
Fixkamo-internal

Signature icons reach the recipient as small PNG parts

The signature's social-network icons, contact-line icons and header decorations are percent-encoded SVG data: URIs. extractInlineImages only decodes base64, so ...

Kamo·4d ago
FeatureConversionService

/image/preview cuts a chat photo into one 480px WebP

A chat image attachment is drawn at most 240x240 CSS px and every viewer downloaded the original to do it — a phone photo is 3-8 MB. MediaService will store one...

Kamo·4d ago
Featurekamo-internal

Draw logos from the server's pre-sized variants, never the multi-MB original

A member saw the org header logo small in the composer but a >3 MB image in the sent mail: every logo surface linked `img/logo-full.svg` / `img/logo.svg`, which...

Kamo·4d ago
FixConversionService

Logo-variants runs ffmpeg single-threaded, one logo at a time

The first boot backfill OOM-killed BOTH ConversionService pods (23:04:39 and 23:05:47Z): a 3919x1373 PNG logo and a 4096-wide seeded SVG. ffmpeg gives every fil...

Kamo·4d ago
Featurekamo-register

Register logos load a pre-sized copy, and the original when it is missing

Each theme folder now carries img/sized/<stem>/h<rung>.webp beside every logo. A PNG org's logo.svg / logo-full.svg is its whole upload wrapped in base64 (sever...

Kamo·4d ago
Featurekamo-login

Sign-in logos load a pre-sized copy, and the original when it is missing

Each theme folder now carries img/sized/<stem>/h<rung>.webp beside every logo. A PNG org's logo.svg / logo-full.svg is its whole upload wrapped in base64 (sever...

Kamo·4d ago
DocsKlusterServices

K3m1 runs max-pods=200

Kamo·4d ago
Fixkamo-internal

Draw member photos at the variant their size calls for

Every uploaded member photo has _sm (50px), _md (150px) and _lg (350px) beside the original, but surfaces picked them ad hoc: MemberAvatar drew _sm up to 40px (...

Kamo·4d ago
Otherkamo-internal

Merge kamoai/program: KamoAI ledger

Kamo·4d ago
Docskamo-internal

SP00 ledger task 46

Kamo·4d ago
FeatureEmailService

Inline pre-sized PNG logos; footer badges served at the drawn height

Transactional emails only inlined a logo when the original was an SVG under 512 KB. A PNG logo org's email linked the whole upload instead — crm's 2.2 MB logo-f...

Kamo·4d ago
FeatureSecurityService

Pre-sized copies of every org logo beside the original

Every surface drew org logos from the original upload: 2.2 MB for crm's full logo at a 30-56px nav/header, 2.95 MB (its .svg stand-in) in the email composer, 4....

Kamo·4d ago
Featurekamo-signer-monorepo

Draw the org's logo from its pre-sized variant, the original only if it is missing

A signing page drew the org's uploaded logo — crm's logo-full.svg is 2.95 MB — at 28-44px tall. The theme service now cuts img/sized/<stem>/h<rung>.webp beside ...

Kamo·4d ago
Docskamo-internal

SP00 ledger task 22

Kamo·4d ago
Featurekamo-apps

Logos ask for a pre-sized variant, and fall back to the original

An organization's logo is drawn 30-180px tall here but downloaded whole: crm's logo-full.png is 2.2 MB, its .svg stand-in 2.95 MB. ThemeLogo now asks for img/si...

Kamo·4d ago
FixKlusterServices

Reserve 768M for the OS so --memory 3G fits in the 4Gi pod

Seastar keeps max(1.5 GiB, 7%) of the cgroup limit plus ~94 MiB per shard back for the OS and refuses to start when --memory does not fit in what is left. With ...

Kamo·4d ago
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·4d 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·4d ago
Otherkamo-internal

Merge kamoai/program: KamoAI ledger

Kamo·4d ago
Docskamo-internal

SP00 ledger task 44

Kamo·4d 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·4d 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·4d 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·4d ago
Docskamo-internal

SP00 ledger task 45

Kamo·4d 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·4d ago
Docskamo-internal

SP00 ledger task 42

Kamo·4d ago
Docskamo-internal

SP00 ledger task 21

Kamo·4d ago
Otherkamo-internal

Merge kamoai/program: KamoAI ledger

Kamo·4d 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·4d ago
Docskamo-internal

SP00 ledger task 43

Kamo·4d 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·4d ago
Docskamo-internal

SP00 ledger task 19

Kamo·4d ago
Otherkamo-internal

Merge kamoai/program: KamoAI ledger

Kamo·4d 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·4d 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