Live Change Log

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

17,916
Total Changes
4,605
Features
4,536
Fixes
32
Projects
Filter by project
All Projects17,916AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService371InitializerService300KBService74KlusterServices545MCPGatewayService43MediaService460RAGService61SecurityService1,519TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,573kamo-login318kamo-marketing584kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,321kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI523Chore670Docs226Feature4,605Fix4,536Other6,781Performance136Refactor274Revert23Style48Test69Upgrade1
July 10, 2026
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
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
ChoreSecurityService

Rebuild against kamo-shared-library

Pick up LeadListDTO mortgage figures (loan amount/purpose + LTV/DTI inputs) so the /leads grid's Residential-Mortgage columns are served. No code change; CI bui...

Kamo·2mo ago
FeatureSecurityService

Internal LOS apply endpoint for inbound sync

POST **************** {leadUid, provider, loXmlFields} — server-to-server (no session/rights). Constant-time X-Internal-Auth check against the cluster internal-...

Kamo·2mo ago
FixSecurityService

Real soft-delete + reactivate-on-upsert for LOS connection; safe test-connection message

I1: view()/testConnection() now read via the shared-lib's active-filtered finder so a soft-deleted (market,provider) connection reads as "not configured" instea...

Kamo·2mo ago
FeatureSecurityService

Market LOS connection service/controller

Phase 3 (Tasks 3.1-3.2) of the MeridianLink external-LOS integration: CRUD + Test-Connection for a market's MeridianLink connection. - MarketLosConnectionServi...

Kamo·2mo ago
July 9, 2026
FixSecurityService

Fail the upload if resize fails (no full-size fallback)

Reverts the store-original fallback: if ConversionService cannot resize the image, return 422 instead of storing the full-size original (a huge image would then...

Kamo·2mo ago
FixSecurityService

Fall back to the original image when resize fails

ConversionService can native-crash (libwebp-imageio SIGSEGV) or be unavailable, which made every member wallpaper upload fail ("Failed to process image" -> 500)...

Kamo·2mo ago
ChoreSecurityService

Rebuild to pick up shared-lib Organization.bgWatermark

No source change. Triggers CI to re-clone kamo-shared-library main (now carrying the bg_watermark org column added in bc45b97) so the org GET/PUT serialize and ...

Kamo·2mo ago
FeatureSecurityService

Steward passthrough to recompute pipeline-funding P(fund) projections

POST **************** → MlosCapitalMarketsClient (X-Internal-Auth, org stamped from session) → MLOSCapitalMarketsService recompute. Operator-gated like the othe...

Kamo·2mo ago
FeatureSecurityService

Scenario-insights endpoint — LIGHT-tier AI narrative via the org's provider

POST **************** takes a factual (estimated) scenario summary, calls MlosAiClient.text(orgId, prompt, LIGHT) through the org's configured AI provider, retu...

Kamo·2mo ago
FeatureSecurityService

Persist borrower-stated financials + phone onto the mortgage lead

ClaimedFactsDTO gains purchasePrice, downPayment, currentLoanBalance, cashOutAmount and phone; PortalLeadService.applyFacts maps them onto LeadClaimMortgage / t...

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

Lock the system-managed originator (projection, freeze, assignment)

8 tests over LoanTransactionService: live projection fills name/NMLS/subject-state license + org and marks LIVE; stale hand-entry is cleared when no LO is assig...

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

Surface transactionNumber on TransactionSummaryDTO (pipeline Transaction #)

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

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

Include both desktops in every SSO token, deep-link to the chosen one

Each token carried only its own connection, so the browser's reused json session lacked the other one -> opening Windows after Linux gave 'connection does not e...

Kamo·2mo ago
FixSecurityService

Route borrower submit through the pipeline so it fires **************** (audit #3)

patchLoanFile's borrower submit (DRAFT->APPLICATION_TAKEN) now calls **************** instead of a raw updateLoanFile status set, so the submit produces the has...

Kamo·2mo ago
July 7, 2026
FixSecurityService

Resolve session from X-***-Token header in CallerSessionResolver

The kamo-internal -> APIService BFF path forwards the session as the X-***-Token header, but the resolver only read the X-OTK attribute or the *** cookie — so B...

Kamo·2mo ago
FixSecurityService

PatchLoanFile is no longer a status backdoor; unblocking a condition needs the underwrite right; clear cascades

**************** status changes are the pipeline state machine's job (POST /transitions enforces legal arrows + per-arrow role gate + open-blocking-condition ga...

Kamo·2mo ago
FixSecurityService

Inject KamoDesktop SSO env directly + wire guac-sso into tracked k8s deployment

- @Value reads KAMO_GUAC_SIGNING_KEY / DESKTOP_PASSWORD from env directly (runtime application.yml is configmap-mounted, so property indirection wouldn't bind...

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

Borrower submit fires the Application-Taken side effects (doc checklist + notify)

The portal borrower submit is PATCH loan-file {statusId:2}, which bypassed the operator /transitions endpoint where the Application-Taken side effects live — so...

Kamo·2mo ago
FixSecurityService

Borrower cannot escalate loan-file status or edit the URLA after submission

Two related borrower-authorization holes on the self-service app endpoints: - Privilege escalation (#2): patchLoanFile applied any statusId with no caller-ri...

Kamo·2mo ago
FixSecurityService

Borrower self-create idempotency + orphan compensation; don't relay an empty checklist as success

MortgageAppController.create() borrower self-create branch: - Idempotency (#2): resume an existing owned DRAFT via findOwnedDraft instead of minting a duplica...

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

Rebuild against shared-lib dbNow() CAST fix

Empty commit to trigger CI, which clones kamo-shared-library at build time and picks up the **************** dbNow() CAST(now() AS timestamp) fix.

Kamo·2mo ago
ChoreSecurityService

Rebuild against kamo-shared-library rights-waterfall fix (5f20d29)

CI clones and builds kamo-shared-library from source, so this empty commit re-triggers the build to pick up the layered rights resolution. On boot the MemberRig...

Kamo·2mo ago
FixSecurityService

Revert securityProvider to self-pointing; self-heal member applied rights

Two prod issues from the securityProvider-mirror change: 1. Enter-as-System-Member failed with "No membership in the organization's security provider" for e...

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

Interpret lock LAST_EDIT_AT as UTC for epoch-millis expiry

dbNow() now returns DB-UTC wall-clock (now()::timestamp), so recover the absolute instant with toInstant(UTC) instead of the JVM default zone — keeps the browse...

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

File new accounts under the org of the domain, not kamocrm

/register bound the new member's org to the request Host, but the org signal never survived the hop: kamo-register proxies every signup to the shared api.kamocr...

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