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
May 1, 2026
FeatureMediaService

Paged chat list with previews, members, unread counts

that returns ChatListRowDto rows including last message preview, member summaries, per-session unread counts, and ownLastViewedAt.

Kamo·5mo ago
FeatureMediaService

Per-viewer mute endpoint and message filter

Kamo·5mo ago
April 30, 2026
FixMediaService

Raise client read timeout to 120s for long messages

LibreTranslate runs CPU-only argos models — a paragraph-length chat message takes 20-30s to translate, and longer ones can push past 60s. The 8-second read time...

Kamo·5mo ago
RefactorMediaService

Cache-only bulk translate, FE handles fills

Bulk message-fetch endpoints now return only translations that are already cached and tag missing rows with needsTranslation:true. The chat UIs (kamo-internal C...

Kamo·5mo ago
FeatureMediaService

On-demand translation for chat and support messages

Captures the source language for every chat / support message and adds an optional ?lang=XX param on the message-fetch endpoints plus a per-message POST /transl...

Kamo·5mo ago
April 29, 2026
CIMediaService

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·5mo ago
April 28, 2026
ChoreMediaService

Trigger redeploy for shared library update

Kamo·5mo ago
ChoreMediaService

Trigger redeploy for shared library update

Kamo·5mo ago
April 27, 2026
ChoreMediaService

Trigger redeploy for shared library update

Kamo·5mo ago
April 26, 2026
FixMediaService

Track public support chat by session GUID in Redis

Marketing visitors use /ws/public-chat-native without memberId; tickets still reference the org placeholder member as requestor. Increment PRESENCE_PUBLIC keys ...

Kamo·5mo ago
RefactorMediaService

Requestor snapshot over STOMP, drop HTTP presence

Kamo·5mo ago
FeatureMediaService

Broadcast pending count + unread on agent read & visitor send

- **************** now delegates to **************** so the count reflects sessions with unread visitor messages and decrements when the agent calls markA...

Kamo·5mo ago
April 25, 2026
ChoreMediaService

Rebuild to pull latest kamo-shared-library

Picks up the new **************** queries and the SUPPORT_TICKET branch in ****************

Kamo·5mo ago
PerformanceMediaService

Store geo on ticket at creation, drop GeoLite reads

**************** now captures the visitor's geo once (via GeoLookupService) and persists ip/country/city/subdivision on the SupportTicket itself. SupportTicket...

Kamo·5mo ago
PerformanceMediaService

Bulk-load visitors and skip GeoLite lookup in list

The /api/support/tickets list endpoint was running, per page of 20 rows: - 20 **************** calls (N+1) - 20 calls into GeoLookupService.lookup, each of ...

Kamo·5mo ago
FeatureMediaService

Add /ws/public-chat-native plain WebSocket endpoint alongside SockJS

Registers a second STOMP endpoint without SockJS at /ws/public-chat-native so that the frontend can connect with a native WebSocket (brokerURL) without needing ...

Kamo·5mo ago
FeatureMediaService

Broadcast unread counts to agent on visitor message

After a visitor sends a support message, push the latest unread-counts payload to **************** so the agent's ticket-list badge and navtop counter update in...

Kamo·5mo ago
FixMediaService

Expand JPA repository scan to include commerce package

The new kamo-shared-library brings in **************** which requires **************** (in com.kamo.z.shared.commerce). MediaService only scanned donotmodify.da...

Kamo·5mo ago
FixMediaService

Restore HashMap import in ChatWebSocketController

The previous refactor removed the HashMap import but the handleTyping method still constructs a HashMap for the typing event payload, causing the Forgejo build ...

Kamo·5mo ago
FixMediaService

Proactively create NATS consumer at session creation to prevent message loss

Previously the NATS JetStream push consumer was only created when a STOMP client sent /app/chat/subscribe. With DeliverPolicy.New, any messages published before...

Kamo·5mo ago
April 21, 2026
FixMediaService

Relay theme provision from core NATS

Match SecurityService core publish: subscribe with Dispatcher on security.theme.provision.* instead of JetStream (stream only covers chat).

Kamo·5mo ago
April 20, 2026
FixMediaService

Use PublicChatVisitor displayName for requestorName on visitor tickets

Visitor-initiated tickets hardcode requestor to the org system member, so the DTO was surfacing the org owner's name in the Requestor column. Fall back to the P...

Kamo·5mo ago
FeatureMediaService

Expose city and subdivision in visitor geo lookup

- Extend GeoResult record with city and subdivision fields - Switch SupportTicketService.toDTO() to use GeoLookupService (IP-level lookup) instead of country-...

Kamo·5mo ago
FixMediaService

Build error in GeoLookupService and add NATS publish for agent messages

- Fix Optional vs List type mismatch in **************** - Inject NatsMessageService into MediaController - Publish to chat.session.{guid} after agent creates a...

Kamo·5mo ago
FixMediaService

Real-time chat delivery, message sides, notifications, and name sync

- Keep NATS subscription alive on client unsubscribe to avoid breaking agent real-time delivery - Tag visitor messages with messageType=VISITOR_MESSAGE in getMe...

Kamo·5mo ago
FeatureMediaService

Show visitor flag and location in support ticket header

- Inject PublicChatVisitorRepository and GeoLiteLocationRepository into SupportTicketService - Populate visitorIpAddress, visitorCountryCode, visitorCountryName...

Kamo·5mo ago
FixMediaService

Tag visitor messages as VISITOR_MESSAGE type, add senderName to GET messages

- PublicChatService: set messageType=VISITOR_MESSAGE so frontend can distinguish visitor echoes from agent responses on the STOMP topic - MediaController.getM...

Kamo·5mo ago
FeatureMediaService

Fix end-to-end public chat real-time via STOMP/NATS

- Remove internalAuth requirement from PublicChatWebSocketInterceptor so visitors can connect directly using only their sessionToken - Include visitor display...

Kamo·5mo ago
FixMediaService

Three support/chat issues — NATS relay, auto-popup, topic fallback

1. Switch SupportNotificationService and SupportStompRelayController from JetStream to core NATS — the CHAT_MESSAGES stream only covers chat.> so JetStrea...

Kamo·5mo ago
FixMediaService

Write contact form description as chat message on public ticket creation

The description was only stored on the ticket entity and never appeared in the chat window. Added writeTextMessage() helper and call it after the system event s...

Kamo·5mo ago
April 19, 2026
ChoreMediaService

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·5mo ago
ChoreMediaService

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·5mo ago
ChoreMediaService

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

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

Kamo·5mo ago
ChoreMediaService

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·5mo ago
ChoreMediaService

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·5mo ago
ChoreMediaService

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