KamoCRM

Live Change Log

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

19,290
Total Changes
7,053
Features
5,846
Fixes
30
Projects
Filter by project
All Projects19,290AIService291APIService184BillingService169ConversionService125DaemonService153DocsService284ESigService106EmailService678InitializerService359KBService167KlusterServices783MCPGatewayService283MediaService644RAGService80SecurityService2,131TranslateService62VOIPService279VectorService11kamo-apps31kamo-asterisk-support32kamo-capcha17kamo-capcha-widget4kamo-internal9,024kamo-login362kamo-marketing642kamo-nowww20kamo-register224kamo-shared-library1,951kamo-signer-monorepo73kamolos121
Filter by type
All TypesBuild23CI528Chore810Docs3,305Feature7,053Fix5,846Other1,009Performance176Refactor286Revert23Style46Test184Upgrade1
September 18, 2026
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
FeatureSecurityService

The member card carries the wallpaper their desktop shows

GET /members/{id}/card gains "wallpaper" for the card's header, resolved the way the console backdrop and the profile hero resolve a member's desktop: none when...

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
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
FeatureDocsService

The uploader's member id travels with the list and the history

The document list (/imaging/list) and a document's history carried the uploader's name only, so kamo-internal could show who uploaded a file but not open their ...

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
FeatureMediaService

The Presenters table can see which presenters nobody can book

GET **************** — MANAGE_SUPPORT, the caller's own organization's type only (anything else is "not found") — answers each active presenter with hasBookable...

Kamo·1mo ago
FeatureSecurityService

One rule for what a member may do with another, served per member and per roster row

The same five actions — chat, call, email, meet, view profile — were offered from three places in kamo-internal (the Interaction Center row, the chat hex-head p...

Kamo·1mo ago
September 17, 2026
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
FeatureMediaService

Tell a presenter, live, when nobody can book a time with them

A presenter whose declared hours have run out is the one state in this feature nothing reported: the booking page simply offers no times, the visitor leaves, an...

Kamo·1mo ago
FeatureSecurityService

The demos booked on a lead, on the lead

GET **************** The lead page's Webinars section has called /api/webinar/leads/{id} since it was written and nothing ever served it — the live API answers ...

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
Featurekamo-shared-library

A presenter's viewed stamp, so a booked session can badge them

The Support icon's webinar count reads WebinarAttendee.dateViewed. A presenter is not an attendee row, so a session booked with them was emailed and then never ...

Kamo·1mo ago
Featurekamo-marketing

A live demo button beside Start Free Forever

The home hero offered two things: start free, or read the pricing. It now also offers half an hour with a person. "Book a Live Demo", with "30 minutes" on a sec...

Kamo·1mo ago
Featurekamo-marketing

A page for unlimited email campaigns and drips, linked from everywhere it belongs

/email-marketing sells what shipped on 2026-09-16 (broadcast campaigns, drips, sending domains): unlimited, and 100% free with Business and Enterprise. The pag...

Kamo·1mo ago
Featurekamo-marketing

Play the kamo14 reel, and let it be paused

The recut reel (new closing logo shot, otherwise frame-identical, same 66s running time and chapter timings) is published under its own name. The kamo13 ladder ...

Kamo·1mo ago
FeatureKlusterServices

Encode the kamo14 reel

The marketing reel was recut (new closing logo shot) and uploaded as public/kamo14.mp4. It gets a new name instead of replacing kamo13 in place because the ladd...

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
Featurekamo-marketing

Seven link sets that match the nav, and careers goes to the careers site

The footer now lists Features, Services, Pricing, Company, Resources, Solutions and Legal, in that order. That is the top nav's own five categories plus the two...

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

Every page shows how many times it has been viewed

A view counter now sits at the foot of every page, in the footer's bottom row beside Sitemap and Back to top: an eye whose iris is the site's hexagon, and the f...

Kamo·1mo ago
FeatureKBService

Count the marketing site's page views, on the article or on the page

KBService now answers the view counter kamo-marketing shows at the foot of every page. Two endpoints, both {"views": n} with the view just counted included: ...

Kamo·1mo ago
Featurekamo-shared-library

Page-view counters for the marketing site

Two tables behind the view count kamo-marketing now shows at the foot of every page, written by KBService's /internal/page-views endpoints. KbArticleView (KB_A...

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

Lifestyle logo uploads, config.json keys, and the LIFESTYLE watermark

The lifestyle logo is a fourth logo per brand (company and white-label), the decorative rendition the background watermark now draws by default. Its fallback is...

Kamo·1mo ago
Featurekamo-shared-library

Lifestyle logo columns, and LIFESTYLE as the watermark default

The lifestyle logo is a fourth piece of branding artwork per brand, beside the full logo, the simple logo and the tab icon: the decorative rendition the backgro...

Kamo·1mo ago
FeatureEmailService

Drip campaigns

A drip is an automated sequence of emails a person enters when something happens: a lead arrives (by hand, imported, or from an integration), a lead's status or...

Kamo·1mo ago
FeatureSecurityService

An imported lead is recorded as imported

LeadImportController created every row with the two-argument createLead, so a lead's history said source API with nobody acting, exactly like one sent in throug...

Kamo·1mo 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·1mo ago
Featurekamo-shared-library

Drip campaign triggers, recorded where leads and members change

Drip campaigns start when something happens in the CRM, so the places that change leads and members now hand those events to EmailService's drip engine: - Lead...

Kamo·1mo ago
September 16, 2026
Featurekamo-marketing

Open on monthly, and sell 1- and 3-year terms as locking in today's rate

Most buyers come to compare what they would pay with no commitment, so HOME_TERM is now monthly. /pricing, the homepage plan strip, /calculator and the product ...

Kamo·2mo ago
FeatureEmailService

A campaign's replies go to NoReply, the member's e-mail, or a custom address — NoReply by default

The editor's Reply-To becomes three choices (CampaignReplyTo), kept in the existing reply_to column. No DDL. - NO_REPLY (empty column, the default): Reply-To: N...

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

Bounces for organizations' sending domains reach EmailService through postfix-k3m1-inbound

A campaign sent through the shared relay has its From at the organization's sending domain as its envelope sender, and that domain is a CNAME to contact.kamocrm...

Kamo·2mo ago
FeatureEmailService

Bounces to org sending domains come home, test sends are signed, and the relays' DNS is read

Async bounces. A campaign's envelope sender is its From at the organization's sending domain, whose MX (through the CNAME to contact.kamocrm.com) is the shared ...

Kamo·2mo ago
FeatureKlusterServices

Postmaster@ and abuse@contact.kamocrm.com reach KamoCRM — the shared relay's name receives its checks

contact.kamocrm.com is the shared org relay's name (47.181.8.86's PTR, MX contact.kamocrm.com), and its MX is 47.181.8.86 → k3m1, where postfix-k3m1-inbound ans...

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

