KamoCRM

Live Change Log

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

17,643
Total Changes
6,068
Features
5,335
Fixes
30
Projects
Filter by project
All Projects17,643AIService260APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService583InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService604RAGService79SecurityService1,872TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,407kamo-login340kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,678kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore775Docs3,257Feature6,068Fix5,335Other998Performance165Refactor278Revert23Style42Test162Upgrade1
September 23, 2026
Fixkamo-internal

Send the lead-filter query params the backend actually parses

**************** reads marketIds/vendorIds/ vendorProductIds/states as one comma-separated param each (splitList()), but campaignAudienceApi's appendLeadFilter(...

Kamo·1mo ago
Fixkamo-internal

Wait long enough for a computer to finish waking

WAKE_TIMEOUT_MS was 180_000 and sat exactly on top of the VM's readiness probe, whose initialDelaySeconds was 180 and which KubeVirt renders as 190. A computer ...

Kamo·1mo ago
Otherkamo-internal

Rename apps DNS alias to apply on the DNS setup studio

The apps.<domain> host serves the loan-application and patient-portal pages, not app downloads, so relabel the /setup/dns card and reserve "apply" instead of "a...

Kamo·1mo ago
Featurekamo-internal

**************** filters on campaign leads and drip triggers

The campaign editor's "All leads" audience source had no way to narrow who it reached beyond visibility scope. Adds a filter panel (Market -> Vendor -> Vendor P...

Kamo·1mo ago
Fixkamo-internal

The nav opens a computer, it does not ask for a password

Being signed in to Kamo is the authentication that matters; asking again at the door of your own machine is a password prompt for its own sake. ComputeService m...

Kamo·1mo ago
Fixkamo-internal

Opening a computer with no login yet asks for the password

Clicking a computer opened a browser tab that closed again, and said nothing. openHostedComputer opens its tab synchronously inside the click, because a popup ...

Kamo·1mo ago
Featurekamo-internal

The computers record on the DNS studio

One more card on /setup/dns, so an org configuring its domain is told about the host its Hosted Computers open on. Without it an org could follow the page to th...

Kamo·1mo ago
Featurekamo-internal

A step the organization is not asked is not shown or counted

An organization whose security model fixes every Compliance answer (no product a member may switch, one age range for each member type) was still shown a ninth ...

Kamo·1mo ago
Testkamo-internal

Fictional people in the correspondent-name tests

They used a real lead's name and address from the report.

Kamo·1mo ago
Testkamo-internal

Fictional people in the correspondent-name tests

They used a real lead's name and address from the report.

Kamo·1mo ago
Featurekamo-internal

The message list names a lead or contact, not their address

A row was headed by the sender's display name, or the part of the address before the @ when there was none, so a lead who wrote in read as "jlrivera1984" above ...

Kamo·1mo ago
Featurekamo-internal

The message list names a lead or contact, not their address

A row was headed by the sender's display name, or the part of the address before the @ when there was none, so a lead who wrote in read as "rodarisdolgovanton" ...

Kamo·1mo ago
Fixkamo-internal

The last step no longer hangs on "Loading..." after it is saved

Saving or skipping Compliance, the ninth and last Getting Started step, left it on "Loading..." with "Save & continue" greyed out, under the banner saying the o...

Kamo·1mo ago
Fixkamo-internal

The official title and membership status are read-only on your own Position card

