Live Change Log

See what we're building, in real-time. Every feature, fix, and improvement shipped across the platform.

17,994
Total Changes
4,654
Features
4,558
Fixes
32
Projects
Filter by project
All Projects17,994AIService112APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService386InitializerService303KBService74KlusterServices547MCPGatewayService43MediaService462RAGService61SecurityService1,531TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,603kamo-login319kamo-marketing588kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,328kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI523Chore670Docs231Feature4,654Fix4,558Other6,781Performance136Refactor274Revert23Style48Test71Upgrade1
July 10, 2026
ChoreEmailService

Rebuild on shared-lib resolver hotfix

Kamo·2mo ago
Otherkamo-shared-library

MortgageProviderResolver deps → ObjectProvider — was crash-looping MediaService

The @Service is component-scanned by every com.kamo service, but mlos.config repositories only exist where @EnableJpaRepositories registers them. Hard construct...

Kamo·2mo ago
FeatureSecurityService

'Meet your loan officer' — the borrower hears the moment their lead is accepted

On accept (ASSIGNED), best-effort MEET_YOUR_LO email to the mortgage lead's borrower: the accepting LO's real name + NMLS + email + a continue-application link....

Kamo·2mo ago
FixSecurityService

Preferred name fills AKA+first; pool entry publishes the realtime lead event

(1) The funnel's preferred name now writes nameFirstAKA AND stands in for nameFirst until the legal name arrives (owner rule) — it was landing on first name onl...

Kamo·2mo ago
ChoreSecurityService

Rebuild against shared-lib createFromLead fix

Kamo·2mo ago
Fixkamo-shared-library

CreateFromLead saved Declarations against a transient Borrower — save the app graph first

Same latent TransientPropertyValueException the blank create() fixed at its first caller; createFromLead's first real caller is the portal promote seam (caught ...

Kamo·2mo ago
FeatureSecurityService

The lead→application conversion seam — POST /portal/promote

The funnel was a closed loop: nothing ever converted the portal lead into an application (blank mints only — no sourceLead, no seeded fields, no LO inheritance)...

Kamo·2mo ago
Fixkamo-shared-library

AccountGuid insert always violated FIRST_SEEN_AT NOT NULL — ZERO portal leads ever created

Hibernate includes every mapped column in INSERT (no @DynamicInsert), so the unset timestamp went out as explicit NULL and the DB default never applied. Every v...

Kamo·2mo ago
Featurekamo-internal

Member tooltip shows last active datetime + time ago

Interaction Center member rows now show a two-line tooltip: availability status plus when the member was last active — 'Active now' while online, otherwise 'Las...

kamo·2mo ago
FeatureMediaService

Durable last-seen timestamps + bulk endpoint

PRESENCE:{id} is deleted the moment a member goes offline, so nothing recorded when they were last active. Stamp PRESENCE_LAST_SEEN:{id} (orgId + ts, 400d TTL) ...

Kamo·2mo ago
FeatureSecurityService

Borrower pricing-quote endpoint — party-gated, integration-config-gated

POST **************** caller must be a loan party (or pipeline steward); resolves the tenant's PRICING_PPE integration — NOT_CONFIGURED / EXTERNAL_VENDOR_PENDIN...

Kamo·2mo ago
Featurekamo-shared-library

**************** (borrower quote candidate set)

Kamo·2mo ago
FeatureSecurityService

Integrations-status endpoint — the portal's honest view of the org's vendor wiring

GET **************** per-category **************** runtimeVendor from the market integrations config via the runtime resolver. Session-gated; no secrets.

Kamo·2mo ago
Featurekamo-shared-library

The doc-04 vendor RUNTIME — MortgageProviderResolver + VendorTypeBridge

The integrations tab wrote MortgageProviderConfig rows nothing consumed at runtime. Resolver: (org, VendorCategory) → activation-gated, profile-scoped, first-en...

Kamo·2mo ago
Fixkamo-internal

Reply-all no longer CCs yourself; blank lines survive send

Reply All excluded only activeMailbox.emailAddress, which is unset on the default personal mailbox view — so your own address (from the original To:) landed in ...

kamo·2mo ago
FeatureSecurityService

AI vision document extraction — docs → org's vision provider → VerifiedFact(OCR)

The first producer of VerifiedFactSource.OCR: POST **************** reads a vault document (bank **************** ID) with the ORG'S OWN configured vision provi...

Kamo·2mo ago
Featurekamo-shared-library

Real verified-fact reconciliation — evidence facts now populate the URLA

Replaces the M3a log-only stub: asset.* facts (grouped per source document) become Asset rows and employment.* facts become Employment rows via BorrowerSectionS...

Kamo·2mo ago
FeatureSecurityService

