KamoCRM

Live Change Log

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

17,632
Total Changes
6,066
Features
5,326
Fixes
30
Projects
Filter by project
All Projects17,632AIService259APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService583InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService604RAGService79SecurityService1,872TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,398kamo-login340kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,677kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore775Docs3,257Feature6,066Fix5,326Other998Performance165Refactor278Revert23Style42Test162Upgrade1
September 12, 2026
Fixkamo-internal

A remounted shell no longer leaves the page cover standing on reload and sign-in

On every reload and every first document after sign-in the cover stayed up over the page, while in-app navigation revealed it fine. PresenceWrapper renders bare...

Kamo·1mo ago
Fixkamo-internal

The recipient list's last page is the last page, and addresses sit level with their rows

Last reads a full page back from the end, so when a list does not divide into whole pages it overlaps the page before — and was numbered from the start, as page...

Kamo·1mo ago
Featurekamo-internal

Shorten admin bar labels to Billing, Stats, Roles, Block, Log

The panel heading keeps each screen's full name via titleKey, as White Labeling and Apps already do.

kamo·1mo ago
Featurekamo-internal

The page cover and its Tile Dissolve reveal, in place of the loading screen

Between pages the main view area (never NavTop or NavPri) is now covered in the organization's primary colour with its full logo centred on it, painted with the...

Kamo·1mo ago
Featurekamo-internal

A Transitions tab to choose and preview the page transition

Platform Administration → Configuration → Transitions, gated by the new MANAGE_PLATFORM_TRANSITIONS platform right and registered everywhere a console tab is: t...

Kamo·1mo ago
Featurekamo-internal

The campaign recipient list is paginated, with totals

The recipients grid on a campaign now pages like a list of billions should: First, Previous, Next and Last, rows per page, "101–150 of 3,916" and "Page 3 of 79"...

Kamo·1mo ago
Featurekamo-internal

"All leads / accounts / applications" on a campaign, at any size

Each id box on the campaign editor now has an "All …" box beside it. Ticked, the box folds into a live panel for everyone of that kind the signed-in member can ...

Kamo·1mo ago
Fixkamo-internal

The Opt Out tab keeps its content off the card walls

SettingsView's white card and TabPanel carry no padding; every settings tab supplies its own, and this one did not, so its heading, buttons, figure cards and li...

kamo·1mo ago
Featurekamo-internal

Pages refetch on org change events instead of loading once

Every successful write through forwardToApi now publishes rt.org.{orgId}.{domain} on core NATS (the domain is the first backend path segment, skipping security/...

Kamo·1mo ago
Featurekamo-internal

The Opt Out tab and the lead chip update live

Both subscribe to **************** (EmailService and SecurityService publish after every committed change; MediaService relays), so a recipient unsubscribing, a...

kamo·1mo ago
Fixkamo-internal

Pages and settings tabs fill their width instead of a centred column

Drop the max-width and auto-margin caps that held pages and settings tabs to a slim centred column. Where lifting a cap would leave one column of form fields st...

Kamo·1mo ago
Fixkamo-internal

The organization owner sees the Opt Out tab, its menu entry and its card

A brand-new right is held by nobody the day it deploys; gating only on MANAGE_EMAIL_OPT_OUTS would hide the tab from whoever could grant it. Matches Sales Scrip...

kamo·1mo ago
Docskamo-internal

House rules for UI work — layout, look, shared parts, live data [skip ci]

Pages fill their width, build from the shared components, colour only from the globals.css tokens, and take changing data over STOMP topics instead of loading o...

Kamo·1mo ago
Fixkamo-internal

A background nothing can draw is reported, not a lost batch

The org setup wizard's Backgrounds step resized each picked or suggested image in a loop with no catch. Since resizeBackgroundIfNeeded now refuses, with a reaso...

Kamo·1mo ago
Fixkamo-internal

A saved background shows the member's picture, never the platform's

Behavior & Labeling pointed each tile at the slot's public URL the moment the commit returned, before provisioning had written the slot (it had not even been re...

Kamo·1mo ago
Fixkamo-internal

Let the server say whether the viewer sees every organization

/network chose between all-networks and my-networks from the platform-rights context. That read fails closed and stays failed until the page reloads, and a god ...

Kamo·1mo ago
Featurekamo-internal

Email opt-out chip and panel on the lead page

Beside the lead's email address there is now a chip saying whether the person may be emailed: Emails allowed, Opted out of all email, Paused until a date, Some ...

kamo·1mo ago
Featurekamo-internal

Settings -> Email -> Opt Out, the organization's do-not-email list

Everyone who asked not to be emailed, in one place. A masthead says how many are off all email and why (unsubscribed, bounced, marked as spam, asked us to stop)...

kamo·1mo ago
Featurekamo-internal

Square, bevelled buttons and a 2px-cornered thumb on every scrollbar

The bar's four buttons (jump to start, step back, step forward, jump to end) are now 20px squares with hard corners, and the thumb keeps only a 2px radius. Both...

Kamo·1mo ago
Docskamo-internal

The opt-out design, and the client both surfaces will call

Settings -> Email -> Opt Out reads /api/email/opt-outs on EmailService; a lead's own address reads **************** on SecurityService. Long ids arrive as strin...

kamo·1mo ago
Featurekamo-internal

Outbound e-mail hosts, send windows, per-host warm-up and the staged outbox

- Settings → Platform → Configuration gains an Outbound E-Mail Hosts tab, behind the platform right MANAGE_OUTBOUND_EMAIL_HOSTS: the hosts shared with every o...

Kamo·1mo ago
Featurekamo-internal

Delete, filter and switch off NoReply Outbound rows

The audit page gains a subsystem column and filter, checkbox selection with "select all" and "select all matching", and deletes for one row, the selected rows, ...

Kamo·1mo ago
Fixkamo-internal

A saved campaign reopens inside its template, and the From is always the bulk sender's

The body is saved between two comment markers inside the finished email, and reopening a campaign puts only that part back in the middle of the template, where ...

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

Review fixes for the bulk sender, warm-up and pacing banner

A pass over everything the bulk sender and warm-up screens are built from, fixing what it found: - a warm-up poll that started while a write was on the wire co...

Kamo·1mo ago
Featurekamo-internal

A campaign the backend cannot send says why and how to fix it

EmailService now pauses a campaign instead of failing its recipients one by one when it cannot send it: its From is off the platform relay's domain, or there is...

Kamo·1mo ago
Fixkamo-internal

Email settings redirect lists its hook dependencies

The rights check that sends a member without MANAGE_EMAIL_SETTINGS back to /settings ran in an effect that listed only `loading`, so the linter flagged the miss...

Kamo·1mo ago
Featurekamo-internal

Warm-up says idle days don't count and draws the dates that slid

A warm-up day in which nothing is sent no longer counts: the run slides forward and the day repeats when sending resumes, which makes switching warm-up on befor...

Kamo·1mo ago
Fixkamo-internal

The bulk sender tab fills the width it is given

The tab sat in a 1120px column centred in the settings card, so on a wide screen most of the card was empty margin around a narrow form. The column is gone, alo...

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