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 11, 2026
FixAPIService

Validate Forgejo HMAC-SHA256 signature instead of plain secret header

Forgejo sends webhook secret as X-Gitea-Signature / X-Forgejo-Signature HMAC-SHA256 hash, not as a plain header value. Read body, verify HMAC, then forward to S...

Kamo·5mo ago
Fixkamo-marketing

Redact *** header name in changelog display

Kamo·5mo ago
FixConversionService

Handle image files (JPG, PNG, TIFF, etc.) directly via PDFBox instead of Docs

Docs can't convert images to PDF. Added ImageToPdfService that embeds images into a PDF page using PDFBox. Docs is only used for office document formats (DOC, D...

Kamo·5mo ago
FixDaemonService

Use imgRepository.findByDat() instead of lazy imgDat.getImages()

Quartz jobs run outside JPA sessions, so lazy collection access on ImgDat.images throws LazyInitializationException. Use explicit repository query instead.

Kamo·5mo ago
Fixkamo-shared-library

Pass SYSTEM_WIDE as parameter instead of FQCN in JPQL query

Hibernate may not resolve fully-qualified enum names in JPQL across all versions. Pass ImageAssocType.SYSTEM_WIDE as a named parameter instead.

Kamo·5mo ago
FixSecurityService

Serialize imgId as String to prevent JavaScript precision loss

CockroachDB unique_rowid() IDs exceed Number.MAX_SAFE_INTEGER. Changed imgId from Long to String in UploadDocumentResponse and DocumentMetadata DTOs so Jackson ...

Kamo·5mo ago
FixSecurityService

Download converted PDF from MinIO instead of original file

The converted-pdf endpoint was calling imageService.downloadDocument() which returns the original file. Now downloads directly from MinIO using the convertedDat...

Kamo·5mo ago
Fixkamo-internal

Properly forward multipart FormData and set route handler body size limit

- Revert to parsing FormData and rebuilding for forwarding (fixes MalformedStreamException from raw arrayBuffer forwarding) - Add routeHandlerBodySizeLimit: 5...

kamo·5mo ago
Fixkamo-internal

Stream upload body directly to avoid Next.js 10MB body size limit

- Read request as arrayBuffer and forward raw bytes with content-type header instead of parsing FormData (which triggers Next.js body limit) - Add serverActio...

kamo·5mo ago
Fixkamo-internal

Call SecurityService directly via RKE2 DNS, fix hash computation, add staged upload progress

- All template API routes now call SecurityService directly via internal K8s DNS instead of proxying through APIService - Use computeBlake3/computeSha3256 fro...

kamo·5mo ago
April 10, 2026
Fixkamo-login

Read OTK from Redis master after SecurityService login

Avoids missing *** when REDIS_REPLICA_HOST points at a lagging replica.

Kamo·5mo ago
April 9, 2026
April 6, 2026
Fixkamo-marketing

Make hexagon icon borders thicker and visible

Replace invisible CSS border (clipped by clip-path) with a ::before pseudo-element border that extends 3px outside the hexagon shape.

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