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
FixMediaService

Bump kamo-shared-library to 1.4.0

Kamo·5mo ago
April 16, 2026
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·5mo ago
April 11, 2026
FeatureMediaService

Add conversion progress NATS-to-STOMP relay

Relays document conversion progress from NATS to WebSocket clients. Supports both imgId-based and member-based topic routing for real-time progress updates duri...

Kamo·5mo ago
April 4, 2026
FixMediaService

Add debug logging and robust rights parsing for webinar controller

Adds info/warn logging for session data and rights on POST /types to diagnose 403 errors. Also adds fallback parsing for rights stored as JSON strings in Redis ...

Kamo·5mo ago
FeatureMediaService

Enforce minimum advance booking when filtering available slots

Filters out slots that fall within the configured minAdvanceBookingMinutes window, and persists the field on create/update of webinar types.

Kamo·5mo ago
FeatureMediaService

Implement webinar scheduling backend with full business logic

Adds the core webinar scheduling system to MediaService: - WebinarService: CRUD for **************** presenter assignment **************** calendar conflict ...

Kamo·5mo ago
ChoreMediaService

Trigger CI/CD rebuild

Kamo·5mo ago
ChoreMediaService

Trigger rebuild for scopes support deployment

Kamo·5mo ago
April 1, 2026
FeatureMediaService

Add ***-authenticated API key management endpoints for public chat

Adds /api/media/public-chat-keys CRUD endpoints for managing PublicChatApiKey shown once at creation. Uses same *** auth pattern as SupportController.

Kamo·6mo ago
FeatureMediaService

Add public chat support endpoints with anonymous visitor sessions and WebSocket auth

Adds REST endpoints for public chat session creation, messaging, and visitor management. Includes PublicChatWebSocketInterceptor for token-based WebSocket auth ...

Kamo·6mo ago
March 30, 2026
FeatureMediaService

Include org static background images in meet virtual backgrounds

Fetch backgroundImageCount from the org's theme config.json and generate URLs for /img/bg/{n}.webp so org-level static backgrounds appear alongside meet-specifi...

Kamo·6mo ago
FixMediaService

Resolve org theme backgrounds not appearing in meet virtual backgrounds

- Add domain-based theme URL resolution for internal K8s service-to-service calls - getPublicBackgrounds now accepts optional domain param to derive correct the...

Kamo·6mo ago
FixMediaService

Upload meet backgrounds to public MinIO bucket with hash-based naming

Was uploading to private 'imaging-meet-recordings' bucket via **************** which caused: - MinIO region mismatch errors on the primary node - Connection tim...

Kamo·6mo ago
March 29, 2026
FixMediaService

Return serialization-safe Maps instead of raw JPA entities in MeetConfigController

All config/background endpoints were returning raw JPA entities with @ManyToOne(fetch=LAZY) Organization references. Jackson failed to serialize the Hibernate p...

Kamo·6mo ago
FeatureMediaService

Add public config and backgrounds endpoints for sidecar consumption

GET /api/meet/public-config?domain= returns org meet config by domain. GET **************** returns combined virtual backgrounds. Both endpoints are unauthentic...

Kamo·6mo ago
FixMediaService

Remove duplicate endpoints from MeetController, add org-themes to MeetConfigController

MeetConfigController already handled config/background endpoints. The duplicate endpoints in MeetController caused ambiguous mapping. Added org-theme background...

Kamo·6mo ago
FeatureMediaService

Add config CRUD, background management, and org-theme endpoints

All endpoints enforce MANAGE_MEET_SETTINGS privilege. Config auto-creates with defaults on first access per org. Background uploads go to MinIO with SHA-256 has...

Kamo·6mo ago
FixMediaService

Update health probes to HTTP port 80 to match new server config

Startup, readiness, and liveness probes were still pointing to port 8443 with HTTPS scheme, causing pod restart loops.

Kamo·6mo ago
FixMediaService

Switch MediaService to HTTP port 80 — TLS termination at Traefik

Internal cluster traffic doesn't need HTTPS. Traefik handles TLS for external clients. This aligns MediaService with all other services.

Kamo·6mo ago
FixMediaService

Send chat invites to correct WebSocket topic /topic/chat/incoming/{memberId}

Was publishing to /topic/chat/member/{id} but kamo-internal subscribes to /topic/chat/incoming/{id}. Also fixed Member entity field access **************** inst...

Kamo·6mo ago
FeatureMediaService

Implement chat WebSocket and email invite sending for meetings

MeetController now reads sendChatInvite, sendEmailInvite, and customMessage from the create request body and triggers async invite sending. MeetService.sendInv...

Kamo·6mo ago
FeatureMediaService

Add MeetConfigController and MeetConfigService for org-level meet settings

REST endpoints for CRUD on OrgMeetConfig and MeetBackground entities. Supports config get/update, background upload/delete/reorder via MinIO storage.

Kamo·6mo ago
March 28, 2026
ChoreMediaService

Trigger rebuild

Kamo·6mo ago
ChoreMediaService

Rebuild

Kamo·6mo ago
ChoreMediaService

Rebuild with ServiceType.MEET COMPLETED stage

Kamo·6mo ago
FeatureMediaService

Add unread count API endpoint, mark-as-read endpoint, and WebSocket broadcast

- GET /api/media/sessions/chat/unread returns per-session and per-sender unread counts - PUT /api/media/sessions/{guid}/read marks a session as read for current...

Kamo·6mo ago
March 26, 2026
FeatureMediaService

Add PRE_TICKET creation and convert-to-ticket endpoint

- createTicket: when preTicket=true, sets status to PRE_TICKET, skips assignment (no title required) - PUT /tickets/{id}/convert: converts PRE_TICKET to NEW, ...

Kamo·6mo ago
March 25, 2026
OtherMediaService

Log session rights on support topic creation

Kamo·6mo ago
March 24, 2026
CIMediaService

Rebuild with latest kamo-shared-library

Kamo·6mo ago
FeatureMediaService

Add support ticket services, REST controllers, and STOMP relay

Implements the MediaService backend for the support ticket system: - SupportTopicService: CRUD for org-scoped support topics - SupportAssignmentService: round-r...

Kamo·6mo ago
March 20, 2026
March 19, 2026
FixMediaService

Add voip.> to NATS stream subjects and handle IllegalStateException in VoipStompRelayController

The NATS stream only covered chat.> so subscribing to voip.> threw IllegalStateException ([SUB-90007] No matching streams). Added voip.> to the stream subjects ...

Kamo·6mo ago
FeatureMediaService

Add VOIP NATS-to-STOMP relay in MediaService

Kamo·6mo ago
March 18, 2026
CIMediaService

Trigger pipeline

Kamo·6mo ago
March 17, 2026
CIMediaService

Rebuild with updated shared-lib

Kamo·6mo ago
March 14, 2026
ChoreMediaService

Add *.md to .gitignore

Kamo·6mo ago
March 13, 2026
CIMediaService

Trigger pipeline

Kamo·6mo ago
March 12, 2026
PerformanceMediaService

Skip DB member lookup for messages auth check

Extract getMemberIdFromRequest() that reads memberID from the Redis session without hitting the DB. Use it in getMessages() instead of getCurrentMember() — the ...

Kamo·6mo ago
PerformanceMediaService

Eliminate per-request logging overhead and async TTL refresh

- k8s configmap (the actual production config): lower security/hikari logging from INFO/DEBUG to WARN, add HikariCP pool config (max 20) - KSessionService: st...

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