KamoCRM

Live Change Log

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

17,500
Total Changes
5,986
Features
5,284
Fixes
30
Projects
Filter by project
All Projects17,500AIService251APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService576InitializerService329KBService151KlusterServices740MCPGatewayService251MediaService602RAGService79SecurityService1,847TranslateService62VOIPService249VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,349kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,657kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore774Docs3,254Feature5,986Fix5,284Other994Performance165Refactor278Revert23Style42Test160Upgrade1
April 20, 2026
FixMediaService

Utilizați PublicChatVizitor AfișareNume pentru solicitantNume pe biletele vizitatorilor

Vizitator-inițiat bilete hardcode solicita la membru al sistemului org, așa DTO a fost suprapuse numele proprietarului org în coloana solicitant. Cădere înapoi ...

Kamo·6mo ago
Featurekamo-internal

Drepturile de sprijinire a cererii de aderare și vizualizarea biletelor în două moduri

- NavTop: arată SuportButton pentru orice drept de sprijin (agent sau membru) - SuportButton: poarta fiecare element dropdown de dreapta Cere Webinar, Webinari...

kamo·6mo ago
Featurekamo-shared-library

Adaugă drepturile de sprijin ale membrilor (133-136)

Adăugă patru noi drepturi de sprijin pentru membrii neagenți: - *************** (133) - CREATE support TICKET (134) - CERERE WEBINAR (135) - view MY SCHEDULED W...

Kamo·6mo ago
Featurekamo-internal

Adaugă butonul Sync Rights la SecurityRoleManager pentru orgile de nivel superior

Butonul este vizibil doar atunci când organizația.Are Parent este fals. Apeluri Post /api/security/rols/sync-rights apoi reîncărcați tabelul de roluri.

kamo·6mo ago
Fixkamo-internal

Suport poarta/Setari dupa drepturi, reparatie copie retea, incarcare pe comutator tab, separator nav

- Card de retea: descriere actualizata pentru a utiliza eticheta titlu ramura dinamica - Card de suport: fix 404 prin schimbarea href /help → /support; poartă d...

kamo·6mo ago
FeatureSecurityService

Extract RoleRightsSyncService și adăugați criteriul de evaluare a sincronizării

- RoleRightsSyncService: centralizează drepturile de rol sincronizare logică pentru ambele OrgRole Şi... tabele; pornire și cerere - DataLoader: delegaţi la Rol...

Kamo·6mo ago
Featurekamo-shared-library

Asigură drepturile de rol pe care DTO-urile le-au condus și adaugă sincronizarea modelelor de securitate

- Security Roledto. from OrgRole (): enumerate all Role Right Valori de tip cu DB setările ca căutare - *************** Aceeași abordare bazată pe enum pentru ...

Kamo·6mo ago
Featurekamo-shared-library

Adaugă ALLOW PROMOTING MEmberS dreapta (id 132)

Kamo·6mo ago
Fixkamo-internal

Suport chat UX

- TicketChat fires onVisitorNameChanged when Name CHANGED WS event sosește - SuportTicketWindow expedies tool:title with requestorName on charge and privind sch...

kamo·6mo ago
Fixkamo-marketing

Render system events as friendly text in musafir chat

NUME CHANGED evenimente de sistem nu mai arată JSON brut în balonul de chat; afişează ca o pastilă italiană centrată ("Schimbă numele la {numele}"). Alte evenim...

Kamo·6mo ago
Fixkamo-internal

Arată AG Grid încărcare suprapus în loc de stare goală pe pagina conduce

Iniţializează starea de încărcare la adevărat astfel încât reţeaua să arate "Loading conduce..." Până la primul pachet se completează, prevenind un flash de "Nu...

kamo·6mo ago
FixSecurityService

Utilizați getOrganizationById WithFatures in ApppAvailability Interceptor

Rezolvă LazyInitializare Excepție pe /api/securitate / plumb și toate alte căi CRM/POS. Interceptor numit org.getFeatures () după încheierea tranzacției; noua m...

Kamo·6mo ago
Fixkamo-shared-library

Adăugați găsiByIdWithFatures pentru a încărca cu nerăbdare Organizația.fetures

Alăturați-vă FETCH previne LazyInitializare Excepție atunci când caracteristicile sunt accesat în afara unei tranzacții (de exemplu, în AppAvailabilityIntercept...

Kamo·6mo ago
Featurekamo-internal

Arată orașul și subdiviziunile în rândul geo vizitatorilor biletului

Afișează ca "City, Region, Country (IP) " degradează grațios atunci când sunt disponibile doar date de țară

kamo·6mo ago
FeatureMediaService

Expune oraș și subdiviziuni în căutare geo vizitatori

- Extindeți recordul GeoResult cu câmpurile de orașe și subdiviziuni - Switch SupportTicketService.toDTO() to use GeoLookupService (IP-level) Lookup) în loc de ...

Kamo·6mo ago
Featurekamo-internal

Adăugaţi adrese URL la / pagina de cont pentru conectarea profundă şi reîmprospătarea persistenţei

