KamoCRM

Live Change Log

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

18,398
Total Changes
6,533
Features
5,537
Fixes
30
Projects
Filter by project
All Projects18,398AIService276APIService177BillingService161ConversionService117DaemonService146DocsService240ESigService93EmailService621InitializerService344KBService162KlusterServices769MCPGatewayService277MediaService620RAGService79SecurityService1,996TranslateService62VOIPService265VectorService11kamo-apps26kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,693kamo-login342kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,826kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild23CI525Chore794Docs3,286Feature6,533Fix5,537Other1,001Performance174Refactor281Revert23Style45Test175Upgrade1
October 28, 2026
FeatureSecurityService

Find a loan by borrower name or loan number

GET **************** — up to 20 (max 50) of the org's applications whose loan number starts with the digits typed or whose borrower's first, last or preferred n...

Kamo·2w ago
FeatureSecurityService

A person's denial starts the ECOA notice clock, when the lender tracks it

Only an automated-underwriting decoder armed the 30-day adverse-action clock, so a loan a person denied in Kamo never showed a notice owed on the Adverse Action...

Kamo·2w ago
Featurekamo-shared-library

LOAN_ADVERSE_ACTION_CLOCK — the ECOA notice clock for person-made denials is the lender's switch

Owner 2026-10-28: tracking the 30-day adverse-action notice for a loan a person denies in Kamo is one of the automation settings, off by default.

Kamo·2w ago
Featurekamo-internal

Bring a terminated SI back by setting its status to Active (TPSIREHIRE)

- A terminated SI's status is editable again; Active ('Brings this SI back') is confirmed first: the same SI, its history, personality, job description, mem...

Kamo·2w ago
Fixkamo-internal

SI, not AI, and the brand colour, not a fixed blue, in two mortgage views

The lead scenario insights card said "AI summary", pointed at a settings path that does not exist, and drew its info dots and summary box in a fixed blue; the d...

Kamo·2w ago
Fixkamo-internal

People and loans read as people and loans in the mortgage consoles

- Capital & Risk's closing forecast shows the full loan number (the application id) as a link to the loan, never "#<loan file id>" - the governance feed and d...

Kamo·2w ago
FixSecurityService

An edit never creates an older loan in the external MLOS

Any successful write under /mortgage-apps/{uid} queues an outbound sync, and a loan with no link was then created in the provider whatever its age — so editing ...

Kamo·2w ago
Featurekamo-shared-library

Bounded loan-file queries — the working pipeline and a per-status count

**************** (unarchived, in the given statuses) and countByStatusForOrganization (GROUP BY in the database), for callers that used findByOrganizationId to ...

Kamo·2w ago
Featurekamo-internal

Google Home section beside Alexa, and Google links on the profile card

