KamoCRM

Live Change Log

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

17,617
Total Changes
6,059
Features
5,318
Fixes
30
Projects
Filter by project
All Projects17,617AIService258APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService583InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService604RAGService79SecurityService1,871TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,388kamo-login339kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,676kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore775Docs3,257Feature6,059Fix5,318Other998Performance165Refactor278Revert23Style42Test162Upgrade1
December 4, 2025
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·10mo ago
OtherKlusterServices

Add dict block as first setting for Dovecot config

snadjafinia·10mo ago
OtherKlusterServices

Add config version comment to Dovecot config

snadjafinia·10mo 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·10mo 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·10mo 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·10mo 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·10mo 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·10mo 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·10mo 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·10mo 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·10mo 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·10mo 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·10mo 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·10mo ago
OtherKlusterServices

Trigger deployment after WireGuard fix

snadjafinia·10mo 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·10mo 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·10mo ago
December 1, 2025
November 30, 2025
November 27, 2025
Otherkamo-login

Adaugă logare pentru valoarea memoryMe și conversia de tip

- Adăugați conversia de tip pentru memoryMe pentru a manipula șir/boolean/număr - Adăugați logare detaliată pentru a urmări logica setarea cookie - Log remember...

snadjafinia·11mo ago
Otherkamo-login

Adăugați logare cuprinzătoare pentru operațiile de cookie-uri OPTYNAME și REMEWER ME

- Adăugați logare detaliată pentru citirea cookie-ului la sarcina de pagină - Adăugați logare pentru a verifica cookie-urile sunt setate după răspuns login - Ad...

snadjafinia·11mo ago
November 26, 2025
Otherkamo-login

Actualizează câmpul de nume de utilizator ascuns pentru a utiliza formularulKey pentru remontare

- Adăugaţi cheia la numele de utilizator ascuns intrare pentru a forţa remontare după logare - Asigură că toate câmpurile legate de numele de utilizator sunt co...

snadjafinia·11mo ago
Otherkamo-login

Forță de remontare după logare pentru a preveni autofillarea browser-ului

- Adăugați formularul Stare cheie care se schimbă după deconectare pentru a forța remontarea componentei - Schimbă cheia de text pentru a include forma Key - Sc...

snadjafinia·11mo ago
Otherkamo-login

Utilizați nume de câmp randomizate pentru a preveni recunoașterea automată a browser-ului

- Generarea de sufix aleatoriu pentru numele de câmp numele utilizatorului pe fiecare sarcină pagină - Impiedica browserul sa recunoasca campul ca acelasi de pe...

snadjafinia·11mo ago
Otherkamo-login

Preveniţi completarea automată a browser-ului de la restaurarea vechiului nume de utilizator după logare

- Schimbare automata de la "nume utilizator" la "off" pe campul de nume utilizator - Schimbare formular autocompletat de la 'on' la 'off' - Curăță numele de uti...

snadjafinia·11mo ago
Otherkamo-login

Șterge toate cookie-urile fără discriminare în timpul deconectării

- Șterge toate cookie-urile de pe pagina de logout kamo-login (pe partea clientului) - Șterge toate cookie-urile din logout kamo-login API (server-side) - Clear...

snadjafinia·11mo ago
Otherkamo-internal

Delete ALL cookies indiscriminately during logout

- Delete all cookies on kamo-internal logout page (client-side) - Delete all cookies on kamo-internal logout API (server-side) - Clear localStorage and sessionS...

snadjafinia·11mo ago
Otherkamo-internal

Invalidate existing session before validating OTK

- Check for existing *** cookie in validate request - Clear and delete any existing session before validating OTK - Verify session data is not empty JSON (clear...

snadjafinia·11mo ago
OtherSecurityService

Invalidate existing session before creating new one during login

- Check for existing *** cookie in login request - Delete/invalidate existing session before creating new one - Prevents reusing old session cookies when loggin...

snadjafinia·11mo ago
Otherkamo-internal

Disable activity tracking and session extension during logout

- Add disableClientActivityTracker() function to stop activity tracking - Stop session monitor when logout is initiated - Prevent screen movement/activity from ...

snadjafinia·11mo ago
Otherkamo-login

Curățați datele sesiunii înainte de ștergerea cheii în obiectivul de logare

- Setează datele de sesiune pentru a goli JSON înainte de ștergerea cheii - Asigură sesiunea este inutilizabilă chiar dacă ștergerea nu reușește sau există deca...

snadjafinia·11mo ago
Otherkamo-internal

Clear session data before deleting key in logout endpoint

- Set session data to empty JSON before deleting the key - Ensures session is unusable even if deletion fails or there's replication lag - Add error handling wi...

snadjafinia·11mo 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