Live Change Log

See what we're building, in real-time. Every feature, fix, and improvement shipped across the platform.

18,042
Total Changes
4,671
Features
4,589
Fixes
32
Projects
Filter by project
All Projects18,042AIService114APIService140BillingService133ConversionService87DaemonService109DocsService191ESigService80EmailService392InitializerService304KBService76KlusterServices550MCPGatewayService45MediaService466RAGService63SecurityService1,532TranslateService47VOIPService175VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,606kamo-login319kamo-marketing590kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,332kamo-signer-monorepo50kamolos104
Filter by type
All TypesBuild24CI523Chore670Docs231Feature4,671Fix4,589Other6,781Performance136Refactor274Revert23Style48Test71Upgrade1
December 5, 2025
Featurekamo-shared-library

Add salesSubType field to LeadMarketDTO for mortgage field detection

- Added salesSubType field to distinguish between parent SaleType and sub-types - When SaleType has a parent (e.g., RESIDENTIAL_MORTGAGE), salesType becomes the...

snadjafinia·9mo ago
OtherKlusterServices

Add complete Kamo logo SVG with all 14 paths

Embed full SVG content directly instead of partial paths

snadjafinia·9mo ago
OtherKlusterServices

Use CSS-only approach for Kamo logo

Removed broken SVG file mount, using CSS background-image to load external logo directly on #logo element

snadjafinia·9mo ago
OtherKlusterServices

Fix logo.svg to reference external Kamo logo URL

Use SVG image element to embed external logo instead of complex paths with broken transforms

snadjafinia·9mo ago
OtherKlusterServices

Replace Roundcube logo.svg with Kamo logo SVG

Mount custom logo.svg to **************** to replace the Roundcube watermark/background logo

snadjafinia·9mo ago
OtherKlusterServices

Add custom CSS file to override Roundcube watermark logo

- Created custom.css with watermark override - Mount CSS file to /var/www/html/custom.css - Configure Roundcube to load additional_stylesheets

snadjafinia·9mo ago
OtherKlusterServices

Replace all Roundcube logos with Kamo logo including watermark

Updated skin_logo config to array format to cover: - Main header logo - Small collapsed header logo - Inbox watermark/background logo

snadjafinia·9mo ago
OtherKlusterServices

Add mail subdomain to auto-cert SUBDOMAINS list

Enables automatic SSL certificate creation for mail.kamocrm.com

snadjafinia·9mo ago
Otherkamo-analytics

Merge pull request #3834 from ****************

Bump jws from 3.2.2 to 3.2.3

Mike Cao·9mo ago
OtherKlusterServices

Expose Postfix ports 25 and 587 via hostPort for inbound mail

Required for receiving external SMTP connections on K1M1

snadjafinia·9mo ago
Featurekamo-internal

Add missing Next.js API routes for leads endpoints

- Added /api/security/leads route for GET (all leads) and POST (create lead) - Added /api/security/leads/[id] route for GET, PUT, DELETE operations - Added ****...

snadjafinia·9mo ago
OtherKlusterServices

Configure Roundcube to use Mailgun SMTP directly

Bypassing local Postfix for outgoing mail, connecting directly to smtp.mailgun.org with TLS on port 587

snadjafinia·9mo ago
OtherKlusterServices

Switch Postfix to Alpine-based deployment with MySQL support

Similar to Dovecot, using Alpine 3.18 with postfix-mysql package installed at runtime for reliable MySQL virtual maps support

snadjafinia·9mo ago
OtherKlusterServices

Fix postfix command to use apt-get instead of apk

boky/postfix is Debian-based, not Alpine

snadjafinia·9mo ago
OtherKlusterServices

Add postfix-mysql support for MySQL virtual maps

Installed postfix-mysql package at container startup to enable MySQL dictionary lookups for virtual domains/users/aliases

snadjafinia·9mo ago
OtherKlusterServices

Add auth debugging and ensure MySQL driver packages for Dovecot

- Enable auth_debug, auth_debug_passwords, auth_verbose - Add dovecot-mysql package for proper SQL support - Add mariadb-connector-c for MySQL protocol compatib...

snadjafinia·9mo ago
OtherKlusterServices

Add MySQL auth fix job for MariaDB client compatibility

