KamoCRM

Live Change Log

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

17,610
Total Changes
6,056
Features
5,314
Fixes
30
Projects
Filter by project
All Projects17,610AIService258APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService582InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService602RAGService79SecurityService1,868TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,388kamo-login339kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,675kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore775Docs3,257Feature6,056Fix5,314Other998Performance165Refactor278Revert23Style42Test162Upgrade1
July 4, 2026
Featurekamo-shared-library

Per-program investor delegation (D39) — new InvestorDelegation child

Delegation is granular per (investor, program), not a coarse InvestorConfig boolean. Adds DelegationAuthority {DELEGATED, NON_DELEGATED}, the InvestorDelegation...

Kamo·3mo ago
Featurekamo-shared-library

[AUS] AusConnectionConfig entity — per-org per-market DU/LP/GUS connections

Owner directive #6: each org configures its own AUS vendor APIs (Fannie DU / Freddie LP / USDA GUS) per mortgage market, in settings→commerce. Foundational data...

Kamo·3mo ago
Featurekamo-shared-library

[ImageAssocType] append LOAN — images attach to a loan, doc type required

Owner directive: images can be attached directly to a mortgage loan, always with a relevant doc type. Append LOAN to ImageAssocType (id 11, bucket imaging-loans...

Kamo·3mo ago
Featurekamo-shared-library

[sign-convention] money sign-convention validators + Adjustment model

Per the owner's canonical rules. Core domain money never encodes meaning in a sign: - **************** / requirePositive — assets, receivables, liabilities, p...

Kamo·3mo ago
Featurekamo-shared-library

[§5.A] canonical BorrowerScenarioProfile + ProductDiscoveryGate

Per the owner's §5.A directive: ScenarioSupportPolicy must consume a canonical Borrower Scenario Profile generated from normalized URLA data, never raw forms/UI...

Kamo·3mo ago
Featurekamo-shared-library

[12] §5.A ScenarioSupportPolicy deferral-interlock resolver (D36)

doc 12 line 235 P0 — 'the cheapest highest-leverage lifecycle addition'. A legal-wall at product-discovery that keeps **************** from silently running as ...

Kamo·3mo ago
Testkamo-shared-library

[11] doc 11 §6.2 single-active enum↔DDL drift guard

**************** is derived from enum metadata, but the DB backstop is four partial-unique indexes in KamoInitializer whose type IN(...) lists HARD-CODE the sin...

Kamo·3mo ago
Refactorkamo-shared-library

Use the simple entity name in the calibration-count JPQL (D32)

countCalibrationSamples referenced AiDecision by fully-qualified class name in the FROM clause; Hibernate resolves that, but every other @Query in the shared-li...

Kamo·3mo ago
Testkamo-shared-library

Update CanonicalTemplateLoaderTest for the change-password template set

Commit 7c6b20f (change-password support) added the canonical PASSWORD_CHANGED template and reworded EMAIL_VERIFICATION's expiry variable ({{expiryMinutes}} → {{...

Kamo·3mo ago
Featurekamo-shared-library

[12] §5.C AutonomyGovernor — kill-switch + force-steward-until-calibrated (D32)

The DecisionGate already carries a GLOBAL static force-steward @Value, but §5.C needs two things it cannot give: a kill switch flippable WITHOUT redeploy (so DB...

Kamo·3mo ago
Featurekamo-shared-library

Unified timeline SPI + entities on the media schema

Reuse MediaSession/MediaObj to hold social posts & replies (post=MediaObj, comment=child MediaObj via MediaObjMsg.parent, provider linkage on MediaObjSocialRef)...

Kamo·3mo ago
Featurekamo-shared-library

IDENTIFIER_REGISTERED event type (mlos.identifier.registered)

The initial-registration counterpart to IDENTIFIER_SUPERSEDED — the durable signal downstream mirrors / global-resolution caches consume when a native identifie...

Kamo·3mo ago
July 3, 2026
Featurekamo-shared-library

Marketing rights group — ServiceType.MARKETING + 6 rights (ids 150-155)

VIEW_MARKETING, VIEW_SOCIAL_MEDIA, MANAGE_SOCIAL_MEDIA, VIEW_MATERIALS, VIEW_REFERRAL_CODES, MANAGE_REFERRAL_CODES. MARKETING is a rights-grouping module (enabl...

Kamo·3mo ago
Featurekamo-shared-library

AUS compliance event types - downgrade.forced, waiver.recorded, validation.recorded

The [10] compliance-validator unit's durable signals (D22/D24): the FHA TOTAL forced-downgrade decision-of-record, and the append-only waiver/data-validation li...

Kamo·3mo ago
Featurekamo-shared-library

Lock-lifecycle outbox event type + BusinessDayCalendar promoted to mlos.compliance

- **************** (mlos.pricing.lock.lifecycle): one event type for the whole post-lock lifecycle; the specific MlosLockEventType rides in the payload. The...

Kamo·3mo ago
Fixkamo-shared-library

MlosConfigChangeLog date_created — drop @ColumnDefault (duplicate default)

Both @ColumnDefault("now()") and columnDefinition="TIMESTAMP DEFAULT now()" made Hibernate emit 'TIMESTAMP DEFAULT now() default now()', which CockroachDB rejec...

Kamo·3mo ago
Featurekamo-shared-library

Config/activation layer + decision-gate hardening + DecisionSpine provenance + SMS template entities

- [04] mlos.config: **************** enums + BusinessModelConfig/ **************** entities+repos + ScreenState/ModuleState/ ModuleKey/StewardQueueKey + Act...

Kamo·3mo ago
Featurekamo-shared-library

PlatformOAuthClient registry entity + repo + PlatformSecretCipher + provider enum

Platform-level OAuth2 verified-app registrations **************** encrypted at rest via PlatformSecretCipher (AES-256-GCM, platform.enc-key). Standalone entity;...

Kamo·3mo ago
Fixkamo-shared-library

MediaObjTransit.date_created insertable=false so DB default fills it

The builder never set dateCreated; Hibernate bound NULL and violated the NOT NULL constraint, breaking addMembersToSession (and thus the social lead-accept hook...

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

Archived-market queries; drop redundant hard-delete

Add findArchivedByOrganizationId + findAllByOrganizationIdOrdered and the matching **************** service methods so Commerce settings can surface an Archived...

Kamo·3mo ago
Featurekamo-shared-library

System-wide credit suspend, credit-balance invalidation, paginated history

- OrgLeadConfig (new ORG_LEAD_CONFIG table): org-wide 'System Wide' switch that suspends CREDIT-BASED lead auto-assignment (FFA unaffected); gated in acceptNe...

Kamo·3mo ago
Fixkamo-shared-library

Suspension now actually blocks acceptance (alert + accept + FFA)

findApplicableAllotments filtered 'AND la.isActive = true', so getMostSpecificAllotment returned a less-specific ACTIVE fallback (or nothing) when a member's sp...

Kamo·3mo ago
Featurekamo-shared-library

Store original uploaded file key on LeadImport run

Adds SOURCE_FILE_KEY + SOURCE_FILE_CONTENT_TYPE columns so a run references the original file archived in MinIO (KamoInitializer adds the columns on next run).

Kamo·3mo ago
Featurekamo-shared-library

Persistence spine for import templates, runs & per-row records

Replaces the empty stub entities with real @Entity classes (modeled on the LeadIntake* precedent: UUID id, gen_random_uuid, DB-default timestamps, statusId + @T...

Kamo·3mo ago
Fixkamo-shared-library

Scope import dedup query + org-guard member/vendor-product assignment

- **************** scoped, projection-only duplicate lookup for the manual importer (replaces a per-batch findAll() that hydrated every lead across all tena...

Kamo·3mo ago
Featurekamo-shared-library

3 CRM rights + members-with-right query

RoleRightType: SPEND_RECEIVE_LEAD_CREDIT(147), **************** REASSIGN_LEADS_MANUALLY(149) under CRM. **************** for listing members holding a right. Se...

Kamo·3mo ago
July 1, 2026
Fixkamo-shared-library

Pin markedForReassignmentBy FK to INT8 (no inherited default)

Without columnDefinition, Hibernate copies members.id (INT8 DEFAULT unique_rowid()), so CockroachDB backfilled existing leads rows with bogus member ids on ALTE...

Kamo·3mo ago
Featurekamo-shared-library

**************** (Accepted-Today column)

Counts leads a member accepted via credit/FFA for a vendor product since a UTC instant (member local start-of-day). Consumed by LeadAcceptController /leads/avai...

Kamo·3mo ago
Featurekamo-shared-library

Add **************** for the registry decision half

doc 11 §5.3 step 4 / §10 audit completeness — every registry mint/receipt/supersede emits a paired WORM AiDecision + LoanIdentifierEvent. This adds the AiFuncti...

Kamo·3mo ago
Featurekamo-shared-library

Credit-assignment orchestration services (shared-lib)

- LeadAllotment.isInfiniteBalance (∞ credit balance → mint-on-the-fly at accept) - CreditLeadAssignmentService: atomic Accept-Lead (select→lock→recheck→claim, m...

Kamo·3mo ago
Featurekamo-shared-library

Credit-assignment shared-lib helpers

- **************** — powers the 'must comment before accepting another lead' gate (comment = member's non-removed MediaObj in lead stream) - **************** ...

Kamo·3mo ago
Featurekamo-shared-library

Credit lead-assignment data model (shared-lib)

- Lead: requiresAssignment flag + markedForReassignmentAt/By (nullable; null actor = vendor/API import) - **************** + eventTypeForKey routing + registry ...

Kamo·3mo ago
Featurekamo-shared-library

Scope vendors to a market; derive market products; archive markets

- LeadVendor gains a required MARKET_ID (columnDefinition pinned to plain UUID so the FK column does not inherit the referenced PK's gen_random_uuid() default...

Kamo·3mo ago
Fixkamo-shared-library

Sign requests with configurable site region

MinIO now enforces MINIO_SITE_REGION (us-west-ca-s-1) in the SigV4 authorization scope since site replication was enabled. The client was built without a region...

Kamo·3mo ago
Fixkamo-shared-library

Comp provisioning clears trial deadline (comp supersedes trial)

In the existing-subscription update path of provisionCompSubscription, set trialExpiresAt to null so a previously trialling org is cleanly promoted to comp with...

Kamo·3mo ago
Featurekamo-shared-library

Org-level gate grants full catalog for active TRIAL

resolveEntitlement now short-circuits for TRIAL subs whose trialExpiresAt is in the future (compute-on-read). Adds static isTrialActive() helper and 4 unit test...

Kamo·3mo ago
Featurekamo-shared-library

Add TRIAL billing source + trialExpiresAt on AccountSubscription

Adds BillingSourceType.TRIAL, a precise LocalDateTime trialExpiresAt field on AccountSubscription (nullable, column trial_expires_at), and a repository finder *...

Kamo·3mo ago
Featurekamo-shared-library

**************** (steward exception queue)

Org-scoped-by-status finder backing the closing-steward exception queue (e.g. all BLOCKED_STEWARD packages for an org). Spring Data derived; no schema/KI.

Kamo·3mo ago
Featurekamo-shared-library

CLOSING_RON_FALLBACK_APPLIED event key (doc 05 §6.1/§6.4)

The steward recovers a RON-walled/failed BLOCKED_STEWARD closing by satisfying the required RON slot with an alternative notarization (WET_SIGN/IPEN/PAPER_OUT);...

Kamo·3mo ago
Featurekamo-shared-library

CLOSING_PACKAGE_CANCELLED event key (doc 05 §6.4 steward cancel)

The steward terminates a non-terminal closing **************** -> CANCELLED; the durable signal downstream stand-down / steward-queue close-out reacts to.

Kamo·3mo ago
Featurekamo-shared-library

CLOSING_MERS_CONFIRMED + CLOSING_MERS_REJECTED event keys (doc 05 §6.3/§6.4)

The MERSCORP async callback flips a MersRegistration SUBMITTED->CONFIRMED/REJECTED; these are the durable signals **************** (confirmed) + the steward exc...

Kamo·3mo ago
Featurekamo-shared-library

§6.1 RON legal-wall grain — **************** (frozen WORM) + CLOSING_STEP_BLOCKED event

The property state is frozen identity on the closing package (a closing's property does not move) and is the grain the §6.1 RON state-eligibility legal wall rea...

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