KamoCRM

Live Change Log

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

17,374
Total Changes
5,891
Features
5,258
Fixes
30
Projects
Filter by project
All Projects17,374AIService242APIService174BillingService157ConversionService110DaemonService137DocsService223ESigService91EmailService568InitializerService329KBService151KlusterServices738MCPGatewayService235MediaService592RAGService79SecurityService1,822TranslateService62VOIPService248VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,321kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,631kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore773Docs3,252Feature5,891Fix5,258Other993Performance165Refactor278Revert23Style42Test159Upgrade1
October 11, 2026
October 10, 2026
Featurekamo-shared-library

'cameras' joins SecurityService's org-change domains

Kamo·2w ago
Featurekamo-shared-library

KamoCameras app (39) and its four rights (333-336)

VIEW_CAMERAS is the hub; MANAGE_CAMERAS, MANAGE_CAMERA_SITES and ACCESS_ALL_CAMERAS hang off it. PHI module CAMERAS is BLOCKED_PENDING_WORK until a per-view aud...

Kamo·2w ago
Docskamo-internal

Label pages are no longer short; the pager's notes say so

EmailService 4f90690 pages a label by joining it to the index, so its pages are full until the last and its total is exactly what they show, and it now counts M...

kamo·2w ago
Docskamo-internal

Label pages are no longer short; the pager's notes say so

EmailService 4f90690 pages a label by joining it to the index, so its pages are full until the last and its total is exactly what they show, and it now counts M...

kamo·2w ago
FixEmailService

Labels page in one date order with an exact total; Microsoft 365 folders are counted

Labels - A label was paged through the join table by UID and each page sorted by date afterwards. UIDs only order mail within one folder and a label spans f...

Kamo·2w ago
Featurekamo-internal

The pager counts from the server's own total

EmailService now sends each listing's size in X-Total-Count (emailservice 12926f6) beside the bare array it always returned. The email proxy carries that header...

kamo·2w ago
Featurekamo-internal

The pager counts from the server's own total

EmailService now sends each listing's size in X-Total-Count (emailservice 12926f6) beside the bare array it always returned. The email proxy carries that header...

kamo·2w ago
FeatureEmailService

Message listings say how many messages they hold (X-Total-Count)

The message list in kamo-internal can now be browsed by pages, and its pager needs the listing's size for "51-100 of 1,240" and a Last button. Every listing ans...

Kamo·2w ago
Featurekamo-internal

Members choose to scroll the message list or browse it by pages

The second column only ever loaded more mail as it was scrolled. A member can now pick Scroll or Pages under Filters ("Browse the list"). The choice is kept per...

kamo·2w ago
Featurekamo-internal

Members choose to scroll the message list or browse it by pages

The second column only ever loaded more mail as it was scrolled. A member can now pick Scroll or Pages under Filters ("Browse the list"). The choice is kept per...

kamo·2w ago
FixKlusterServices

Auto-create standard IMAP folders for every mailbox

Dovecot now subscribes Drafts, Sent, Junk, Trash and Archive on first open with SPECIAL-USE flags so EmailService and the UI see real folders instead of client-...

Kamo·2w ago
FixEmailService

Lower-case NATS mailbox subjects for live updates

Mixed-case addresses like Sales@kamocrm.com published on different NATS subjects than subscribers used, so watched mailboxes never refreshed.

Kamo·2w ago
Fixkamo-internal

Mark not-yet-created folders when switching mailboxes

Secondary mailboxes often hold only INBOX while the sidebar still offered Drafts, Sent and the rest as if they were real — opening them looked like a failed swi...

kamo·2w ago
Fixkamo-internal

Mark not-yet-created folders when switching mailboxes

Secondary mailboxes often hold only INBOX while the sidebar still offered Drafts, Sent and the rest as if they were real — opening them looked like a failed swi...

kamo·2w ago
Featurekamo-internal

Chess and Hold'em background music loops while their window is in use

Three new Games sound events — Chess Background, Holdem Background and Holdem Lobby — played on repeat with startLoopingEventSound. Chess loops whenever a chess...

kamo·2w ago
Featurekamo-internal

Chess and Hold'em background music loops while their window is in use

Three new Games sound events — Chess Background, Holdem Background and Holdem Lobby — played on repeat with startLoopingEventSound. Chess loops whenever a chess...

kamo·2w ago
Featurekamo-internal

Picture frame says when an upload lands, plays videos once or on repeat, and opens full screen

- Uploads show the file, its place in the batch and byte progress, then a toast when it is in. - A frame's videos play on repeat (loop while showing, held for w...

kamo·2w ago
Featurekamo-internal

Picture frame says when an upload lands, plays videos once or on repeat, and opens full screen

- Uploads show the file, its place in the batch and byte progress, then a toast when it is in. - A frame's videos play on repeat (loop while showing, held for w...

kamo·2w ago
Fixkamo-internal

The reading pane shows who a sent message was Bcc'd to

