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 21, 2026
Featurekamo-internal

Show JustCall callback URL before credentials exist

Generates a phone-server UUID when JustCall is selected and shows the webhook URL immediately. That same id is sent on create so the URL the member pasted into ...

kamo·1w ago
FeatureVOIPService

Pre-assign JustCall phone server id for callback URL

The new-phone form generates a UUID before create so the member can paste the webhook callback URL into JustCall while requesting API credentials. Create accept...

Kamo·1w ago
FeatureVOIPService

Serve JustCall callback URL for phone server setup

Adds GET /api/voip/setup so the settings UI can show the exact per-instance webhook URL without hardcoding the deployment host.

Kamo·1w ago
Featurekamo-internal

Show JustCall webhook callback URL on new-phone setup

Surfaces the per-instance callback URL on the JustCall new-phone and overview tabs so members know what to give JustCall when configuring APIs and webhooks. The...

kamo·1w ago
September 20, 2026
Featurekamo-marketing

Use full PNG logo that floats over the preview banner.

Replace the SVG wordmark with kamocrm-logo-full-v4 so the mark extends above the red strip and below the nav bar.

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

The card on the deliverability history's "who"

EmailService now sends the member behind each change in an address's opt-out history (actorMemberId, text). On Settings → Email → Deliverability a colleague's n...

Kamo·1w ago
Featurekamo-internal

The card on email aliases and shared-mailbox access

EmailService now sends the member ids on aliases and shared-mailbox access as text. As JSON numbers they were rounded past 2^53, so these tabs matched nobody on...

Kamo·1w ago
FeatureMediaService

Quotes, hand histories, ticket events and bug threads send the id a member card needs

Four surfaces showed a member by name with no id beside it, so the console's member card had nothing to open. Each now sends the id as TEXT next to the name it ...

Kamo·1w ago
FeatureEmailService

The deliverability history names the member behind each change

Settings → Email → Deliverability shows an address's opt-out history with who made each change, but HistoryView sent only the actor's name, so the page could no...

Kamo·1w ago
Featurekamo-internal

The card on the opt-out list's "last changed by"

EmailService now sends the member behind each address's last change (lastActorMemberId, text). The list cuts their name out of the "last changed by" sentence (a...

Kamo·1w ago
FeatureEmailService

An opt-out row carries the member behind its last change

The opt-out list named who made each address's last change (lastActorName) but not who they are, so the settings page could not open their member card. Each row...

Kamo·1w ago
Featurekamo-internal

The card on the people the servers now name — document history and shares, careers, the account's primary member, a group seat's manager

Wires the ids the services now send: - Document history (DocManager's changes and downloads, the marketing material drawer's history): the member by name (mem...

Kamo·1w ago
FeatureBillingService

A group seat's coverage carries its manager's member id

GET /api/billing/self/coverage named the billing group's manager (managerName) but not who they are, so the member's plan page could not open the manager's memb...

Kamo·1w ago
Featurekamo-internal

The card on admin, leads and settings — history values, reservations, mailboxes, audit logs, the profile hero

Every remaining member these screens show opens the member card. Ids are the strings the data carries, each checked on the server's origin/main. - History (Ent...

Kamo·1w ago
Featurekamo-internal

The card on home boards, HR, KB, documents and e-sign — face and name as one door

The owner's two: the Achievement Leaderboard and Affiliate Scoreboard widgets had the card on the 20px face only. MemberFace (BoardChrome) now takes the row's n...

Kamo·1w ago
Featurekamo-internal

The card on chat, support and the dock's windows — names beside faces, and the lines that name people

Where a face already opened the member card and the name beside it did not, and on the lines that name people. Every id is the string the data already carries, ...

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