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
March 29, 2026
March 28, 2026
Fixkamo-internal

Simplify useMeeting to generate OTK and open meeting window directly

Backend meeting API endpoints don't exist yet - skip meeting record creation for now. Add error handling to all click handlers to prevent client-side crashes.

kamo·6mo ago
Fixkamo-internal

Make visibility checkboxes and Train AI toggle independent controls

Visibility (Members, Team Members, Public) controls who can access the article in the KB UI. Train AI is a separate toggle for RAG indexing, not a parent of the...

kamo·6mo ago
FixAPIService

Preserve upstream X-Forwarded-Host instead of overwriting with own Host

When an upstream proxy (Next.js) sets X-Forwarded-Host to the browser's original host, APIService now preserves it instead of overwriting with its own Host head...

Kamo·6mo ago
Fixkamo-internal

Use internal K8s URL for API routing to fix avatar upload for non-KamoCRM orgs

The API proxy was computing external URLs (https://api.{domain}) for every org, which only resolved for KamoCRM. Now uses API_SERVICE_URL env var for direct int...

kamo·6mo ago
Fixkamo-internal

Re-fetch notes after create/update to show decrypted content in preview

The backend returns encrypted content/contentPlain in POST/PUT responses, causing NoteCard previews to display ciphertext until page refresh. Now re-fetches via...

kamo·6mo ago
Fixkamo-internal

Disable all auto-link behaviors in KB editor to prevent paste-as-hyperlink bug

The linkExtension singleton from @lexkit/editor retains internal paste handler state across component remounts. Disabling autoLinkUrls, autoLinkText, and linkSe...

kamo·6mo ago
Fixkamo-internal

Prevent KB editor link extension state leaking between article creates

Move Lexical extensions from module-level singletons into a factory function called via useMemo per component mount, so each new article gets fresh extension in...

kamo·6mo ago
March 27, 2026
Fixkamo-internal

Accept large CockroachDB IDs in org Zod schema

The org ID from unique_rowid() exceeds JS MAX_SAFE_INTEGER, causing z.coerce.number().int() to fail with "too_big". Now accepts number, bigint, or string to han...

kamo·6mo ago
Fixkamo-internal

Accept UUID strings for feature IDs in org Zod schema

The OrgFeature schema required id to be a coercible integer, but the backend returns UUIDs. This caused a ZodError on every layout fetch, falling back to the ha...

kamo·6mo ago
Fixkamo-internal

Always refresh org context after any app toggle, not just completed-stage

POS and other non-completed apps also affect the UI (e.g. Pipeline in NavPri). The stage check was preventing the refresh for these apps.

kamo·6mo ago
Fixkamo-internal

Update all fallback feature lists and gate Pipeline/Chat/LeadStatus

Root cause: layout.tsx and org API route had hardcoded fallback feature lists with only 6 old apps (missing VOIP, AI_SUPPORT, SUPPORT, KB, NOTES, DOCS). When th...

kamo·6mo ago
FixSecurityService

Auto-provision completed-stage app features in org domain endpoint

Moves auto-provisioning from the FeatureController (only hit from the apps settings page) to the SecurityController org domain endpoint (hit on every page load ...

Kamo·6mo ago
FixSecurityService

Auto-provision missing completed-stage app features for existing orgs

When listing features, the controller now checks for missing OrgFeature rows for COMPLETED-stage apps and creates them. This ensures orgs created before new app...

Kamo·6mo ago
FixInitializerService

Auto-enable all completed-stage apps for new orgs instead of hardcoded list

Replaces hardcoded feature list (which had duplicates and deprecated types) with a loop over all COMPLETED-stage, non-core, non-deprecated ServiceTypes. New app...

Kamo·6mo ago
FixSecurityService

Catch all exceptions in FeatureController enable/disable endpoints

Prevents uncaught RuntimeExceptions from becoming opaque 500 errors. Now returns structured error messages for any failure.

Kamo·6mo ago
Fixkamo-internal

Show CC and BCC in sent item email previews

Add bcc field to EmailMessage type. ThreadDetailView now displays BCC recipients when present (typically in sent folder copies).

kamo·6mo ago
FixEmailService

Extract BCC recipients from IMAP messages

BCC header is retained on sent folder copies. Now extracted alongside To and CC so the frontend can display it in sent item previews.

Kamo·6mo ago
Fixkamo-internal

Email nav icon now links to /messages instead of legacy /email iframe

The /email page embeds mail.kamocrm.com in an iframe (legacy webmail). The actual built-in email client is at /messages. Updated NavPri to point to the correct ...

kamo·6mo ago
Fixkamo-internal

Surface actual backend error message on feature toggle failure

Enable/disable now parses the error response body and shows the real error in the toast instead of a generic message. Helps diagnose what's actually failing on ...

kamo·6mo ago
Fixkamo-internal

Restore org context refresh after toggling completed-stage apps

Without router.refresh(), the org context stayed stale after enabling apps — NavPri, homepage, and settings never showed the newly enabled features. Now refresh...

kamo·6mo ago
Fixkamo-internal

Gate all feature cards and settings sections by org feature flags

Homepage: Documents card now uses isDocs (not deprecated isStorage/isDocManager), Calendar gated by isEmail, Notes gated by isNotes. Settings page: Commerce se...

kamo·6mo ago
March 26, 2026
Fixkamo-internal

Remove router.refresh() from feature toggle to prevent page reset

router.refresh() was causing the page to re-render and reset the active tab back to "Available" on every toggle. The cache invalidation and loadFeatures() call ...

kamo·6mo ago
FixSecurityService

Prevent duplicate apps in features list by excluding all existing types

The available list was only excluding features with enabled=true, so a disabled feature (isActive=false) appeared in both the features array AND the available a...

Kamo·6mo ago
Fixkamo-internal

Invalidate org cache after feature toggle to reflect changes immediately

The org API route caches organization data in Redis for 24h. After enabling or disabling an app, the stale cache caused feature flags to remain false, making se...

kamo·6mo ago
Fixkamo-internal

Gate all nav links and settings pages by org feature flags

NavTop: hide AI chat, softphone, SMS, credits, notes, calendar, and contacts links when their corresponding app is disabled. Settings pages for CRM, Email, Phon...

kamo·6mo ago
Fixkamo-internal

Sync settings nav with actual tab definitions across all pages

Add missing Mailboxes and CalDav/CardDav entries to email section in both the settings main page and the NavPri slide-out drawer. Fix Account section card linki...

kamo·6mo ago
Fixkamo-internal

Provider save field name and mailboxes tab member list endpoint

Provider save for non-configurable types now sends correct field name. Mailboxes tab now uses **************** endpoint which actually exists, instead of non-ex...

kamo·6mo ago
FixEmailService

Provider GET returns both type and providerType, PUT accepts both

GET /api/email/provider now includes both 'type' and 'providerType' fields in the response for frontend compatibility. PUT now accepts 'type' as a fallback when...

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