The header was drawn from the list row, which comes from the search index, and the index keeps To and Cc but has no Bcc column. It now reads Bcc (as it already ...

kamo·2w ago
Fixkamo-internal

The reading pane shows who a sent message was Bcc'd to

The header was drawn from the list row, which comes from the search index, and the index keeps To and Cc but has no Bcc column. It now reads Bcc (as it already ...

kamo·2w ago
Featurekamo-internal

Onboarding panel for a market with no vendors yet

A market with no vendor products can never show a lead (a lead needs a product), so /leads now replaces the grid for that market with the same onboarding panel ...

kamo·2w ago
Featurekamo-internal

Onboarding panel for a market with no vendors yet

A market with no vendor products can never show a lead (a lead needs a product), so /leads now replaces the grid for that market with the same onboarding panel ...

kamo·2w ago
October 9, 2026
FeatureEmailService

A composed message carries its meeting, and calendar edits ask before telling guests

- /api/email/send takes meetingInvite: the event is filed on the sender's calendar in the same transaction, its ics rides on the composed message with an X-...

Kamo·2w ago
Featurekamo-internal

Composer meetings ride on the email, edits ask before emailing guests, mail links to its event

- The composer sends its meeting with the message instead of a second invite. - Saving an edit to an event with invited guests asks whether to send them an up...

kamo·2w ago
Featurekamo-shared-library

Branded meeting invitation and update letters for calendar guests

Adds calendar.meeting_invite and calendar.meeting_updated canonical templates and MeetingInviteEmail, the variable builder EmailService fills them from.

Kamo·2w ago
October 7, 2026
FixDocsService

Tell TranslateService to stop before this client does

The careers client reads for 60 seconds, and TranslateService worked to its own default of 100, holding a LibreTranslate worker for 40 seconds after nobody was ...

Kamo·2w ago
FixKBService

A translation with a failed field is a failure, and long articles get time to finish

TranslateService leaves a field it could not translate out of its reply and names it in failedKeys. This client returned the reply as it was, so the article was...

Kamo·2w ago
FixTranslateService

One deadline per request, never retry a timeout, and queue for LibreTranslate here

LibreTranslate keeps translating a request after its client stops waiting, so every timeout was work done for no one. Measured over six hours on 2026-10-07: 46 ...

Kamo·2w ago
Fixkamo-internal

A meeting invite from the composer actually sends

Two things kept it from ever reaching anyone. The request posted the meeting's fields flat, but EmailService reads them from a nested `meetingInvite` and refuse...

Kamo·2w ago
October 6, 2026
Featurekamo-internal

Team-member assignment in lead mappings; automated imports on the mapping canvas

Assignment. Manual and automated imports get an "Assigned Team Member" target (replacing "Assigned User", which no importer ever honoured). Its dialog sets a sp...

Kamo·2w ago
FeatureDaemonService

Intake job maps through the shared engine, with team-member assignment

LeadIntakeProcessingJob builds each lead with kamo-shared-library's LeadRequestMapper instead of its own field switch and transform copy, so automated imports a...

Kamo·2w ago
FeatureSecurityService

Manual imports and the intake backlog through the shared mapping engine

LeadImportController maps every row with kamo-shared-library's LeadRequestMapper instead of its own switch, so manual and template imports get the full field se...

Kamo·2w ago
Featurekamo-shared-library

One mapping engine for lead imports, with team-member assignment

Manual imports, automated (intake) imports and the backlog each carried their own copy of the mapping code, and they disagreed: date, regex and split transforma...

Kamo·2w ago
Otherkamo-marketing

Rename Artificial Intelligence / AI to Super Intelligence / SI across marketing copy.

Updates hardcoded English in app content, SEO metadata, integrations, industries, and public llms files to match the Super Intelligence rebrand.

Kamo·2w ago
FixEmailService

An AI hire no longer waits forever on an email provider that was never connected

An org that chose Google Workspace (or another third-party provider) but left it at PENDING_SETUP, or switched it off, can never produce the AI's mailbox, so th...

Kamo·2w ago
FixMediaService

Webinar registrants' leads are indexed, so their calls, texts and emails link to them

PublicWebinarService creates a lead per public webinar registrant through LeadService.createLead, which indexes the lead's phones and addresses (LEAD_CONTACT_PO...

Kamo·2w ago
FixDaemonService

Intake makes a lead only of a person, once per person, with no placeholder names, assigned as mapped

Harmony Home Loans pointed every JustCall webhook at its "Justcall" intake endpoint, and the job made every event a lead: 287 in three days. 247 have no name, c...

Kamo·2w ago
FixVOIPService

The JustCall contact import finishes — paced, resumable, and no longer skipping pages

Harmony Home Loans' import had never once completed (no JustCall book or integration exists for any member). Three defects: 1. One burst per tick: it read ever...

Kamo·2w ago
Featurekamo-internal

Call and meeting options on an AI member's voice card (SP92 calls)

Under the AI member's voices in the profile's Identity room: "Transfer callers to a person when they ask for an agent or a human" (on), "Keep full call and meet...

Kamo·2w ago
FeatureVOIPService

V7 — which colleague is calling from an internal extension (SP92 calls)

GET **************** (KAMOAI_INTERNAL_SECRET) answers the active member of the phone server's org that the extension is ACTIVE-ly assigned to, or 404 NO_MEMBER....

Kamo·2w ago
FeatureAIService

An AI member's call and meeting options, beside its voices (SP92 calls)

keywordTransfer (default on), keepFullTranscript (default off) and meetingMode COMPANION | CONVERSATION (default COMPANION), in ai_member_call_options (hand-app...

Kamo·2w ago
Featurekamo-shared-library

MEETING_COMPLETED run trigger, for a conversation meeting's follow-up (SP92 calls)

A meeting an AI member took part in as a conversation partner wakes it once it ends, with its transcript note, the way a phone call's CALL_COMPLETED does. STRIN...

Kamo·2w ago
FixDaemonService

Leads created by the intake job are indexed, so their calls, texts and emails link to them

LeadIntakeProcessingJob creates every lead that arrives through the intake endpoint, via LeadService.createLead, which indexes the lead's phones and addresses (...

Kamo·2w ago
FixVOIPService

JustCall calls are credited to the agent who took them, and Sales Dialer calls sync

Checked against Harmony Home Loans' JustCall account (read-only GETs): the newest 100 of its 1,058 /calls match PHONE_CALL_LOG one for one, so the ordinary log ...

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