Live Change Log

See what we're building, in real-time. Every feature, fix, and improvement shipped across the platform.

17,905
Total Changes
4,602
Features
4,528
Fixes
32
Projects
Filter by project
All Projects17,905AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService369InitializerService299KBService74KlusterServices545MCPGatewayService43MediaService460RAGService61SecurityService1,519TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,566kamo-login318kamo-marketing584kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,320kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI523Chore670Docs226Feature4,602Fix4,528Other6,781Performance136Refactor274Revert23Style48Test69Upgrade1
September 12, 2026
Featurekamo-internal

The campaign editor writes edge to edge, merge tokens in their own column

The subject sits under the campaign title and the audience beside the status chip, so the compose step is the email body alone, filling the middle of the page, ...

KamoΒ·11m ago
Featurekamo-internal

Recipient rows carry contacted, and already-sent rows keep their mark beside the status

EmailService's recipient DTO now reports whether the campaign has already emailed each address. The mapper carries it through, together with lastError, and fill...

KamoΒ·1h ago
Featurekamo-internal

The campaign From field says when the bulk relay would refuse it

The campaign's own From field, defaulted from the bulk provider, warns when the address is off the provider's domain, as mail that may land in spam. On the plat...

KamoΒ·1h ago
Fixkamo-internal

A relay that never signs in counts as a configured bulk sender

/marketing/email let an organization send campaigns only once its bulk provider had a stored password. The platform relay listens on port 25 with no TLS and no ...

KamoΒ·1h ago
Fixkamo-internal

Recipient grid fills name, source and error from either row shape

The campaign recipient grid read name, sourceType and errorMessage from rows that only carried email, status, sentAt and lastError, so three of its five columns...

KamoΒ·1h ago
Featurekamo-internal

Warm-up pacing banner on /marketing/email

While the new host warm-up is pacing, campaigns go out far more slowly than their own settings say, and nothing on the campaign said why. The campaigns workspac...

KamoΒ·1h ago
Featurekamo-internal

Typed bulk sender client with field errors and the warm-up endpoints

The client knew a provider status called PENDING that the backend never sends, so a sender that was saved but not yet tested fell through to "Not configured". I...

KamoΒ·2h ago
Featurekamo-internal

Connection rule, presets and warm-up view model behind the bulk sender

The pure pieces the new screens are built on, each with tests: - the backend's port-first connection rule, mirrored so the form can say how KamoCRM will conn...

KamoΒ·2h ago
Featurekamo-internal

Rebuilt bulk sender tab with a new host warm-up panel

