KamoCRM

Live Change Log

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

17,395
Total Changes
5,910
Features
5,260
Fixes
30
Projects
Filter by project
All Projects17,395AIService242APIService174BillingService157ConversionService110DaemonService137DocsService223ESigService91EmailService568InitializerService329KBService151KlusterServices738MCPGatewayService235MediaService592RAGService79SecurityService1,830TranslateService62VOIPService248VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,328kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,637kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore773Docs3,252Feature5,910Fix5,260Other993Performance165Refactor278Revert23Style42Test159Upgrade1
July 19, 2026
FeatureAIService

Outbound triggers, scheduler and web-chat dispatch

Makes the outreach spine actually fire. The gate, contact state, consent and audit already existed; nothing caused a touch to be evaluated. - NATS enabled for ...

Kamo·3mo ago
Featurekamo-internal

Required-text editor; dedupe AI general settings; fix model toggle

Adds an editor for org-wide required opening/closing text - the compiler and columns existed but nothing could set them, so the capability was dead. Copy states...

kamo·3mo ago
FeatureAIService

Persist org-wide required text and apply it immediately

AiOrgSettings gained forcedPreamble/forcedFooter and SalesAgentCompiler already folds them into every agent, but the settings controller neither read nor wrote ...

Kamo·3mo ago
Featurekamo-internal

Full-page AI Sales Agent studio, replacing the modals

The agent editor was a ~800px MUI Dialog whose entire surface was a 10-row textarea, on the one AI tab that used a dialog at all. It is now a dedicated route, a...

kamo·3mo ago
FeatureAIService

Sales-agent compiler, versioning, outreach gate; fix tool replay

Structured agent config compiles to the system prompt, freezes per published version, and gains the gate an agent must pass before initiating contact. Compiler...

Kamo·3mo ago
Featurekamo-shared-library

Structured sales-agent config, version spine and outreach state

Replaces the single training-context blob with a structured, versionable agent model, and adds the per-contact spine an agent needs before it may initiate conta...

Kamo·3mo ago
July 18, 2026
Featurekamo-internal

AI Sales Agents tab + per-channel agent assignment

Builds out /settings/ai?tab=sales-agents (was a stub): orgs create agents for their sales industry, either from a built-in template or by writing the training c...

kamo·3mo ago
FeatureSecurityService

Enrich borrower chat routing + capture subject-property state

chat-routing now returns the assigned officer's NMLS, title, photo, phone, email and whether they hold a valid license for the subject-property state, plus the ...

Kamo·3mo ago
FeatureMediaService

Assign a sales agent per channel + report LO availability

- WebChatIntegration CRUD threads salesAgentId (null clears the assignment) - lo-presence now returns the member's availabilityStatus alongside online, so the ...

Kamo·3mo ago
FeatureAIService

Sales-agent CRUD, mortgage template, and agent-driven chat prompt

- AiSalesAgentController (/api/ai/sales-agents): org-scoped CRUD + GET /templates - SalesAgentTemplateRegistry: built-in starter templates, beginning with a m...

Kamo·3mo ago
Featurekamo-shared-library

SalesAgent entity + per-channel agent assignment

Org-configurable AI sales agents: a named agent for a sales industry, programmed with a training context the org authors (from a template or by hand), assignabl...

Kamo·3mo ago
FeatureSecurityService

Auto-provision platform-managed MLOS chat + serve site key by host

- ManagedChatIntegrationService: lazily mint the org's platform-managed SPECIFIC_AGENT WebChatIntegration on first access. KamoMLOS is first-party: org resolv...

Kamo·3mo ago
FeatureMediaService

Verify routing token, persist leadUid, reassign chat on lead move

- createSupportSession takes a signed routingToken (not preferredAgentMemberId); verified via ChatRoutingTokenCodec + cluster internal.auth.secret, enforces ...

Kamo·3mo ago
Featurekamo-shared-library

Signed agent-routing token + lead-reassignment propagation

Foundation for making the reusable public-chat widget handle the KamoMLOS borrower->loan-officer variant securely, and for propagating lead reassignment into an...

Kamo·3mo ago
FeatureSecurityService

Expose vision capability so the console can explain a missing provider

PDF rate sheets are read by the org's configured vision provider. When none is configured the AI call fails the same way a model error does, so the console had ...

Kamo·3mo ago
FeatureAIService

Inline image vision + tier fallback that prefers stronger over weaker

Two limits made org-configured vision unusable for whole classes of caller. 1. Vision was URL-ONLY. Every caller had to stand up public, provider-fetchable ser...

Kamo·3mo ago
Featurekamo-internal

Split Devices into "Phone System(s) Devices" + "Mobile Devices"

