KamoCRM

Live Change Log

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

15,120
Total Changes
5,169
Features
4,935
Fixes
30
Projects
Filter by project
All Projects15,120AIService197APIService161BillingService143ConversionService107DaemonService129DocsService215ESigService88EmailService518InitializerService318KBService105KlusterServices697MCPGatewayService85MediaService546RAGService71SecurityService1,658TranslateService55VOIPService205VectorService11kamo-apps25kamo-asterisk-support24kamo-capcha17kamo-capcha-widget4kamo-internal6,937kamo-login330kamo-marketing625kamo-nowww20kamo-register213kamo-shared-library1,455kamo-signer-monorepo53kamolos108
Filter by type
All TypesBuild11CI523Chore738Docs2,167Feature5,169Fix4,935Other986Performance157Refactor274Revert23Style42Test94Upgrade1
July 15, 2026
Featurekamo-shared-library

Org-scoped loan roster query for the closed-loan trainer

**************** gives the trainer every LOS-linked loan for an org+provider, each carrying the externalLoanName it reads status + documents for.

Kamo·2mo ago
Featurekamo-shared-library

Closed-loan auto-trainer foundation (MeridianLink ground truth)

Foundation for training document extraction against funded loans (the answer key): - ClosedLoanTrainingRun entity+repo — per-org run control + live counters - E...

Kamo·2mo ago
Featurekamo-shared-library

Plain-language borrower messages for document rejections

RejectionReasonType was a bare enum (the borrower literally saw "ILLEGIBLE"). Each value now carries a borrowerMessage() remediation string + a messageFor() map...

Kamo·2mo ago
July 14, 2026
Featurekamo-shared-library

Platform-wide QC review (cross-tenant labeling for the shared model)

A document is a document — extraction and the model are platform-level, not per lender. Adds a cross-tenant NEEDS_REVIEW queue + QcReviewService.platformReview ...

Kamo·2mo ago
Featurekamo-shared-library

Platform Document-AI config on SystemConfiguration + cross-org corpus

Adds **************** (default 0.85) + EXTRACTION_MODEL_ID to the platform SystemConfiguration singleton — the platform-wide levers for the QC gate and the regi...

Kamo·2mo ago
Featurekamo-shared-library

Org-wide QC queue (employee review portal)

Adds an org-scoped NEEDS_REVIEW query + QcReviewService.orgQueue so employees can work every loan's low-confidence extractions from one portal, not one loan at ...

Kamo·2mo ago
Featurekamo-shared-library

Confidence-gated QC box + labeled training data + gift/self-employment reconcile

QC engine (Phase 4 core): - VerifiedFact gains first-class EXTRACTION_CONFIDENCE, DOC_TYPE_CODE, QC_STATE columns (QcState: **************** Reconciliation ...

Kamo·2mo ago
Featurekamo-shared-library

Reconcile otherIncome.* facts into OtherIncome rows

Extends fact reconciliation with an otherIncome.* branch: award/benefit documents (Social Security, pension/retirement, child support) land a real OtherIncome r...

Kamo·2mo ago
Featurekamo-shared-library

Capture + encrypt full SSN on the borrower application

The application posture needs the borrower's REAL Social, not a last-4 (a lender can't do anything with 4 digits). Borrower.ssnEncrypted existed but was never w...

Kamo·2mo ago
Fixkamo-shared-library

Drop message-body preview paragraph from missed-message email templates

Security: notification emails no longer render any message content; the member signs in to read messages. Sender + count + CTA only.

Kamo·2mo ago
July 13, 2026
Featurekamo-shared-library

Missed-message email notification ledger + canonical templates

MessageEmailNotice entity (MESSAGE_EMAIL_NOTICES, unique recipient+sourceKey+channel) with PENDING/SENT suppression states, repository incl. sudo-safe markRead/...

Kamo·2mo ago
Featurekamo-shared-library

GraphMessageIdMap entity for Microsoft 365 Graph mail id mapping

