KamoCRM

Live Change Log

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

18,392
Total Changes
6,527
Features
5,537
Fixes
30
Projects
Filter by project
All Projects18,392AIService276APIService177BillingService161ConversionService117DaemonService146DocsService240ESigService93EmailService619InitializerService344KBService162KlusterServices769MCPGatewayService277MediaService620RAGService79SecurityService1,995TranslateService62VOIPService265VectorService11kamo-apps26kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,692kamo-login342kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,824kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild23CI525Chore794Docs3,286Feature6,527Fix5,537Other1,001Performance174Refactor281Revert23Style45Test175Upgrade1
November 5, 2026
Performancekamo-shared-library

Read the pipeline's borrowers beside its rows, not after them

Each of the reader's two queries takes about a second for a large lender, and they ran back to back. The borrower read now runs on its own connection while the ...

Kamo·5d ago
FeatureKlusterServices

Rke2-unwedge, a watchdog for the rke2 log-pipe deadlock

The 2026-09-28 and 2026-10-25 platform outages were the same deadlock: rke2 loses its lease, its ExecStopPost kills containerd, nobody reads the container log F...

Kamo·5d ago
November 4, 2026
FixKlusterServices

Detach k1m1's NFS mount while k3m1 is not serving it

The worldchunks USB drive dropped off k3m1 on 2026-10-30 and has not come back, so nfs-server stopped. k1m1 kept its soft mount on the assumption the server ret...

Kamo·1w ago
FeatureKlusterServices

Alert on node link drops and speed fallback, routed to sysadmin email

