KamoCRM

Live Change Log

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

17,500
Total Changes
5,986
Features
5,284
Fixes
30
Projects
Filter by project
All Projects17,500AIService251APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService576InitializerService329KBService151KlusterServices740MCPGatewayService251MediaService602RAGService79SecurityService1,847TranslateService62VOIPService249VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,349kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,657kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore774Docs3,254Feature5,986Fix5,284Other994Performance165Refactor278Revert23Style42Test160Upgrade1
July 9, 2026
FeatureSecurityService

Process member uploads like org bg + gate by new rights

- New ImageResizeClient runs member background uploads through the SAME post-processing as org backgrounds (POST **************** and stores the result as ....

Kamo·3mo ago
FeatureSecurityService

Notify the assigned loan officer when a loan's borrower docs are all received

Fires LOAN_DOCS_READY_LO at the satisfy points alongside the borrower DOC_COMPLETE. Resolves the LO via loanFile -> **************** -> Member; self-guarded to ...

Kamo·3mo ago
FeatureSecurityService

Vault upload can deal-scope a document (loanTransactionId)

The vault upload now accepts an optional loanTransactionId, stamped onto the MemberDocument so a time-sensitive doc (credit report / bank statement) can be boun...

Kamo·3mo ago
FeatureSecurityService

Freeze the originator snapshot at initial Loan Estimate (Reg Z/TRID)

Completes the originator lifecycle: a shared resolveProjection() now feeds BOTH the live read projection and the freeze (no drift). On issuing an INITIAL_LE dis...

Kamo·3mo ago
FeatureSecurityService

Surface transactionNumber on TransactionSummaryDTO (pipeline Transaction #)

The per-transaction pipeline row now carries the human transaction number. Verified: mvn compile clean.

Kamo·3mo ago
FeatureSecurityService

Originator projection resolves the per-state license

Completes the live originator projection: the assigned LO's StewardLicense (NMLS_MLO) for the SUBJECT PROPERTY's state (from property.address.subdivision, norma...

Kamo·3mo ago
FeatureSecurityService

Live originator projection — org + assigned LO, on read

GET /mortgage-apps/{uid} now overlays a LIVE, system-managed originator projection (computed on read, never stored) unless the row is frozen: org name/NMLS/addr...

Kamo·3mo ago
FeatureSecurityService

Transaction-level loan-officer assignment + transaction number

ensureTransactionForApp now stamps an org-unique transactionNumber (TXN-<uid>). New **************** + PUT /mortgage-apps/transactions/ {uid}/loan-officer sets ...

Kamo·3mo ago
July 8, 2026
FeatureSecurityService

Persist mapped Material ID on manual import + API intake

Both setDirectFieldOnCreateRequest switches lack a default case, so an unmapped systemFieldPath is silently dropped. Add a materialId case to the manual-import ...

Kamo·3mo ago
July 7, 2026
FeatureSecurityService

KamoDesktop SSO token endpoint for god members

GET **************** (god-eligible only) mints a 5-minute guacamole-auth-json token (HMAC-SHA256 + AES-128-CBC, per the extension's wire format) and returns an ...

Kamo·3mo ago
FeatureSecurityService

Lead callback endpoints (schedule/list/resolve)

New **************** controller + service: persists the callback, posts scheduling/outcome notes into the lead's media stream, and mirrors the callback onto the...

Kamo·3mo ago
FeatureSecurityService

Enforce lead contact-info privacy rights

getAllLeads now returns the lean LeadListDTO and hides unassigned leads from members without VIEW_UNASSIGNED_LEADS. getLeadById masks contact info (state preser...

Kamo·3mo ago
FeatureSecurityService

/team creates a TEAM_MEMBER (PROSPECT), /member creates a MEMBER

Public registration now honors the memberType the register site sends (from the /member vs /team path): /team creates a TEAM_MEMBER — as PROSPECT, so an admin m...

Kamo·3mo ago
July 6, 2026
FeatureSecurityService

Expose team-member work phone extension in team-members-contractors

The /leads Agent filter needs the work-phone extension to label options as "Name (ext 8080)". The extension already exists on TeamMember (getPhoneWorkExtension)...

Kamo·3mo ago
FeatureSecurityService

New child orgs inherit their parent's securityProvider

When creating a child org from kamo-internal, set the new org's securityProvider to the parent org's securityProvider (the org it's created under) instead of le...

Kamo·3mo ago
FeatureSecurityService

Reuse existing users, mirror to securityProvider, gate team-member sign-in

Reuse (no duplicate accounts for the same person): - MemberCreateController now reuses an existing user by personal email case-INSENSITIVELY (was case-sensiti...

Kamo·3mo ago
FeatureSecurityService

Lead tasks REST API + real-time TASK_CHANGED

Implements the backend the /leads/view Tasks tab was already calling but that never existed: GET/POST/PUT/DELETE **************** (LeadTaskController + LeadTask...

Kamo·3mo ago
FeatureSecurityService

Per-pane edit-lock REST API + auto-save sweeper

Adds /api/security/leads/{id}/locks **************** backed by LeadLockService: exclusive per-pane reservation, draft-buffering heartbeats that reset a 5-min id...

Kamo·3mo ago
FeatureSecurityService

Staff vendor-doc upload endpoint satisfies third-party requirements

POST **************** (LOS write): staff upload an appraisal/title/HOI/flood doc to the loan-level image store, then satisfy the loan's THIRD_PARTY requirement ...

Kamo·3mo ago
FeatureSecurityService

Cascade condition waive/delete to document requirements

waiveCondition and deleteCondition now best-effort call MLOSDocService's suppress-for-condition after a successful waive/delete, so a waived condition's require...

Kamo·3mo ago
FeatureSecurityService

Borrower notifications close the collection loop

DocNotificationService sends transactional emails (established EmailTemplateServiceClient path, recipient = account primary member, portal link from org root do...

Kamo·3mo ago
FeatureSecurityService

Proactive checklist generation + pipeline doc summary

- Generate the scenario document checklist at APPLICATION_TAKEN (MortgagePipelineController transition hook) so it exists the moment a loan enters the pipelin...

Kamo·3mo ago
FeatureSecurityService

Proxy the vault-backed requirement surface

- MlosDocClient: POST verbs (generate, satisfy, accept, reject, satisfy-across) + enriched loan/party reads over X-Internal-Auth. - MortgageAppController /{ui...

Kamo·3mo ago
July 5, 2026
FeatureSecurityService

Transaction detail endpoint GET ****************

Returns one deal group's rolled-up summary + each member loan's AppMortgageSummaryDTO (drill-in for the per-transaction pipeline). Operator view or a party to t...

Kamo·3mo ago
FeatureSecurityService

P4 member document vault backend (reusable docs across loans)

- MemberDocumentService: upload a doc ONCE at AccountBorrowerParty scope → ImageService creates an Img in the auto-created imaging-member-vault bucket *******...

Kamo·3mo ago
FeatureSecurityService

P3 default-product designation backend (single-active) + operator readiness

- **************** designates ONE LeadVendorProduct as the org's KamoMLOS portal auto-assign product; single-active (demotes any other, org-scoped, fail-close...

Kamo·3mo ago
FeatureSecurityService

P2c leads-first portal backend

- MortgageVerticalResolver: resolves an org's RESIDENTIAL_MORTGAGE LeadMarket, MORTGAGE CommerceMarket, designated default LeadVendorProduct, and EFFECTIVE PO...

Kamo·3mo ago
FeatureSecurityService

P2a account-merge tool + P2b transaction backend

P2a — admin account merge (owner requirement A), gated by MERGE_ACCOUNTS: - AccountMergeService: reparents EVERY account_uid child via native UPDATE (bypasses J...

Kamo·3mo ago
FeatureSecurityService

Borrower self-service authorization (loan-party IDOR guard)

A borrower is a plain org Member with no operator LOS rights; they may act on the ONE application they are a party to — and only that one. Layered guard: operat...

Kamo·3mo ago
FeatureSecurityService

Pre-app-taken borrower-journey endpoint for the operator pipeline

New GET **************** (LOS_VIEW_PIPELINE) returns per-DRAFT borrower-intake progress so pipeline stewards can watch a loan take shape while the borrower is s...

Kamo·3mo ago
FeatureSecurityService

LOS controllers accept per-borrower *** sessions (doc03 §0.1)

BaseLosController now resolves the caller's session via CallerSessionResolver (X-OTK-validated attribute FIRST — operators/BFF unchanged — then a first-party **...

Kamo·3mo ago
FeatureSecurityService

LOE-Core server-authoritative program scorer + /programs/scores (doc03 §9 Phase 2)

Ports the KamoMLOS client scorer (lib/los/scoring.ts) into SecurityService LOE-Core: LoeCoreScorer scores the org's effective program catalog (baseline deep-mer...

Kamo·3mo ago
July 4, 2026
FeatureSecurityService

Member state-licensing API + license-aware lead availability

Add MemberStateLicensingController (GET/PUT /api/security/members/{id}/ state-licensing) gated by STATE_LICENSING_* rights with server-side renewal<=expiry vali...

Kamo·3mo ago
FeatureSecurityService

Map an imported column to the lead `source` field

Add case "source" to setDirectFieldOnCreateRequest so the mapping path 'source' is honored.

Kamo·3mo ago
FeatureSecurityService

Channel applicability rules collection CRUD — completes §3.2 config

createChannelRule/update/delete on the D31 flat-collection spine (profile-level, org fail-closed, WORM change-log); controller /channel-rules GET/POST/PUT (dele...

Kamo·3mo ago
FeatureSecurityService

Product enablement config — per-program single-active, effective-dated

**************** (program-scoped demote-then-insert) + reads; controller /product-enablements GET (active per program) / PUT (publish). Body carries programId, ...

Kamo·3mo ago
FeatureSecurityService

Effective-dated profile policies — pricing/capital/servicing publish

New MlosPolicyWriteService (isolated; its own repos so the config-collection write- service is untouched): single-active demote-then-insert versioning on the sa...

Kamo·3mo ago
FeatureSecurityService

InvestorConfig delivery + commitment rule sub-collections CRUD

**************** (+update/delete) on the D31 config spine (org fail-closed via the parent investor, WORM change-log per row); controller /investors/{id}/deliver...

Kamo·3mo ago
FeatureSecurityService

InvestorConfig credit-box overlay sub-collection CRUD

**************** on the D31 config spine (org fail-closed via the parent investor, WORM change-log per row, configVersion defaults 1); controller /investors/{id...

Kamo·3mo ago
FeatureSecurityService

ScenarioDiscoveryService — canonical profile genesis at loan-app create/update (D1)

MortgageAppController (re)produces the canonical BorrowerScenarioProfile via the new ScenarioDiscoveryService after **************** (best-effort, its own tx). ...

Kamo·3mo ago
FeatureSecurityService

AUS-connection config write surface (D37) + single mortgage market per org (D38)

- MlosConfigWriteService **************** org-scoped (resolveProfile), one-per-AusKind uniqueness, secret preserved on blank-secret edits, WORM audit spine. -...

Kamo·3mo ago
FeatureSecurityService

Investor delegation write surface — per-program CRUD (D39)

Drop delegatedAuthority from the InvestorConfig write/view; add the InvestorDelegation sub-collection under /investors/{id}/delegations (GET/POST/ PUT, delete v...

Kamo·3mo ago
FeatureSecurityService

[08] ReconciledFactPublisher — los.pipeline.fact publish seam (D34)

doc 08 §3.3: the locked **************** must not gain a NATS publisher (that edits donotmodify). Add a non-locked ReconciledFactPublisher wrapper that reconcil...

Kamo·3mo ago
FeatureSecurityService

[04] slice E2 RiskOverlay collection CRUD (D31)

Risk overlays (credit-box / geo-concentration / exposure-limit layers on the base credit box) as a config collection on the D31 spine: create defaults configVer...

Kamo·3mo ago
FeatureSecurityService

[04] slice E2 InvestorConfig collection CRUD (D31)

The second collection config domain (doc-04 §3.2 InvestorConfig) — per-investor approval/delivery/authority that feeds capital-markets execution. Reuses the Uni...

Kamo·3mo ago
FeatureSecurityService

[04] slice E2 licensing collection CRUD (D31)

The first COLLECTION config domain (doc-04 §3.2 LicensingEntry, many-per-profile) — a new id-keyed write shape on the same audit spine as the singletons: - ****...

Kamo·3mo ago
FeatureSecurityService

[04] pass-2 AutonomyStageOverride CRUD + per-stage autonomy map (D28)

The per-stage autonomy surface the config vertical deferred until StageWallRegistry existed (its deferral note is now satisfied): - **************** upsert per...

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