Tab state este acum sincronizat cu ***************** deci link-uri la tab-uri specifice de lucru și tab-ul corect rămâne selectate pe pagina reîmprospătare.

kamo·6mo ago
FixMediaService

Construiți eroare în GeoLookupService și adăugați NATS publica pentru mesaje de agent

- Fix Opţional vs Lista de nepotrivire de tip în ************* - Injectaţi NatsMessageService în MediaController - Publish to chat.session. agentul și vizitator...

Kamo·6mo ago
Chorekamo-marketing

Update locale translations and hash [skip ci]

Kamo CI·6mo ago
Fixkamo-internal

Correct message sides in history and handle visitor name change events

- Use messageType=VISITOR_MESSAGE from API to determine left/right in history load - Add NAME_CHANGED system event rendering in SystemMessage and TicketChat

kamo·6mo 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·6mo ago
Fixkamo-shared-library

************** se folosește ca exemplu pentru tipul de membru

Hibernare TIP (m) =:type întoarce 0 rezultate atunci când sunt legate de bază Clasă de membri în moștenirea alăturată. Pentru tipul de membru, aduceți toate și ...

Kamo·6mo ago
FixSecurityService

Rezolvă fila de membri care arată gol din cauza Hibernate TIP () clasa de bază

Tip hibernat (m) =:tip filtru JPQL întoarce 0 rezultate atunci când legat parametrul este clasa de bază a membrilor (moştenirea JOINED). Acest lucru afectează c...

Kamo·6mo ago
OtherSecurityService

Activați Hibernate SQL logare pentru a diagnostica membrii interogarea întoarce 0

Temporar activat org.hibernat.SQL=DEBUG pentru a vedea ce SQL tipul() Interogarea JPQL generează pentru criteriul final al abonaţilor.

Kamo·6mo ago
Featurekamo-internal

Arată steagul vizitatorilor, țara și IP în antetul biletelor

- Adăugaţi vizitatoriIpAddress, visitorCountryCode, vizitatorCountryName to Support TicketDTO type - Render pavilion emoji + numele țării + rândul adresei IP în...

kamo·6mo ago
FeatureMediaService

Arată steagul vizitatorilor și locația în antetul biletului de sprijin

- Injectați PublicChatVisitorRepositor și GeoLiteLocationRepositor în SuportTicketService - Populate visitorIpAddress, visitorCountryCode, visitorCountryName in...

Kamo·6mo ago
OtherSecurityService

Adăugați logare diagnostic pentru a obține membri și abonați obiectivul

Logs orgId, conte rezultat interogare, și pe membru este statutul activ pentru a ajuta Diagnosticați de ce fila membrilor arată lista goală.

Kamo·6mo ago
FixMediaService

Tag-ul de mesaje vizitatori ca tip VISITOR Message, adăugați numele expeditorului pentru a obține mesaje

- PublicChatService: set messageType=VISITOR Message astfel încât frontend poate distinge vizitatori ecouri din răspunsurile agent pe tema STOMP - MediaControll...

Kamo·6mo ago
Fixkamo-internal

Trataţi tipul VISITOR Mesage ca întotdeauna-din-ei în TicketChat

Mesajele vizitatorilor publicate prin PublicChatService transmit mesajeType=VISITOR Message. Semnează-le explicit ca autor. Apare pe partea stângă, chiar dacă m...

kamo·6mo ago
Fixkamo-marketing

Skip VIZITOR Mesage ecouri în LiveSupportPanel STOMP handler

Mesajele vizitatorilor sunt acum etichetate mesajType=VISITOR Mesage by the backend. Sari peste acestea în abonamentul STOMP astfel încât mesajele vizitatorilor...

Kamo·6mo ago
Featurekamo-marketing

Înlocuiește WebSocket nativ cu STOMP / SockJS în LiveSupportPanel

- Adăugaţi @stomp/stompjs şi pachete client - Conectează-te la media. WebSocket brut la api. - După conectarea STOMP, abonaţi-vă la /topic/chat/sesiune/{ghid} ş...

Kamo·6mo ago
FeatureMediaService

Fixează chat public de la un capăt la altul în timp real prin STOMP/NATS

- Elimina cerintele interne de la PublicChatWebSocketInterceptor astfel încât vizitatorii să se poată conecta direct folosind doar sesiunea Token - Include afiș...

Kamo·6mo ago
FixEmailService

Filtru de stare sârmă și șabloane auto-semințe necesare pe listă

- EmailTemplateController.list() acceptă acum ?status= param și filtre folosind interogarea depozitului existent ByOrgIdAndStatus - Seminte auto necesare modele...

Kamo·6mo ago
Featurekamo-internal

Auto-deschis bilet de suport popup pe notificarea NEW TICKET NATS

Când ajunge un nou bilet de sprijin, platforma trimite acum un NEW TICKET Mesaj STOMP în plus față de Pending COUNT. SuportContContext se ocupă de ea prin instr...

kamo·6mo 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·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