KamoCRM

Live Change Log

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

17,374
Total Changes
5,891
Features
5,258
Fixes
30
Projects
Filter by project
All Projects17,374AIService242APIService174BillingService157ConversionService110DaemonService137DocsService223ESigService91EmailService568InitializerService329KBService151KlusterServices738MCPGatewayService235MediaService592RAGService79SecurityService1,822TranslateService62VOIPService248VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,321kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,631kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore773Docs3,252Feature5,891Fix5,258Other993Performance165Refactor278Revert23Style42Test159Upgrade1
April 20, 2026
Fixkamo-marketing

Correct MEDIASERVICE_URL port from 443 to 80 for contact form

ClusterIP service only exposes port 80; using 443 with http caused a ConnectTimeoutError on every contact form submission.

Kamo·6mo ago
FixSecurityService

Use correct session key 'memberID' instead of 'MID'

KSessionService stores member ID under key 'memberID' but both **************** and OrganizationController were reading session.get("MID") which always returned...

Kamo·6mo ago
FixSecurityService

Exclude master model from models list; add debug log to child-org creation check

SecurityModelController now filters out the org's master model (identified by org.getMasterModelID()) from the /api/security/models response — it is managed exc...

Kamo·6mo ago
FixSecurityService

Read session rights as List<String> names, not CSV of integer IDs

Session rights are stored as a JSON array of RoleRightType name strings. Both **************** and OrganizationController were casting them to String (causing C...

Kamo·6mo ago
Fixkamo-internal

Stop double-toggle on age range checkboxes in BranchSetupManager

Box onClick and Checkbox onChange both fired on each click, toggling twice and leaving state unchanged. Stop propagation on FormControlLabel so only one handler...

kamo·6mo ago
Fixkamo-internal

Use MUI v7 Grid size prop in StackingOrdersManager

MUI v7 Grid2 replaced xs/sm/md with the size object prop.

kamo·6mo ago
April 19, 2026
Fixkamo-internal

Remove deprecated MUI Grid item prop in StackingOrdersManager

MUI Grid v2 dropped the item prop; use size props directly on Grid.

kamo·6mo ago
Fixkamo-marketing

Stabilize countdown width to prevent banner text wobble

Fixed-width monospace container with tabular-nums prevents layout shifts as countdown digits change every 50ms.

Kamo·6mo ago
Fixkamo-internal

Align model-editor SERVICE_TYPES with backend ServiceType enum

The editor's app list had drifted from the backend ServiceType enum: - Missing 8 non-deprecated apps (AI_SUPPORT, SUPPORT, KNOWLEDGE_BASE, NOTES, POS, DOCS, M...

kamo·6mo ago
Fixkamo-shared-library

AppConfig replace is upsert-only, never deletes on payload absence

The previous behavior deleted any existing app-config row whose ServiceType wasn't in the incoming payload. That turned partial payloads into silent data-loss: ...

Kamo·6mo ago
Fixkamo-marketing

Move featureRequests i18n keys into correct home namespace

Keys were accidentally placed in about namespace; section was showing raw key strings instead of translated text.

Kamo·6mo ago
Fixkamo-internal

Send null instead of empty string for contentJson/contentPlainText on kb article create

Empty string is invalid for the JSONB column type, causing a DB error when creating an article with no content.

kamo·6mo ago
Fixkamo-login

Properly clean up Capcha event listeners on step transition

The removeEventListener calls were inside the setTimeout callback's return value, which JavaScript ignores. This caused handlers to accumulate on every user→pas...

Kamo·6mo ago
FixInitializerService

UPSERT SYSTEM email template rows on every run

Previously the seed runner only inserted rows that didn't exist, so canonical HTML changes never propagated to the DB. Now existing SYSTEM rows have their bodyH...

Kamo·6mo ago
FixEmailService

Preview uses same auto-vars as sendToUser (org logo + name)

The preview endpoint now injects logoUrl, logoSimpleUrl, and orgName from the org's domain before applying sample content variables, matching the exact variable...

Kamo·6mo ago
Fixkamo-internal

Use {{logoUrl}} placeholders so sent emails match preview

serializeFullEmailHtml now stores **************** placeholders in bodyHtml instead of resolved local paths. EmailTemplateService already injects absolute logo ...

kamo·6mo ago
Fixkamo-shared-library

Rewrite all canonical templates with full branded design

All 5 templates now use the consistent outer table structure (600px, rounded card, gray header/footer) matching the block editor's serializeFullEmailHtml output...

Kamo·6mo ago
Fixkamo-internal

Unify preview and editor into a single coherent system

- Extract system template content via DOMParser targeting the content <td> cell, preventing double-wrapping when EmailFrame re-serializes the blocks - Replace...

kamo·6mo ago
Fixkamo-register

Upload Avatar Creator avatar to server after registration

Avatar Creator avatars were only stored as SVG data URLs in local form state and never sent to the server, leaving new users with no avatar set. Convert the SVG...

Kamo·6mo ago
FixSecurityService

Use core NATS pub/sub for email-verified SSE fan-out

Replaces in-memory ConcurrentHashMap broadcast with NATS core pub/sub so all pods receive verification events regardless of which pod handled the token. Falls b...

Kamo·6mo ago
Fixkamo-internal

Fix center scroll and system template block loading

- Remove height:100% from EmailFrame so content grows naturally and scroll works - Extract <body> content from full HTML system templates into editable block

kamo·6mo ago
Fixkamo-internal

Extract inner content from canonical HTML when loading in block editor

When bodyBlocks is null and bodyHtml starts with <!DOCTYPE, extract the main content <td> as an initial HTML block so users see the existing content instead of ...

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