KamoCRM

Live Change Log

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

15,120
Total Changes
5,169
Features
4,935
Fixes
30
Projects
Filter by project
All Projects15,120AIService197APIService161BillingService143ConversionService107DaemonService129DocsService215ESigService88EmailService518InitializerService318KBService105KlusterServices697MCPGatewayService85MediaService546RAGService71SecurityService1,658TranslateService55VOIPService205VectorService11kamo-apps25kamo-asterisk-support24kamo-capcha17kamo-capcha-widget4kamo-internal6,937kamo-login330kamo-marketing625kamo-nowww20kamo-register213kamo-shared-library1,455kamo-signer-monorepo53kamolos108
Filter by type
All TypesBuild11CI523Chore738Docs2,167Feature5,169Fix4,935Other986Performance157Refactor274Revert23Style42Test94Upgrade1
September 17, 2026
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·1w 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·1w 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·1w 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·1w 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·1w 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·1w 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·1w 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·1w 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·1w ago
Fixkamo-internal

Pages stay under the nav, the Interaction Center and the tool windows

The same two mistakes as /calendar's, everywhere else they were made. AuthedChrome's content box names no z-index, so a z-index in page code is a level in the R...

Kamo·1w ago
Fixkamo-internal

The drip enroll dialog finds leads by email

The lead search behind it now matches a lead's email (kamo-shared-library 992569a6, live with SecurityService 5c7319a), so the dialog says so: name, email, comp...

Kamo·1w ago
Fixkamo-internal

The calendar stays under the nav and the tool windows

/calendar positioned itself over the viewport — fixed at 56/80 with z-index 1000 — instead of filling the content box AuthedChrome gives every page. That box na...

Kamo·1w ago
Featurekamo-internal

Drip campaigns on /marketing/email — triggers, a visual builder, people and performance

/marketing/email gets a Broadcasts / Drips switch (?view=drips). The drips view lists every drip as a card with its trigger, its sequence and live counts, KPI a...

Kamo·1w ago
Featurekamo-internal

The Lifestyle Logo, a fourth logo per brand and the default background watermark

Behavior & Labeling gains a Lifestyle Logo slot beside the full logo, the simple logo and the tab icon, in both the company and the software (white-label) rows....

Kamo·1w ago
Featurekamo-internal

The campaign editor's Reply-To is a choice — NoReply, Member's E-mail or Custom, NoReply by default

The free-text Reply-To under the From becomes CampaignReplyToPicker, three choices that each say where replies land: - NoReply (default): NoReply@<the campaign'...

Kamo·1w ago
September 16, 2026
Chorekamo-internal

Rebuild for the Bulk Email settings page's hand-written translations

kamo-translation-dictionary de9ab66f writes Domain Setup, Sending, Opt Out and Deliverability, and the campaign screens' new From picker and sending-domain stri...

Kamo·1w ago
Featurekamo-internal

Outbound E-Mail Hosts shows the bulk relays as receiving servers see them

A "Bulk relays" card above the platform hosts: the shared relay every organization's sending domains leave through (contact.kamocrm.com, 47.181.8.86) and the pl...

Kamo·1w ago
Featurekamo-internal

Bulk Email gets Domain Setup and sub-tabs, /marketing/email explains what is missing, campaigns get a From picker

Settings → Email → Bulk Email is now four sub-tabs in ?sub=: Domain Setup · Sending · Opt Out · Deliverability. The member lands on Domain Setup until a sending...

Kamo·1w ago
Chorekamo-internal

Rebuild for the Email Campaigns widget's hand-written translations

kamo-translation-dictionary 93728a83 rewrites home.widgets.emailCampaigns by hand in 20 languages, replacing synced values such as de "Eins eins eins eins" for ...

Kamo·1w ago
Fixkamo-internal

Email's Deliverability tab has a settings-menu entry

The tab renders for whoever may manage the opt-out list (MANAGE_EMAIL_OPT_OUTS or the organization owner), but the settings menu never listed it, so settingsMen...

Kamo·1w ago
Fixkamo-internal

The scrollbar guard and the recipient-status tests pass again

Both were red on main, and vitest does not run in CI, so nothing noticed. - oneScrollbar.test.ts ("is the only thing in the app that styles a scrollbar") fai...

Kamo·1w ago
Chorekamo-internal

One copy of the Email Campaigns list's two-column comment [skip ci]

59a13aa2 moved the comment beside the state it explains and left the original above rowsKey. Comment only; nothing to build.

