KamoCRM

Live Change Log

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

17,650
Total Changes
6,071
Features
5,339
Fixes
30
Projects
Filter by project
All Projects17,650AIService260APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService586InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService604RAGService79SecurityService1,872TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,411kamo-login340kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,678kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore775Docs3,257Feature6,071Fix5,339Other998Performance165Refactor278Revert23Style42Test162Upgrade1
October 28, 2026
FeatureSecurityService

An added member's welcome lets them set their first password

A member an administrator adds has no password, so the plain WELCOME's Sign in button led nowhere. Send WELCOME_SET_PASSWORD instead when the account has no pas...

KamoΒ·7h ago
FeatureSecurityService

My Bill β€” an organization owner's own bill from the seller's ledger

GET /api/security/pos/my-billing answers the owner's state (current, due, overdue), open invoices, the estimated next renewal, past invoices, the seller's remit...

KamoΒ·8h ago
FixSecurityService

Mark the adverse-action clock's Spring constructor, so SecurityService boots

With a second (test) constructor and neither marked, Spring looked for a no-argument one and the new pods crashlooped; the older pods kept serving.

KamoΒ·8h ago
FixSecurityService

Pricing, capital and servicing policy tabs load before a first version is published

GET **************** built its body with Map.of("active", <active or null>, "history", ...). Map.of refuses null, so for any organization that had not published...

KamoΒ·9h ago
FeatureSecurityService

Read one SI decision for its review trail

GET **************** what the SI decided, why, how sure it was, the stage and function, the gate's result, and the loan it is on β€” only for a decision on one of...

KamoΒ·13h ago
FeatureSecurityService

Name loans by borrower and loan number from their loan-file ids

GET **************** (at most 200): borrower name and loan number (the application id) for each, staff only, own-loans aware. For the consoles that only hold lo...

KamoΒ·14h ago
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Β·14h 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Β·14h 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Β·21h 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Β·22h 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Β·22h 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Β·22h 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Β·22h 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Β·23h 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Β·1d 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Β·1d ago
FeatureSecurityService

Enforce own-loan access; Team Members default to their own loans

MLOS endpoints now tell apart members who see all of the organization's loans (View Mortgage Pipeline, or god mode) from members who hold only View Own Mortgage...

KamoΒ·1d ago
FeatureSecurityService

The Alexa consent carries whose link it is, the place and "What can Alexa use?" to IoTService

Voice Assistant program (P1-6, P2-8, P5-3): LinkChoice gains ownerKind (ORG | MEMBER), siteId and grantChoice, shape-checked here and judged by IoTService; the ...

KamoΒ·1d ago
FeatureSecurityService

Owner and administrator changes follow one set of rules; another member's avatars are theirs

Leadership (OrgLeadershipService): - GET/PATCH **************** for the profile page. - PATCH .../access owner changes go through the same rules (an administrat...

KamoΒ·1d ago
FeatureSecurityService

Terminate an SI from its status, status counts, no deletes on /account

- An SI's Terminated status runs the SI retire lifecycle after the rest of the save (runs stopped, phone line, seat and licence released, credential and ses...

KamoΒ·1d ago
FixSecurityService

The endpoint ratchet sees the patient-SMS relay's internal-auth guard

**************** flagged **************** and .receipt (29e22ca7) as endpoints that resolve no session. They are server-to-server (VOIPService -> SecurityServic...

KamoΒ·1d ago
FeatureSecurityService

Members holding the Administrator role can edit its rights

PUT /api/security/roles/{id} routes the Administrator role's rights through **************** BEFORE any other write so a refused save writes nothing. Only a cal...

KamoΒ·1d ago
FeatureSecurityService

Loan officer and investor pickers for the Mortgage Lending reports, proven on the fleet's Hibernate

- mortgageLoanOfficers: members assigned as loan officer on at least one of the organization's deals (narrower than every member, so the picker lists names th...

KamoΒ·1d ago
FeatureSecurityService

Seed the ten Mortgage calculator rights from CALC_SIMPLE

Whoever can open the calculator today finds Calculator -> Mortgage on the boot that adds CALC_MORTGAGE_* (shared-lib 1ae01ae8); each is then granted or withdraw...

KamoΒ·1d ago
October 27, 2026
FeatureSecurityService

A meeting line a signed-in supervisor said is an order the Tool Plane may lend on (meet:<turn id>)

TPMEETAUTH (owner order 2026-10-26): in Kamo Meet a signed-in supervisor's request is their direct order (No Insubordination union). The Tool Plane verifies the...

KamoΒ·2d ago
October 26, 2026
FixSecurityService

An order may be a teammate's proven email or a request they confirmed in Kamo

The Tool Plane now verifies orders given by a teammate's own email (email:<folder>/<uid> or the wake's email:<mailbox>|<folder>|<uid>) and by a request the memb...

KamoΒ·2d ago
FixSecurityService

A generated personality keeps everything the SI already holds

Only an earlier generation's items, named by id and still marked as drafted, are replaced; a configure-assistant draft or a person's item stays, and a generated...

KamoΒ·2d ago
FeatureSecurityService

Apply a generated personality to an SI's own charter, around what people set

Voice realism VR2, owner decision D2: every SI gets a unique, job-fit personality, generated from its own work. kamoai-service drafts it; this internal endpoint...

KamoΒ·2d ago
FixSecurityService

Never push a stage to the external MLOS that the sync itself wrote

The Arive import walks a loan through Kamo's pipeline one step at a time; the 20s sync tick saw each half-walked status as a Kamo change and sent it to Arive, r...

KamoΒ·2d ago
FixSecurityService

Never send exception text (SQL included) to the browser

BaseLosController.error() put e.getMessage() in every 500 body; the pipeline page showed a full JDBC statement. The exception now goes to the log under a short ...

KamoΒ·2d ago
FixSecurityService

Pipeline reads retry on a Yugabyte read restart instead of failing the page

"We couldn't load the pipeline (JDBC … Restart read required)" appeared at random while the Arive import was writing loans. The deal and loan list reads are pur...

KamoΒ·3d ago
FeatureSecurityService

Kamo holds every Arive loan, at the status Arive really has it

- import and inbound events adopt every loan β€” open, funded, adverse or archived β€” instead of only "active" ones - no per-loan Get Loan or crmReferenceId stam...

KamoΒ·3d ago
October 25, 2026
FixSecurityService

Retry the import's progress write on a Yugabyte read restart

The first live import stalled at RUNNING after page 1: saving the connection loads the org's domains, Yugabyte answered 40001, and the failure write hit the sam...

KamoΒ·3d ago
FeatureSecurityService

Mirror every loan application to the market's external MLOS, both ways

Arive and MeridianLink connect to the MORTGAGE (MLOS) market instead of a lead market, and sync loan applications instead of leads. - LoanLosSyncService: queue...

KamoΒ·3d ago
FixSecurityService

Billing write service starts again β€” the constructor keeps its @Autowired

The terminology commit inserted the code-checker field between @Autowired and the constructor, so the annotation moved onto the field and Spring found three una...

KamoΒ·3d ago
FeatureSecurityService

Coded terminology β€” RxNorm, ICD-10-CM, CVX and HCPCS loaded from their publishers; pickers, real code checks, and the ONC high-priority interaction screen

Loaders (ehr.terminology): RxNorm Current Prescribable Content (NLM, MD5 verified against NLM's page; **************** drug->ingredient resolved through compone...

KamoΒ·3d ago
FeatureSecurityService

Patients can be texted and e-mailed from the chart β€” consent first, reminders, video visits, recall messages

- One consent-gated door **************** for chart messages, reminders, video links, recall messages and confirmation replies: the patient's own consent per ...

KamoΒ·3d ago
FeatureSecurityService

Electronic prescribing through Weno Exchange EZ Integration

- ErxTransport vendor seam (UnconfiguredErxTransport default, WenoErxTransport first network) - Practice eRx account (MANAGE_EHR_SETTINGS): network, TEST/LIVE w...

KamoΒ·3d ago
FeatureSecurityService

837P claim files for hand upload, 999/277CA acknowledgements and 835 ERA review and posting

No clearinghouse contract exists, so practices upload X12 files to a portal by hand. This builds that path end to end: - 837P (005010X222A1) for one or many re...

KamoΒ·3d ago
October 24, 2026
FeatureSecurityService

Billing can read a patient's desk payments and reprint a receipt

Voiding a desk payment needs MANAGE_CLAIMS or POST_INSURANCE_PAYMENTS, but listing them and reading a receipt needed BOOK_APPOINTMENTS β€” a biller could void a p...

KamoΒ·4d ago
FeatureSecurityService

Visits and notes a practice can run on β€” safe autosave contract, walk-ins, documents, printouts

Notes - Reads return the current text (original after addenda), author/cosigner names and exact id keys; GET /notes/{id} re-reads one note, audited. - Only th...

KamoΒ·4d ago
FeatureSecurityService

Front-desk registration tier, contact details, MRN assignment, search, coverage writes

- **************** members holding CREATE_PATIENTS, EDIT_PATIENT_DEMOGRAPHICS, BOOK_APPOINTMENTS or MANAGE_CLAIMS open a patient's REGISTRATION record without...

KamoΒ·4d ago
FeatureSecurityService

A patient's care gaps carry the measure's name and when it was computed

The chart's care-gap card shows 'Breast Cancer Screening', never a measure id, and keeps the newest result per measure.

KamoΒ·4d ago
FeatureSecurityService

Chart write paths β€” allergies/NKDA/review, problems, visit diagnoses, vitals, outside meds, results and review; order loop closure fixes

- ChartEntryController/Service: add allergy (reaction, severity, criticality, onset), record NKDA, mark allergy list reviewed (ClinicalListReview), **********...

KamoΒ·4d ago
FeatureSecurityService

A front desk that runs a real clinic day

- Practice clock (practice time zone, else the organization's): every day window is the practice's, never UTC; settings + rooms endpoints (/schedule/practice)...

KamoΒ·4d ago
FeatureSecurityService

Real refusals, break-glass review decisions, honest claim sending, hand-keyed EOBs

- EhrRuleViolationException: a business-rule refusal (unsigned note at close, double booking, not the author/cosigner, self-cosign, already signed, restrict...

KamoΒ·4d 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