KamoCRM

Live Change Log

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

17,374
Total Changes
5,891
Features
5,258
Fixes
30
Projects
Filter by project
All Projects17,374AIService242APIService174BillingService157ConversionService110DaemonService137DocsService223ESigService91EmailService568InitializerService329KBService151KlusterServices738MCPGatewayService235MediaService592RAGService79SecurityService1,822TranslateService62VOIPService248VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,321kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,631kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore773Docs3,252Feature5,891Fix5,258Other993Performance165Refactor278Revert23Style42Test159Upgrade1
September 17, 2026
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·1mo 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·1mo 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·1mo 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·1mo 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·1mo 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·1mo 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·1mo 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·1mo 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·1mo 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·1mo 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·1mo 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·1mo 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·1mo 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·1mo 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·1mo 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·1mo 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·1mo ago
FeatureEmailService

The campaigns widget reads by stage, the stages the campaigns screen files by

The launchpad widget's read now groups and counts campaigns by the stages /marketing/email's tabs use: In-Progress (sending), Not Started (draft or scheduled), ...

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

Archive a campaign, and the widget leaves archived ones out

POST **************** and /unarchive (MANAGE_BULK_EMAIL) set and clear the campaign's archivedAt, and CampaignDTO carries it. The /marketing/email screen files ...

Kamo·1mo ago
Featurekamo-shared-library

A campaign can be archived

EmailCampaignEntity gains archivedAt (archived_at): when a member archived the campaign, null while it is not. The /marketing/email screen gets an Archived tab ...

Kamo·1mo ago
FeatureEmailService

A live read and live frames for the Email Campaigns home widget

GET /api/email/widget/campaigns is the launchpad widget's one read, built for a pane that sits on every campaign viewer's home page all day: lean rows with no b...

Kamo·1mo ago
FeatureSecurityService

The Email Campaigns widget arrives on for everyone who can open the campaigns

EMAIL_CAMPAIGNS_WIDGET and its ADDED, OPTIONAL and MOVABLE policies seed from VIEW_BULK_EMAIL on the boot that introduces them, so the pane lands on the launchp...

Kamo·1mo ago
Featurekamo-shared-library

The Email Campaigns home widget's five rights

EMAIL_CAMPAIGNS_WIDGET (321) and its four policy children (322-325), hung off VIEW_BULK_EMAIL: every read behind the widget, the campaign list, its counters and...

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

Solutions moves under Resources, one level down

The top row carried five categories before the phone number, the language selector and three CTAs. Solutions is now the first item inside Resources, above the t...

Kamo·1mo ago
Featurekamo-marketing

Application development, web design and web marketing

**************** argues that a business paying an agency per seat is paying for software the agency did not build, host, or keep running. It ends by asking who ...

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