The Bulk Email Sender tab is rebuilt from one long form into a set of cards over a draft of the saved state: - a masthead with the live status (a saved but unt...

KamoΒ·2h ago
Fixkamo-internal

A missing mailing address no longer blocks sending

The preflight treated an org with no address on file as an error and kept Send and Schedule disabled. The address still goes in the footer when there is one; wh...

KamoΒ·2h ago
Featurekamo-internal

Preview the email as sent, a Custom / No Template audience, and a real From field

Preview: a dialog that renders the editor's own buildBodyHtml() output - the string Save stores and the dispatcher sends - so the audience's header, signature a...

KamoΒ·2h ago
September 11, 2026
Featurekamo-internal

NoReply Outbound, a god-only audit of mail sent as the platform NoReply address

A third section under Mail, shown only to god-eligible members, opens /messages/outbound/noreply: every message EmailService handed to the relay as the platform...

KamoΒ·3h ago
Fixkamo-internal

The campaigns grid read counts the API never sent

EmailService's CampaignDTO carries a campaign's counters flat (totalCount, sentCount, failedCount, suppressedCount, bouncedCount, queuedCount), but every screen...

KamoΒ·3h ago
Featurekamo-internal

A tracking link can land on the white-label CRM fees article

Adds **************** to the destinations the tracking-link picker offers on /marketing/tracking, with its own icon. The path is locale-free like its siblings: ...

KamoΒ·5h ago
Fixkamo-internal

The launch bar ends at the form column, clear of a docked chat window

On /network/create the readiness meter and the Launch organization button sat in a bar across the whole page, under the brand preview too - exactly where docked...

KamoΒ·5h ago
Featurekamo-internal

A department's Select checks the members it is showing

The Directory's per-department Select used to switch the whole list into select mode with nothing checked, and read "Done" until pressed again. It now checks ev...

KamoΒ·6h ago
Featurekamo-internal

Void an organization from Platform -> Configuration -> Organizations

The Organizations tab gains Active and Void sub-tabs, and each organization's drawer a way to void it β€” or, on the Void tab, to restore it. - Active / Void sub...

KamoΒ·7h ago
Fixkamo-internal

Binders and Uploads read as live buttons in the org's brand

The two tabs looked disabled because they were: a MUI Tab with no <Tabs> parent defaults to textColor="inherit", which draws the whole tab at 60% opacity unless...

KamoΒ·8h ago
Featurekamo-internal

Topic titles in the bar's dropdowns sit on a darker plate of the brand

A menu's own name at its top and every section heading (Support's "Online Support", "Bugs & Enhancements", "Training"; Docs' "Create new") now sit on a rounded ...

KamoΒ·8h ago
Chorekamo-internal

Rebuild for Doc Manager's "Docs & Files" tab label

No code change. The label comes from kamo-translation-dictionary 649b24cb, which the image build clones into messages/ at build time, so it only reaches the sit...

KamoΒ·8h ago
Featurekamo-internal

Faces on messages only in conversations of three or more

A face beside every message tells people apart, and between two people the side a message is drawn on already does that - so the corner face now appears only wh...

KamoΒ·11h ago
Featurekamo-internal

Every message wears its author's face, on the bubble's corner

In every chat popup tool window - Chat, Support, Exec2Exec, Social, SMS, AI Chat - each message now carries a 16x16 photo that overlaps the bubble's top-left co...

KamoΒ·19h ago
Featurekamo-internal

The Signature Requests tab, and a colleague's save in the template editor

Signature Requests, between Templates and Common in the Docs manager: every document the collection's templates sent out for signature, in a grid paged on the s...

KamoΒ·20h ago
Featurekamo-internal

Add a meeting link to the conversation - always the platform's Kamo Meet

Both sides of an Exec2Exec window now carry the camera the other chat windows have: Add a meeting link. The meeting is created by MediaService as the PLATFORM o...

KamoΒ·21h ago
Featurekamo-internal

The desk's filters, faces and presence; an Exec2Exec badge that burns

Interaction Center > Chats > Exec2Exec gets two filters under the sub-tabs: Org Owner (All | Org-less | Org Owner) and Order By (Last Message | Latest Sign In) ...

KamoΒ·22h ago
Featurekamo-internal

Files and Templates, version history, and versioning settings

Members asked for documents that keep their history the way their organization chooses, and for templates that stand on their own instead of the Originals/Modif...

KamoΒ·22h ago
Docskamo-internal

Kamo-careers picks up a branding change within a minute

The comment beside the Careers Logo Overlay said the careers site re-reads config.json hourly. It re-reads it every minute since kamo-careers 14c9ddb, which fix...

KamoΒ·22h ago
Featurekamo-internal

A Nav Logo Overlay and a Careers Logo Overlay

Behavior & Labeling gains two more logo overlays in the vocabulary the other six use - a token, resolved against the org's own palette: - "Nav Logo Overlay", d...

KamoΒ·23h ago
Fixkamo-internal

The rim's lead current stays white-hot all the way round

Its gradient was pinned to the hexagon's box rather than travelling with the arc, so for a third of every lap the current was gold on the gold rim and simply va...

KamoΒ·1d ago
Featurekamo-internal

A minimized Exec2Exec head runs a current of light round its rim

A line to KamoCRM's executives must never sit in the dock looking like one more chat. Its minimized head now carries an energy rim: a gold-to-white-to-sky arc r...

KamoΒ·1d ago
Fixkamo-internal

A window's scrollbars no longer show through the window on top of it

Maximizing a tool window left a column of scrollbar buttons from the window behind it floating in the middle of the pane, and two overlapping floating windows s...

KamoΒ·1d ago
Fixkamo-internal

MUI text is set in Geist, not Helvetica and Arial

I18nProviders handed the Geist font to createTheme as an overlay, and overlays are merged in after the theme is built. By then MUI has already written its Robot...

KamoΒ·1d ago
Fixkamo-internal

Every Chats sub-tab fits, with the same gap between each

The Interaction Center's Chats strip gave its seven tabs seven equal shares of the 550px pane, 78px each whatever they said. "Team Members" needs 91px, so it wa...

KamoΒ·1d ago
September 10, 2026
Featurekamo-internal

NavTop's Exec2Exec control is the desk for a KamoCRM executive

For a member with Exec2Exec Access standing in the platform organization, the control now counts messages from clients they have not viewed (GET ***************...

KamoΒ·1d ago
Featurekamo-internal

One brand-painted dropdown surface for the whole top bar

Every dropdown that hangs off NavTop β€” the eight option menus (Mail, Docs, Call / Text, Calculator, Support, Settings, Linux Desktop, Games), the availability p...

KamoΒ·1d ago
Fixkamo-internal

Stop a revoked executive's window; raise only chats waiting on the desk

- A MEMBER_REMOVED naming the viewer unsubscribes the transcript, empties it, disables the composer and says why. Revoking Exec2Exec Access used to leave th...

KamoΒ·1d ago
Featurekamo-internal

Show who from KamoCRM is on the chat, and how to reach them

The customer's window now lists the KamoCRM executives on their conversation, re-read whenever somebody is added or removed. The line shows NAMES only, with tit...

KamoΒ·1d ago
Featurekamo-internal

Stop at a pinned Interaction Center; keep windows under every menu

Two follow-ups to 0c5ef994 (maximize beside the nav). A PINNED Interaction Center now takes its width away from the maximized pane. Pinned, the panel is worked...

KamoΒ·1d ago
Featurekamo-internal

Maximize beside the nav, not over it

A maximized tool window used to take the whole viewport. It, its navigator column and its tab strip were all pinned at (0,0) at the dock's stacking level, over ...

KamoΒ·1d ago
Fixkamo-internal

Raise the conversation when a customer writes, and on a reply

An executive's message reached nobody at KamoCRM: nothing on the console read an Exec2Exec frame. Exec2ExecDeskOpener now raises that customer's window β€” named,...

KamoΒ·1d ago
Featurekamo-internal

The executive channel in the console

A direct line between a customer executive and the KamoCRM executives: the chat half of the support window with no ticket, no status, no rating and no queue. T...

KamoΒ·1d ago
Featurekamo-internal

Finish the category page β€” width, one back arrow, real words

The three managers were written to sit inside a nested tab of a tab. As a page of their own they needed the space they now have. - Configuration capped itself ...

KamoΒ·2d ago
Fixkamo-internal

The nudge the inviter could never send, and a chat invite that rejoins

**Nudge.** The rail hid the button unless it was the opponent's turn, which reads as a rule about fairness and is a rule about nothing β€” the server has never ha...

KamoΒ·2d ago
Fixkamo-internal

One "on" colour, and a retry that does not cascade

Two things left over from the categories table. The allow swatch was tinted by whether the setting is locked β€” primary for locked, a green for unlocked. The lo...

KamoΒ·2d ago
September 9, 2026
Featurekamo-internal

Categories are a table, and each one opens as its own page

/settings/features/docs carried eight tabs: General, then seven that each mounted the same three managers against a different ordinal. Seven copies of one scree...

KamoΒ·2d ago
Testkamo-internal

Cover the topInset the maximized window already honours

ToolWindowShell has taken a topInset since the tab strip landed β€” it starts the window below the strip and stops it short by the same amount, or the strip is dr...

KamoΒ·2d ago
Refactorkamo-internal

Stop forking the signing surface, and offer the whole signed record

kamo-internal carried a hand-copied fork of the external signer app β€” fifteen files under app/lib/esign, app/stores/esign and app/components/esign/signing, each...

KamoΒ·2d ago
Fixkamo-internal

The envelope dashboard could not tell "not emailed" from "not opened"

The warning naming an undelivered invitation lives in the send response, so it is gone the moment the dialog closes. After that the dashboard is all there is β€” ...

KamoΒ·2d ago
Featurekamo-internal

A Signature Date field, and a send that admits when nothing was emailed

**"Sent" was not the same thing as "delivered", and the dialog never said so.** ESigService discarded the result of every invitation email, so a send whose mail...

KamoΒ·2d ago
Featurekamo-internal

Open at the front of a new session, stay put inside one

Two rules that only make sense together, and the panel did the opposite of both. A member arriving in a NEW browser tab β€” a fresh sign-in, a second tab opened ...

KamoΒ·2d ago

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing