KamoCRM

Live Change Log

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

18,392
Total Changes
6,527
Features
5,537
Fixes
30
Projects
Filter by project
All Projects18,392AIService276APIService177BillingService161ConversionService117DaemonService146DocsService240ESigService93EmailService619InitializerService344KBService162KlusterServices769MCPGatewayService277MediaService620RAGService79SecurityService1,995TranslateService62VOIPService265VectorService11kamo-apps26kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,692kamo-login342kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,824kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild23CI525Chore794Docs3,286Feature6,527Fix5,537Other1,001Performance174Refactor281Revert23Style45Test175Upgrade1
December 4, 2025
OtherKlusterServices

Remove duplicate driver line - use driver=mysql directly

snadjafinia·11mo ago
FixKlusterServices

Dovecot 2.4 requires SQL settings inline, not args parameter

- Dovecot 2.4 removed 'args' parameter for passdb/userdb - SQL connection settings must be specified directly in passdb/userdb blocks - Put driver=mysql, connec...

snadjafinia·11mo ago
OtherKlusterServices

Fix Dovecot 2.4 passdb/userdb - must have names (passdb sql, userdb sql)

- Dovecot 2.4 requires named passdb/userdb sections - Changed from 'passdb {' to 'passdb sql {' - Changed from 'userdb {' to 'userdb sql {'

snadjafinia·11mo ago
OtherKlusterServices

Fix passdb syntax - use separate auth-sql.conf.ext file

- Create auth-sql.conf.ext with proper passdb/userdb blocks - Include it in 10-auth.conf instead of inline blocks - This fixes 'passdb { } is missing section na...

snadjafinia·11mo ago
OtherKlusterServices

Fix Dovecot config - use proper config files (10-mail.conf, 10-auth.conf, 10-master.conf)

- Override mail_location in 10-mail.conf (where it belongs) - Configure SQL auth in 10-auth.conf - Configure services in 10-master.conf - This matches Dovecot's...

snadjafinia·11mo ago
OtherKlusterServices

Add dovecot_config_version as first line in main dovecot.conf

snadjafinia·11mo ago
OtherKlusterServices

Create main dovecot.conf file that includes conf.d directory

snadjafinia·11mo ago
OtherKlusterServices

Create conf.d directory before writing config files

snadjafinia·11mo ago
OtherKlusterServices

Use Dovecot default configs with custom overrides

- Copy default Dovecot configs first - Add custom config in conf.d/99-custom.conf - This ensures all required settings are present - Fixes 'mail_location: Unkno...

snadjafinia·11mo ago
OtherKlusterServices

Remove plaintext auth - Dovecot defaults to secure

