KamoCRM

Live Change Log

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

17,645
Total Changes
6,069
Features
5,336
Fixes
30
Projects
Filter by project
All Projects17,645AIService260APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService583InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService604RAGService79SecurityService1,872TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,409kamo-login340kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,678kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore775Docs3,257Feature6,069Fix5,336Other998Performance165Refactor278Revert23Style42Test162Upgrade1
April 19, 2026
Fixkamo-internal

ส่งว่างแทนข้อความว่างสําหรับเนื้อหา json/ ContinentPlain ข้อความใน kppp

ข้อความเปล่าไม่ถูกต้องสําหรับประเภทของคอลัมน์ JSONB ซึ่งจะทําให้เกิดข้อผิดพลาดในการใช้งาน DB เมื่อสร้างข่าวที่ไม่มีเนื้อหา.

kamo·6mo ago
Fixkamo-login

เหมาะสมทําความสะอาดเหตุการณ์แคปชาเมื่อการเปลี่ยนแปลงขั้นตอน

การเรียกตัวร่วมผู้ฟัง ที่ถูกลบออกไป อยู่ภายในเวลาเรียกกลับ ค่าที่คืนค่า โดยจาวาสคริปต์จะไม่สนใจ นี่เป็นสาเหตุของผู้ดูแล สะสมในทุก ๆ ผู้ใช้งาน: การเลื่อนขั้น ทํา...

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

ใช้ที่เก็บอีเมลที่เข้ากันได้กับจดหมายที่ส่งแล้ว

อนุกรม ~ประกาศออกไป~ ผู้ถือเครื่องกายวิภาคแทนที่จะแก้ไขเส้นทางท้องถิ่น Name=ไดเรกทอรีName ได้ทําการฉีดที่อยู่ URL สัมบูรณ์ที่เวลาส่ง (จากโดเมนของ org) ไว้แล้ว เ...

kamo·6mo ago
Fixkamo-shared-library

เขียนเอกสารต้นแบบทั้งหมดใหม่อีกครั้ง โดยใช้ชื่อเต็ม

ต้นแบบทั้งหมด 5 ตัว ใช้โครงสร้างตารางภายนอกที่สอดคล้องกัน (600px, cload) ไพ่, ส่วนหัวสีเทา/ ฟุตเกอร์) ตรงกับชุดอนุกรมของเครื่องมือแก้ไขข้อความ แสดงผล ส่วนหัวและ...

Kamo·6mo ago
Fixkamo-internal

ปรับค่าการแสดงตัวอย่างและเครื่องมือแก้ไขไปยังระบบที่เข้ากันได้

- คลายเนื้อหาต้นแบบระบบผ่านทาง DopParser เป้าหมายเนื้อหา <td> เซลล์ ป้องกันการสุ่มคู่เมื่ออีเมลฟระบี re-serutions บล็อก แทนที่การแสดงตัวอย่างการสลับการวนรอบด้วย...

kamo·6mo ago
Fixkamo-register

อัปโหลดโปรแกรมสร้างอวตารของอวตารไปยังเซิร์ฟเวอร์หลังการลงทะเบียน

อวตารของอวตารถูกจัดเก็บเป็นที่อยู่ URL ของข้อมูล SVG ในสถานะท้องถิ่นเท่านั้น และไม่เคยถูกส่งไปที่แม่ข่าย โดยจะทิ้งผู้ใช้ใหม่ที่ไม่มีชุดอวตาร แปลง SVG ให้เป็น PN...

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

ซ่อมแซมการเลื่อนตัวกลางและตัวแม่ของระบบ

- ลบความสูง: 100% จากอีเมลฟรัมเพื่อให้เนื้อหาเติบโตตามธรรมชาติและการเลื่อนทํางาน - คลายข้อมูล < body> เนื้อหาจากเอกสารต้นแบบแบบ HTML เต็มไปยังบล็อกแก้ไขได้

kamo·6mo ago
Fixkamo-internal

คลายเนื้อหาภายในออกจากส่วน HTML แบบ HTML เมื่อทําการโหลดในเครื่องมือแก้ไขบล็อค

เมื่อบอดี้ล็อคเป็นโมฆะและ bodyhtml เริ่มต้นที่ <! DOCTYPE, สกัด เนื้อหาหลัก <td> เป็นบล็อก HTMLเริ่มต้น ทําให้ผู้ใช้เห็นรายการที่มี เนื้อหาแทนเครื่องมือแก้ไขข้อ...

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

