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
April 19, 2026
April 18, 2026
FixAIService

Bump kamo-shared-library to 1.4.0

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

Add feedback endpoint for AI chat responses

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

Trigger pipeline

Kamo·6mo ago
CIAIService

Trigger pipeline

Kamo·6mo ago
March 17, 2026
FeatureAIService

Add RAG context injection for Knowledge Base in AI chat

- New RagClient service for calling RAGService semantic search - ChatOrchestrationService injects KB context before AI responds - Configurable via AiOrgSettings...

Kamo·6mo ago
FixAIService

Use non-streaming chat completion for REST endpoint

Streaming over REST with blockLast() was producing empty responses because WebClient's SSE parsing doesn't work reliably with bodyToFlux(String.class). Added ha...

Kamo·6mo ago
FixAIService

Add detailed error logging to HuggingFaceAdapter for debugging 400 errors

Captures and logs the actual HF error response body instead of just status code.

Kamo·6mo ago
FixAIService

Switch HuggingFace to router.huggingface.co (api-inference is deprecated)

HF returns 410 on api-inference.huggingface.co with message to use router.huggingface.co instead.

Kamo·6mo ago
FixAIService

Use HuggingFace OpenAI-compatible endpoint with model in request body

HF's /v1/chat/completions endpoint takes the model ID in the JSON body, not in the URL path. Switched from per-model URL routing to standard

Kamo·6mo ago
FixAIService

Add model count to provider list, switch HF to router endpoint

- Include modelCount in provider list GET response - Switch Hugging Face default base URL to router.huggingface.co - Support both api-inference and router URL f...

Kamo·6mo ago
FeatureAIService

Support enabling/disabling models via PUT /api/ai/providers/{id}

When the frontend sends a 'models' array of model IDs in the provider update request, models in the array are set active and models not in the array (belonging ...

Kamo·6mo ago
FeatureAIService

Add POST **************** endpoint for sending chat messages

Receives user message, sends to AI provider via ChatOrchestrationService, returns complete response. Supports REST-based chat flow.

Kamo·6mo ago
FixAIService

Return full decrypted API key in provider responses

Users need to see and edit the full key, not a masked version.

Kamo·6mo ago
FeatureAIService

Add Hugging Face as dedicated provider type with custom adapter

- HuggingFaceAdapter handles HF's URL structure **************** - Model discovery via HF API (warm text-generation models) - Registered in ProviderAdapterFacto...

Kamo·6mo ago
FeatureAIService

Add manual model creation, handle 410/404 in test, use discovered model for CUSTOM providers

- POST /api/ai/models endpoint for manually adding models - DELETE /api/ai/models/{id} endpoint - CUSTOM providers use first discovered model for chat test inst...

Kamo·6mo ago
FixAIService

Normalize base URL to prevent /v1/v1 duplication

Strips trailing /v1 from base URL before appending /v1/chat/completions, so users can enter base URLs with or without the /v1 suffix.

Kamo·6mo ago
FixAIService

Restructure test connection to discover models first, handle rate limits gracefully

- Model discovery (lightweight GET) runs before chat test (POST) - Rate limit (429) errors show user-friendly warning instead of failing - Auth errors (401/403)...

Kamo·6mo ago
FeatureAIService

Implement model auto-discovery on provider test connection

Each provider adapter discovers available models from the provider API. Models are automatically saved to the database when Test Connection succeeds.

Kamo·6mo ago
FixAIService

Use provider-specific test model instead of hardcoded gpt-4o-mini

Each provider type now uses an appropriate model for connection testing

Kamo·6mo ago
FixAIService

Serialize entity IDs as strings to prevent JavaScript precision loss

CockroachDB unique_rowid() generates INT8 values that exceed JavaScript's Number.MAX_SAFE_INTEGER, causing ID corruption in the frontend.

Kamo·6mo ago
March 16, 2026
FixAIService

Add OTK authentication support matching SecurityService pattern

- Add OTKPreAuthFilter to validate X-OTK header and resolve to *** session - Update SessionHelper to read from request attributes set by filter - Update all con...

Kamo·6mo ago
CIAIService

Trigger pipeline

Kamo·6mo ago
CIAIService

Trigger pipeline

Kamo·6mo ago
FeatureAIService

Scaffold AIService project with providers, services, websocket, and controllers

AI chat orchestration service on port 4205 with: - WebSocket streaming with session auth via ***/Redis - Chat orchestration with auto-routing, usage tracking, a...

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