KamoCRM

Live Change Log

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

17,425
Total Changes
5,931
Features
5,266
Fixes
30
Projects
Filter by project
All Projects17,425AIService242APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService568InitializerService329KBService151KlusterServices738MCPGatewayService235MediaService593RAGService79SecurityService1,840TranslateService62VOIPService249VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,337kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,645kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore773Docs3,254Feature5,931Fix5,266Other994Performance165Refactor278Revert23Style42Test159Upgrade1
July 6, 2026
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
Featurekamo-shared-library

LeadTask entity for lead follow-up tasks

Backs the /leads/view Tasks tab (previously a frontend-only stub with no persistence). LeadTask (table LEAD_TASK) mirrors the frontend TaskItem shape **********...

Kamo·3mo ago
Featurekamo-internal

Real-time datagrid + live lead view with per-pane edit locks

/leads grid is now fully live over websocket (NATS→STOMP): rows add/remove/update against the active filter automatically and changed cells blink once for other...

kamo·3mo ago
FeatureMediaService

Org-guard the /topic/leads/rt/{orgId} realtime subscription

Cross-tenant SUBSCRIBE guard for the new lead real-time topic, mirroring the existing /topic/social/feed guard: a member may only subscribe to their own org's l...

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
Featurekamo-shared-library

Real-time NATS publishing + per-pane edit-lock entity

Publish org-scoped lead events on security.leads.rt.{orgId} (created/updated/ deleted with changed-field keys, history-appended) so the /leads grid and /leads/v...

Kamo·3mo ago
Fixkamo-internal

Remove "Not available to you" section

Stop surfacing nav features a member lacks access to. The Navigation Layout page listed every hidden nav option as locked chips; dropped the block along with th...

kamo·3mo ago
FixDocsService

Generic byte endpoints refuse MLOS per-party docs (vault/loan)

The generic imaging byte endpoints (download / stream / bulk-download / thumbnail) and the binder aggregation authorized only on org + a numeric clearance ceili...

Kamo·3mo ago
Featurekamo-internal

Integrate primary tabs into the header on remaining Style A pages

Follow-up to the Style A→B sweep, covering pages that don't route through SettingsView: - /kb: KbNavBar becomes a gradient hero header with the Articles/Resour...

kamo·3mo ago
Fixkamo-internal

Center the vendors-products status snackbar at top

The save/update status pill used MUI's default anchor (bottom-left, no anchorOrigin set) so it rendered off-center. Anchor it top-center.

kamo·3mo ago
Fixkamo-shared-library

CreatePair is idempotent for the primary pair (stops duplicate BorrowerPairs)

createPair's sole caller is the wizard's 'ensure primary borrower', but it unconditionally inserted a new pair every call, so a concurrent autosave + explicit S...

Kamo·3mo ago
Featurekamo-internal

Relocate bottom count bars into the header across social, imports tabs

Applies the vendors-tab treatment to the sibling CRM settings surfaces so the standalone "x • y" summary bar at the bottom no longer eats page real estate: - S...

kamo·3mo ago
FixDocsService

Don't serve soft-deleted documents on /stream and /bulk-download

getDocumentMetadata (used by the stream + bulk-download byte paths) does not filter trashed rows the way downloadDocument does, and a soft delete leaves the Min...

Kamo·3mo ago
Featurekamo-internal

Move vendor/product count above the header actions, bottom-align Refresh + Add Vendor

Recaptures the page real estate the standalone bottom summary bar used to occupy — the "x vendors • x products" line now stacks above the action buttons in the ...

kamo·3mo ago
Featurekamo-internal

Integrate primary tabs into the page header (Style B) across Style A pages

Every gradient-hero page that rendered its primary tabs in a separate card below the header now renders them inside the gradient header itself, matching /accoun...

kamo·3mo ago
Fixkamo-internal

Add missing Next.js proxy routes for MLOS default-product + readiness

