KamoCRM

Live Change Log

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

17,662
Total Changes
6,080
Features
5,341
Fixes
30
Projects
Filter by project
All Projects17,662AIService261APIService174BillingService158ConversionService110DaemonService138DocsService223ESigService91EmailService587InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService604RAGService79SecurityService1,874TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,413kamo-login340kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,682kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild16CI523Chore776Docs3,257Feature6,080Fix5,341Other998Performance165Refactor278Revert23Style42Test162Upgrade1
May 11, 2026
Featurekamo-shared-library

Chunked recalc + cross-model fan-out + typeTemplate non-force fallback

Adds three things needed for template edits to actually reach existing members without forcing a logout/login cycle: 1. **************** — walks every org po...

Kamo·5mo ago
May 10, 2026
Featurekamo-internal

Unified DNS Setup Studio with inline help per record

Replaces the split DnsProgressView + AliasStatusTable + ManualDnsGuide trio with a single guided experience: each TXT/CNAME record now lives in one card alongsi...

kamo·5mo ago
FeatureKlusterServices

Reverse-proxy rate.loans/stack.loans hosts via k1m1 with TLS

k1m1 Traefik now terminates HTTPS for api.rate.loans, www.rate.loans, and www.stack.loans, forwarding plain HTTP to the upstream Traefik at 192.168.4.36:80. Aut...

Kamo·5mo ago
FeatureEmailService

Wire DomainManager and MailboxProvisioner for all cloud providers

Replace the UnsupportedOperationException stubs in every cloud provider with real HTTP calls against each backend's admin API: - Microsoft 365 → Microsoft Gra...

Kamo·5mo ago
May 9, 2026
FeatureEmailService

IMAP/SMTP-backed send, folder, and search for cloud stubs

Extract the IMAP/SMTP delegation pattern into AbstractImapBackedCloudProvider and have Zoho, IceWarp, Exchange, Google Workspace, and Microsoft 365 extend it. T...

Kamo·5mo ago
FeatureEmailService

IMAP-backed MailReader for the cloud-provider stubs

Zoho, IceWarp, Exchange, Google Workspace, and Microsoft 365 all expose IMAP, so wire each cloud-provider stub's MailReader methods through EmailImapService ins...

Kamo·5mo ago
Featurekamo-internal

Render inline cid: images via the new EmailService endpoint

When a message exposes inline parts (each carrying a contentId), the email renderer now rewrites <img src="cid:..."> references at mount time to ***************...

kamo·5mo ago
FeatureEmailService

Serve inline image MIME parts and surface Content-ID metadata