They join the department and job title under positionRights: a member sees all four on their own Position card, but only a MANAGE_MEMBER_SECURITY holder (or an ...

Kamo·1mo ago
Fixkamo-internal

Kamo-internal presents the NATS login

NATS mapped every credential-less connection to the KAMO account (no_auth_user), and it listens on the host network of k1m1 — so any pod, the desktop VM or a ma...

Kamo·1mo ago
Fixkamo-internal

The imaging proxy passes MediaService's download and sandbox headers through

MediaService now serves any attachment outside its safe raster/audio/video list (SVG, HTML, PDF…) with Content-Disposition: attachment, X-Content-Type-Options: ...

Kamo·1mo ago
Fixkamo-internal

Drop the process-wide TLS verification bypass

NODE_TLS_REJECT_UNAUTHORIZED: "0" in k8s/configmap.yaml made every server-side outbound TLS call in this process — to any host, for any purpose, for as long as ...

Kamo·1mo ago
Fixkamo-internal

Stop logging session tokens, cookies and message content

A grep for the shape of two known offenders (chat message text and chat-list previews going to console.log) turned up a much wider pattern across the session/au...

Kamo·1mo ago
Fixkamo-internal

Reject unauthenticated uploads before the body is spooled

The chat attachment upload, the support bug-report screenshot upload, the meet background upload and the two ConversionService image-resize proxies all called b...

Kamo·1mo ago
Fixkamo-internal

The learner media route's HEAD answers instead of hanging

useAttachmentSource probes with a HEAD after a media element fails, to tell a file that is gone from a session that lapsed. The route awaited response.body.canc...

Kamo·1mo ago
Fixkamo-internal

The Hold'em invite is a kind the site knows: label, icon, filter and mute

MediaService has raised HOLDEM_INVITE notifications since Hold'em shipped, but the kind was missing here: the toast's eyebrow printed the raw translation key, t...

Kamo·1mo ago
Featurekamo-internal

The member who caused a notification opens their card from it

"Dana Reyes dealt you in", "Weekly sync · Dana Reyes", an unread-chat card whose body is the sender: EmailService (29cb21e) now sends actorMemberId (as text) an...

Kamo·1mo ago
Fixkamo-internal

Gate adding people and moving a position as the server does, and list every storage area

- The Add and Bulk Add buttons on /account, and the four create pages, need MANAGE_MEMBERS (MemberAdministrationGate), which SecurityService now enforces. Som...

Kamo·1mo ago
Fixkamo-internal

Clearing the image version has to send "", not null

**************** merges rather than replaces, and for the image version a null means "leave whatever is there alone" — only a blank string clears it: if (i...

Kamo·1mo ago
Chorekamo-internal

The NOTES mirrors say "Notes & Checklists", as Java now does

ServiceType.NOTES is renamed in kamo-shared-library, in copy only: the display name is "Notes & Checklists" and the description now covers the checklists. Both ...

Kamo·1mo ago
Fixkamo-internal

The platform tab, and three links that showed their own keys

Two bugs, both reported from the running site. THE SETTINGS LINKS SHOWED KEY PATHS The three Hosted Computer sub-links carried key: 'computers' | 'capacity' | ...

Kamo·1mo ago
Featurekamo-internal

A switched-to mailbox stays live, and the search box is polished

Live updates. The page asks EmailService to watch the mailbox it has open when it is not the member's own (/app/email/watch, re-sent after a reconnect, stopped ...

Kamo·1mo ago
Featurekamo-internal

Audio lessons — upload a recording, and learners can really navigate it

Authors (/hr/training course editor) - "Upload file" on every slide, beside "Choose media": audio (MP3, M4A, AAC, WAV, OGG/Opus, FLAC), video or an image, thr...

Kamo·1mo ago
Featurekamo-internal

A tool window's full title, however it is cut short

A title bar is one line, and a conversation, an email or ticket subject or a terminal's directory is regularly longer than the room it gets — the member could o...

Kamo·1mo ago
Featurekamo-internal

Human/AI member accounts, phonetic names, job title and department requirements

Add Member / Add Team Member - A first "Person or AI" section: Human Intelligence (default) or Artificial Intelligence as two keyboard-operable choice cards. ...

Kamo·1mo ago
Featurekamo-internal

The nav option, the settings section, and the storage figure

A member's own Linux computer, opened from the top bar. The app (ServiceType 37) and its three rights landed in the shared library; this is the half people see....

Kamo·1mo ago
Featurekamo-internal

Checklists in the Notes app — prerequisites, stickies, home panes and the calendar

A note is memory; a checklist is work. /notes now has two halves — Notes and Checklists (?view=checklists) — and a checklist is its own record (/api/checklists,...

Kamo·1mo ago
Fixkamo-internal

Every folder of a switched-to mailbox works, and search is rebuilt

Switching mailboxes. The folder sidebar always loaded the member's OWN folder tree, whatever mailbox was open - so a second mailbox showed the primary's folders...

Kamo·1mo ago
Featurekamo-internal

A social inbox's quote of an older message names its author with their card

The quote now takes its author from the server (@kamo/chat-core's quote.senderMemberId), which withholds a social contact's id since mediaservice ceee73e — a co...

Kamo·1mo ago
Featurekamo-internal

The card shows the member id to those who manage members

HR and support read a member's id off a tooltip on the HR rosters, which the member card replaced (the tooltip sat where the card opens). The card's details now...

Kamo·1mo ago
Docskamo-internal

The member card spec, as built

Corrects what changed on the way — the card's layer is 1305 (over MUI modals), useHoverCard stayed where it was, the header wears the desktop wallpaper, calenda...

Kamo·1mo ago
Featurekamo-internal

A reply to an older message names its author with their card too

Moves @kamo/chat-core to 0.1.19, whose reply quote carries senderMemberId: the server's parentSenderMemberId when it sent one (null for a web-chat visitor, whos...

Kamo·1mo ago
Fixkamo-internal

The member card can be reached from the keyboard

The card is portalled to the end of <body>, so in document order it follows the whole page: a member who opened it from a name with Enter or focus and pressed T...

Kamo·1mo ago
Featurekamo-internal

The card on reply quotes, hand histories, ticket events and bug-thread authors

The last four surfaces that named a member with nothing to open, now that MediaService sends the ids (fa25989): - Reply quotes: the quoted author's name opens t...

Kamo·1mo ago
September 21, 2026
Featurekamo-internal

Show JustCall callback URL before credentials exist

Generates a phone-server UUID when JustCall is selected and shows the webhook URL immediately. That same id is sent on create so the URL the member pasted into ...

kamo·1mo ago
Chorekamo-internal

Retrigger build after JustCall i18n dictionary update

The prior image build failed check-i18n-keys; the English strings now live in kamo-translation-dictionary.

kamo·1mo ago
Featurekamo-internal

Show JustCall webhook callback URL on new-phone setup

Surfaces the per-instance callback URL on the JustCall new-phone and overview tabs so members know what to give JustCall when configuring APIs and webhooks. The...

kamo·1mo ago
September 19, 2026
Fixkamo-internal

Show the correct draft batch total before send

Draft batches keep totalAmount at zero until send — it is a post-send snapshot, not a running total — so the compose UI now sums line amounts for the KPI tile a...

kamo·1mo ago
September 18, 2026
Featurekamo-internal

The card on the deliverability history's "who"

EmailService now sends the member behind each change in an address's opt-out history (actorMemberId, text). On Settings → Email → Deliverability a colleague's n...

Kamo·1mo ago
Featurekamo-internal

The card on email aliases and shared-mailbox access

EmailService now sends the member ids on aliases and shared-mailbox access as text. As JSON numbers they were rounded past 2^53, so these tabs matched nobody on...

Kamo·1mo ago
Featurekamo-internal

The card on the opt-out list's "last changed by"

EmailService now sends the member behind each address's last change (lastActorMemberId, text). The list cuts their name out of the "last changed by" sentence (a...

Kamo·1mo ago
Featurekamo-internal

The card on the people the servers now name — document history and shares, careers, the account's primary member, a group seat's manager

Wires the ids the services now send: - Document history (DocManager's changes and downloads, the marketing material drawer's history): the member by name (mem...

Kamo·1mo ago
Fixkamo-internal

An article's version history draws, and names who edited each version

kbservice answers /articles/{guid}/versions with a Spring Page of its entity. The history component read the body as a list and called .map on the Page, so it n...

Kamo·1mo ago
Fixkamo-internal

A face that opens a card has a name for a screen reader

A MemberHoverCard around a face alone was a focusable button with nothing to be named by. It takes an optional label, used only when the trigger has no text of ...

Kamo·1mo ago
Refactorkamo-internal

One way to cut a sentence around the people it names

Three agents and the first sweep each taught the app the same trick — format a translated sentence with a mark where the name goes, split on it, draw the name a...

Kamo·1mo 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