The Devices tab now has two sub-tabs. The existing PBX/softphone hardware table moves under "Phone System(s) Devices" unchanged; the new "Mobile Devices" tab M...

kamo·3mo ago
FeatureSecurityService

Org-admin endpoints for mobile device policy + enrolled devices

Backs the new "Mobile Devices" sub-tab under Settings → Features → Phone → Devices (its sibling "Phone System(s) Devices" stays on VOIPService and covers - GET...

Kamo·3mo ago
Featurekamo-internal

Ingestion panel accepts spreadsheets, not just CSV

The extractor now reads .xlsx/.xls and sniffs the format from the file itself, so the picker no longer restricts to CSV and the copy says plainly what is readab...

kamo·3mo ago
Featurekamo-internal

Steward Ingestion tab + the Catalog/Identifier proxy routes that were missing

Rate-sheet ingestion existed end-to-end in the backend and none of it was reachable. This adds the one surface that walks the whole chain: upload an investor's ...

kamo·3mo ago
Featurekamo-shared-library

CATALOG_SOURCE assoc type for MLOS catalog source documents

Investor rate sheets / LLPA + eligibility matrices / lock policies need somewhere to live: the ingest extracts from the blob, and the published rate-sheet versi...

Kamo·3mo ago
FeatureSecurityService

Gateway for candidate review + rate-sheet promotion

Exposes the two new catalog promotion writes to the steward console under the existing MLOS steward gate, with organizationId server-stamped from the operator s...

Kamo·3mo ago
Featurekamo-shared-library

MobileDevicePolicy — org default + per-member override

personal phone or must be on a company-managed (Android Device Owner enrolled) device: - MobileDevicePolicy enum: PERSONAL_ALLOWED | COMPANY_MANAGED_REQUIRED. ...

Kamo·3mo ago
FeatureSecurityService

Steward gateway for ingestion (intake + staging area were unreachable)

MLOSIngestionService had no gateway presence, so no tenant could hand a rate sheet to the extractor and the candidates it stages had no reader on any reachable ...

Kamo·3mo ago
Featurekamo-internal

Steward Identifiers tab — resolve an external number to its loan

New Identifiers tab in the mortgage steward console: paste an external number (loan number, MERS MIN, DU/LP/GUS case file, e-sign envelope...) and resolve it ba...

kamo·3mo ago
FeatureSecurityService

Identifier gateway — steward can resolve an external number to its loan

MLOSIdentifierService had no gateway, so the typed identifier plane (the routing gate every inbound vendor/agency/AUS/e-sign callback uses) was unreachable from...

Kamo·3mo ago
Featurekamo-shared-library

Value-keyed AUS case-file + e-sign envelope finders for identifier owner-delegation

Completes the owner-column lookups the MLOS identifier plane needs to route inbound callbacks: **************** (DU/LP/GUS run handle) and **************** Both...

Kamo·3mo ago
Featurekamo-shared-library

Value-keyed loan-identity finders for identifier owner-delegation

The MLOS identifier plane resolves an inbound vendor/agency callback back to a loan; for OWNED_ELSEWHERE types the authoritative value lives on the OWNER's colu...

Kamo·3mo ago
Featurekamo-shared-library

CONDITION_ADDED / CONDITION_CLEARED canonical email templates

The borrower-facing half of the conditions loop: two generic checklist templates for the new condition notification consumer. Added to CANONICAL_KEYS with their...

Kamo·3mo ago
July 17, 2026
FeatureSecurityService

Public pre-auth trial-status endpoint for login/register pill

GET **************** resolves the org by hostname (alias-fallback) and reports whether its account is in an active native trial, reusing **************** (now p...

Kamo·3mo ago
Featurekamo-register

Show TRIAL USE ONLY pill above Powered-by for trial orgs

Refactors PoweredByKamo into a fixed column stack and self-fetches /api/trial-status/{host} (proxy to SecurityService public trial-status endpoint), rendering a...

Kamo·3mo ago
Featurekamo-login

Show TRIAL USE ONLY pill above Powered-by for trial orgs

Self-fetches /api/trial-status (proxy to SecurityService public trial-status endpoint, resolved by login host) and renders an amber pill above the Powered-by pi...

Kamo·3mo ago
Featurekamo-internal

View third-party (loan) documents in the steward requirements review

A steward reviewing a THIRD_PARTY requirement (appraisal/title/flood) can now open the satisfying document. New binary Next.js route streams the per-loan authz'...

kamo·3mo ago
FeatureSecurityService

Per-loan third-party (LOAN) document viewer — appraisal/title/flood

Completes the doc-review byte path started with the vault viewer. LOAN-collection imgs (appraisal/title/flood) are refused by the generic imaging endpoints (per...

Kamo·3mo ago
Featurekamo-internal

View/Download vault documents in the account docs tab

Turns the conditions/docs stage into a real review loop. The member-documents proxy route now passes through non-JSON (binary) upstream responses instead of tex...

kamo·3mo ago
FeatureSecurityService

Per-party vault document viewer — bytes were write-only, now review-able

Uploaded vault documents (pay stub / Gov ID / bank statement) were write-only: the generic imaging byte endpoints refuse ACCOUNT_MEMBER_VAULT (per-party PII loc...

Kamo·3mo ago
Featurekamo-internal

Steward Catalog tab — seed a priceable bundle + inspect the catalog

New Catalog tab in the mortgage steward console: seed a tenant's first priceable bundle with REAL investor + product identities (unblocks pricing), and inspect ...

kamo·3mo ago
FeatureSecurityService

Catalog gateway — the missing proxy that blocked tenant pricing

Catalog was the ONLY MLOS bounded context with no SecurityService gateway, so a tenant's catalog could never be authored/seeded from the console and BorrowerQuo...

Kamo·3mo ago
Featurekamo-internal

Loan-sale desk UI — the terminal capital-markets steward screen

LoanSaleDeskPanel in the Capital & Risk Command Center: list investor delivery commitments (status filter), open a commitment **************** and per-commitmen...

kamo·3mo ago
FeatureDaemonService

Durable consumer forwards investor purchase to loan-file FUNDED

MlosLoanFundedConsumer subscribes **************** (durable daemon-mlos-loan-funded) and forwards each purchase to SecurityService's /funded pipeline endpoint v...

Kamo·3mo ago
FeatureSecurityService

Loan-sale desk proxy + CLOSED->FUNDED pipeline seam

- **************** generalized the eClose seam to a shared advance() + added POST /funded (CLOSED -> FUNDED on investor purchase). Same idempotent/at-least-on...

Kamo·3mo ago
Featurekamo-shared-library

Commitment boardedAt + loan-funded event type (loan-sale desk)

- MlosCommitment.boardedAt: in-system marker for a PURCHASED commitment's loans boarded to servicing (the external servicing-system handoff is the blocked leg...

Kamo·3mo ago
Featurekamo-shared-library

Commitment/loan-sale desk entities (runtime consumer for the shipped investor config)

Slice 2 foundation for the capital-markets loan-sale desk (doc 08) — the terminal origination stage. The shipped **************** had NO runtime consumer; these...

Kamo·3mo ago
FeatureDaemonService

Durable consumer forwards eClose completion to the loan-file pipeline

The DaemonService half of the eClose -> loan-file status seam. New MlosClosingCompletedConsumer subscribes **************** (durable daemon-mlos-closing-complet...

Kamo·3mo ago
FeatureSecurityService

EClose completion advances the loan-file status machine (CLEAR_TO_CLOSE -> CLOSED)

Closes the terminal lifecycle seam: a fully executed/notarized/sealed eClose package emitted **************** but NOTHING consumed it, so the loan sat at CLEAR_...

Kamo·3mo ago
Featurekamo-shared-library

ClosingArtifact provenance = one-time null->value stamp (enables after-commit eClose dispatch)

Splits the ClosingArtifact @PreUpdate WORM guard so the eClose vendor dispatch can move OUT of the assemble/advance transaction (doc 05 §6): the node commits FI...

Kamo·3mo ago
Featurekamo-internal

Per-loan lock recommendation on the lock desk

Surfaces the RCE lock-vs-wait recommendation (Lock / Lock-with-steward-override / Do-not-lock) with rationale + a 'model uncalibrated -> steward decides' note w...

kamo·3mo ago
FeatureSecurityService

Proxy the per-loan lock recommendation (read-only)

GET **************** (operator+org gated, org server-stamped) -> the RCE per-loan LOCK/WAIT/BLOCKED recommendation. The commit stays the existing human /locks a...

Kamo·3mo ago
Featurekamo-internal

EClose vendor categories on the integrations tab (RON/eNote/eVault/MERS)

Surfaces the four notarized-leg categories with their vendor options (Proof/ DocuSign Notary, DocMagic/Snapdocs, eOriginal/DocMagic, MERS eRegistry/DocMagic) so...

kamo·3mo ago
Featurekamo-shared-library

EClose vendor categories (RON/ENOTE/EVAULT/MERS) + artifact-by-externalRef finder

- VendorCategory gains the four notarized-leg rails so the integrations tab can configure a per-org RON/eNote/eVault/MERS vendor (additive STRING enum, no CHE...

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