Campaign mail is signed as, sent from, and routed by its verified sending domain

A campaign may name its own From on a verified domain; otherwise it goes as the org's bulk sender — which must itself be on a verified domain (saveSender refuse...

Kamo·2mo ago
FeatureEmailService

Domain Setup's API, the shared relay's sender map, and a sweep that confirms records live

**************** GET the tab (VIEW_BULK_EMAIL), GET lookup for the add form, POST add, POST {id}/check, DELETE (MANAGE_BULK_EMAIL); every write answers with the...

Kamo·2mo ago
FeatureEmailService

Sending domains — add one, read its DNS record by record, verify it, know what an address may do

A sending domain (news.acme.com) is kept in the org's encrypted bulk provider blob with its DKIM key. SendingDomainChecker reads what receivers will see — SPF e...

Kamo·2mo ago
FeatureEmailService

DKIM keys and a relaxed/relaxed rsa-sha256 signer for organizations' sending domains

DkimKeys generates a domain's RSA-2048 key (kept in the org's encrypted bulk provider blob) and the TXT value a member publishes at kamoXXXXXX._domainkey.<domai...

Kamo·2mo ago
FeatureEmailService

DNS for sending domains — each domain's own nameservers first, SPF evaluated, DNS provider named

LiveDnsResolver asks the zone's authoritative nameservers (found through 1.1.1.1/8.8.8.8), so a record a member just saved at their DNS provider is seen at once...

Kamo·2mo ago
FeatureEmailService

The shared org relay (47.181.8.86) is seeded for every organization; the platform relay stays KamoCRM's

PlatformRelayProperties now knows both in-cluster relays: postfix-bulk (47.181.8.87, hello.kamocrm.com) and postfix-orgs (47.181.8.86), with the egress address,...

Kamo·2mo ago
FeatureKlusterServices

Postfix-orgs, the shared bulk relay every organization sends through as 47.181.8.86

KamoCRM's own campaign mail keeps leaving through postfix-bulk (47.181.8.87) and regular mail through postfix (47.181.8.84). Every other organization's campaign...

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