KamoCRM

Live Change Log

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

18,392
Total Changes
6,527
Features
5,537
Fixes
30
Projects
Filter by project
All Projects18,392AIService276APIService177BillingService161ConversionService117DaemonService146DocsService240ESigService93EmailService619InitializerService344KBService162KlusterServices769MCPGatewayService277MediaService620RAGService79SecurityService1,995TranslateService62VOIPService265VectorService11kamo-apps26kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,692kamo-login342kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,824kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild23CI525Chore794Docs3,286Feature6,527Fix5,537Other1,001Performance174Refactor281Revert23Style45Test175Upgrade1
July 18, 2026
FeatureAIService

Sales-agent CRUD, mortgage template, and agent-driven chat prompt

- AiSalesAgentController (/api/ai/sales-agents): org-scoped CRUD + GET /templates - SalesAgentTemplateRegistry: built-in starter templates, beginning with a m...

Kamo·3mo ago
FixAIService

Streamed replies were dropped, persisting blank assistant messages

Every successful chat completion came back as an EMPTY assistant bubble. The assistant rows were being saved with content_len=0 and is_error=false, so there was...

Kamo·3mo ago
FixAIService

Try the next model when a vision model rejects the image

Probing production again after the modality fix, routing moved from a text-to-speech model to o3-mini — an o-series reasoning model that also takes no image inp...

Kamo·3mo ago
FixAIService

Stop routing vision to text-to-speech models

Found by probing production: org 1188756624575266822's vision calls resolved to gpt-4o-mini-tts-2025-03-20 — a TEXT-TO-SPEECH model — so every vision call retur...

Kamo·3mo ago
FeatureAIService

Inline image vision + tier fallback that prefers stronger over weaker

Two limits made org-configured vision unusable for whole classes of caller. 1. Vision was URL-ONLY. Every caller had to stand up public, provider-fetchable ser...

Kamo·3mo ago
July 17, 2026
FixAIService

Load history images via query, not lazy getImages() (WS path)

**************** runs on the WebSocket path (called from AiChatWebSocketHandler), which is NOT an HTTP request, so open-session-in-view does not apply. Iteratin...

Kamo·3mo ago
July 16, 2026
FixAIService

Allow SWITCH_MODEL to reset a session to Auto

handleSwitchModel always UUID-parsed modelId and errored on null, so a session could never be reverted to automatic model selection mid-chat. Parse modelId as a...

Kamo·3mo ago
FeatureAIService

Per-integration public AI prompt + session attribution

Upgrade the public-chat system-prompt waterfall from per-org to per-integration: PublicAiChatController now reads the X-Public-Chat-Key-Hash header (nullable) f...

Kamo·3mo ago
July 15, 2026
July 9, 2026
FeatureAIService

Tier-aware internal text completion (POST /api/ai/internal/text)

Mirrors the vision path: selectTextProvider picks the org's active provider tagged with the requested cost tier (LIGHT/MEDIUM/HEAVY), falling back by priority; ...

Kamo·4mo ago
July 8, 2026
FixAIService

Robust vision provider/model selection across vendors

Two-pass selectVisionProvider: prefer any org provider that has an active vision-capable model adapter already emits image_url content and reports supportsVisio...

Kamo·4mo ago
FeatureAIService

Provider cost-tier/vision passthrough + internal one-shot vision endpoint

AiProviderController reads/echoes costTier + supportsVision. ProviderRoutingService gains selectVisionProvider(orgId, tier). **************** runs a one-shot vi...

Kamo·4mo ago
July 1, 2026
June 26, 2026
June 13, 2026
April 29, 2026
CIAIService

Scope concurrency to build jobs, not Kubernetes deploys

Workflow-level concurrency serialized the whole pipeline (including kubectl rollouts). Move the group to the build job only so deploy jobs from different runs c...

Kamo·6mo ago
April 28, 2026
April 27, 2026
April 21, 2026
April 20, 2026
April 19, 2026
ChoreAIService

