KamoCRM

Live Change Log

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

17,445
Total Changes
5,946
Features
5,271
Fixes
30
Projects
Filter by project
All Projects17,445AIService243APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService571InitializerService329KBService151KlusterServices738MCPGatewayService238MediaService596RAGService79SecurityService1,843TranslateService62VOIPService249VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,341kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,648kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore773Docs3,254Feature5,946Fix5,271Other994Performance165Refactor278Revert23Style42Test159Upgrade1
August 3, 2026
Featurekamo-shared-library

TOTP second factor — §164.312(d)

The compliance assessment called the absence of any second factor disqualifying on its own, and under the 2025 Security Rule NPRM MFA stops being addressable at...

Kamo·2mo ago
Featurekamo-login

Add analytics analytics + ?registered=1 welcome notice

- Mount analyticsAnalytics client component in the root layout: next/script loader for analytics.kamocrm.com scoped via data-domains to login.kamocrm.com on...

Kamo·2mo ago
FeatureInitializerService

Create the second-factor tables

Backs UserMfaEnrollment and MfaRecoveryCode in kamo-shared-library — §164.312(d) Person or Entity Authentication, the gap the compliance assessment called disqu...

Kamo·2mo ago
FeatureVOIPService

Require VIEW_CALL_LOGS for call playback in PHI-handling orgs

Recording and voicemail playback checked tenancy and nothing else: any member of the owning org could pull any call in it, transcript included, on extensions th...

Kamo·2mo ago
Featurekamo-internal

Automatic logoff after inactivity (HIPAA 164.312(a)(2)(iii))

A session left open on an unattended workstation stayed usable indefinitely. This terminates it after 15 minutes of no interaction, with a 60-second warning so ...

kamo·2mo ago
FeatureDocsService

Audit WOPI content endpoints and close the last byte-serving gaps

WOPI serves whole documents to Docs and recorded nothing. GET /wopi/files/{id}/contents is the same disclosure as /download, relayed the same way through APISer...

Kamo·2mo ago
Fixkamo-internal

Restore theme assets — CSP derived the wrong host and SVG was disabled

Avatars, org logos and backgrounds stopped loading for every tenant. Two separate regressions I introduced in 36ad904b, both live for hours. 1. The per-request...

kamo·2mo ago
Featurekamo-internal

Promote an ingested eligibility matrix from the console

For an ELIGIBILITY_MATRIX source document the ingestion panel now shows a "Promote as eligibility matrix" card: pick the product, limit type (MAX_LTV/CLTV/DTI),...

kamo·2mo 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·2mo 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·2mo ago
Featurekamo-internal

Authoring UI — list, line-item editor, share-link management

Completes the quote/estimate system: staff can now build a quote, price it, mint a share link and email it, all from the pipeline. app/lib/quotesApi.ts ...

kamo·2mo ago
Fixkamo-internal

Close the /_next/image open proxy

remotePatterns was [{ protocol: "https", hostname: "**" }]. That made the image optimizer a general-purpose fetcher: any caller could ask this server to retriev...

kamo·2mo 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·2mo ago
Featurekamo-signer-monorepo

Public branded quote/estimate document at /{locale}/q/{token}

The customer-facing surface for the commerce quote system. Server-rendered so the org's branding is in the first paint — an unbranded flash on a commercial docu...

Kamo·2mo 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·2mo ago
Featurekamo-shared-library

Quote/estimate domain — entities, pricing engine, share links

Adds a first-class Quote alongside the existing commerce spine. The pre-existing "ServiceQuote" is an Intent plus a JSON blob carrying one offering and one flat...

Kamo·2mo ago
FeatureKlusterServices

Egress containment for the avatar resolver, as a CiliumNetworkPolicy

Reinstates what 8f6c672 reverted, in the only form that actually works here. The earlier attempt failed because a plain NetworkPolicy cannot express this clust...

Kamo·2mo ago
Featurekamo-internal

Show a facepile for group conversations

A thread with five people on it was represented by one arbitrary face, which reads as a message from one person. Up to three participants now overlap, so "sever...

kamo·2mo 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·2mo ago
Featurekamo-internal

Promote an ingested LLPA matrix into adjustments from the console

The ingestion panel could only publish a rate sheet. For an LLPA_MATRIX source document it now shows a "Promote as LLPA adjustments" card: pick the existing rat...

kamo·2mo 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·2mo ago
FeatureVOIPService

Record call recording, voicemail and transcript access

Recording playback left no trace. A recorded call is the densest PHI the platform stores — the unredacted conversation — and "who listened to this call" was una...

Kamo·2mo ago
Fixkamo-internal

Show the other party in Sent, not the reader's own face

Both list views keyed a row on its sender, so every row of the reader's own outbox showed the reader — their photo, their name, their address. The message list ...

kamo·2mo 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·2mo ago
FeatureAIService

Record PHI access on every read of stored AI conversation history

Wires the shared §164.312(b) spine into the paths that read persisted prompts and completions. The assistant is the module the compliance assessment put OUTSIDE...

Kamo·2mo ago
FeatureMediaService

Record chat message reads on the endpoints that return bodies

Sending a message left a row; reading one left nothing. Every chat, support and social thread on the platform renders from a handful of endpoints here, and none...

Kamo·2mo ago
Chorekamo-nowww

Commit outstanding work in progress

Staged and committed as-is so nothing is left uncommitted in the working tree. 1 file changed, 1 insertion(+)

Kamo·2mo ago
Chorekamo-register

Commit outstanding work in progress

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

Kamo·2mo ago
Chorekamo-marketing

Commit outstanding work in progress

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

Kamo·2mo ago
Chorekamo-login

Commit outstanding work in progress

Staged and committed as-is so nothing is left uncommitted in the working tree. 26 files changed, 7894 insertions(+), 8 deletions(-)

Kamo·2mo ago
Chorekamo-internal

Commit outstanding work in progress

Staged and committed as-is so nothing is left uncommitted in the working tree. 5 files changed, 4879 insertions(+), 12 deletions(-)

kamo·2mo ago
RevertKlusterServices

Drop the avatar-resolver egress policy

Reverts the policy added in 06db7db and patched in 24f76ae. It took SecurityService down for roughly six minutes in production (pod 0/1, Hikari connections dyin...

Kamo·2mo ago
ChoreTranslateService

Commit outstanding work in progress

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

Kamo·2mo ago
ChoreESigService

Commit outstanding work in progress

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

Kamo·2mo ago
ChoreVOIPService

Commit outstanding work in progress

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

Kamo·2mo ago
ChoreAIService

Commit outstanding work in progress

Staged and committed as-is so nothing is left uncommitted in the working tree. 4 files changed, 397 insertions(+), 3 deletions(-)

Kamo·2mo ago
ChoreEmailService

Commit outstanding work in progress

Staged and committed as-is so nothing is left uncommitted in the working tree. 1 file changed, 12 insertions(+)

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

Commit outstanding work in progress

Staged and committed as-is so nothing is left uncommitted in the working tree. 3 files changed, 353 insertions(+), 4 deletions(-)

Kamo·2mo ago
Fixkamo-asterisk-support

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

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·2mo ago
Fixkamo-capcha

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·2mo ago
Fixkamo-nowww

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·2mo ago
Fixkamo-register

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·2mo ago
Fixkamo-marketing

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·2mo ago
Fixkamo-login

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

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

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

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

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