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
August 4, 2026
FixSecurityService

Require ACTIVATED god mode to read the trail, not eligibility

PhiAuditController.hasRight() bypassed the right check on session GD alone. GD means "may activate god mode"; godModeActive means "has activated it, deliberatel...

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

Unbreak application.yml, and replace the test that never ran

Three things, all from trying to answer "why not just fix the context test?". 1. **************** declared `kamo:` TWICE and therefore did not parse at all ...

Kamo·1mo ago
TestSecurityService

Fail the build when a repository package is missing from the scan

This service has @ComponentScan("com.kamo") but an EXPLICIT @EnableJpaRepositories list. The moment a bean here needs a repository outside that list, the reposi...

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

Treat SERVFAIL/timeout (TRY_AGAIN) as pending, not hard error

Flaky customer authoritative servers (seen: migo.host for rodaris.md) intermittently answer SERVFAIL on healthy zones, which /setup/dns rendered as a red 'DNS l...

Kamo·1mo ago
FixSecurityService

Time out the *** call instead of hanging every login

A bare `new RestTemplate()` has no connect or read timeout. When the *** service became unreachable today, every login thread blocked on this call indefinitely ...

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

Declare the MFA bean here, since the library no longer does

kamo-shared-library dropped @Service from MfaEnrollmentService so that ~40 services stop constructing an authentication component they do not use — that stereot...

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

Add the MFA repositories to the JPA scan — unbreaks login

@EnableJpaRepositories here is an EXPLICIT package list, not a wildcard. com.kamo.z.shared.mfa.repos was missing from it, so UserMfaEnrollmentRepository and Mfa...

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

Ratchet on endpoints that resolve no session

ResourceServerConfig is anyRequest().permitAll() and @EnableMethodSecurity appears nowhere in this service, so every @PreAuthorize is inert and public is the de...

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

Let org owners configure sender photos without a rights grant

The settings endpoint required MANAGE_EMAIL_AVATAR_SETTINGS and nothing else, so it shipped dormant: a brand-new right is held by nobody until an admin assigns ...

Kamo·1mo ago
ChoreSecurityService

Commit outstanding work in progress

Staged and committed as-is so nothing is left uncommitted in the working tree. 2 files changed, 435 insertions(+)

Kamo·1mo ago
FixSecurityService

Harden the kubectl download against flaky egress [skip ci]

dl.k8s.io over the runner's egress intermittently drops mid-transfer: curl: (56) OpenSSL SSL_read: decryption failed or bad record mac which fails the deploy ...

Kamo·1mo 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·1mo 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·1mo ago
August 2, 2026
FixSecurityService

Gate DELETE /api/security/org/{id} behind active god mode

The handler was `public void **************** Long id)` — no HttpServletRequest parameter at all, calling straight through to a bare deleteById. With ResourceSe...

Kamo·1mo ago
FixSecurityService

Require auth + org scope on job-title/department mutations

PUT and DELETE on /api/security/job-titles/{id} and /api/security/departments/{id} resolved no session at all — they read a UUID off the path and called straigh...

Kamo·1mo ago
July 31, 2026
FixSecurityService

Store and read avatars under one domain-independent prefix

Avatar object paths were prefixed with the domain of whatever host the request arrived on (getPublicBucketName → kamocrm-com, optionone-com, cluster-local, …), ...

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

Credit-balance pen sets an absolute target (mint up / invalidate down)

The Manage-Credits pen edit only ever LOWERED a balance: updateAllotment routed creditBalance to invalidateCreditsToTarget, which no-ops when target >= current....

Kamo·2mo ago
July 28, 2026
FixSecurityService

Master Machine SSO uses a VNC connection, not RDP

guacd cannot render KRdp's H.264-only RDP GFX. buildAutoConnectUrl now mints a vncConnection() for Master Machine (192.168.4.46:5900, shared password). Linux/Wi...

Kamo·2mo 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·2mo 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·2mo 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·2mo 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·2mo ago
July 23, 2026
FixSecurityService

Pin RDP color-depth so KamoDesktop SSO reuses one xrdp session

The god-via-kamo-internal SSO path defines its Guacamole connection inline in the json-auth token, so the color-depth pin must live here too (kept in sync with ...

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

Make org branding authz reachable (owner, god mode, or right)

Uploading a logo to a child org 403'd with no way to succeed: canManageOrgBranding only admitted the org owner, and the isGodModeActive fallback could never ret...

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