Kamo·1w ago
Featurekamo-internal

The campaign tabs get scroll arrows back, without hiding the selected tab

On a screen too narrow for the five sub-tabs, the strip now shows left and right arrows beside it, as the maximized-window tab strip does. It had none since the...

Kamo·1w ago
Featurekamo-internal

A live send in the Email Campaigns widget gets a spotlight card

With one send in progress, the In-Progress tab was a single thin row in a pane with room for far more, at the moment the widget matters most. When every campaig...

Kamo·1w ago
Fixkamo-internal

A checkbox, button or link inside a grid row no longer opens the row too

The ⋮ bug from /marketing/email, in the six other grids that have it. AG Grid fires rowClicked from its own native listener on the row container, which runs bef...

Kamo·1w ago
Featurekamo-internal

Email Campaigns widget tabs are the campaigns screen's stages

The widget filed campaigns under its own Live / Sent / Drafts, which put a cancelled campaign under Sent and a scheduled one under Live. Its tabs are now In-Pro...

Kamo·1w ago
Featurekamo-internal

The campaigns list follows what colleagues do to a campaign, live

BulkEmailWorkspace takes the change frames useEmailCampaignsWebSocket now delivers (onChanged, d0b56adf). A frame names a campaign and what happened to it, neve...

Kamo·1w ago
Featurekamo-internal

The Email Campaigns widget, live on the launchpad

A new home widget, email.campaigns, on the launchpad of everybody who can open the campaigns. Its five rights (EMAIL_CAMPAIGNS_WIDGET, 321-325) hang off VIEW_BU...

Kamo·1w ago
Featurekamo-internal

In-Progress, Not Started, Paused, Complete and Archived tabs, and the ⋮ opens its menu

/marketing/email splits the campaigns into five sub-tabs, each with a live count, and every campaign is under exactly one: - In-Progress: sending - Not Started...

Kamo·1w ago
Featurekamo-internal

Email Campaigns is the first Marketing tab

The Marketing Tools tab strip now reads Email Campaigns, Marketing Materials, Social Media, Tracking Codes. Bulk Email moves to the front under its new name, an...

Kamo·1w ago
Featurekamo-internal

The launchpad bands open into the bar's own dropdown surface

The administrator bar and the pinned-app bands are painted with the top bar's gradient, and then answered a hover with something from another app entirely: a wh...

Kamo·1w ago
September 13, 2026
Featurekamo-internal

Let an admin choose who is copied on presenter emails

The Scheduled Webinars tab gains an "Additionally Notified" section beside the list of webinar types. The team members chosen there get a blind copy of every au...

Kamo·2w ago
Featurekamo-internal

Open and click rates, tracking choices, 10,000+ outbox counts, person-asked on leads

- Campaign card: opened and clicked, as a share of delivered mail (or "Not tracked"). - Deliverability > Campaign rules: open and click tracking, the platform's...

Kamo·2w ago
Featurekamo-internal

See who a campaign reaches, and why not everyone

- Campaign preflight card: "1,000 selected · 742 eligible · 258 skipped", with each reason (unsubscribed, bounced before, disposable, role address…) opening...

Kamo·2w ago
Featurekamo-internal

An organizations-created icon beside every member and team member

The Members and Team Members tabs on /account get a column beside Name: a filled building in the brand colour with a count for somebody who has created organiza...

Kamo·2w ago
Featurekamo-internal

An organization's and a member's own page transition

The page transition is now chosen at three levels. The platform's stays on Platform Administration → Transitions; an organization can choose its own on Behavior...

Kamo·2w ago
Featurekamo-internal

Five more page transitions, each with its own properties

Aperture, Curtain Split, Venetian Blinds, Liquid Wipe and Shatter join Tile Dissolve. Every transition is now an effect in app/lib/transitions/effects, drawn by...

Kamo·2w ago
September 12, 2026
Featurekamo-internal

Add recipients and Send to latest on a campaign that has gone out

- A campaign's progress page has Add recipients: the recipients step in a dialog (upload, IDs, the All boxes, addresses), saved in slices as the editor save...

Kamo·2w ago
Featurekamo-internal

Tile Dissolve's tile size and tile colour, set per transition on the Transitions tab

Each transition now carries its own properties, stored per transition beside the active one, so switching transitions keeps each one's choices. Tile Dissolve ha...

Kamo·2w ago
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·2w 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·2w 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·2w 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·2w 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·2w 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·2w 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·2w 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·2w 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