KamoCRM

Live Change Log

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

17,395
Total Changes
5,910
Features
5,260
Fixes
30
Projects
Filter by project
All Projects17,395AIService242APIService174BillingService157ConversionService110DaemonService137DocsService223ESigService91EmailService568InitializerService329KBService151KlusterServices738MCPGatewayService235MediaService592RAGService79SecurityService1,830TranslateService62VOIPService248VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,328kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,637kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore773Docs3,252Feature5,910Fix5,260Other993Performance165Refactor278Revert23Style42Test159Upgrade1
September 23, 2026
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·4w 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·4w 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·4w 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·4w 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·4w 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·4w 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·4w 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·4w 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·4w 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·4w 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·4w 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·4w 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·4w 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
Featurekamo-internal

The card on admin, leads and settings — history values, reservations, mailboxes, audit logs, the profile hero

Every remaining member these screens show opens the member card. Ids are the strings the data carries, each checked on the server's origin/main. - History (Ent...

Kamo·1mo ago
Featurekamo-internal

The card on home boards, HR, KB, documents and e-sign — face and name as one door

The owner's two: the Achievement Leaderboard and Affiliate Scoreboard widgets had the card on the 20px face only. MemberFace (BoardChrome) now takes the row's n...

Kamo·1mo ago
Featurekamo-internal

The card on chat, support and the dock's windows — names beside faces, and the lines that name people

Where a face already opened the member card and the name beside it did not, and on the lines that name people. Every id is the string the data already carries, ...

Kamo·1mo ago
Featurekamo-internal

The card's header wears the wallpaper their desktop shows

The header band now shows the member's own desktop wallpaper — their first photograph on air, or the organization's when that is what their desktop plays — unde...

Kamo·1mo ago
Fixkamo-internal

An article's byline names its author, and opens their card

kbservice answers GET /articles/{guid} with its entity, so authorMemberId is a JSON number, and JSON.parse rounds a 19-digit member id. The article route compar...

Kamo·1mo ago
Fixkamo-internal

The Enter that opens a card goes no further

A name's trigger handled Enter and Space but let the key bubble on, so a list around it that acts on Enter itself — the timecard approvals queue opens the membe...

Kamo·1mo ago
Refactorkamo-internal

The row no longer guards against the card's presses itself

The member card now keeps the events that start something inside itself (a92b3cac), for every surface, so the chat row's own guard against a press from its card...

Kamo·1mo ago
Fixkamo-internal

A card opened in a tool window knows who is online

Presence and availability are provided inside AuthedChrome, but the ToolDock — every chat, ticket and social window, and the chats switcher — is mounted above i...

Kamo·1mo ago
Featurekamo-internal

The card on the long tail — HR, KB, boards, webinars, growth, tracking, Hold'em

Every member these screens name now opens the member card. Ids are the strings the data already carried, except where noted. - PersonCell / PersonStack (HR att...

Kamo·1mo ago
Featurekamo-internal

The card on chat and the clubhouse — rows, roster, message faces, post authors

Surfaces (every id is the string the data already carries): - ConversationRow: each face in a chat row's avatar stack (members[].memberId), and the name an un...

Kamo·1mo ago
Featurekamo-internal

The card on leads — assignees, timeline authors, history and ticket agents

Every place the lead screens name a member (staff) now opens that member's card. Ids are the string member ids the data already carries. - Lead view: the Assig...

Kamo·1mo ago
Fixkamo-internal

A name with no card to open draws no hover underline

MemberName drew its dotted hover underline even when the surface had no member id, so a plain name promised a card it could not open. The underline now comes on...

Kamo·1mo ago
Featurekamo-internal

The card on settings and admin lists — members, billing, platform admins, phone, commissions

The member card on the settings and admin lists that show people. Each name opens the card on hover, focus or tap; a name that already does something on click k...

Kamo·1mo ago
Featurekamo-internal

The card on calendar guests, document authors and account notes

- Calendar: the event dialog's resolved guest rows open the member card (the audience preview's memberId, carried onto GuestRow). A hand-typed address has no ...

