KamoCRM

Live Change Log

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

17,632
Total Changes
6,066
Features
5,326
Fixes
30
Projects
Filter by project
All Projects17,632AIService259APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService583InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService604RAGService79SecurityService1,872TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,398kamo-login340kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,677kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore775Docs3,257Feature6,066Fix5,326Other998Performance165Refactor278Revert23Style42Test162Upgrade1
March 28, 2026
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·7mo 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·7mo 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·7mo 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·7mo 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·7mo 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·7mo 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·7mo 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·7mo 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·7mo 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·7mo 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·7mo 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·7mo 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·7mo 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·7mo 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·7mo 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·7mo 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·7mo 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·7mo 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·7mo 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·7mo 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·7mo 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·7mo 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·7mo 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·7mo 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·7mo ago
Fixkamo-login

เรียกคืนความทรงจํา ผมไม่ได้ยืนยันการล็อกอินผ่านวาระการเขียน

การเรียกกลับ regress จับภาพอนิจกรรม LOgin ปิดที่ จําฉันให้ดี ฉันโกหกตลอด ใช้กรรมการอ่าน ค่าของ checkbox สด แก้ไขตัวจัดการการออกจากระบบของ Kookies ด้วย ไม่มีเงื่...

Kamo·7mo ago
Fixkamo-internal

Provider save for non-configurable types and mailbox member email mapping

**************** selections now immediately persist via saveProvider API instead of only updating local state. Mailboxes tab now correctly extracts emailAddress...

kamo·7mo ago
Fixkamo-internal

Fix PRE_TICKET DB constraint + redesign creation form

- Fixed CHECK constraint on support_ticket.status to allow ordinal 14 - Redesigned TicketCreationForm with modern card-based UI: - "How can we help?" landing ...

kamo·7mo ago
Fixkamo-internal

Extract topics array from { topics: [...] } API response

The GET /api/support/topics endpoint returns { topics: [...] }, not a raw array. All consumers now extract data.topics before using the array.

kamo·7mo ago
Fixkamo-internal

Open support tool window from error and 404 pages

Replace old /help/ticket/new navigation with tool:open CustomEvent to open the support popup window directly.

kamo·7mo ago
March 25, 2026
Fixkamo-shared-library

กําหนดบทบาทปริยายให้กับสมาชิกในการสร้าง

~ตอนนี้เครื่องราชอิสริยาภรณ์กําหนด "จํานวนวัน" (ทุกคน) รับบทจากองค์กร.RollememberID. ** ปัจจุบันมีการมอบหมายทั้ง "Members" (ทุกคน) บทบาทและบทบาท "สมาชิกไทย" จา...

Kamo·7mo ago
March 24, 2026
FixSecurityService

Recalculate member_rights_applied after role create/update/delete

The member_rights_applied table was never recalculated when roles were modified, causing all members to have 0 applied rights. Now calls **************** after ...

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