The LAN switch shared by k1m1 eno49 and k3m1 eno49 has been resetting since 2026-10-29 (hundreds of carrier drops, 66 of 70 drop minutes shared by both nodes, k...

Kamo·1w ago
Featurekamo-internal

Narrow rights for Saved Texts and the mortgage automation switches

MANAGE_SAVED_TEXTS opens Phone settings at the Saved Texts tab alone, and MANAGE_MLOS_AUTOMATION opens a Mortgage Automation Switches tab on Commerce settings. ...

Kamo·1w ago
FeatureVOIPService

Let MANAGE_SAVED_TEXTS read and change saved texts

/api/voip/sms/text-templates accepts the narrow MANAGE_SAVED_TEXTS right beside MANAGE_VOIP_SETTINGS for its writes, and beside ACCESS_VOIP for its reads, so a ...

Kamo·1w ago
FeatureSecurityService

Let MANAGE_MLOS_AUTOMATION open the mortgage automation switches

GET and PUT **************** now accept the narrow MANAGE_MLOS_AUTOMATION right beside MANAGE_SUBSCRIPTION_SETTINGS. Every other mortgage config endpoint keeps ...

Kamo·1w ago
Featurekamo-shared-library

Add MANAGE_MLOS_AUTOMATION and MANAGE_SAVED_TEXTS narrow settings rights

Two standalone roots (688-689) so the mortgage Automation tab switches and the Phone Saved Texts tab can be granted without MANAGE_SUBSCRIPTION_SETTINGS or MANA...

Kamo·1w ago
Otherkamo-internal

Profile hero: let the name keep its width on tablets

The row stayed nowrap from lg up, so the fixed-width action column squeezed the name to one letter per line. It now wraps, the name column has a 320px basis, an...

Kamo·1w ago
Fixkamo-shared-library

An updated invoice keeps its due date; an overdue one takes no new charges

Re-sending an updated invoice moved its due date forward, which quietly forgave what the customer already owed late. It now keeps its date and only restarts rem...

Kamo·1w ago
November 2, 2026
Performancekamo-internal

My Tasks shows each source as it lands, and asks for far less

Lead names come from one batch read (/leads/names) instead of a full lead read per task. Deals are read only when the Deal filter is opened, four leads at a tim...

Kamo·1w ago
PerformanceSecurityService

Several leads' names in one read, on the lead page's own rule

GET /api/security/leads/names?ids=: one findAllById for up to 100 leads, each through LeadViewGate, VIEW_LEADS to ask. My Tasks read a full lead per task (200-6...

Kamo·1w ago
FeatureKBService

A task notification opens My Tasks, under Organizer

The old /notes?task= address still reaches it by a 307 in kamo-internal.

Kamo·1w ago
Fixkamo-internal

The context column scrolls its cards instead of squeezing them

On a desktop the context column of MasterDetail has a fixed height and scrolls, but its grid rows were plain auto, which a fixed-height grid shrinks to the free...

Kamo·1w ago
Fixkamo-internal

My Tasks fills wide screens, says once what failed, and has its tests

The fourth column at 1800px sat inside a breakpoint object, where MUI ignores a media query. Tests for the Organizer rows, their gates, the palette's finds and ...

Kamo·1w ago
Featurekamo-internal

Organizer in the nav, and My Tasks shows every task assigned to me

Organizer is a new primary nav option holding My Tasks, Calendar, Contacts and Notes & Checklists, each row on the gate it had as an option, with the calendar's...

Kamo·1w ago
Featurekamo-internal

The org's SI by face and personality on every floor page, and no typed voice

- Email Triage: the typed Your Voice box is gone. Who Writes Your Drafts chooses your organization's SI (its own personality) or your own SI Assistant (the vo...

Kamo·1w ago
FeatureSecurityService

An SI's personality on the AI members read, so its work can say who it is

Each /team-members/ai-members row carries personality: the archetype's title and description in force for that SI, or null. One resolve per SI, each in its own ...

Kamo·1w ago
FeatureMCPGatewayService

Inbox tools say a draft is in the SI's own personality, or the owner's SI Assistant's voice

No more owner's voice profile: si_inbox_next carries the owner's name and placeholder, and their own SI Assistant's voice when they chose it. The parity snapsho...

Kamo·1w ago
FeatureAIService

A member's own SI Assistant voice, for email triage drafts

POST **************** answers the assistant's name and how it sounds, resolved from SI Assistant Settings through the same waterfall the chat reads. Email triag...

Kamo·1w ago
Featurekamo-internal

A Sales Floor kind members can mute on its own

SALES_FLOOR mirrors the Java kind (kamo-shared-library 3ea204a5): gated on VIEW_LEADS like EmailService, listed just before the lead callback, drawn with a head...

Kamo·1w ago
Featurekamo-internal

The System User reaches the SI floor's setup, as automation-service now allows

automation-service (5a6a287) lets god mode and the System User read and change SI settings and briefings, recorded each time. God mode already reaches the tab t...

Kamo·1w ago
TestSecurityService

A manager never sees the president through a reporting-line report

Pins ReportScopeResolver's reporting-line scope (the resolver change that precedes this commit): a president above a manager stays out of the manager's scope, p...

Kamo·1w ago
FeatureSecurityService

A report scoped by the reporting line gets the caller's line, whatever their rights

Owner, 2026-11-02: a generic right opens a report about people's activity and never widens its rows. For a definition marked scopedByReportingLine(), the resolv...

Kamo·1w ago
Featurekamo-shared-library

One org SI record, and drafts take their voice from an SI, never a typed profile

The org's SI is si_floor_settings.si_member_id alone: automation_outreach_settings no longer maps its own copy, so the Automation Streams page and SI settings c...

Kamo·1w ago
Featurekamo-shared-library

Floor Activity, each person's calls on their reporting line

A Report Studio report over the dial ledger, counted by DialTally so it can't disagree with the scoreboard: dials, conversations, confirmed conversations, conne...

Kamo·1w ago
Featurekamo-shared-library

The reporting line decides whose calls a screen shows

Owner, 2026-11-02: a generic right such as Manage the Call Floor opens a screen and never widens its rows. Adds the pieces both Report Studio and the floor pane...

Kamo·1w ago
FeatureSecurityService

A new role on a deal is a Sales Floor notice

The deal-role bell card goes out as SALES_FLOOR (kamo-shared-library 3ea204a5) instead of GENERAL, so a member who mutes the floor mutes it too, and one who mut...

Kamo·1w ago
FeatureEmailService

Sales Floor notices are gated on the Leads right

SALES_FLOOR (kamo-shared-library 3ea204a5) is gated on VIEW_LEADS: every owner, floor worker and deal-role holder holds it today, where a floor right would sile...

Kamo·1w ago
Featurekamo-shared-library

The sales floor gets its own notification kind

SALES_FLOOR, appended last, so a member can silence the floor (review items, stopped runs, the send queue, a stream's Notify step, deal roles, briefings and cap...

Kamo·1w ago
Fixkamo-internal

A refusal reads as the service's own sentence, with no retry

The floor screens treated a 403 as a failed load. They now show what the service said, and offer no retry because none can help. The TV board fits every column ...

Kamo·1w ago
Fixkamo-internal

Closeout: pages keep the nav's rights, the canvas tells the truth, and quieter sessions

Floor pages a typed address could reach now answer as the nav does, with a plain message, and a person a bell sent there still reaches what is theirs. The canva...

Kamo·1w ago
Fixkamo-shared-library

A stage move names itself, and a rate change can start a stream

A status set off a call wrote its contact attempt as a CALL, so a stage move into a Contacted stage read "Call · Conversation". The attempt now says STAGE_MOVE ...

Kamo·1w ago
FixSecurityService

A failed internal action says why in the log

Kamo·1w ago
Featurekamo-internal

Start leads in a stream, stream settings, state rules and people not to start

Start In Stream on the lead grid and on an import, stream settings on the canvas, the new step fields, State Rules and People Not To Start in Contact Rules, the...

Kamo·1w ago
Chorekamo-shared-library

Two files keep their line endings

Kamo·1w ago
Fixkamo-internal

What the live retest found

Pane titles wrap to two lines on a phone. The Media socket waits a moment before closing, so a page load doesn't open several in turn. The links to the lender's...

Kamo·1w ago
FeatureEmailService

Stream emails print the sender's and the org's NMLS and the equal housing mark

Saved and written stream emails alike, above the address and unsubscribe. Only for an org with an NMLS number.

Kamo·1w ago
FeatureSecurityService

Select leads by view or import, state rules, and a stream sets a lead field

An import records the leads it made. A read gives the ids a saved view, source or import stands for, under the grid's own floor, capped and timed. Contact rules...

Kamo·1w ago
Featurekamo-shared-library

A line for bulk starts, stream settings, state rules and a list of people not to start

New tables for the line, per-stream settings, state contact rules and the people list, a record of the leads an import made, a current rate on the lead, and new...

Kamo·1w ago
Fixkamo-shared-library

View Loan Revenue & Cost hangs off own loans

Hanging off the whole pipeline made the own-loans rule unreachable: a holder without View Mortgage Pipeline lost the right at sign-in.

Kamo·1w ago
November 1, 2026
Featurekamo-internal

Spoken words and notes for the caller look nothing alike, on every surface

ScriptBlockView is the one rendering: Say This is large in a solid frame, For You Only is small and set in, in a dashed tinted panel, with its own icon and word...

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