KamoCRM

Live Change Log

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

18,392
Total Changes
6,527
Features
5,537
Fixes
30
Projects
Filter by project
All Projects18,392AIService276APIService177BillingService161ConversionService117DaemonService146DocsService240ESigService93EmailService619InitializerService344KBService162KlusterServices769MCPGatewayService277MediaService620RAGService79SecurityService1,995TranslateService62VOIPService265VectorService11kamo-apps26kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,692kamo-login342kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,824kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild23CI525Chore794Docs3,286Feature6,527Fix5,537Other1,001Performance174Refactor281Revert23Style45Test175Upgrade1
August 26, 2026
Docskamo-internal

Answer the softphone spec's biggest open question

Verified live on the cluster: every FreePBX AOR is max_contacts=1 with remove_existing=yes. That value was set nowhere in any Kamo repo, which is why it had gon...

kamo·2mo ago
Docskamo-internal

Mark the softphone guardrails plan executed

Real commit SHAs in place of the placeholder, and 47 steps ticked. A finished plan showing all-unchecked boxes misreads as abandoned work.

kamo·2mo ago
Docskamo-internal

Implementation plans for the softphone line window

Two plans, because the spec covers two subsystems and the first ships working software on its own. The guardrails plan is seven tasks that need no new browsing...

kamo·2mo ago
Docskamo-internal

Design the softphone line window

A call cannot be moved into a window after it starts — an RTCPeerConnection and its MediaStream are not transferable between browsing contexts, and there is no ...

kamo·2mo ago
August 25, 2026
Docskamo-internal

Commit the Dispatch/Service Work program design and its evidence corpus

Both program specs and all 56 research files were untracked and existed only on one disk, while HANDOFF.md tells the next session to read them first. Also reco...

kamo·2mo ago
Docskamo-internal

Plan webhook hardening and idempotency across BillingService, shared-library and APIService

Ten tasks, TDD throughout, with the severity restated to what was actually verified: the Stripe fail-open is latent (the secret is present in prod, 38 bytes) an...

kamo·2mo ago
Docskamo-internal

Implementation plan for quiet hexheads and the notification spine

33 tasks across five phases whose order is load-bearing: the schema must be run before any service maps a column, the library published before the services buil...

kamo·2mo ago
Docskamo-internal

Design for quiet hexheads and the per-surface notification spine

A minimized chat window re-opens itself on every arriving message. The hexhead should absorb it instead — count, thump, stay put — and only a conversation with ...

kamo·2mo ago
Docskamo-internal

Plan the website brand scan implementation

kamo·2mo ago
Docskamo-internal

Design the website brand scan

Where the /network/create Website field turns into logo, colour and background suggestions on the three branding steps. Records two things that are easy to get...

kamo·2mo ago
Docskamo-internal

Correct what the KamoDesktop SSO token's lifetime actually is

The comment called the link "short-lived, single-use" and "5-minute", which is what caused the token expiry to be set as if it were a URL redemption window. It ...

kamo·2mo ago
Docskamo-shared-library

Record that Java field order does not control DDL key order

The composite-key assertion passed while ddl-auto actually built PRIMARY KEY (logical_id, resource_type, tenant_id) — Hibernate emits @EmbeddedId columns ALPHAB...

Kamo·2mo ago
Docskamo-login

Close out the tenancy plan

Kamo·2mo ago
Docskamo-internal

Plan the System Bugs build across six repos

Screenshots turn out to need no table: an Img row already carries an assoc type plus an assoc object id, and imgs has no CHECK constraint on assoc_id, so append...

kamo·2mo ago
Docskamo-internal

Design the System Bugs tab and its AI dispatch path

vscode:// URI handler opens a conversation in the window sage already has open, and coderProcessWrapper carries model and effort, which the URI cannot. Also rec...

kamo·2mo ago
Docskamo-internal

Record SP1 as complete, and the six things the plan got wrong

Keeps the reasoning rather than just ticking boxes — the top-level-org skip and the PLANNING-stage regression are both the kind of mistake that would be made ag...

kamo·2mo ago
August 24, 2026
Docskamo-internal

Task 7 needed no new migration, and top-level orgs must be included

The app-tree backfill turned out to already exist as **************** restricted to isGated() verticals. Dropping that restriction is the whole change. Records...

kamo·2mo ago
Docskamo-internal

Implementation plan for SP1, the app catalog parent/child tree

12 tasks across kamo-shared-library, KamoInitializerService, SecurityService, MediaService, VOIPService, kamo-internal and the translation dictionary. Ordering...

kamo·2mo ago
Docskamo-login

Correct the sign.pink finding

The inventory called SignLinkBuilder's sign.sign.pink fallback a "foreign apex" and I recorded it as one. It is not: sign.pink is a Kamo-owned organization (id ...

Kamo·2mo ago
Docskamo-internal

Design the EHR/EMR vertical and the parent/child app catalog

Two specs from the pre-build analysis of ~30 repos and the 2026 ambulatory EHR market. The program design records the six decisions that bind every sub-project...

kamo·2mo ago
Docskamo-login

Plan the host-independent tenancy rollout