ClaimedFactsDTO carries the FULL mortgage lead (35 fields)

Adds the 16 fields the portal structurally couldn't send (monthlyDebts, taxes, insurance, HOA, currentPayment, sellerCredits, renovationCost, borrowerAge, isVet...

Kamo·2mo ago
Featurekamo-internal

Company NMLS ID field in org Company Info

Edit + read row + hydration + PUT (nmlsId). Feeds the borrower portal footer trust pill and the originator projection's company NMLS.

kamo·2mo ago
Featurekamo-shared-library

NmlsId is patchable — the company NMLS finally has a write path

Organization.nmlsId (SAFE Act identifier feeding the originator projection's originatorOrgNmlsId and the borrower portal's verified-license pill) was readable e...

Kamo·2mo ago
Featurekamo-internal

Mortgage fields as 3 column panes on the Client Lead Data tab (reuse form via layout prop)

Add layout?: 'tabs' | 'panes' to MortgageFieldsComponent (default 'tabs', byte-identical to the existing Mortgage Workshop rendering). editControls, loanFields,...

kamo·2mo ago
FixSecurityService

Weld the LO chain — portal leads enter the accept-lead pool; accepted LO survives conversion

(1) PortalLeadService routes a portal lead into the credit-based assignment pool (requiresAssignment=true) the moment it has a contact point — portal leads were...

Kamo·2mo ago
Fixkamo-internal

Keep form + What-If as one grid cell so the outputs panel stays in the right column

The What-If move made MortgageFieldsComponent render Card + whatIfSlot as sibling children; since MortgageDetailsTab lays out its children in a 2-col grid, What...

kamo·2mo ago
Featurekamo-internal

Make What-If Studio its own pane below the form (drop the 4th tab)

Removes the "What-If Studio" sub-tab; the Scenario Sandbox now renders as its own pane below the Loan/Borrower/Subject Property form. Retitled "Scenario Sandbox...

kamo·2mo ago
Featurekamo-internal

Address-field layout + move agent block to Borrower tab + Payment above Eligibility

- Subject Property: Address + Address Details half-width side by side; City/State/Zip on one row (md 5/4/3, Zip narrowest). - Move buyer's-agent block (Repres...

kamo·2mo ago
Fixkamo-internal

Restore two-column outputs layout (Rate above Insights in the left column)

Prior reorder pushed Rate/Insights into the right column, collapsing the balance onto one side. Keep the short summary cards in the LEFT column (Rate directly a...

kamo·2mo ago
Featurekamo-internal

Add savable Seller Credits field to the Loan tab

kamo·2mo ago
Featurekamo-shared-library

Add sellerCredits field + @JsonIgnoreProperties tolerance on lead request DTOs

Mirrors renovationCost: entity column, 3 DTOs (CreateLeadRequest/ UpdateLeadRequest/LeadDTO MortgageFieldsDTO + LeadDTO builder), LeadService create/update pass...

Kamo·2mo ago
Fixkamo-internal

Drop response-only enum string mirrors from mortgage save payload

The lead update was 400ing — UpdateLeadRequest rejects unknown fields and the form round-tripped LeadDTO's **************** strings (which only exist on the res...

kamo·2mo ago
Fixkamo-internal

Clear core-card edit on nav + guard communications composer draft

Discard the open core-card edit (release its pane lock) when the user proceeds past the unsaved-changes confirm in setTab/guardedNavigate, so editingCard no lon...

kamo·2mo ago
Featurekamo-internal

Remove estimate/disclaimer footnotes from scenario cards

Drop the EstimatedNote component and its plumbing, and the AI-narrative verify-before-relying disclaimer, per owner request to stop showing estimate/disclaimer ...

kamo·2mo ago
Fixkamo-internal

Surface recommended (yellow) fields even before a loan purpose is set

The blank-lead fallback returned only the required set, so a purpose-less lead showed red markers but never yellow. Now **************** are flagged as recommen...

kamo·2mo ago
Featurekamo-shared-library

ClosingHorizon — shared §5 close-date heuristic (stage → business days)

One source for the closing horizon so the capital-markets forecast and the doc-freshness sweep project the SAME close date. A calibrated CDF replaces the table ...

Kamo·2mo ago
Otherkamo-internal

Translate Residential-Mortgage grid columns + Purpose filter

Replace the literal column headers (Purpose/Loan Amount/LTV/DTI), the Loan Purpose filter label, and the filter option labels with next-intl t() keys **********...

kamo·2mo ago
Featurekamo-internal

Residential-Mortgage columns (Purpose/Loan Amount/LTV/DTI) + Purpose filter

On /leads, when the selected market is a Residential Mortgage market, show four columns to the right of State: - Purpose — mortgageFields.loanPurpose, title-ca...

kamo·2mo ago

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing