KamoCRM

Live Change Log

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

18,658
Total Changes
6,711
Features
5,609
Fixes
30
Projects
Filter by project
All Projects18,658AIService282APIService179BillingService166ConversionService121DaemonService149DocsService265ESigService99EmailService639InitializerService346KBService162KlusterServices773MCPGatewayService278MediaService624RAGService79SecurityService2,030TranslateService62VOIPService265VectorService11kamo-apps29kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,786kamo-login344kamo-marketing642kamo-nowww20kamo-register214kamo-shared-library1,866kamo-signer-monorepo63kamolos115
Filter by type
All TypesBuild23CI527Chore794Docs3,289Feature6,711Fix5,609Other1,001Performance174Refactor284Revert23Style45Test177Upgrade1
August 7, 2026
FeatureSecurityService

Browser-facing relay for the commission feature

Resolves the session, authorizes, and relays to CommissionService with the org and member stamped from that session — never from anything the caller sent. This ...

Kamo·3mo ago
FeatureSecurityService

Expose the user-account email on your own member profile

The profile's Personal Email Notifications card has to name the address missed-message notices actually reach, and that address is the user account's — not the ...

Kamo·3mo ago
FeatureSecurityService

Seed the finance rights onto every branch model's ADMINISTRATOR template

The three commission rights gate a feature that did not previously exist, so NEW_RIGHT_SEEDS deliberately says nothing about them - that mechanism carries an ex...

Kamo·3mo ago
FeatureSecurityService

Expose contact email in the by-department roster

The Interaction Center needs a member's address to pre-fill a composer, and the only endpoint that carried one was the single-member detail fetch — one request ...

Kamo·3mo ago
August 6, 2026
FeatureSecurityService

Accept a member's primary mailbox address as a login identifier

The address a member gives out is usually the org mailbox flagged Primary on their member settings, not whatever is on their user account — so typing it into th...

Kamo·3mo ago
FeatureSecurityService

Carry existing HR holders onto the new per-tab rights

A right that gates something already reachable is a removal of access: new rights insert as NOT_SPECIFIED, so the /hr tabs would have vanished on deploy for eve...

Kamo·3mo ago
FeatureSecurityService

Push platform-admin state changes instead of being polled for them

Every platform screen backed by this service refreshed on a timer, because this service has no WebSocket and therefore no way to tell anyone anything: the close...

Kamo·3mo ago
August 5, 2026
FeatureSecurityService

Unified communications timeline API

GET **************** returns one date-ordered page across notes, calls, voicemails, texts, e-mails and chat; ?channel= narrows it. Three sources are merged. Ca...

Kamo·3mo ago
FeatureSecurityService

Actually enforce geo and IP access rules

The rules were stored, cached to Redis and never consulted. AccessCheckController was the only caller of the evaluation and nothing called AccessCheckController...

Kamo·3mo ago
FeatureSecurityService

Allow-list countries alongside geo blocks

The geo section only ever denied: a country was blocked or it was absent. Orgs that want to serve one country had to enumerate every other one, which is unmaint...

Kamo·3mo ago
FeatureSecurityService

Resolve the agent's published contact details

Email comes from the member's primary mailbox rather than TeamMember.emailWork — that column is free text predating mailbox provisioning and routinely disagrees...

Kamo·3mo ago
FeatureSecurityService

GET /quotes/account/{uid} — paged, filtered, sorted

Dates arrive as ISO strings and parse leniently: a filter the client sends badly should narrow nothing rather than 400 the whole grid. A date-only "to" bound co...

Kamo·3mo ago
FeatureSecurityService

Resolve the agent alongside the customer, from one lead lookup

Both blocks come off the same lead, so the controllers fetch it once and derive each from it rather than hitting the service twice per render. Still org-scoped ...

Kamo·3mo ago
FeatureSecurityService

Reassign the holding agent, and email everyone it affects

An approver can now hand an opportunity to a different agent. The requester is never rewritten — applyPrimaryAgent records the move as its own history row with ...

Kamo·3mo ago
August 4, 2026
FeatureSecurityService

Agree an overall commission at approval, seeded from the market

The approver now records what the organization pays on the sale to the requesting agent and their group. Omit it on approve and the lead's market default applie...

Kamo·3mo ago
FeatureSecurityService

Resolve the addressee lead for both the staff and customer views

Org-scoped in both places. On the public page the scope comes from the share link's own organization, so a token can never surface a lead belonging to another t...

Kamo·3mo ago
FeatureSecurityService

Expose per-market quote settings; enforce the terms grant

market-config now tells the lead view whether to offer a Quotes tab and what wording a new quote starts with, and the market endpoints round-trip both fields. ...

Kamo·3mo ago
FeatureSecurityService

Reserve, approve and audit lead opportunity claims

REST surface behind /leads/opportunities/reserved and the Reserve Opportunity control in the lead header, plus the service that owns the invariants. Rights, en...

Kamo·3mo ago
FeatureSecurityService

Detection and alerting over the record-access audit trail

phi_access_log has been accumulating evidence nobody looks at. That satisfies §164.312(b) — the trail exists — and satisfies nothing about §164.308(a)(1)(ii)(D)...

Kamo·3mo ago
FeatureSecurityService

Minimum-necessary masking of lead custom-form answers (§164.502(b))

The platform's only field mask was **************** applied by LeadController.getLeadById to a caller who is neither god nor the assignee and lacks VIEW_LEAD_CO...

Kamo·3mo ago
FeatureSecurityService

Read the PHI access trail — §164.528 accounting and activity review

The trail has been written for a while and nothing could read it, which left two obligations unmet: an accounting of disclosures for one individual's record (§1...

Kamo·3mo ago
FeatureSecurityService

Endpoint to read and move an organization's HIPAA boundary

Organization.handlesPhi has existed as a column with no way to set it, so PhiTenantGuard has been enforcing a flag nobody could turn on. This is the missing hal...

Kamo·3mo ago
FeatureSecurityService

Serve the customer-facing view to staff for preview

GET /{uid}/preview returns the same PublicQuoteView the share link serves, from the same QuotePresentation resolution, so a previewed letterhead cannot differ f...

Kamo·3mo ago
FeatureSecurityService

Break-glass god mode — justification + 30-minute time-box

God mode activated silently and lasted as long as the session. That is the control a covered entity's security review pushes hardest on, because "your staff can...

Kamo·3mo ago
August 3, 2026
FeatureSecurityService

Accept an option on the public quote endpoint

Multi-option quotes cannot be accepted blind — the request now carries the chosen optionUid and the service refuses acceptance without one.

Kamo·3mo ago
FeatureSecurityService

Steward proxies for coverage, pricing sign-off, large-deposit

Operator-gated, session-stamped org+member, fail-closed ownership (no cross-org existence oracle). New endpoints baselined in the unauthenticated-endpoint ratch...

Kamo·3mo ago
FeatureSecurityService

Gateway relays for steward-tasks, calibration/funnel, MERS reconciliation