- Removed auth_allow_plaintext setting - Dovecot will require encryption for authentication by default - All requirements verified: ✅ K1M1 only deployment (...

snadjafinia·11mo ago
OtherKlusterServices

Use Dovecot 2.4 with proper configuration

- Use Alpine latest (has Dovecot 2.4) - Add dovecot_config_version = 2.4 as FIRST setting (required) - Fix Dovecot SQL user_query to include mail location - Ver...

snadjafinia·11mo ago
OtherKlusterServices

Add dict block as first setting for Dovecot config

snadjafinia·11mo ago
OtherKlusterServices

Add config version comment to Dovecot config

snadjafinia·11mo ago
OtherKlusterServices

WORKING SOLUTION: Alpine-based Dovecot with MySQL backend

- Use Alpine Linux base image with Dovecot installed from packages - Dovecot config created inline - no Docker image restrictions - Full control over configurat...

snadjafinia·11mo ago
OtherKlusterServices

Add initial accounts to postfix-accounts.cf for docker-mailserver

- docker-mailserver requires at least one account in postfix-accounts.cf - Added sage@, support@, sysadmin@kamocrm.com with hashed passwords - Password hash gen...

snadjafinia·11mo ago
OtherKlusterServices

Replace separate Postfix/Dovecot with docker-mailserver integrated solution

- Deploy docker-mailserver **************** - Integrated Postfix + Dovecot in single proven container - Configure MySQL backend for virtual mailboxes/domains/al...

snadjafinia·11mo ago
OtherKlusterServices

Try older Dovecot Alpine image to avoid strict config requirements

- Switch from dovecot/dovecot:latest to dovecot/dovecot:2.3.21-alpine - Older version may not have strict dovecot_config_version requirement - Keeps all databas...

snadjafinia·11mo ago
OtherKlusterServices

Dovecot config iteration - simplified further

- Removed problematic includes and dict blocks - Simplified to minimal configuration - Note: The official dovecot/dovecot image has strict config requirements

snadjafinia·11mo ago
OtherKlusterServices

Simplify Dovecot config - remove problematic version include

- Remove dovecot-version include that was causing errors - Use simpler configuration with just protocols and protocol includes - Restarted Roundcube pod to trig...

snadjafinia·11mo ago
OtherKlusterServices

Fix Dovecot version requirement and create roundcubemail database

- Dovecot: Add dovecot-version.conf.ext include (required as first setting) - MySQL Job: CREATE DATABASE roundcubemail before granting permissions - Fixes 'The ...

snadjafinia·11mo ago
OtherKlusterServices

Simplify Dovecot config and fix MySQL permissions job

- Dovecot: Use single complete dovecot.conf instead of conf.d fragments - Dovecot: Simplified configuration with minimal working setup - MySQL Job: Use root cre...

snadjafinia·11mo ago
OtherKlusterServices

Fix Dovecot configuration and add permissions job to CI/CD

- Dovecot: Move passdb/userdb config directly into 10-auth.conf - Dovecot: Remove problematic auth-sql.conf.ext include - CI/CD: Add mysql-permissions-job.yaml ...

snadjafinia·11mo ago
OtherKlusterServices

Fix Dovecot auth syntax and Roundcube database permissions

- Dovecot: Fix auth-sql.conf.ext syntax - passdb/userdb need section names - MySQL: Grant ALL PRIVILEGES on roundcubemail database to kamo user - Add mysql-perm...

snadjafinia·11mo ago
OtherKlusterServices

Fix Dovecot and Postfix configurations to resolve CrashLoopBackOff

- Dovecot: Use conf.d structure with official Dovecot image defaults - Dovecot: Split config into individual files (10-auth, 10-mail, 10-master, 10-ssl) - Postf...

snadjafinia·11mo ago
OtherKlusterServices

Trigger deployment after WireGuard fix

snadjafinia·11mo ago
OtherKlusterServices

Fix kubeconfig setup in CI/CD to use Tailscale IPs directly

- Replace sed commands with kubectl config set-cluster for reliable connection - Use 100.64.1.1 for K1M1 and 100.64.2.1 for K2M1 directly - Fixes 'dial tcp 100....

snadjafinia·11mo ago
OtherKlusterServices

Add complete mail server infrastructure with Postfix, Dovecot, Roundcube, and MySQL

- Deploy mail server (MySQL, Postfix, Dovecot, Roundcube) to K1M1 only - Configure HTTPS access via Traefik at https://mail.kamocrm.com - Set up multi-domain su...

snadjafinia·11mo ago
December 1, 2025
November 5, 2025
OtherKlusterServices

Revert "fix(traefik): disable idle timeout for WebSocket connections"

This reverts commit ****************

snadjafinia·Nov 5, 2025
FixKlusterServices

Disable idle timeout for WebSocket connections

- Added idleTimeout=0 to websecure entrypoint - Prevents Traefik from closing WebSocket connections due to inactivity - Fixes SockJS WebSocket timeout issues

snadjafinia·Nov 5, 2025
FeatureKlusterServices

Update TURN server credentials with secure values

- Updated turn-secret with secure random value - Updated turn-password for Janus authentication - Credentials match MediaService WebRTC configuration

snadjafinia·Nov 5, 2025
FixKlusterServices

Split port ranges to avoid conflicts

- Coturn relay: 52000-65535 (13,536 ports) - Avoids: Janus RTP (10000-49151) and WireGuard (51820-51821) - No overlap between services

snadjafinia·Nov 5, 2025
FixKlusterServices

Adjust relay port range to avoid WireGuard/VPN ports

- Changed max-port from 65535 to 51800 to avoid conflicts - Avoids WireGuard on UDP 51820 and other VPN services on 51821 - Provides 2,649 ports (49152-51800) f...

snadjafinia·Nov 5, 2025
FixKlusterServices

Resolve CrashLoopBackOff by fixing probes and config

- Replace netstat-based health probes with TCP socket checks (netstat not available in coturn/coturn:latest Alpine image) - Remove conflicting no-stdout-log dir...

snadjafinia·Nov 5, 2025
FeatureKlusterServices

Add ServersTransport deployment to CI/CD workflow

Deploy traefik/serverstransport.yaml as part of Traefik deployment to both K1M1 and K2M1. This enables HTTP/1.1 backend connections for MediaService WebSocket s...

snadjafinia·Nov 5, 2025
FeatureKlusterServices

Add ServersTransport for MediaService WebSocket connections

Add media-websocket-transport ServersTransport resource to disable HTTP/2 for backend connections to MediaService. This is required for proper WebSocket upgrade...

snadjafinia·Nov 5, 2025
FixKlusterServices

Add Connection: Upgrade header to WebSocket upgrade middleware

- Add Connection: Upgrade header along with Upgrade: websocket - Both headers are required for proper WebSocket upgrade handshake - This ensures HTTP/2 Extended...

snadjafinia·Nov 5, 2025
FeatureKlusterServices

Add media-websocket-upgrade middleware to force Upgrade header

- Add Upgrade: websocket header for WebSocket paths to fix HTTP/2 Extended CONNECT conversion - This ensures HTTP/2 WebSocket upgrade requests are properly conv...

snadjafinia·Nov 5, 2025
CIKlusterServices

Trigger pipeline

snadjafinia·Nov 5, 2025
November 4, 2025
FeatureKlusterServices

Add media-cors middleware for media domain CORS support

- Add media-cors middleware matching theme-cors configuration - Allows CORS headers to be set for media.{domain} requests

snadjafinia·Nov 4, 2025
FeatureKlusterServices

Add 'media' subdomain to auto-cert SUBDOMAINS for MediaService

- Add 'media' to SUBDOMAINS list in auto-cert-service.yaml - Enables automatic SSL certificate generation for media.{domain} subdomains - Required for MediaServ...

snadjafinia·Nov 4, 2025
November 3, 2025
OtherKlusterServices

Chat system and nats jetstream final wiring

snadjafinia·Nov 3, 2025
November 2, 2025

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