KamoCRM

Live Change Log

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

17,395
Total Changes
5,910
Features
5,260
Fixes
30
Projects
Filter by project
All Projects17,395AIService242APIService174BillingService157ConversionService110DaemonService137DocsService223ESigService91EmailService568InitializerService329KBService151KlusterServices738MCPGatewayService235MediaService592RAGService79SecurityService1,830TranslateService62VOIPService248VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,328kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,637kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore773Docs3,252Feature5,910Fix5,260Other993Performance165Refactor278Revert23Style42Test159Upgrade1
March 16, 2026
FixInitializerService

Enable Hibernate schema auto-creation for email_metadata

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

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

Restore ddl-auto to none

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

Add DocsService route mapping for /api/docs/*

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

Add Forgejo CI/CD workflow

Kamo·7mo ago
FeatureDocsService

Add Docs K8s deployment manifests

Kamo·7mo ago
FeatureDocsService

Add Kubernetes manifests

Kamo·7mo ago
FeatureDocsService

Add multi-stage Dockerfile

Kamo·7mo ago
FeatureDocsService

Add DocumentController with create endpoint

Kamo·7mo ago
CIEmailService

Trigger pipeline for shared library fix

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

Add WOPI lock service with Redis

Kamo·7mo ago
FeatureDocsService

Add WOPI JWT token service

Kamo·7mo ago
FeatureDocsService

Add CORS and security configuration

Kamo·7mo ago
FeatureDocsService

Add application.yml configuration

Kamo·7mo ago
FeatureDocsService

Add DocsServiceApplication main class

Kamo·7mo ago
ChoreDocsService

Initialize DocsService project

Kamo·7mo ago
Featurekamo-shared-library

Add DocumentRepository for DocsService

Kamo·7mo ago
Featurekamo-shared-library

Add Document entity for DocsService

Kamo·7mo ago
Featurekamo-shared-library

Add DOCS_EDITOR service type (ID 16)

Kamo·7mo ago
March 15, 2026
CIEmailService

Trigger pipeline

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

Trigger pipeline

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

Add IMAP connection pool, search intelligence, and delta sync endpoints

- Add Apache Commons Pool2 keyed connection pool for IMAP Store reuse (3/account, 500 total, 10min idle eviction) - Migrate EmailImapService from ConcurrentHash...

Kamo·7mo ago
Featurekamo-internal

Add enterprise email organization — labels, filters, shortcuts, quick actions

Plans 2-3: conversation threading views, email API layer with zustand store, label picker, filter rule builder, smart folder modal, keyboard shortcuts with help...

kamo·7mo ago
FeatureEmailService

Add enterprise email metadata services — labels, filters, smart folders, batch ops

Plans 1-3: metadata schema, JPA entities, repositories, conversation threading, label CRUD, filter rule engine with async retroactive apply, smart folder criter...

Kamo·7mo ago
Featurekamo-internal

Add email HTML sanitization and CSS isolation via Shadow DOM

Replace raw dangerouslySetInnerHTML in MessageBrowser with a sanitized email renderer that uses DOMPurify + css-tree for HTML/CSS filtering and a closed Shadow ...

kamo·7mo ago
FixEmailService

Use StringRedisTemplate to read OTK/session values stored as plain strings

The Next.js app stores OTK and *** values as plain strings in Redis. The default RedisTemplate uses JSON serializer which fails to parse them.

Kamo·7mo ago
FixEmailService

Add *** secret to deployment envFrom

Kamo·7mo ago
CIEmailService

Trigger pipeline

Kamo·7mo ago
Chorekamo-marketing

Add *.md to .gitignore

Kamo·7mo ago
ChoreMediaService

Add *.md to .gitignore

Kamo·7mo ago
ChoreKlusterServices

Add *.md to .gitignore

Kamo·7mo ago
Chorekamo-shared-library

Add *.md to .gitignore

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