Settings -> Devices (IoT) -> Connections gains a Google Home section (GET /api/iot/voice/google; not enabled or missing = a calm coming-soon card with the test-...

Kamo·2w ago
FixMCPGatewayService

The on-behalf log flags patient information only for patient-record tools

Live: every notifications read was flagged as patient information (notifications_list is phiSensitive in general). The member-facing flag now follows the tool's...

Kamo·2w ago
Fixkamo-shared-library

A final outcome set in Kamo obeys "push stage from Kamo" too

With the setting off, a person marking a loan denied or withdrawn in Kamo still sent ADVERSE_LOAN to Arive. Off now means nothing a person does to the status in...

Kamo·2w ago
FeatureVOIPService

A re-hired SI gets its old extension back when it is still free (TPSIREHIRE)

Re-provisioning a RETIRED line on the same phone server prefers the line's previous extension when nobody has taken it since; otherwise the next free one in the...

Kamo·2w ago
FeatureSecurityService

The KamoUniverse Assistant skill's client always makes a personal Alexa link

A second Alexa skill (custom only, so Alexa voice profiles work) links through Kamo OAuth client iot.alexa.assistant (same IOT_ALEXA purpose, same vendor redire...

Kamo·2w ago
FeatureMCPGatewayService

MLOS tool writes carry the approval they run on

So SecurityService can tell a person's approval or order from an SI's own initiative, which the lender may have switched off (LOAN_SI_CHANGES).

Kamo·2w ago
Featurekamo-internal

"What Kamo does on its own" — the lender's automation switches on the Automation tab

One switch per message and loan change Kamo can make by itself, in three groups (messages to borrowers, messages to your team, changes to loans), each off until...

Kamo·2w ago
FeatureSecurityService

Every automatic MLOS email and loan change waits for the lender's switch

A lender running its loans in another loan origination system (Harmony with Arive) must not have Kamo writing to its borrowers or changing its loans on top of t...

Kamo·2w ago
Featurekamo-shared-library

Automation switches — every action Kamo takes on its own is the lender's choice, off by default

MlosAutomationAction lists each message and loan change the MLOS makes without a person choosing it (borrower emails, team alerts, checklist building, document ...

Kamo·2w ago
FixMCPGatewayService

Wake-up list carries ids, cancel one by id, never ask for a confirmation (TPWAKEUP)

Owner live test 2026-10-28: the SI asked him to approve before removing a duplicate wake-up. The tools say anyone may list and cancel for any number with no con...

Kamo·2w ago
FixMCPGatewayService

Today:true answers only today's figures

Live (sp00verify 07:58Z): with today:true the answer carried receivedToday 0 beside the all-time total 12, and the SI reported 12. A today answer now holds rece...

Kamo·2w ago
FeatureSecurityService

A terminated SI set back to Active is re-hired as the same SI (TPSIREHIRE)

Owner 2026-10-28: terminated SIs are re-activatable like people. Active on a terminated SI's status now runs AiLifecycleService.rehire after the rest of the sav...

Kamo·2w ago
FixSecurityService

An empty PKCE pair is no PKCE, so Google Home can link without it

kamo-login forwards parameters the client did not send as empty strings; the authorize check took "" as a challenge and told Google (require_pkce off, sends no ...

Kamo·2w ago
Featurekamo-shared-library

AI_REHIRED access-log event for a terminated SI set back to Active (TPSIREHIRE)

Appended last: event_type is VARCHAR(30), STRING-persisted, with no CHECK, so no DDL.

Kamo·2w ago
Fixkamo-internal

IoT copy check lets the two spoken Alexa invocation phrases quote the skill names

Run 2121 (and every kamo-internal build since 884f36c2c) failed check-iot-copy: the Voice assistants card quotes "Alexa, ask Kamo Universe …" and "Alexa, ask Ka...

Kamo·2w ago
Featurekamo-login

Consent for Google Home — every sentence names the assistant being linked

The iot.google client (purpose IOT_GOOGLE) gets its own wording: "Link Kamo to Google Home", "What can Google Home use?", default link names "Google Home" / "<F...

Kamo·2w ago
FeatureSecurityService

Google Home account linking — an IOT_GOOGLE principal provider and Google's redirect URIs

IOT_GOOGLE is the Alexa voice-link provider with assistant GOOGLE on I-A1/I-A2 (one link table in IoTService). The client admin takes a Google Cloud project id ...

Kamo·2w ago
FeatureMCPGatewayService

Notifications_list today:true counts what arrived today in the owner's zone

TPONBEHALF live check (sp00verify 2026-10-28 07:27Z): asked "how many notifications did I get today?", the SI read the member's own account correctly (on behalf...

Kamo·2w ago
Featurekamo-shared-library

One voice-link model for Alexa and Google Home (assistant column, IOT_GOOGLE OAuth client purpose)

iot_alexa_links.assistant = ALEXA | GOOGLE (applied by hand from iot-service **************** default ALEXA) and the OAuth client purpose IOT_GOOGLE for "Works ...

Kamo·2w ago
Featurekamo-internal

Done on your behalf — what SI teammates did through your own account

TPONBEHALF (owner 2026-10-28): when someone an SI reports to asks it for something of their own ("How many notifications did I get today?"), the SI works on the...

Kamo·2w ago
Featurekamo-internal

Voice assistants card explains the two Alexa skills and how a shared Echo learns your voice

"Which Alexa skill?": KamoUniverse (devices + your SI Assistant on your own Echo, "Alexa, ask Kamo Universe …") beside KamoUniverse Assistant (your own assistan...

Kamo·2w ago
Featurekamo-login

Consent for the KamoUniverse Assistant skill, and the decision route forwards whose link it is

Client iot.alexa.assistant (the second, assistant-only Alexa skill) always links "Just me": no owner cards, no place, no "What can Alexa use?", no routines; a d...

Kamo·2w ago
Featurekamo-internal

Easter eggs settings tab, wake-up calls first (TPWAKEUP)

Owner order 2026-10-28: /settings/ai?tab=easter-eggs (menu entry + landing card; SI workforce + VIEW/MANAGE_AI_WORKFORCE): every easter egg of the registry with...

Kamo·2w ago
FeatureMCPGatewayService

OnBehalfOf — an SI acts through its higher-up's own account on their authenticated request

TPONBEHALF (owner 2026-10-28): Sage asked Luna how many notifications HE got today and she could only read her own. On an authenticated request from anyone up t...

Kamo·2w ago
FixKlusterServices

V1.13.10, a room reaper and leak watchdog, metrics and alerts, no roll under live calls

livekit-server v1.13.7 kept 202 closed participants of 176 closed rooms alive (their publisher transport's StreamAllocator polled a closed ICE agent every 15 s,...

Kamo·2w ago
FixEmailService

Voice quiet hours are a partial update and switching them off keeps the member's hours

PUT **************** wrote quietEnd = quietStart to mean 'off', so turning quiet hours off, or saving without quietEnd, lost the member's end, and turning them ...

Kamo·2w ago
Fixkamo-internal

Serve /api/ai/assistant/** — the settings window could never load

The SI Assistant's client called /api/ai/assistant/... but kamo-internal had no route there, so every call (settings, held actions, memory, tool areas, the org ...

Kamo·2w ago
Featurekamo-shared-library

Voice quiet hours have their own on/off flag

**************** (applied by hand, nullable, null = on), so switching voice quiet hours off and on keeps the member's own start and end.

Kamo·2w ago
FeatureSecurityService

An SI may act through its higher-up's own account on their authenticated order

TPONBEHALF (owner 2026-10-28), the NO INSUBORDINATION RULE extended: on an authenticated direct order, the SI may use everything the requester can do under thei...

Kamo·2w ago
Featurekamo-shared-library

SiOnBehalfAction, the append-only log of what an SI did through a member's own account

TPONBEHALF (owner 2026-10-28): on an authenticated direct order from anyone up its chain of command, an SI may act through the ordering member's own account; ev...

Kamo·2w ago
FeatureSecurityService

A short member session for the member speaking on an Alexa link, and voice turns as order references

Voice Assistant R3: POST **************** {orgId, memberId, linkId, grantId} -> {***, expiresAt} (X-Internal-Auth = IOT_INTERNAL_AUTH_SECRET). Minted only for a...

Kamo·2w ago
Featurekamo-internal

Status tabs with counts, Terminate/Activate instead of Delete, and an SI terminated like anyone

- /account?tab=team-members: tabs by employment status with counts (All Statuses first, Active the default), from SecurityService's grouped count, narrowed ...

Kamo·2w ago
FeatureAIService

A Speaches sentence is said clause by clause, so its first audio comes after its first clause

Luna), but Speaches' Kokoro/Piper make each request whole before the first byte (~0.6 s + 25 ms a character on k3m1), so an SI with an in-cluster voice (sp00ver...

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