Rebuild for kamo-shared-library update (CREATE_CHILD_ORG right + apply-to flags)

Pulls the new RoleRightType.CREATE_CHILD_ORG (id 131), the three apply-to flags on ChildOrgSecurityModel, the two 13-arg service overloads, and the AppliedModel...

Kamo·6mo ago
ChoreAIService

Rebuild for kamo-shared-library update (appConfig upsert-only fix)

Pulls the hardened **************** that no longer deletes appConfig rows whose service types are absent from the caller's payload — prevents silent data loss w...

Kamo·6mo ago
ChoreAIService

Rebuild for kamo-shared-library update (effective-feature resolver)

Picks up the new AppliedModelEnforcementService methods (computeAvailabilitiesMap, isAppEffectivelyEnabled, getEffectivelyEnabledAppTypes, computeEffectiveFeatu...

Kamo·6mo ago
ChoreAIService

Rebuild for kamo-shared-library update (applied-model enforcement + appConfigs + isPrivate)

Triggers a rebuild so this service pulls the updated kamo-shared-library containing AppliedModelEnforcementService, ChildOrgSecurityModelAppConfig entity, Servi...

Kamo·6mo ago
ChoreAIService

Rebuild for kamo-shared-library update (runtime force rules + DEFAULT fallback in MemberRightsAppliedService)

Triggers a rebuild so this service picks up the updated **************** that applies template force rules and DEFAULT-template fallbacks on top of the existing...

Kamo·6mo ago
ChoreAIService

Rebuild for kamo-shared-library update (master model, default role templates, force-rule resolver)

Triggers a rebuild so this service pulls the new kamo-shared-library revision containing Organization.branchTypeID, Organization.masterModelID, ****************...

Kamo·6mo ago
April 18, 2026
FixAIService

Bump kamo-shared-library to 1.4.0

Kamo·6mo ago
April 16, 2026
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
April 1, 2026
FeatureAIService

Add public AI chat endpoints with RAG integration for anonymous visitors

Adds /api/ai/public/sessions endpoints for anonymous AI chat on marketing sites. Bypasses OTK auth filter for public paths. Uses public-facing system prompt and...

Kamo·7mo ago
March 30, 2026
FixAIService

Lower RAG min-score threshold from 0.5 to 0.25 to stop filtering relevant KB results

The 0.5 threshold was silently discarding valid results from the embedding model, especially for domain-specific content with smaller 384-dim vectors.

Kamo·7mo ago
March 28, 2026
FeatureAIService

Pass memberType through RAG search for audience-scoped KB results

Resolve member type from MemberRepository and include it in RAG search requests so the vector DB can filter KB articles by audience visibility.

Kamo·7mo ago
FeatureAIService

Add feedback endpoint for AI chat responses

Kamo·7mo ago
FeatureAIService

Wire ConversationContextService for sliding window context management

Trims conversation history to fit model's context window before sending to LLM. Keeps recent messages verbatim, summarizes older ones.

Kamo·7mo ago
March 24, 2026
March 23, 2026
FeatureAIService

Include clickable source links in RAG context for AI chat

Update RagClient to embed markdown links in the context sent to the AI model. KB articles link to /kb/{guid}, notes link to /notes?id={noteId}. Instructs the mo...

Kamo·7mo ago
FeatureAIService

Pass memberId to RAG for note-aware AI chat

Add extractMemberId to SessionHelper. Update RagClient to send memberId in search requests so RAG returns both org KB articles and the member's own AI-enabled n...

Kamo·7mo ago
March 20, 2026
RefactorAIService

Update AI entity ID references from Long to UUID

Updates all controllers, services, and WebSocket handler to use UUID for AI entity IDs (providers, models, sessions, messages, folders, policies, MCP configs). ...

Kamo·7mo ago
March 18, 2026
FixAIService

Add response body and request logging to RagClient for debugging

Log the RAG search request URL, orgId, query, and response body on error to diagnose 500 responses from RAGService.

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