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
March 16, 2026
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·6mo ago
Fixkamo-internal

Quick reply send button - remove client OTK, add credentials and feedback

The quick reply was sending a client-generated OTK header that the proxy doesn't use (proxy generates its own). Removed the unnecessary OTK call, added credenti...

kamo·6mo ago
Fixkamo-internal

LabelPicker now fetches and displays current message labels

- Added getMessageLabels API call to emailApi - LabelPicker fetches applied labels on mount via GET endpoint - Toggle updates local state immediately for respon...

kamo·6mo ago
FeatureEmailService

Add GET endpoint for message labels

GET **************** returns label IDs applied to a specific message.

Kamo·6mo ago
Fixkamo-internal

Wire up remaining unwired UI elements in messages page

- FolderSidebar: folder options button now opens rename/delete menu - FolderSidebar: Folder Settings button renamed to Manage Folders, toggles create folder - F...

kamo·6mo ago
RefactorDocsService

Remove theme query param — Docs derives it from WOPISrc

Docs now has its own getThemePath() logic ported from kamo-internal's Theme.tsx, so DocsService no longer needs to pass the theme URL.

Kamo·6mo ago
FeatureDocsService

Pass org theme URL to Docs for per-org logo and favicon

Construct theme path from X-Forwarded-Host (e.g., internal.kamocrm.com -> **************** and append as &theme= query param in the Docs URL. Docs reads this to...

Kamo·6mo ago
Fixkamo-internal

Wire up quick reply Send Reply and Cancel buttons

The quick reply textarea and buttons were static with no state or onClick handlers. Now properly sends replies via the email API and clears the textarea on canc...

kamo·6mo ago
Featurekamo-internal

Add sync conversations button for backfilling from IMAP

Shows a "Sync Conversations" button when no conversations are found, triggering bulk indexing of existing IMAP messages into conversation view.

kamo·6mo ago
FeatureEmailService

Add bulk index endpoint to backfill conversations from IMAP

POST **************** indexes existing IMAP messages into conversations and search index tables.

Kamo·6mo ago
FeatureAPIService

Add /wopi/** route forwarding to DocsService

Docs needs to reach WOPI endpoints via api.kamocrm.com.

Kamo·6mo ago
FixDocsService

Use docs-api.* for WOPISrc URL instead of api.*

The WOPI endpoints (/wopi/files/**) live on DocsService, which is exposed at docs-api.kamocrm.com — not api.kamocrm.com (APIService). Docs makes server-side WOP...

Kamo·6mo ago
FixDocsService

Set aliasgroup to api.kamocrm.com and force https WOPISrc

- Docs aliasgroup1 must match the WOPI host (api.kamocrm.com) - WOPISrc URL defaulted to http:// inside K8s; force https and construct api.* hostname from for...

Kamo·6mo ago
FixKlusterServices

Fix kubectl not found in pod, add docs alias, proactive SUBDOMAINS

- Mount /usr/local/bin/kubectl from host via hostPath instead of failing apt-get install (kubectl not in default Debian repos) - Add "docs" to SUBDOMAINS list...

Kamo·6mo ago
FixDocsService

Set MinIO bucket to 'internal' and upload blank templates

The default bucket placeholder was never configured. Use 'internal' bucket which has the blank document templates uploaded.

Kamo·6mo ago
Fixkamo-internal

Open doc editor tab synchronously to avoid popup blocker

window.open() after an async fetch is blocked by browsers because it's no longer in the user-gesture context. Open a blank tab immediately on click, then naviga...

kamo·6mo ago
Fixkamo-internal

Add DOCS_EDITOR to fallback org features in layout and API route

The layout's server-side org fetch often uses the fallback org (no auth context during SSR), which was missing DOCS_EDITOR. This prevented the New Document butt...

kamo·6mo ago
FeatureInitializerService

Enable DOCS_EDITOR feature for all mock organizations

Kamo·6mo ago
FixDocsService

Remove COPY .mvn/ from Dockerfile to fix CI build

The .mvn directory was empty and untracked, causing builds to fail. Maven is already provided by the base image.

Kamo·6mo ago
FixInitializerService

Enable Hibernate schema auto-creation for email_metadata

Add **************** property so Hibernate creates missing PostgreSQL schemas before creating tables.

Kamo·6mo ago
FeatureDocsService

Add OTK auth, org-branded WOPI, cached MinIO client

- WopiController: look up org title from JWT orgId claim for dynamic BrandName ("{orgTitle} Docs") in CheckFileInfo response - DocumentController: require OTK...

Kamo·6mo ago
RevertEmailService

Restore ddl-auto to none

Kamo·6mo 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·6mo ago
Featurekamo-internal

Add New Document button to NavTop with DocsService integration

Adds DOCS_EDITOR app type (ID 16), NewDocumentButton component with document type picker popover, API proxy route for DocsService, and NavTop integration gated ...

kamo·6mo ago
FeatureAPIService

Add DocsService route mapping for /api/docs/*

Kamo·6mo ago
FixDocsService

Review fixes - dialect, error handling, CI/CD manifests

- Fix Hibernate dialect to CockroachDialect (matching K8s configmap) - Separate token validation from business logic in checkFileInfo - Add Docs and ingress man...

Kamo·6mo ago
FeatureKlusterServices

Add wopi-*** for DocsService

Adds WOPI JWT signing secret used by DocsService for Docs access tokens. Deployed to both K1M1 and K2M1 clusters.

Kamo·6mo ago
FeatureDocsService

Add Forgejo CI/CD workflow

Kamo·6mo ago
FeatureDocsService

Add Docs K8s deployment manifests

Kamo·6mo ago
FeatureDocsService

Add Kubernetes manifests

Kamo·6mo ago
FeatureDocsService

Add multi-stage Dockerfile

Kamo·6mo ago
FeatureDocsService

Add DocumentController with create endpoint

Kamo·6mo ago
CIEmailService

Trigger pipeline for shared library fix

Kamo·6mo ago
Fixkamo-shared-library

Use native query for markConversationRead to resolve Hibernate 6.2 type mismatch

CURRENT_TIMESTAMP in JPQL returns java.sql.Timestamp which doesn't match the Instant-typed updatedAt field. Native query with NOW() bypasses this.

Kamo·6mo ago
FeatureDocsService

Add WOPI lock service with Redis

Kamo·6mo ago
FeatureDocsService

Add WOPI JWT token service

Kamo·6mo ago
FeatureDocsService

Add CORS and security configuration

Kamo·6mo 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