Kamo·1mo ago
Featurekamo-internal

The member card — hover any member, see who they are and what you can do

One card for every member name in kamo-internal, gated by the server rule SecurityService now serves (MemberInteractionPolicy, securityservice 5063eaa): chat, c...

Kamo·1mo ago
Fixkamo-internal

A client's message pops its window into the front row, not a strip behind it

Reported 2026-09-17: Ian wrote into his Exec2Exec chat and the desk never saw it pop up; it was found only by going into the Interaction Center. Nothing upstre...

Kamo·1mo ago
September 17, 2026
Performancekamo-internal

The dock moves on the compositor, and a window that moves no longer re-renders the tool inside it

Everything about a popup tool window that MOVES - re-packing the row, trading places with a strip click, stepping out of a row behind, a drag, a seam pull, taki...

Kamo·1mo ago
Featurekamo-internal

A red mark on the calendar when nobody can book a webinar with you

The presenter of a webinar whose hours have run out was never told. The booking page just offers no times, and the one person who can fix it is the one person t...

Kamo·1mo ago
Fixkamo-internal

The Webinars section reads the lead API that exists

It called /api/webinar/leads/{id}, which MediaService never served (live 404), and a 404 reads to this section as "the feature is off" — so it rendered nothing,...

Kamo·1mo ago
Fixkamo-internal

The chat head menu acts on the person in the chat, not on the window id

A head's id is its window's id (`chat-3`), and the menu read it as the member it was a chat with. So it fetched /api/security/members/chat-3 — a 404 — and with ...

Kamo·1mo ago
Featurekamo-internal

A window the member brings to the front lands with a light you cannot miss

Clicking a hexhead, or the strip of a window standing behind, brought the window forward with a faint shadow bloom (strip) or a 600ms green glow (hexhead) - eas...

Kamo·1mo ago
Fixkamo-internal

A meeting from a chat window invites the conversation, and one email goes to everyone

Starting a meeting from a conversation window's meet button, or from a chat hexhead's "Invite to Meeting", invited nobody. The dialog closed as though the invit...

Kamo·1mo ago
Fixkamo-internal

My Scheduled Webinars and Join Existing read the booking the server actually sends

The Support badge now takes a presenter to My Scheduled Webinars when a session is booked with them (mediaservice 0212445). That tab — and the wizard's Join Exi...

Kamo·1mo ago
Fixkamo-internal

No OAuth client secret in kamo-internal's source; the anonymous token route is gone

**************** assigned the client-credentials secret for four production client ids (kamo:1:crm:internal, kamo:4:kamo:internal, kamo:5:ebonix:internal, kamo:...

Kamo·1mo ago
Fixkamo-internal

Integration forms send only the credentials that were typed

The org CalDAV/CardDAV tab sent all four server fields on every save of an Apple or custom server. The fields never show what is stored, so they were empty, and...

Kamo·1mo ago
Featurekamo-internal

Windows that do not fit the dock stand in rows behind it

A tool window that does not fit the front row now stands in a row BEHIND it, one title strip higher per row: its 42px title bar and 10px of body show above the ...

Kamo·1mo ago
Fixkamo-internal

The provider form never holds the stored API key

AIService no longer returns provider API keys (only hasApiKey and a last-four mask). The edit button used to copy the returned key into the form, so it was in t...

Kamo·1mo ago
Fixkamo-internal

Overlays clear the tool windows, scrollbars stack with their layer, and the rest of the shell geometry

What was left after pages stopped painting over the shell. Overlays opened BEHIND tool windows. Hand-rolled modals, menus and toasts named levels inside the sh...

Kamo·1mo ago
Fixkamo-internal

Start a Facebook / Instagram connection through the authenticated connect-start

The Connect button navigated to **************** MediaService trusted both values with no session, so anyone who knew a connection id could bind their own page ...

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