Render <img src="cid:..."> in the messages UI by exposing the inline parts that the HTML body references. - AttachmentInfo gains contentId (without angle brack...

Kamo·5mo ago
May 1, 2026
FeatureKlusterServices

Add pricing@kamocrm.com mailbox and external IMAP NodePort

- New Service mail/dovecot-imap-external (NodePort 30143 -> 143) so IMAP can be reached from outside the cluster on $NODE:30143. - Seed pricing@kamocrm.com in...

Kamo·6mo ago
FeatureMediaService

Add GET /sessions/{guid}/members endpoint with display-name priority

Returns member list with name resolved via usernameAlias → fullName → alias → username, matching the same priority as the chat sessions list. This feeds ChatBox...

Kamo·6mo ago
Featurekamo-internal

Derive and dispatch tool window title from session members

Adds onMembersChange callback to ChatBox; ChatTool derives the title (single name for 1-on-1, or '<name> (+N more)' for groups) and dispatches tool:title to upd...

kamo·6mo ago
Featurekamo-internal

Lift search above tab strip, share query across Members and Chats tabs

Moves the search TextField from MemberList into NavTopPanel above the Tabs. Passes searchQuery as a prop to both MemberList and ChatsList so a single field filt...

kamo·6mo ago
Featurekamo-internal

Live chats-list updates via NATS unread channel

kamo·6mo ago
Featurekamo-internal

Inline attachment rendering and lightbox

kamo·6mo ago
Featurekamo-internal

Proxy routes for find-or-create, members, attachments, imaging proxy, mute, revoke

Extract shared **************** helper to app/lib/mediaServiceUrl.ts. Add proxy routes: find-or-create, members, receipts, attachments (streaming), mutes, revok...

kamo·6mo ago
FeatureMediaService

Paged chat list with previews, members, unread counts

that returns ChatListRowDto rows including last message preview, member summaries, per-session unread counts, and ownLastViewedAt.

Kamo·6mo ago
Featurekamo-shared-library

Add countUnreadAfter(guid, memberId, since) to MediaObjRepository

Needed by paged chat-list endpoint to compute per-session unread counts when ownLastViewedAt is a LocalDateTime pointer rather than a message UUID.

Kamo·6mo ago
FeatureMediaService

Per-viewer mute endpoint and message filter

Kamo·6mo ago
Featurekamo-shared-library

Add **************** to MediaSessionMuteRepository

Kamo·6mo ago
Featurekamo-shared-library

Add MediaObjImgDownloadRepository with existsByObjImgIdAndMemberId

Required by ImagingProxyService (Task 10) to deduplicate per-member download tracking without a full table scan.

Kamo·6mo ago
Featurekamo-shared-library

Add isAccessRevoked flag for per-attachment access control

Kamo·6mo ago
April 30, 2026
Featurekamo-marketing

Distinguish actively-translating vs queued messages

The translation queue was already sequential, but every queued bubble rendered "Translating…". Now the single in-flight message shows "Translating…" with a puls...

Kamo·6mo ago
Featurekamo-internal

Distinguish actively-translating vs queued messages

The streaming queue was already strictly sequential (one fetch at a time), but every queued message rendered "Translating…" because they all shared the same pen...

kamo·6mo ago
Featurekamo-marketing

Show error icon when a message fails to translate

When the per-message translate call returns translated:false, errors out, or times out, the chat bubble now renders an AlertTriangle icon in red with tooltip "F...

Kamo·6mo ago
Featurekamo-internal

Show error icon when a message fails to translate

When the per-message translate call returns translated:false, errors out, or times out, the chat bubble now renders a small red ErrorOutline icon in place of th...

kamo·6mo ago
Featurekamo-marketing

Stream translations newest-first for visitor history

When the visitor lands on a non-English locale and the support chat has existing English messages, every bubble flagged needsTranslation by the backend now show...

Kamo·6mo ago
Featurekamo-internal

Stream message translations newest-first on language switch

When the user picks a new language (or opens an existing chat in a language different from the messages' source), every bubble that needs translation immediatel...

kamo·6mo ago
Featurekamo-marketing

Auto-translate visitor and agent messages

Live agent replies arriving in a language other than the visitor's URL locale now show a "Translating…" bubble while the TranslateService call resolves, then sw...

Kamo·6mo ago
Featurekamo-internal

Translate chat messages into the viewer's language

Adds a "My Language" flag picker in NavTop (left of the email tool, separated by a vertical rule). Selecting a language writes back to Member.language and syncs...

kamo·6mo ago
FeatureAPIService

Proxy support-message translate endpoint

Adds a passthrough route for the new MediaService endpoint that translates a single support-chat message into the visitor's URL locale. The marketing-side chat ...

Kamo·6mo ago
FeatureMediaService

On-demand translation for chat and support messages

Captures the source language for every chat / support message and adds an optional ?lang=XX param on the message-fetch endpoints plus a per-message POST /transl...

Kamo·6mo ago
Featurekamo-shared-library

Translation cache for chat messages

Adds the MediaObjMsgTranslation entity (one row per (message, language) pair) and an optional sourceLanguageId column on MediaObjMsg so chat messages can be tra...

Kamo·6mo ago
Featurekamo-internal

Add Personal + Chat/Docs/Notes/KB/HRS sections

The /settings index showed no sections to non-admins because every existing section was gated on an admin right (CONFIGURE_SYSTEM, MANAGE_*_SETTINGS, MANAGE_ACC...

kamo·6mo ago
Featurekamo-internal

Rotate goal opening based on viewport aspect ratio

The goal frame now tilts by atan2(viewportH, viewportW) so its open right side aims toward the viewport diagonal — for 16:9 monitors the opening points ~29° sou...

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