Changes kamo user from caching_sha2_password to mysql_native_password Required for Dovecot (Alpine/MariaDB) to connect to MySQL 8

snadjafinia·9mo ago
OtherKlusterServices

Replace Roundcube logo with Kamo logo

Added skin_logo config pointing to **************** Updated deployment annotation to trigger pod restart

snadjafinia·9mo ago
OtherKlusterServices

Fix MySQL auth: change kamo user to mysql_native_password

Alpine's MariaDB client doesn't support caching_sha2_password plugin This prevents Dovecot from connecting to MySQL for authentication

snadjafinia·9mo ago
OtherKlusterServices

Force Roundcube pod restart to pick up ConfigMap change

Added annotation to trigger pod recreation since ConfigMap with subPath doesn't auto-update in running pods

snadjafinia·9mo ago
Fixkamo-internal

Remove 'name' property reference in updateLead function

- Lead interface only has 'primaryContact', not 'name' - Removed fallback to patch.name in updateLead - Completes the fix for type safety

snadjafinia·9mo ago
Fixkamo-internal

Remove non-existent 'name' property references in leadsApi

- Lead interface only has 'primaryContact', not 'name' - Removed fallback to leadData.name in createLead and updateLead - Ensures type safety and correct API be...

snadjafinia·9mo ago
OtherKlusterServices

Fix Roundcube redirect loop - disable force_https

Traefik handles TLS termination, so internal traffic is HTTP Setting force_https=true caused Roundcube to redirect to HTTPS internally creating an infinite redi...

snadjafinia·9mo ago
OtherKlusterServices

Reference kamocrm.com wildcard cert in mail IngressRoute

The certificate secret is in kamo namespace, copied to mail namespace tls.secretName explicitly references wildcard-kamocrm-com

snadjafinia·9mo ago
OtherKlusterServices

Fix mail IngressRoute to use auto-cert service

Changed tls from certResolver: letsencrypt to tls: {} This allows the auto-cert service to automatically generate certs when mail.kamocrm.com is accessed

snadjafinia·9mo ago
OtherKlusterServices

Fix Roundcube readiness probe - use TCP socket instead of HTTP

Roundcube redirects / to login page (302), failing HTTP readiness probe TCP socket check on port 80 works correctly

snadjafinia·9mo ago
Fixkamo-internal

Replace remaining Grid closing tags with GridLegacy in CreateLeadClient

- Fixed all remaining </Grid> tags that should be </GridLegacy> - Ensures proper closing of GridLegacy item components - Resolves JSX syntax error

snadjafinia·9mo ago
OtherKlusterServices

Switch to Alpine 3.18 with Dovecot 2.3.20 for stable SQL auth

Dovecot 2.4 has incompatible configuration changes without clear docs Alpine 3.18 has Dovecot 2.3.20 which uses traditional well-documented syntax - mail_locati...

snadjafinia·9mo ago
December 4, 2025
Fixkamo-internal

Replace Grid with GridLegacy for item prop in CreateLeadClient

- MUI v7 moved 'item' prop to GridLegacy component - Updated all Grid item instances to GridLegacy - Required for compatibility with MUI v7

snadjafinia·9mo ago
Fixkamo-internal

Add missing 'email' property to Lead interface

- leadsApi.createLead expects email as a separate property - Email is also available in primaryContact.email but API needs it at Lead level - Required for lead ...

snadjafinia·9mo ago
Fixkamo-internal

Cast customFormData to correct type in CreateLeadClient

- TypeScript was complaining about type mismatch between Record<string, Record<string, unknown>> and Record<string, CustomFormData> - Added type assertion to ma...

snadjafinia·9mo ago
OtherKlusterServices

Remove address setting from inet_listener - not valid in Dovecot 2.4.2

The listen = * at top level handles binding to all interfaces

snadjafinia·9mo ago
Fixkamo-internal

Add missing 'vendorLeadID' property to Lead interface

- Property exists in Java Lead bean but was missing from TypeScript interface - Required for lead creation and import functionality

snadjafinia·9mo ago
OtherKlusterServices

Fix Dovecot 2.4.2 config: mail_location renamed to mail_path