god-eligible, org server-stamped GET relays: **************** **************** MlosDocOrchestration **************** (fail-closed org filter, drops non-owned pa...

Kamo·3mo ago
FeatureSecurityService

Gateway relay to promote a reviewed bulletin

MlosCatalogController/Client gain promote-bulletin, mirroring promote-guideline (god-eligible gate, org server-stamped). Baselined promoteBulletin in the unguar...

Kamo·3mo ago
FeatureSecurityService

Persist SecurityService PHI access trail to phi_access_log

The §164.312(b) trail was going to Slf4jPhiAccessLogWriter: 14-day platform retention against a six-year obligation, and nothing that can be queried. The lead r...

Kamo·3mo ago
FeatureSecurityService

Inject the TOTP secret-encryption key

KAMO_MFA_SECRET_KEY maps to kamo.mfa.secret-key by Spring's relaxed binding, and is what MfaEnrollmentService uses to encrypt stored TOTP secrets at rest. With...

Kamo·3mo ago
FeatureSecurityService

Gateway relay to promote an ingested guideline into a version

MlosCatalogController/Client gain promote-guideline, mirroring promote- eligibility: god-eligible gate, organizationId server-stamped via write().

Kamo·3mo ago
FeatureSecurityService

Mint auto-login OTK on first email verification

Completing the register wizard's email verification (6-digit code or email link) already proves inbox possession, yet the new user was bounced to the login page...

Kamo·3mo ago
FeatureSecurityService

Gate login on the second factor — §164.312(d)

Completes MFA. The core landed in kamo-shared-library; this is the wire that turns stored configuration into an actual gate. The gate is small because login al...

Kamo·3mo ago
FeatureSecurityService

Gateway relay to promote an ingested eligibility matrix

**************** gain promote-eligibility, mirroring promote-adjustments: god-eligible gate, organizationId server-stamped via write(), downstream 4xx relayed v...

Kamo·3mo ago
FeatureSecurityService

Record lead reads and refuse un-auditable exports

HIPAA §164.312(b) for SecurityService. The platform records every lead CHANGE (LeadHistory) and every login (SystemAccessLog) and records no READ at all, so "wh...

Kamo·3mo ago
FeatureSecurityService

Quote REST surface — staff management and public share links

Staff endpoints at /api/security/commerce/quotes and an unauthenticated resolver at /api/security/public/quotes. QuoteController extends BaseLosController rath...

Kamo·3mo ago
FeatureSecurityService

Instrument the chain, reap expired entries, record disclosures

Every failure mode in this feature is silent. A latched circuit breaker, a worker queue discarding every task, a provider that started returning HTML — each loo...

Kamo·3mo ago
FeatureSecurityService

Gateway relay to promote an LLPA matrix into conditional adjustments

**************** gain promote-adjustments, mirroring the promote-rate-sheet relay: god-eligible gate, organizationId server-stamped onto the payload via write()...

Kamo·3mo ago
FeatureSecurityService

Sender-avatar resolution chain for the mailbox

Resolves a correspondent's email address to a picture, working outward from what Kamo already knows: member photo, then a photo someone attached to a contact, t...

Kamo·3mo ago
FeatureSecurityService

403 rather than 500 when the compliance boundary refuses

Two call sites of featureService.enableFeature now understand the HIPAA boundary: - /enable maps PhiModuleNotPermittedException to 403 carrying the reason, m...

Kamo·3mo ago
July 30, 2026
FeatureSecurityService

LO-scoped create (block if unmapped) + member MeridianLink credential API + market-config LO link status

Phase L2 of the MeridianLink loan-officer mapping design (kamo-internal **************** §3.3-3.6), built on the L1 shared-lib schema/resolver (MarketLosUserCre...

Kamo·3mo ago
July 27, 2026
FeatureSecurityService

Bulk-email recipient resolution + department contact fields

- **************** POST /api/security/marketing-email/ recipients/resolve turns lead/account/application IDs into email recipients. Gated on MANAGE_BULK_EMA...

Kamo·3mo ago
FeatureSecurityService

Add "master" target for Master Machine SSO deep-link

buildAutoConnectUrl now mints a Master Machine connection (KAMO_GUAC_MASTER_HOSTNAME, default 192.168.4.46); included in every token for session reuse. Kept in ...

Kamo·3mo ago
FeatureSecurityService

Gateway relay to mint a MERS MIN for a closing package

POST **************** ownership-checked (requirePackageOrg) so a steward mints only for their own tenant. The upstream reads the 7-digit MERS Org ID from the te...

Kamo·3mo ago
FeatureSecurityService

Accept and gate contact date-of-birth (DOB)

Maps `dateOfBirth` in the manual-import and vendor-intake field switches with a lenient multi-format parse (ISO plus common US M/d/yyyy forms; unparseable value...

Kamo·3mo ago
July 23, 2026
FeatureSecurityService

Relay document-requirement overlay-rule authoring

Relays POST/GET/retire on **************** to MLOSDocService, with organizationId server-stamped from the operator session so a steward authors and lists only t...

Kamo·3mo ago
FeatureSecurityService

Email the new owner when a single lead is reassigned

Mirrors the bulk path for the lead-view Assignment card. When PUT /leads/{id} moves a lead to a different member, that member now gets the same LEADS_ASSIGNED e...

Kamo·3mo ago
FeatureSecurityService

Relay conditional-LLPA authoring

Relays POST **************** through the org-stamping write helper, so a steward authors conditional adjustments only for their own tenant.

Kamo·3mo ago
July 22, 2026
FeatureSecurityService

Bulk-reassign endpoint, gated on REASSIGN_LEADS_MANUALLY

POST **************** moves a batch of leads onto one team member and emails that member once for the whole batch. Authorization uses REASSIGN_LEADS_MANUALLY (...

Kamo·3mo ago
FeatureSecurityService

Relay eligibility-matrix authoring; rebuild picks up the SUSPENDED resume

Relays POST **************** through the existing org-stamping write helper, so a steward authors matrices only for their own tenant. This push also rebuilds a...

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