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 28, 2026
Fixkamo-internal

Name the image source selects (SP98-Q-1)

The Image Source select's floating label was tied to nothing, so each of the two pickers was an unnamed combobox (axe aria-input-field-name). The label now name...

Kamo·3w ago
Fixkamo-internal

Open SMS and voicemail links that arrive signed out (SP98-Q-2)

?openSms= and ?openVoicemail= now go into the pre-sign-in stash (@kamo/tool-core 0.1.7 carries them), and the bootstrap opens them from it after the bounce, as ...

Kamo·3w ago
Fixkamo-internal

Name a card's conversation past the newest 300 (SP98-Q-4)

A window opened from an SMS card by conversation id looked its number up in the newest 300 conversations, so an older one opened under a blank header. When that...

Kamo·3w ago
FixMediaService

A recording's action item is never due before its meeting

Live (SP14 Task 31, Step 9), a recording made on 2026-09-28 said 'by October second' and the model wrote 'due 2024-10-02' into the summary emailed to the partic...

Kamo·3w ago
FixConversionService

Silence is never sent to the speech service, and no chunk reaches 30 s

Kamo Speech (Speaches) answers 500 'No clip timestamps found' for a chunk of 30 s or more in which its VAD finds no speech (faster-whisper's no-VAD path refuses...

Kamo·3w ago
Fixkamo-internal

The persona Quick Tip describes the charter and the on/off switch, not publishing (SP98 T17)

The AI Sales Agent Setup tab's Quick Tips still said to publish an agent and that publishing saves a copy. Personas have no saved copies: the charter is saved a...

Kamo·3w ago
Fixkamo-internal

The persona Quick Tip describes the charter and the on/off switch, not publishing (SP98 T17)

The AI Sales Agent Setup tab's Quick Tips still said to publish an agent and that publishing saves a copy. Personas have no saved copies: the charter is saved a...

Kamo·3w ago
FixMediaService

A stored recording is transcribed, under the id it was saved with

MeetingRecording.id is @GeneratedValue, so save() of the entity whose id ingest had set by hand merged it and the row got an id of its own. The pipeline was han...

Kamo·3w ago
FixEmailService

The KamoMail domain check reads once a minute, and rows off an org's domains leave every list

SP99-T1-f, finished (SP98 Task 8). SP99's final review already refuses a KamoMail binding whose address is not on a domain the organization holds (95c58af); thi...

Kamo·3w ago
Fixkamo-internal

Tasks, notes and calendar polish (SP98 T18)

- /notes: a new note or checklist made from My tasks brings the wall back (P-1) - Checklist rows leave out the assignee when it is the viewer (P-2) - Lead Tasks...

Kamo·3w ago
FixKlusterServices

The heap fits the container, so a meeting is never OOMKilled

The image starts java -Xmx${JIGASI_MAX_MEMORY:-3072m} and the container was limited to 1Gi: the heap could outgrow the container, and Jigasi was OOMKilled mid-m...

Kamo·3w ago
FixKlusterServices

Permanent forwards expire from the browser cache after an hour instead of never

From 2026-09-23 to 09-27 the kamouniverse-to-kamocrm redirectRegex 301'd kamouniverse.com to www.kamocrm.com. Traefik sends such a redirect with no Cache-Contro...

Kamo·3w ago
Fixkamo-nowww

Redirects expire from the browser cache after an hour instead of never

After its stale service worker was replaced, the owner's browser went on sending https://kamouniverse.com/ to www.kamocrm.com without asking any server. From 20...

Kamo·3w ago
FixEmailService

An AI organiser's invitations carry the AI disclosure its email does

Event invitations wear no compose template, so an invitation, update or cancellation organised by an AI member carried none of the disclosure its email carries ...

Kamo·3w ago
FixEmailService

A late delivery still raises NEW_EMAIL and buzzes the phone; only IDLE is judged by age

NewMailAnnouncer's 30-minute Date-header gate, there for IMAP IDLE reconnect replays, also dropped Dovecot push arrivals, which report a delivery (MessageNew) a...

Kamo·3w ago
Fixkamo-internal

AI settings, workforce and platform polish (SP98 T17)

- Platform admins: every right chip's label reads at AA on its wash (its own hue, darkened only as far as needed); the pinned hues stay on icon, border and ha...

Kamo·3w ago
Fixkamo-internal

AI settings, workforce and platform polish (SP98 T17)

- Platform admins: every right chip's label reads at AA on its wash (its own hue, darkened only as far as needed); the pinned hues stay on icon, border and ha...

Kamo·3w ago
FixEmailService

A From's mailbox id picks a signature only when the caller may send as it

The compose identity took fromAddress.id at its word: E1's send and E4's render check the From's address and the sending mailbox, never the id, so a member coul...

Kamo·3w ago
Fixkamo-nowww

A stale service worker on a redirected apex is replaced with one that removes itself

https://kamouniverse.com/ "does not go anywhere" in the owner's browser, while it 308s to www for everyone else. The access log showed why: that browser sent no...

Kamo·3w ago
Fixkamo-internal

The email template editor's fallback logo is KamoUniverse

When an org has no theme folder, the email template editor showed /img/kamocrmfull.png and /img/kamocrm.png, the retired KamoCRM wordmark and mark. They now fal...

Kamo·3w ago
Fixkamo-internal

The email template editor's fallback logo is KamoUniverse

When an org has no theme folder, the email template editor showed /img/kamocrmfull.png and /img/kamocrm.png, the retired KamoCRM wordmark and mark. They now fal...

Kamo·3w ago
Fixkamo-register

The E-Mail app's description is the shared library's current one, not "Host your email with KamoCRM directly."

These TypeScript enums mirror kamo-shared-library's AppType and ServiceType. The Java source's EMAIL description was reworded ('Read, send and manage your organ...

Kamo·3w ago
Fixkamo-login

The E-Mail app's description is the shared library's current one, not "Host your email with KamoCRM directly."

These TypeScript enums mirror kamo-shared-library's AppType and ServiceType. The Java source's EMAIL description was reworded ('Read, send and manage your organ...

Kamo·3w ago
Fixkamo-apps

The E-Mail app's description is the shared library's current one, not "Host your email with KamoCRM directly."

These TypeScript enums mirror kamo-shared-library's AppType and ServiceType. The Java source's EMAIL description was reworded ('Read, send and manage your organ...

Kamo·3w ago
FixEmailService

The groupware provider finds a series by its UID as its master

SP98-F-3. CalendarService.findEventByUid read "the one row with this UID" in a calendar, and an edited instance of a series is a row of its own under the series...

Kamo·3w ago
FixEmailService

An inbound invitation answers with its summary, as the account that received it

SP98-F-5. **************** returned the CalendarEvent entity, whose attendees point back at their event, so writing it recursed until the stack overflowed; it n...

Kamo·3w ago
FixEmailService

Address books are found, and reached only by their owner with the web's rights

SP98-F-4. CardDAV wrote resourcetype as empty text for the home, every book and every card, so no client ever found an address book; a book is now *************...

Kamo·3w ago
FixEmailService

A calendar edit changes only what it sends; a new one without a zone takes the member's

The calendar create and edit bound the UserCalendar entity, whose defaults (zone UTC, visible, sort order 0) stood in for every field a body left out. KamoMobil...

Kamo·3w ago
FixKlusterServices

The meeting bridge trusts LiveKit from k3m1's node address too

livekit-sip is hostNetwork on k3m1, and k3m1 reaches 192.168.4.22 over its eno50 cable (192.168.4.22 via 10.0.50.0 dev eno50 src 10.0.50.1), so FreePBX sees eve...

Kamo·3w ago
FixKlusterServices

An AI workstation goes to sleep with nothing on its desktop drawing

A page still drawing when the sleep image is written made the wake take minutes. SP11 Task 30's workstation slept with Kamo's sign-in page open (a full-screen z...

Kamo·3w ago
FixSecurityService

An address on either platform apex signs in to the account holding its twin

The owner signed in on login.kamouniverse.com with the brand's new address and was told "User does not exist". The account's address is Sage@KamoCRM.com. Since ...

Kamo·3w ago
Fixkamo-internal

An AI in a meeting is shown as such, and the console offers only to take it out

A meeting is heard only by its participants (SP14 D9), and kamoai-service now refuses listening, talking, whispering and taking over a meeting call (409 MEETING...

Kamo·3w ago
Fixkamo-internal

An AI in a meeting is shown as such, and the console offers only to take it out

A meeting is heard only by its participants (SP14 D9), and kamoai-service now refuses listening, talking, whispering and taking over a meeting call (409 MEETING...

Kamo·3w ago
Fixkamo-marketing

The demo page books the webinar type under its KamoUniverse title or its old one

The page found its webinar type by the exact title "Schedule a KamoCRM Product Demo". That row is being retitled for the brand move, and an exact match would ha...

Kamo·3w ago
FixEmailService

An alias goes only to a member of the caller's own organization

POST /api/email/aliases took any memberId: an administrator could create an alias in their organization that forwards to another tenant's member, and read that ...

Kamo·3w ago
FixEmailService

Only an open god-mode window bypasses a tenant right, never GD alone

Every EmailService rights check let a session with GD through ("GD passes everything"), but GD is god-mode ELIGIBILITY, permanently true for the operators who h...

Kamo·3w ago
Fixkamo-signer-monorepo

The signer's theme fallback is kamouniverse.com, and its untitled page says KamoUniverse

- @kamo/theme PLATFORM_APEX, the theme host used when the page has no hostname to take an apex from (server render, a bare host), is kamouniverse.com, the p...

Kamo·3w ago
FixVOIPService

Settings voicemail plays a FreePBX message from its paired upload

Settings -> Phone -> Voicemails plays each row through /voicemails/{id}/audio, which asked the provider for the audio. FreePBX serves no voicemail audio over an...

Kamo·3w ago
FixSecurityService

A like is stamped, so it saves

media_obj_reports.date_created is NOT NULL, and the like was built without it: @ColumnDefault only shapes the DDL, so Hibernate wrote NULL and every like failed...

Kamo·3w ago
FixAIService

Spend a WebSocket one-time key with one GETDEL

spendOneTimeKey read the key and then deleted it, so two handshakes racing with the same key inside its 30 s life could both read it and both open a socket for ...

Kamo·3w ago
FixKBService

KamoUniverse is a stop word for related-article suggestions

KbArticleRelationService matches articles on their significant terms and already drops the platform's own names ("kamocrm", "kamo") because every help article s...

Kamo·3w ago
FixESigService

A signing page's logo falls back to theme.kamouniverse.com

EsignBrandingService's asset host of last resort, used for an organization with no live domain of its own, was a private "kamocrm.com" literal. It is **********...

Kamo·3w ago
FixInitializerService

The platform-pricing loaders find the platform org as the top-level org, not by its short title

KamoCRMMarketBackfillLoader and KamoCRMPricingLoader looked the platform org up by titleShort = "KamoCRM". That stopped matching when the brand moved to KamoUni...

Kamo·3w ago
Fixkamo-internal

The setup page opens on kamouniverse.com and no longer offers to delete a platform domain

"Change domain" on /setup/dns for the platform organization showed only "SecurityService error". The button deletes the domain in use and then asks for a new on...

Kamo·3w ago
Fixkamo-internal

The setup page opens on kamouniverse.com and no longer offers to delete a platform domain

"Change domain" on /setup/dns for the platform organization showed only "SecurityService error". The button deletes the domain in use and then asks for a new on...

Kamo·3w ago
FixDaemonService

The scenery sampler identifies as kamouniverse.com; the steward test follows the platform console

- FaunaClient's User-Agent to GBIF named https://kamocrm.com as the product's contact URL; it names https://kamouniverse.com, the platform's primary apex. - S...

Kamo·3w ago
FixBillingService

The Enterprise refusal names KamoUniverse

"The Enterprise plan is arranged directly with KamoCRM and cannot be selected here. Contact us and we will set it up for you." is echoed verbatim to the custome...

Kamo·3w ago
FixMCPGatewayService

An org's alias mail domain is internal on both platform apexes

kamouniverse.com is now the platform's primary apex (kamo-shared-library 0e8cf90f), and **************** moved with it. - ForwardedHosts.internalDomains (the e...

Kamo·3w ago
Fixkamo-internal

A post or note is edited, liked and deleted by its own id

Every item of a feed (the Clubhouse, a lead's or a pipeline record's notes) carries its stream's guid, so PostCard's edit, like and delete went to /posts/<strea...

Kamo·3w ago
Fixkamo-internal

Add Lead goes to the list when its creator may not open the new lead

A lead created with "Auto Assign / Unassigned" joins the assignment pool, owned by nobody, and the lead page refuses a member without VIEW_UNASSIGNED_LEADS on a...

Kamo·3w 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