In Dovecot 2.4.2: - mail_location is now mail_path (top-level setting, no blocks) - Added dovecot_storage_version = 2.4.2 (required) - Updated SQL user_query to...

snadjafinia·9mo ago
Fixkamo-internal

Add missing 'languages' property to primaryContact in CreateLeadClient

- Contact interface requires 'languages' property - Initialize with empty array to satisfy type requirements

snadjafinia·9mo ago
Fixkamo-internal

Use GridLegacy for Grid component with item prop in MortgageFieldsComponent

- MUI v7 moved Grid with item prop to GridLegacy - Update import to use GridLegacy to fix TypeScript error

snadjafinia·9mo ago
OtherKlusterServices

Fix Dovecot 2.4 config syntax - use mail{} and ssl{} blocks

- Put mail_location, uid, gid settings inside mail { } block (Dovecot 2.4 requirement) - Put ssl settings inside ssl { } block - Add initContainer to create mai...

snadjafinia·9mo ago
Fixkamo-internal

Use GridLegacy for Grid component with item prop in CustomFormFieldsComponent

- MUI v7 moved Grid with item prop to GridLegacy - Update import to use GridLegacy to fix TypeScript error

snadjafinia·9mo ago
Otherkamo-internal

Fix TypeScript type error in CustomFormFieldsComponent

snadjafinia·9mo ago
Fixkamo-internal

Replace all 'any' types with proper TypeScript types

- Replace Record<string, any> with Record<string, unknown> - Replace any parameter types with unknown or specific types - Remove unused imports (authenticatedFe...

snadjafinia·9mo ago
FixKlusterServices

Remove heredoc whitespace issue - use echo commands and ConfigMap

The heredocs had leading whitespace from YAML indentation causing parse errors - Use echo commands to create dovecot.conf without leading whitespace - Mount aut...

snadjafinia·9mo ago
OtherKlusterServices

Go back to args with external SQL config file - mysql blocks don't work

The mysql { } block syntax causes 'Unknown section name: mysql' error Use passdb sql { driver = sql; args = **************** } External file has correct format:...

snadjafinia·9mo ago
OtherKlusterServices

Use Dovecot 2.4.2 format: mysql connection block + named sections with query

Found in actual examples: - sql_driver = mysql - mysql hostname { user, password, dbname } connection block - passdb sql { query = ... } with named sections - u...

snadjafinia·9mo ago
Fixkamo-internal

Resolve compilation errors in CustomFormFieldsComponent and LeadManager

- Remove stray fragment closing tag (</>) in CustomFormFieldsComponent.tsx - Remove duplicate leadId declaration in LeadManager.tsx IdRenderer

snadjafinia·9mo ago
OtherKlusterServices

Remove named sections - try passdb/userdb without names, use args

Error said 'Unknown section name: mysql' - the mysql block was wrong Try passdb/userdb WITHOUT names (just passdb { and userdb {) Use args = **************** Ex...

snadjafinia·9mo ago
FeatureSecurityService

Add backend validation for required fields in lead imports

- Add validateRequiredFields method to check required fields before import - Validate email, firstName, and lastName are present - Validate mortgage-specific fi...

snadjafinia·9mo ago
Featurekamo-internal

Add validation for required fields in lead imports

- Mark email, firstName, and lastName as required fields in leadFields.ts - Add validation in handleStartImport to check all required fields are mapped - Add va...

snadjafinia·9mo ago
OtherKlusterServices

Try sql_host, sql_user, sql_password, sql_db instead of connect or args

Based on error suggesting passdb_sql_args - maybe SQL settings use sql_ prefix - Named sections: passdb sql { and userdb sql { - driver = sql with sql_driver = ...

snadjafinia·9mo ago
OtherKlusterServices

Use args parameter with named sections - external SQL config file

Based on examples found: Dovecot 2.4 allows args with named sections - Named sections: passdb sql { and userdb sql { - driver = sql - args = **************** (r...

snadjafinia·9mo ago
FeatureSecurityService

Refactor LeadImportController to use LeadService.createLead

- Replace manual field mapping with LeadService.createLead for consistency - Add mapRowDataToCreateLeadRequest to convert import mappings to CreateLeadRequest -...

snadjafinia·9mo ago

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing