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
April 19, 2026
Featurekamo-internal

Add per-mailbox OAuth callback page

kamo·5mo ago
Featurekamo-login

Add /reset-password page, update Forgot Password link

Three-stage email password reset: email form → 8-char code entry → new password. Auto-verifies token from URL. Glass-morphism card, background carousel, Capcha ...

Kamo·5mo ago
Featurekamo-internal

Add MailboxTableShell shared primitive

kamo·5mo ago
Featurekamo-login

Redirect Forgot Password to register.{domain}/recover

Uses the existing replaceDeepestAlias pattern, consistent with the register link. Password reset now lives on kamo-register.

Kamo·5mo ago
Featurekamo-register

Add /recover password reset page and API proxy

Three-stage flow: email → 8-char code entry → new password. Auto-verifies token from URL query param, background carousel, glass-morphism card, Capcha ***, matc...

Kamo·5mo ago
Featurekamo-internal

Enforce member rights on all nav items

Every nav item now requires both org feature flag AND member right. 7 new access rights added: ACCESS_COMMERCE, VIEW_CALENDAR, ACCESS_CHAT, ACCESS_MAIL, ACCESS_...

kamo·5mo ago
Featurekamo-shared-library

Add 7 module-access rights (IDs 112-118)

ACCESS_COMMERCE, VIEW_CALENDAR, ACCESS_CHAT, ACCESS_MAIL, ACCESS_VOIP, VIEW_SUPPORT, VIEW_ANALYTICS

Kamo·5mo ago
FixSecurityService

Use avatarType field + JDBC for photo URL generation to handle Hibernate proxies

**************** previously used instanceof AvatarPhoto to determine avatar type and cast to read fileExtension. When Hibernate returns a base-class proxy (e.g....

Kamo·5mo ago
FixEmailService

Update EMAIL_VERIFICATION sample vars to match current template

Use expiryText instead of expiryMinutes (renamed variable), and update verifyLink to point to the register subdomain (correct send path).

Kamo·5mo ago
Fixkamo-internal

Prevent double-wrapping of full-document bodyHtml in block designer

When bodyBlocks is null and bodyHtml is a full <!DOCTYPE html> document (e.g. canonical seeded templates), importing it as a single block caused serializeFullEm...

kamo·5mo ago
FeatureSecurityService

Pass human-readable expiry time to email verification template

Add humanizeMinutes() helper that formats minutes as days/hours/minutes (e.g. "1 day" for 1440 min). Pass as {{expiryText}} to match updated canonical template ...

Kamo·5mo ago
Featurekamo-shared-library

Improve email verification template — URL fallback, expiry text, subject

- Add plain-text verification link below button as copy-paste fallback - Switch expiry variable from {{expiryMinutes}} to {{expiryText}} for human-readable fo...

Kamo·5mo ago
Fixkamo-register

Restore verification page layout by zeroing hidden input dimensions

MUI Box interprets numeric width/height values 0–1 as percentages, so width:1 made the hidden input cover the full card. Changed to 0 so the input is invisible ...

Kamo·5mo ago
April 18, 2026
FixEmailService

Preserve DB domain case in NoReply from address

Removed toLowerCase() — the domain already comes from resolvePrimaryDomain which reads org_domains from the database, so case is canonical from DB.

Kamo·5mo ago
Featurekamo-internal

Serialize full email HTML with outer frame on template save

- serializeFullEmailHtml wraps inner blocks in the branded outer frame (header logo, title/subtitle, content area, footer logo + org name) using absolute UR...

kamo·5mo ago
Stylekamo-shared-library

Add branded outer frame to email-verification canonical template

Wraps inner content with a proper email shell: header with org name, padded content area, and footer. Uses {{orgName}} as the identifier.

Kamo·5mo ago
FeatureSecurityService

Add code-based email verification path to /verify-email endpoint

The endpoint now handles both token (link click) and userId+code (manual 6-digit entry). Token path unchanged; code path hashes the supplied code and matches ag...

Kamo·5mo ago
Fixkamo-register

Token link auto-verifies and redirects to login; add code focus indicator

- /verification?token=xxx now calls verifyEmailByToken on mount and redirects to login on success; falls back to code entry on failure - Active code box shows...

Kamo·5mo ago
Fixkamo-register

Lift *** widget above click-to-focus overlay (z-index)

The overlay (position:absolute, z-index:0) was covering the Capcha widget because it appeared later in DOM order. Adding z-index:1 to the *** container lets poi...

Kamo·5mo ago
FixKlusterServices

Remove nonexistent postfix-lmdb package, install lmdb library instead

postfix-lmdb is not a valid Alpine package; lmdb support is built into the base postfix package. The pod was CrashLoopBackOff due to apk failure.

Kamo·5mo ago
FeatureKlusterServices

Add weekly image prune and journal vacuum CronJob for k1m1

CronJob runs every Sunday 3am, privileged, pinned to k1m1. - crictl rmi --prune removes unused container images - nsenter journal vacuum enforces 500MB cap - CI...

Kamo·5mo ago
FeatureKlusterServices

Add Docs deploy step to workflow

Kamo·5mo ago
FixKlusterServices

Fix Docs image registry, add Recreate strategy to coturn/postfix, increase qdrant memory

- Docs: fix wrong image registry (redis.kamo.svc... → **************** add Recreate strategy - coturn: add Recreate strategy to prevent rolling update port conf...

Kamo·5mo ago
Refactorkamo-internal

Compact editor header — remove large title/tabs, move actions to nav row

Removes the sticky header card (title, subtitle, Save/Cancel/Preview buttons, Edit/Preview tab bar) from EmailTemplateEdit to reclaim ~200px of vertical space a...

kamo·5mo ago
Featurekamo-register

Require *** on verification page before each verify/resend attempt

*** is reset after every action (success or failure) so a fresh solve is required for each subsequent attempt.

Kamo·5mo ago
FixKlusterServices

Switch Postfix sasl_passwd from hash to lmdb format

Alpine postfix build does not include hash support — postmap and smtp_sasl_password_maps were silently failing, deferring every outbound relay attempt through s...

Kamo·5mo ago
Fixkamo-register

Redirect to /verification after registration instead of rendering inline

Keeps the URL accurate — browser shows /verification not /member.

Kamo·5mo ago
FixEmailService

Resolve root domain for NoReply from-address instead of bare subdomain

resolvePrimaryDomain() was returning the first domain entry (e.g. "www") which produced NoReply@www. Now prefers root domains (parent == null) so transactional ...

Kamo·5mo ago
FixSecurityService

Populate all EMAIL_VERIFICATION template variables

Was sending only {token, code} — template also needs orgName, firstName, verifyLink, and expiryMinutes. Load org and user to build the full vars map, and resolv...

Kamo·5mo ago
Featurekamo-register

Rename /resend-verification page to /verification

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