The vendors-products page threw 'Failed to set default product:' because the frontend PUT to **************** (and GET lead-vendors/mlos-readiness) 404'd — thos...

kamo·3mo ago
Featurekamo-internal

Back arrow in header returns to /leads

Add an optional backHref/backTooltip to SettingsView that renders a white back arrow left of the title, and wire the CRM settings page to send the member back t...

kamo·3mo ago
Featurekamo-internal

Bold 'CRM Settings:' prefix, pipe separators, hover-only underline on tab links

Preface the CRM settings tab links with a bold 'CRM Settings:' label (new **************** key), separate links with ' | ' instead of a bare space, and switch t...

kamo·3mo ago
Featurekamo-internal

Add CRM settings tab links above refresh, gated like settings menu

Render a right-aligned row of white, underlined, space-separated links to each /settings/features/crm tab above the Leads header refresh button. The links reuse...

kamo·3mo ago
Fixkamo-internal

Correct trial pill remaining-time (was 20644d)

When NavPri was rewritten the minute-tick was changed from Date.now() to a counter starting at 0, and that counter was passed as the `now` argument to formatTri...

kamo·3mo ago
Fixkamo-internal

Reset button in the title row (right) + full-width content

- "Reset to Standard" now sits on the same row as the "Navigation Layout" heading, right-aligned, with the heading left-aligned (moved out of the footer). - T...

kamo·3mo ago
Fixkamo-shared-library

PublishRouted so los.pipeline.* events land in LOS_PIPELINE, not rejected

NatsMessageService.publish() pins expectedStream=CHAT_MESSAGES; a los.pipeline.* subject is owned only by the LOS_PIPELINE stream, so the server rejected every ...

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
FixSecurityService

Scope borrower's loan document-requirements to their own party

The enriched /document-requirements read authorized any party to the app and returned EVERY party's requirements, so on a joint loan a borrower saw the co-borro...

Kamo·3mo ago
FeatureEmailService

DOC_COMPLETE preview sample variables

Kamo·3mo ago
FeatureEmailService

DOC_ACCEPTED preview sample variables

Kamo·3mo ago
Featurekamo-internal

Surface 'Needs review' (borrower-submitted docs awaiting staff) as a distinct, prioritized state

A borrower's uploaded document flips the requirement to RECEIVED (awaiting lender), but the Documents column only showed 'Awaiting borrower' or a neutral 'In re...

kamo·3mo ago
FixSecurityService

Per-party vault authorization + per-party notification routing

The account vault held documents per-PARTY (shared human) but authorized access per-ACCOUNT — two HIGH multi-human defects on a joint loan: - PII leak / lockou...

Kamo·3mo ago
Featurekamo-shared-library

Centralize §4.5 supersession-collapse (RequirementSupersession)

The freshness engine leaves a STALE_EXPIRED predecessor beside its fresh successor under one **************** Only the read path (ConditionClearabilityComputer)...

Kamo·3mo ago
Fixkamo-internal

Responsive trial pill + tighten remaining oversized hero headers

- NavPri trial pill: when the rail is expanded it becomes a full-width pill with the fully-qualified label centered ("Trial — 4d 7h 9m left"); collapsed it st...

kamo·3mo ago
Fixkamo-shared-library

Gate intake @Component beans behind mlos.intake.enabled (opt-in)

BorrowerScenarioProfileService and ProductDiscoveryGate are shared-lib @Component/@Service beans that inject **************** / mlos.config repos. With blanket ...

Kamo·3mo ago
Fixkamo-internal

Tighten oversized vertical padding on page title headers

The gradient page-title headers had far more top/bottom padding than the horizontal inset where the title text starts, wasting vertical space. Bring the vertica...

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
Featurekamo-shared-library

DOC_REQUEST + DOC_REJECTED canonical templates

Borrower document-collection emails (transactional, CAN-SPAM-exempt): a request nudge when the checklist is minted, and a return-for-reupload notice. Added to C...

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