KamoCRM

Live Change Log

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

17,487
Total Changes
5,977
Features
5,281
Fixes
30
Projects
Filter by project
All Projects17,487AIService251APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService574InitializerService329KBService151KlusterServices738MCPGatewayService245MediaService602RAGService79SecurityService1,846TranslateService62VOIPService249VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,347kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,657kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore773Docs3,254Feature5,977Fix5,281Other994Performance165Refactor278Revert23Style42Test160Upgrade1
April 16, 2026
FixKlusterServices

Add LibreTranslate permission init container, scale Bergamot to 0

LibreTranslate was crashing with PermissionError on packages subdir. Added busybox init container to mkdir + chmod 777 the mounted hostPath before the main cont...

Kamo·6mo ago
FixTranslateService

Fall through to LibreTranslate when Bergamot is unavailable

ProviderRouter now catches exceptions per provider and tries the next. BergamotProvider throws on failure instead of silently returning original text, so LibreT...

Kamo·6mo ago
CIKlusterServices

Deploy LibreTranslate and Bergamot in workflow

The manifests were committed but never wired into the deploy steps. Add kubectl apply for both services on K1M1 and K2M1.

Kamo·6mo ago
Fixkamo-marketing

Widen language selector dropdown to prevent horizontal scrollbar

260px was too narrow for entries like 'Bahasa Indonesia'. Increase to 310px and add overflow-x: hidden to eliminate the scrollbar entirely.

Kamo·6mo ago
Fixkamo-marketing

Port-forward TranslateService to reach it from CI runner

The Forgejo runner runs on k0m1 which cannot resolve .svc.cluster.local DNS. Use kubectl port-forward to tunnel kamowstranslate-service:80 to localhost:18080 du...

Kamo·6mo ago
Fixkamo-marketing

Remove pre-i18n app/(pages)/ and app/page.tsx

These were accidentally restored by git checkout -- app/ during a previous vendor fix. Both old and new route structures existing caused Next.js to try generati...

Kamo·6mo ago
Chorekamo-marketing

Upgrade Dockerfile to node:24-alpine

ships npm 10 which can't read the lock file and fails npm ci with a missing @swc/helpers@0.5.21 error.

Kamo·6mo ago
CIkamo-marketing

Bump Node.js to 24 to match local dev environment

npm ci under Node 22 / npm 10 fails because the two versions resolve transitive deps (e.g. @swc/helpers) to different versions.

Kamo·6mo ago
FixTranslateService

Exclude ****************

Excluding SecurityAutoConfiguration leaves Actuator's **************** without an HttpSecurity bean, crashing startup. Exclude it explicitly.

Kamo·6mo ago
FixTranslateService

Add autoconfigure exclusions to k8s configmap

application.yml is for local only — k8s uses the configmap. Move the Spring autoconfiguration exclusions for JPA, Redis, Security, and OAuth2 into k8s/configmap...

Kamo·6mo ago
FixTranslateService

Exclude all transitive Spring autoconfiguration from shared library

kamo-shared-library pulls in JPA, Redis, Security, and OAuth2 starters which cause Spring Boot to attempt autoconfiguring DataSource, Hibernate, Redis/Lettuce, ...

Kamo·6mo ago
CIkamo-register

Add concurrency group to prevent duplicate workflow runs

When a push triggers a workflow and workflow_dispatch is also fired (or two pushes arrive in quick succession), both runs would execute simultaneously. Adding a...

Kamo·6mo ago
CIkamo-marketing

Add concurrency group to prevent duplicate workflow runs

When a push triggers a workflow and workflow_dispatch is also fired (or two pushes arrive in quick succession), both runs would execute simultaneously. Adding a...

Kamo·6mo ago
CIkamo-login

Add concurrency group to prevent duplicate workflow runs

When a push triggers a workflow and workflow_dispatch is also fired (or two pushes arrive in quick succession), both runs would execute simultaneously. Adding a...

Kamo·6mo ago
CIkamo-internal

Add concurrency group to prevent duplicate workflow runs

When a push triggers a workflow and workflow_dispatch is also fired (or two pushes arrive in quick succession), both runs would execute simultaneously. Adding a...

kamo·6mo ago
CISecurityService

Add concurrency group to prevent duplicate workflow runs

When a push triggers a workflow and workflow_dispatch is also fired (or two pushes arrive in quick succession), both runs would execute simultaneously. Adding a...

Kamo·6mo ago
CIRAGService

Add concurrency group to prevent duplicate workflow runs

When a push triggers a workflow and workflow_dispatch is also fired (or two pushes arrive in quick succession), both runs would execute simultaneously. Adding a...

Kamo·6mo ago
CIMediaService

Add concurrency group to prevent duplicate workflow runs

When a push triggers a workflow and workflow_dispatch is also fired (or two pushes arrive in quick succession), both runs would execute simultaneously. Adding a...

Kamo·6mo ago
CIMCPGatewayService

Add concurrency group to prevent duplicate workflow runs

When a push triggers a workflow and workflow_dispatch is also fired (or two pushes arrive in quick succession), both runs would execute simultaneously. Adding a...

Kamo·6mo ago
CIKlusterServices

Add concurrency group to prevent duplicate workflow runs

When a push triggers a workflow and workflow_dispatch is also fired (or two pushes arrive in quick succession), both runs would execute simultaneously. Adding a...

Kamo·6mo ago
CIKBService

Add concurrency group to prevent duplicate workflow runs

