KamoCRM

Live Change Log

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

18,403
Total Changes
6,535
Features
5,539
Fixes
30
Projects
Filter by project
All Projects18,403AIService276APIService177BillingService161ConversionService117DaemonService146DocsService240ESigService93EmailService622InitializerService344KBService162KlusterServices769MCPGatewayService277MediaService620RAGService79SecurityService1,996TranslateService62VOIPService265VectorService11kamo-apps26kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,697kamo-login342kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,826kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild23CI525Chore794Docs3,286Feature6,535Fix5,539Other1,001Performance174Refactor282Revert23Style45Test175Upgrade1
May 15, 2026
Featurekamo-shared-library

URLA 2021 schema foundation for residential mortgage

Refactor AppMortgage into a full URLA package root supporting multiple 1003s per loan with up to two borrowers per pair (married/joint or unmarried). Replaces t...

Kamo·6mo ago
May 11, 2026
FeatureKlusterServices

Manage mail.kamocrm.com TLS end-to-end

Auto-cert now provisions and maintains the Let's Encrypt cert for mail.kamocrm.com (HTTP-01 via Traefik on port 80) and keeps the postfix consumer in sync acros...

Kamo·6mo ago
Featurekamo-shared-library

**************** for idempotent role promotion

Adds a public, transactional ensureRoleAssigned(memberId, roleId) that: - No-ops if the role is already on the member. - Looks up the OrgRole and saves a ne...

Kamo·6mo ago
FeatureKlusterServices

Reverse-proxy priceturbo.com apex + wildcard via k1m1 with TLS

k1m1 Traefik now terminates HTTPS for priceturbo.com and any *.priceturbo.com subdomain, forwarding plain HTTP to the upstream Traefik at 192.168.4.36:80 with t...

Kamo·6mo ago
FeatureSecurityService

Wire template-save recalc + session refresh + effective-rights diagnostic

**************** / updateModel / deleteModel and **************** now invoke recalcAllMembersUsingModel after persisting changes — every org pointed at the mode...

Kamo·6mo ago
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·6mo 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·6mo 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·6mo 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·6mo 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·6mo 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·6mo 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·6mo 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·6mo 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

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