KamoCRM

Live Change Log

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

18,407
Total Changes
6,538
Features
5,540
Fixes
30
Projects
Filter by project
All Projects18,407AIService276APIService177BillingService161ConversionService117DaemonService146DocsService240ESigService93EmailService622InitializerService344KBService162KlusterServices769MCPGatewayService277MediaService620RAGService79SecurityService1,997TranslateService62VOIPService265VectorService11kamo-apps26kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,700kamo-login342kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,826kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild23CI525Chore794Docs3,286Feature6,538Fix5,540Other1,001Performance174Refactor282Revert23Style45Test175Upgrade1
March 16, 2026
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·8mo 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·8mo 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·8mo 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·8mo 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·8mo 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·8mo ago
FeatureInitializerService

Enable DOCS_EDITOR feature for all mock organizations

Kamo·8mo 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·8mo ago
FixInitializerService

Enable Hibernate schema auto-creation for email_metadata

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

Kamo·8mo 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·8mo ago
RevertEmailService

Restore ddl-auto to none

Kamo·8mo 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·8mo 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·8mo ago
FeatureAPIService

Add DocsService route mapping for /api/docs/*

Kamo·8mo 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·8mo 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·8mo ago
FeatureDocsService

Add Forgejo CI/CD workflow

Kamo·8mo ago
FeatureDocsService

Add Docs K8s deployment manifests

Kamo·8mo ago
FeatureDocsService

Add Kubernetes manifests

Kamo·8mo ago
FeatureDocsService

Add multi-stage Dockerfile

Kamo·8mo ago
FeatureDocsService

Add DocumentController with create endpoint

Kamo·8mo ago
CIEmailService

Trigger pipeline for shared library fix

Kamo·8mo 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·8mo ago
FeatureDocsService

Add WOPI lock service with Redis

Kamo·8mo ago
FeatureDocsService

Add WOPI JWT token service

Kamo·8mo ago
FeatureDocsService

Add CORS and security configuration

Kamo·8mo ago
FeatureDocsService

Add application.yml configuration

Kamo·8mo ago
FeatureDocsService

Add DocsServiceApplication main class

Kamo·8mo ago
ChoreDocsService

Initialize DocsService project

Kamo·8mo ago
Featurekamo-shared-library

Add DocumentRepository for DocsService

Kamo·8mo ago
Featurekamo-shared-library

Add Document entity for DocsService

Kamo·8mo ago
Featurekamo-shared-library

Add DOCS_EDITOR service type (ID 16)

Kamo·8mo ago
March 15, 2026
CIEmailService

Trigger pipeline

Kamo·8mo ago
Fixkamo-shared-library

Use database-level timestamps instead of Instant.now()

Replace all @Builder.Default Instant.now() and @PreUpdate methods with @CreationTimestamp(source=DB) and @UpdateTimestamp(source=DB) so the database is the sing...

Kamo·8mo ago
RefactorEmailService

Migrate JPA entities and repos to kamo-shared-library

Entities and repositories moved to **************** in the shared library. All imports updated to reference shared lib.

Kamo·8mo ago
Featurekamo-shared-library

Add email metadata entities and repositories

Migrate JPA entities and repos from EmailService to shared library so KamoInitializerService can manage all schemas via ddl-auto.

Kamo·8mo ago
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·8mo ago
CIEmailService

Trigger pipeline

Kamo·8mo ago
March 14, 2026
Featurekamo-internal

Add search UI, virtual scrolling, IndexedDB caching, and offline mode

- Add SearchBar with operator autocomplete, saved/recent search suggestions - Add AdvancedSearchPanel with structured field-based query builder - Add VirtualMes...

kamo·8mo 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