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
March 19, 2026
FixEmailService

Add security-service.*** to K8s ConfigMap

KamoJwtService requires this property for Bearer token validation in DavAuthFilter, but the K8s ConfigMap overrides application.yml and was missing it — causing...

Kamo·7mo ago
FixEmailService

Add *** secret to deployment envFrom

Kamo·7mo ago
FixEmailService

Remove duplicate JPA repo scan — use parent package only

com.kamo.z.shared.email covers metadata.repos, scanning both caused BeanDefinitionOverrideException on messageLabelRepository.

Kamo·7mo ago
March 18, 2026
FixEmailService

Add rspamd config to K8s ConfigMap and set ddl-auto to none

The rspamd.base-url property was missing from the production ConfigMap, causing CrashLoopBackOff on deploy. Also corrects dev ddl-auto to none.

Kamo·7mo ago
March 17, 2026
FixEmailService

Remove hardcoded WebSocket headers from email middleware

Traefik v3 handles WebSocket Upgrade/Connection headers natively. Hardcoding them broke SockJS fallback transports (xhr-streaming, xhr-polling). Now matches med...

Kamo·7mo ago
March 16, 2026
FixEmailService

Use @Value for RspamdConfig and make training non-blocking

RspamdConfig now uses @Value to match existing project patterns. Rspamd training failures no longer prevent the message from being moved.

Kamo·7mo ago
FixEmailService

Save copy to Sent folder after sending email

Transport.send() only sends via SMTP without saving to IMAP. Added saveToSent() to append the message to the Sent folder with the SEEN flag set. Applies to send...

Kamo·7mo ago
FixEmailService

Disable STARTTLS and auth for port 25 internal SMTP

Port 25 on internal Postfix doesn't support STARTTLS and allows relay from cluster IPs via mynetworks. Only enable auth and STARTTLS when using port 587 (submis...

Kamo·7mo ago
FixEmailService

Use SMTP port 25 instead of 587 for internal Postfix

Postfix only listens on port 25 inside the cluster. Port 587 (submission) is not enabled in the container.

Kamo·7mo ago
FixEmailService

Change ddl-auto from none to update for auto schema management

Hibernate was not creating the email_metadata schema and conversations table because ddl-auto was set to none in the k8s configmap.

Kamo·7mo ago
March 15, 2026
FixEmailService

Use native query for PostgreSQL text[] column in ConversationRepository

MEMBER OF is not supported by Hibernate for @JdbcTypeCode(ARRAY) fields. Switch to native SQL with ANY() for folder_ids array lookup.

Kamo·7mo ago
March 14, 2026
FixEmailService

Use StringRedisTemplate to read OTK/session values stored as plain strings

The Next.js app stores OTK and *** values as plain strings in Redis. The default RedisTemplate uses JSON serializer which fails to parse them.

Kamo·7mo ago
FixEmailService

Add *** secret to deployment envFrom

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