When a push triggers a workflow and workflow_dispatch is also fired (or two pushes arrive in quick succession), both runs would execute simultaneously. Adding a...

Kamo·6mo ago
CIEmailService

Add concurrency group to prevent duplicate workflow runs

When a push triggers a workflow and workflow_dispatch is also fired (or two pushes arrive in quick succession), both runs would execute simultaneously. Adding a...

Kamo·6mo ago
CIDocsService

Add concurrency group to prevent duplicate workflow runs

When a push triggers a workflow and workflow_dispatch is also fired (or two pushes arrive in quick succession), both runs would execute simultaneously. Adding a...

Kamo·6mo ago
CIDaemonService

Add concurrency group to prevent duplicate workflow runs

When a push triggers a workflow and workflow_dispatch is also fired (or two pushes arrive in quick succession), both runs would execute simultaneously. Adding a...

Kamo·6mo ago
CIAPIService

Add concurrency group to prevent duplicate workflow runs

When a push triggers a workflow and workflow_dispatch is also fired (or two pushes arrive in quick succession), both runs would execute simultaneously. Adding a...

Kamo·6mo ago
CIAIService

Add concurrency group to prevent duplicate workflow runs

When a push triggers a workflow and workflow_dispatch is also fired (or two pushes arrive in quick succession), both runs would execute simultaneously. Adding a...

Kamo·6mo ago
CITranslateService

Add concurrency group to prevent duplicate workflow runs

When a push triggers a workflow and workflow_dispatch is also fired (or two pushes arrive in quick succession), both runs would execute simultaneously. Adding a...

Kamo·6mo ago
Chorekamo-marketing

Commit package-lock.json with next-intl and tsx dependencies

next-intl and tsx were installed but package-lock.json was not committed alongside the i18n implementation, causing Docker builds to fail with Cannot find modul...

Kamo·6mo ago
FixTranslateService

Exclude DataSource autoconfiguration

kamo-shared-library transitively pulls in JPA which causes Spring Boot to attempt DataSource autoconfiguration. TranslateService is stateless with no database, ...

Kamo·6mo ago
Featurekamo-marketing

Replace offer badge with language selector in nav

Add a 2-column flag+name dropdown to the header navigation allowing users to switch between all 22 supported locales. Locale switching uses next-intl router.rep...

Kamo·6mo ago
Featurekamo-shared-library

Restore removed languages with translationSupported field

Add translationSupported boolean to LanguageType enum. Restore URDU, MARATHI, TELUGU, and GUJARATI (translationSupported=false). All 22 previously supported lan...

Kamo·6mo ago
Fixkamo-shared-library

Replace removed DocumentNotFoundException with ImagingException in ImageService

DocumentNotFoundException was deleted as part of the Document entity removal but ImageService still referenced it in 9 places. Replaced with the existing Imagin...

Kamo·6mo ago
FixDocsService

Gracefully cancel superseded reconversion jobs on rapid saves

When a document is saved multiple times quickly, each save registers its ImgDat UUID in a ConcurrentHashMap. The async reconversion task checks this at 6 checkp...

Kamo·6mo ago
Featurekamo-internal

Add Open in Docs button for editing documents, spreadsheets, presentations

- New "Open in Docs" button (EditNote icon) in doc manager Actions column for .docx, .xlsx, .pptx, .odg, .doc, .xls, .ppt files - Opens document in Docs edito...

kamo·6mo ago
FeatureDocsService

Rewrite WOPI/Docs to use Img/ImgDat, add Open in Docs endpoint

- WopiController now uses imgId (Long) instead of Document fileId (String) - DocumentService creates Img + ImgDat records instead of Document records - WOPI Che...

Kamo·6mo ago
Featurekamo-shared-library

Remove standalone Document entity — all docs now use Img/ImgDat imaging system

The Document entity, DocumentRepository, and DocumentNotFoundException are removed. DocsService WOPI and Docs integration now operates entirely through the Img ...

Kamo·6mo ago
Featurekamo-internal

Build integrated auto lead imports UI with full endpoint management

Complete rewrite of LeadAutoImportManager with production-ready features: - Endpoint CRUD with unique webhook URLs for 3rd-party lead vendors - Copy-to-clipboar...

kamo·6mo ago
FeatureDaemonService

Add Quartz job for automated lead intake payload processing

Adds LeadIntakeProcessingJob that runs every minute to process queued raw payloads from 3rd-party vendors. Applies configured field mappings, transformations (t...

Kamo·6mo ago
FeatureSecurityService

Add lead intake management and public receive controllers

Adds two controllers for the automated lead intake system: - LeadIntakeController: authenticated CRUD for intake endpoints, field mappings, payload queue mana...

Kamo·6mo ago
FeatureAPIService

Add public lead intake endpoint for 3rd-party lead submission

Adds LeadIntakePublicController at /api/public/lead-intake/{token} that accepts lead data in any format (JSON, form-urlencoded) from 3rd-party vendors and forwa...

Kamo·6mo ago
Featurekamo-shared-library

Add Lead Intake system entities, repos, DTOs, and service

Adds the complete data layer for the automated lead intake system: - 4 entities: LeadIntakeEndpoint, LeadIntakeFieldMapping, LeadIntakeRawPayload, LeadIntakePro...

Kamo·6mo ago
ChoreEmailService

Bump version to trigger rebuild with updated kamo-shared-library

Rebuilds the Docker image with the fixed Member entity (memberType field removed) so the Hibernate SQL no longer selects security_level from the member_team_mem...

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