ป้องกันการปอกเปลือกคู่ของ bodyhtml ในดีไซเนอร์บล็อก

เมื่อบอดี้ล็อคเป็นโมฆะและ bodyhtml เป็นเต็ม <! DOCTYPEPPHNML> เอกสาร (เช่น วางแม่แบบแบบแบบแบบ) การนําเข้ามันจากบล็อกเดียวทําให้เกิด อนุกรม Fullemailhtml เพื่อห่...

kamo·6mo ago
Fixkamo-register

เรียกคืนการจัดวางหน้ากระดาษที่ถูกป้อนข้อมูลแบบเป็นศูนย์

กล่อง MUI แปลความหมายเป็นตัวเลขความกว้าง/ความสูง 0-1 เป็นเปอร์เซ็นต์ ความกว้าง: 1 ทําการใส่ข้อมูลที่ซ่อนอยู่ปกไพ่เต็ม เปลี่ยนเป็น 0 แล้ว การป้อนข้อมูลไม่สามารถม...

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

เชื่อมต่อไปยังที่อยู่เชื่อมโยงอัตโนมัติและเปลี่ยนเส้นทางไปยังการล็อกอิน; เพิ่มตัวบ่งชี้โฟกัสของโค้ด

2551. สืบค้นเมื่อ 7 พฤษภาคม พ.ศ. เปลี่ยนเส้นทางไปยังการล็อกอินเมื่อสําเร็จ; ถอยกลับไปยังรายการรหัสเมื่อล้มเหลว - กล่องรหัสที่ใช้แสดงวงแหวนสีน้ําเงิน ผู้ใช้จะได้...

Kamo·6mo ago
Fixkamo-register

เพิ่มวิดเจ็ต * *** อยู่เหนือการคลิก- มุมของกรอบ (z- index)

ทับ (ตําแหน่ง: absolute, z-index: 0) ครอบคลุมแคปชา วิดเจ็ตเพราะมันปรากฏในภายหลังในคําสั่ง DOM เพิ่มค่า z- index:1 *** ตู้คอนเทนเนอร์ให้นําเหตุการณ์ไปถึงมัน.

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

เปลี่ยนเส้นทางไปยัง / ใบรับรองหลังจากทําการลงทะเบียนแล้ว แทนการแสดงผลในบรรทัด

รักษา ความ ถูก ต้อง แม่นยํา ของ ที่ อยู่ ใน ที่ อยู่ อาศัย — คือ แสดง / ไม่ มี การ เปิด เผย.

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

Add internal.auth.secret to EmailService configmap

InternalAuthFilter was rejecting all service-to-service calls (send, seed-org) with 503 because internal.auth.secret was unconfigured. Matches the same INTERNAL...

Kamo·6mo ago
FixEmailService

Allow transactional send on port-25 relay and auto-seed missing templates

Port-25 SMTP (postfix) requires no auth — transactionalCredentials() was throwing ProviderUnavailableException when user/pass were unconfigured, blocking all ve...

Kamo·6mo ago
FixSecurityService

Use subdomain-aware SQL to match findByDomain JPQL logic

Org domain lookup in resendVerification was doing an exact-match query that failed for subdomains stored as child records (e.g. 'api' with parent 'kamocrm.com')...

Kamo·6mo ago
Fixkamo-login

ตั้งค่าเครื่องโฮสต์/ X- headered-host เพื่อให้ Aprilerviews แก้ให้ถูกต้อง org

Aprilerview เขียนทับ X- hardwards ด้วยการร้องขอ.get serverName, () ซึ่งอ่านแล้ว จากส่วนหัวโฮสต์ โดยไม่ต้องระบุส่วนหัวเครื่อง K8s บริการภายใน ชื่อแฟ้มถูกส่งไปที...

Kamo·6mo ago
FixSecurityService

Correct EmailService URL port in configmap (4203 -> 80)

EmailService K8s service exposes port 80, not 4203. Verification emails were timing out on every registration attempt.

Kamo·6mo ago
FixSecurityService

Bypass JPA org lookup to avoid Hibernate cascade flush error

**************** triggers **************** which causes a Hibernate auto-flush. That flush fails because Organization.features was previously replaced with a pl...

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