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 4, 2026
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-internal

[04] risk-overlay tab — credit-box/geo/exposure layers (D31)

New MORTGAGE market config tab for per-tenant risk overlays: category (credit box / geo concentration / property type / loan amount / fraud / exposure limit) + ...

kamo·3mo ago
FeatureSecurityService

[04] slice E2 RiskOverlay collection CRUD (D31)

Risk overlays (credit-box / geo-concentration / exposure-limit layers on the base credit box) as a config collection on the D31 spine: create defaults configVer...

Kamo·3mo ago
Featurekamo-internal

MORTGAGE investors tab (list/add/remove) — [04] slice E2 (D31)

The 7th MORTGAGE config tab: per-investor **************** authority rows with an approval-status chip. Add via an inline row (code + status + optional ********...

kamo·3mo ago
Featurekamo-internal

Unified social timeline UI at /marketing/social

Live, animated cross-provider feed reusing the clubhouse feed style: virtualized timeline, provider filter chips, SocialPostCard (capability-gated reply/react/d...

kamo·3mo ago
FeatureMediaService

Unified timeline backend (feed persistence, adapters, live relay)

SocialFeedService persists posts/comments onto the MediaSession/MediaObj schema (reusing the chat model); SocialFeedMapper builds the wire DTOs; SocialTimelineC...

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
FeatureSecurityService

[04] slice E2 InvestorConfig collection CRUD (D31)

The second collection config domain (doc-04 §3.2 InvestorConfig) — per-investor approval/delivery/authority that feeds capital-markets execution. Reuses the Uni...

Kamo·3mo ago
Featurekamo-internal

MORTGAGE licensing tab (list/add/remove) — [04] slice E2 (D31)

The 6th MORTGAGE config tab: NMLS/state/agency/investor licensing entries with effective/expiry dates and a server-computed effective-today chip (status is neve...

kamo·3mo ago
FeatureSecurityService

[04] slice E2 licensing collection CRUD (D31)

The first COLLECTION config domain (doc-04 §3.2 LicensingEntry, many-per-profile) — a new id-keyed write shape on the same audit spine as the singletons: - ****...

Kamo·3mo ago
Fixkamo-internal

Honest return type for updateStageOverride (raw row, not StageAutonomyView)

Review observation: the PUT returns the raw stored override entity, not a StageAutonomyView (the effective/floor recompute is GET-only). Typed Promise<unknown> ...

kamo·3mo ago
DocsSecurityService

Correct the D28 auto-execute comment (override REPLACES config, not AND)

Review observation: the GET map javadoc said 'auto-execute = config AND override' but **************** is override-replaces-config. Comment-only; the GET faithf...

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
Featurekamo-internal

Per-stage autonomy override table on the ai-autonomy tab (D28)

The doc-04 §4.2/§4.5 per-stage map under the AiAutonomy singleton: every lifecycle stage with its platform wall classification (legal-wall chip / non-tunable fl...

kamo·3mo ago
TestSecurityService

Lock the D28 stage-override write logic (legal-wall reject, delete+audit, rollback)

6 tests over the new MlosConfigWriteService methods: legal-wall stages rejected before any write; routine upsert bumps profileVersion + appends the WORM change-...

Kamo·3mo ago
FeatureSecurityService

[04] pass-2 AutonomyStageOverride CRUD + per-stage autonomy map (D28)

The per-stage autonomy surface the config vertical deferred until StageWallRegistry existed (its deferral note is now satisfied): - **************** upsert per...

Kamo·3mo ago
FixDaemonService

Consumer review findings - MLOS secret, HTTP timeouts, max-deliver clamp, 4xx skip, boot rebind

Adversarial review (2 lenses; 5 verifiers died on a session limit - adjudicated the 9 raw findings by hand, 6 real): - WRONG SECRET (confirmed by hash compariso...

Kamo·3mo ago
July 3, 2026
Fixkamo-internal

Type TrialStatus ids as string to match Long-as-string serialization

BillingService now serializes Long as a JSON string (org/member ids are CockroachDB unique_rowid() > JS MAX_SAFE_INTEGER). Align TrialStatus.organizationId and ...

kamo·3mo ago
FixBillingService

Serialize Long ids as strings to stop org-id precision loss

Org ids are CockroachDB unique_rowid() values that exceed JS MAX_SAFE_INTEGER. BillingService was serializing them as raw JSON numbers, so kamo-internal's JSON....

Kamo·3mo ago
FixDaemonService

Register JSR-310 on the consumer mappers - real envelopes carry an Instant occurredAt

E2E caught it: both real decision.routed events were dead-lettered as 'unparseable' because the bare ObjectMapper cannot deserialize java.time.Instant. findAndR...

Kamo·3mo ago
FeatureDaemonService

[03] MLOS read-side consumers - decision.routed steward fan-out + task.resolved seam (D26/D27)

The doc-03 read-router folded into the fleet's MLOS-consumer host (the only Recreate-strategy deployment - durable rebinds die under RollingUpdate), per the doc...

Kamo·3mo ago
Featurekamo-internal

Marketing Tools module + nav rework

- /marketing module with account-style hero header + rights-gated route tabs: Overview, Social Media (/social), Materials (/materials), Referral Codes (/dis...

kamo·3mo ago
ChoreSecurityService

Rebuild to pick up Marketing rights group (shared-lib 4cfbf64)

RoleRightsSyncService self-heals the 6 new Marketing rights (ids 150-155) into all roles on boot; /roles/rights then serves the MARKETING group.

Kamo·3mo ago
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
Fixkamo-internal

Hot Reassign — always post the required call note; keep current assignee selectable

Review follow-ups: (1) drop the comment-dedup ref that could silently skip the required note on a later attempt (or an edited retry) after a failed mark — alway...

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-internal

Hot Reassign — front-desk live call-transfer flow

Adds a Hot Reassign action to the lead-view Assignment card (front-desk staff on live calls): an explainer + required call-note dialog, then release the lead in...

kamo·3mo ago
FeatureSecurityService

Assignable-members endpoint + work extension on member profile

- GET **************** (VIEW_LEADS holders ∪ grant-all) → {id,name,extension} for the lead-view assignment dropdown (name + work extension, not email). - GET ...

Kamo·3mo ago
FeatureMediaService

X (Twitter) + Discord adapters

- XAdapter: Account Activity webhook (CRC challenge + x-twitter-webhooks-signature HMAC verify), normalizeInbound (direct_message_events, echo-skip), OAuth 1....

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
FixVOIPService

Exclude /api/voip/sms/templates from OTK session filter

The doc-07 SMS template endpoints are session-less internal calls guarded by InternalAuthFilter (X-Internal-Auth), but OTKValidationFilter still ran on them and...

Sage·3mo ago
Featurekamo-internal

Doc-04 MORTGAGE config tabs — 5 domain singletons

business-model / authority / capital-markets / servicing / ai-autonomy GET+PUT via /api/security/mlos/config; mlosPut + parseWriteError surface the §4b.1 cross-...

kamo·3mo ago
FeatureVOIPService

Doc-07 SMS template system — /api/voip/sms/templates + GSM-7/UCS-2 segment guard

**************** over the shared-lib SmsTemplate entities: renders {{var}} and sends via the EXISTING BulkTextProvider primitive (no second carrier path); SmsSe...

Sage·3mo ago
FeatureSecurityService

Doc-04 tenant-config layer — self-heal + activation summary + 5 domain GET/PUTs

mlos.config.enabled + com.kamo.z.shared.mlos.config in @EnableJpaRepositories. MlosConfigSelfHealRunner: default LenderProfile + 5 domain singletons per active ...

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
Fixkamo-internal

Apply adversarial-review findings on the steward write composers

- a11y: WAI-ARIA arrow-key radio pattern (shared onRadioKey helper) for the verdict + run-purpose segmented controls (they were keyboard traps); focus retur...

kamo·3mo ago
FixSecurityService

Close residual cross-org existence oracles + cap WORM-bound JSON blobs

Adversarial-review findings MLOS-W-01/03/04: - the 404-normalized empty list envelope now echoes the request's identity keys **************** so unknown, fore...

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