Maps opaque Microsoft Graph message ids to stable synthetic numeric UIDs per mailbox, so Graph mailboxes flow through the existing numeric-uid mail contract (co...

Kamo·2mo ago
July 12, 2026
Featurekamo-shared-library

CitySceneProfile entity + GeoLite city-lookup indexes for city-based portal scenes

- CitySceneProfile (city_scene_profile): per-city environmental scene factors (terrain/relief/silhouette, climate/koppen, hydrology, RESOLVE ecoregion + flo...

Kamo·2mo ago
July 11, 2026
Fixkamo-shared-library

The servlet guard must define the SERVLET bean — Boot conditions on the type, not the registration

f8bcc82's ServletRegistrationBean alone name-collided with the auto-config **************** WebServicesAutoConfiguration's bean is **************** Define the s...

Kamo·2mo ago
Fixkamo-shared-library

Disabled MessageDispatcherServlet registration — kills the multi-servlet landmine for real

Removing the web-services STARTER (55eae0a) was not enough: spring-ws-core itself carries MessageDispatcherServlet, and Boot's WebServicesAutoConfiguration cond...

Kamo·2mo ago
Fixkamo-shared-library

Spring-ws CLIENT-ONLY — the server starter made every consuming service multi-servlet

**************** auto-registers a MessageDispatcherServlet in EVERY service that depends on shared-lib; with Spring Security 6 that breaks any string requestMat...

Kamo·2mo ago
Fixkamo-shared-library

UpdateLoanFile PATCH must not null absent fields — status-only patch wiped loanNumber/dates

Any partial loan-file patch (the portal's submit sends only {statusId:2}) unconditionally overwrote loanNumber, channelId, and every lifecycle date with null. G...

Kamo·2mo ago
July 10, 2026
Fixkamo-shared-library

Bound IP block lookup to a single indexed row

findByIpInRange's two-sided range predicate forced CockroachDB to scan every block with networkStart <= ip whenever the IP fell in a gap (private/bogon/ spoofed...

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

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

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

Carry mortgage figures in LeadListDTO for the /leads grid

The /leads Residential-Mortgage columns (Loan Amount, Loan Purpose) and the client-side LTV/DTI need mortgage data the lean list projection didn't ship. Widen L...

Kamo·2mo ago
Featurekamo-shared-library

Sync renovationCost + currentLoanType through MeridianLink mapper (ids TODO-flagged)

Extends the isVeteran LO-XML wiring (1f583db) to the two new renovation/ streamline-refi fields added in 4A (5132026). - LoXmlFieldMapper: FIELD_RENOVATION_COS...

Kamo·2mo ago
Featurekamo-shared-library

Add renovationCost + currentLoanType mortgage fields

Mirrors the isVeteran field (3f0cea1): entity column, 3 DTOs **************** MortgageFieldsDTO + LeadDTO builder), LeadService create/update passthrough, and L...

Kamo·2mo ago
Refactorkamo-shared-library

Backward-compatible 6-arg LeadFieldPatch constructor (isVeteran defaults null)

Keeps existing 6-arg consumers (e.g. SecurityService LOS-apply tests) compiling on the shared-lib bump without a lockstep change.

Kamo·2mo ago
Featurekamo-shared-library

Sync isVeteran through MeridianLink LoXmlFieldMapper (id TODO-flagged)

Wires LeadClaimMortgage.isVeteran into the LO-XML round trip using the convention field id aBIsVeteran (matches the aB... borrower-attribute prefix of aBFirstNm...

Kamo·2mo ago
Featurekamo-shared-library

Lead↔LOS push/patch + outbound sync hook

Kamo·2mo ago
Featurekamo-shared-library

Active-filtered MarketLosConnection finder

Adds **************** so consumers can treat a soft-deleted (isActive=false) LOS connection as absent, mirroring SocialConnectionController's active-filtered re...

Kamo·2mo ago
Testkamo-shared-library

PlatformOAuthProviderType append-order guard

Regression-locks the Phase 5 pull-forward: MERIDIANLINK(8,"meridianlink", "MeridianLink Mortgage") must stay the LAST constant so no existing provider's persist...

Kamo·2mo ago
Featurekamo-shared-library

LO-XML field mapper

LoXmlFieldMapper translates Lead/LeadClaimMortgage <-> confirmed MeridianLink LO-XML ids (sLAmtCalc, sPurchPrice, sApprVal, sLPurposeT, aBFirstNm, aBLastNm) wit...

Kamo·2mo ago
Featurekamo-shared-library

MeridianLink modified-loans + deep-link

Adds ListModifiedLoansByAppCode (parse ArrayOfString -> loan names), **************** and AppView.GetPmlLoanUrl (prefix the partial URL with the origination hos...

Kamo·2mo ago
Featurekamo-shared-library

MeridianLink SOAP client create/save/load

MeridianLinkSoapClient wraps the Loan.asmx ops over a Spring-WS WebServiceTemplate (namespace **************** per-op SOAPAction): Loan.Create -> loan name; Loa...

Kamo·2mo ago
Featurekamo-shared-library

MeridianLink auth ticket cache

MeridianLinkAuthService mints and caches the sTicket per (instanceBaseUrl + sha256(clientSecret)) with an injected Supplier<Instant> clock and a configurable TT...

Kamo·2mo ago
Featurekamo-shared-library

MeridianLink creds resolver

Adds the Phase 2 SOAP-adapter package **************** with MeridianLinkCreds (secret-redacting record) + MarketLosConnectionResolver, which decrypts the per-ma...

Kamo·2mo ago
July 9, 2026
Testkamo-shared-library

Regression test for LeadMarket MLOS collapse rule

Kamo·2mo ago
Featurekamo-shared-library

LeadLosLink entity + repository

Tracks a lead's link into an external LOS loan file, one row per (lead, provider). Carries the sync bookkeeping (contentHash, lastPushedAt, lastPulledAt) that P...

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