Six phases, each independently shippable, because pushing deploys: the host path keeps working until Phase 6 removes it. Phase 1 is the crux and is additive --...

Kamo·2mo ago
Docskamo-login

Design host-independent tenancy

Org identity comes from the hostname today: OrgHostResolver.resolveByFqdn turns <alias>.<domain> into (orgId, providerId), and its SQL requires od.is_dns_verifi...

Kamo·2mo ago
August 23, 2026
DocsInitializerService

Correct what the add-on binding gap actually was in production

The previous commit's reasoning was inferred from the loader, not measured. It claimed every KamoCRM add-on row had service_type NULL and that hosted mail was t...

Kamo·2mo ago
August 22, 2026
Docskamo-internal

Record the master notes' org-derived colours

kamo·2mo ago
Docskamo-internal

Plan the event guest audience implementation

kamo·2mo ago
August 21, 2026
Docskamo-internal

Design the org chat policy engine and its Policies tab

Rules are an ordered list over ordered member pairs; the first match decides, so every verdict names exactly one rule and the UI can always explain itself. Sele...

kamo·2mo ago
DocsDaemonService

Record that the unprocessed claim is now batched

getUnprocessedPayloads() returned every unprocessed payload, and this job holds each one's raw and flattened text for its whole run — so its memory was a functi...

Kamo·2mo ago
August 19, 2026
DocsKlusterServices

Correct the README to the routes that actually shipped

The WebRTC endpoint moved from /webrtc/<ch>/whep to /live/<ch>/whep when channels were renamed live/<ch> to drop StripPrefix, and the README still described the...

Kamo·2mo ago
Docskamo-internal

Record the SecurityService unauthenticated-endpoint triage

Three fixed, the rest explained. The headline number needed narrowing three times and the first two attempts were wrong the same way — enumerating helper names ...

kamo·2mo ago
August 15, 2026
DocsKlusterServices

Implementation plan for dev machine provisioning

16 tasks across KlusterServices, kamo-shared-library, KamoInitializerService, SecurityService and kamo-internal.

Kamo·2mo ago
DocsKlusterServices

Design for per-member dev machine provisioning

Covers the root cause of the 23-day KamoDesktop outage (netplan matching a first-boot MAC that KubeVirt regenerates on every VMI recreate), the live fix already...

Kamo·2mo ago
Docskamo-internal

Record the ProxyHmacFilter rollout and what it does not cover

Two ordered steps, the checks that made the second one safe, and the reason the order matters: kamo-internal had to be signing before KamoLOS started validating...

kamo·2mo ago
Docskamo-internal

Correct the record — KamoLOS is deployed, and has been for 78 days

§12 concluded that KamoLOS had no deployment and that gating it was therefore free, and the LOS proxy repeated the claim in a comment. Both are wrong. The servi...

kamo·2mo ago
Docskamo-internal

Eleventh cluster triaged — employees, time off and schedules all stay

The first cluster whose honest answer is "no action", and two of the six looked deletable until the last check. TimecardService has one authentication boundary...

kamo·2mo ago
Docskamo-internal

Sixth cluster triaged — documents span four services, and must not be seeded

CREATE, EDIT, DELETE_DOCUMENTS and MANAGE_STORAGE all have real live features, so nothing here is deletable. VIEW_DOCUMENTS is client-only in navRegistry, the s...

kamo·2mo ago
Docskamo-internal

Third cluster triaged — Meet splits in two

All five Meet rights have real running features, so none is a chat-channel case: kamomeet-deployment is live and Meet-jibri is deployed, making recording real i...

kamo·2mo ago
Docskamo-internal

Second cluster triaged — PLOS is implement, and cheap right now

The six PLOS_* rights have a real feature: KamoLOS is a full loan service. Not deletable. But nothing enforces any of them — no rights check anywhere in KamoLOS...

kamo·2mo ago
August 14, 2026
Docskamo-internal

First cluster triaged — chat channels are vestigial

Implementing gates for the 57 started with chat and the cluster came back empty. CREATE_CHANNELS, MANAGE_CHANNELS and MODERATE_CHAT have no feature: chat is rea...

kamo·2mo ago
Docskamo-internal

The SHARE_DOCS_* client-side-only gap is closed

resolve-alias in DocsService and the two member-search endpoints in SecurityService now enforce these four server-side, mirroring the dialog's isTeamMember-or-r...

kamo·2mo ago
DocsInitializerService

Correct what the index-backed read path actually guarantees

The previous comment claimed the read path "refuses to serve any folder it cannot prove it agrees with the server about — so a row that is wrong here is a row t...

Kamo·2mo ago
August 12, 2026
Docskamo-internal

Implementation plan for the Overview tab

kamo·3mo ago
Docskamo-internal

Build log through completion

Records the 24-table final schema, the four partial indexes that carry the double-pay and double-code guarantees, the two late schema decisions that each cost a...

kamo·3mo ago
Docskamo-internal

Build log for phases 1-3

Records what shipped, the shared-lib push-ordering contract that bit once, the production census that settled the timezone questions, and the pre-existing KamoI...

kamo·3mo 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