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
March 30, 2026
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·7mo ago
March 29, 2026
Fixkamo-internal

Elimina client-side OTK de la multipart upload, adăugați upload logare depanare

Clientul a fost generarea unui OTK irosit înainte de încărcarea (următorul.js traseu generează propriul server-side OTK pentru backend). Eliminat clientul OTK p...

kamo·7mo ago
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·7mo ago
Fixkamo-internal

Simplifică căutarea numelui NavTop și corectarea sistemului URL MediaService

- Elimină numele de utilizator Alias căutare de la getDisplayName, folosește direct înregistrarea membrilor - Fix MediaService K8s URL de la https:8443 la http:...

kamo·7mo ago
Fixkamo-internal

Utilizați forwardToApi pentru a satisface upload-uri de fundal în loc de aducere manuală

Aportul manual cu FormData a fost ruperea limitelor multipart. Acum reconstruieşte FormData şi foloseşte forwardToApi care se ocupă corect de anteturi.

kamo·7mo ago
Fixkamo-shared-library

Utilizați subquery pentru a găsi fundaluri temă org de membru utilizator în loc de membru direct se alăture

Fosta CONEXA INNER pe tb.membru exclus fundaluri în cazul în care membru a fost NULL, care este cel mai mare nivel de utilizator. Acum foloseste o subquery prin...

Kamo·7mo 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·7mo ago
Fixkamo-internal

Adu șablon semnătură direct de la EmailService cu OTK auth, adăugați logare depanare

forwardToApi pentru /api/email/semnătură-templieri a trecut prin APIservice poarta de acces în loc de proxy e-mail Next.js. Acum vine direct de la E-mailservice...

kamo·7mo ago
Fixkamo-internal

Citește sesiunea direct de la Redis (la fel ca /api/user-info), folosește forwardToApi pentru toate apelurile de serviciu

Cauza principală: profilul expeditorului a arătat "colegul dumneavoastră" deoarece Sesiunea aduce numit un obiectiv de securitate inexistent. Semnătura a fost m...

kamo·7mo ago
Fixkamo-internal

Replicate exact email composer data flow for meeting invite emails

The previous implementation only filled 8 of 20+ SignatureContent fields, causing malformed signatures with no images, name, or contact info. Now replicates th...

kamo·7mo ago
Fixkamo-internal

Clean up meeting invita e-mail

Modificarea șablonului: - Retragere imagine logo (semnătură șablon antet mânere de branding) - Eliminat "Bună, colegul tău te-a invitat," înlocuit cu personaliz...

kamo·7mo ago
Fixkamo-internal

Întâlnire Wrap invita e-mailuri cu org șablon semnătură ( antet/de jos/semnătură) și include mesaj personalizat

Acum reproduce exact același ambalaj e-mail ca compozitorul de e-mail: 1. Model de semnătură Fetches de la EmailService (USER domeniu de aplicare, COMPANY Fallb...

kamo·7mo 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·7mo ago
Fixkamo-internal

Trimite intalnire invita emailuri Direct la EmailService, nu prin poarta APIService

Cauza root: forwardToApi rute prin APIservice Java poarta care nu păstrează în mod corect limitele Multipart FormData. Mesajul Compozitorul lucreaza pentru ca f...

kamo·7mo ago
Fixkamo-internal

Utilizați nuante subtile de fundal pe antetul paginii calendar și bara laterală

Meci de piste / Allotments pagina de styling cu lumina culori-mix fundaluri în loc de culori primare saturate puternic.

kamo·7mo 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·7mo ago
Fixkamo-internal

Hexheads clare vechi pe pagina reîmprospătare în loc de restaurarea statului orfan

Ferestrele cu unelte minimizate nu supravieţuiesc reîmprospătării, aşa că restaurarea poziţiilor hexhead creat capete orfane cu icoane lipsă și manipulatori non...

kamo·7mo ago
Fixkamo-internal

Ascunde file specifice membrilor atunci când membrul ID este "nou" pentru a preveni erorile BAD REQUEST

URL-ul /setări/membru/nou (din butonul "Add Team Member") este prins de Traseu dinamic, care cauzează AccountActivitateTab, MembershipPermissionsTab, și PlansBi...

kamo·7mo ago
Fixkamo-internal

60s OTK TTL pentru ferestre întâlni, chat/email independent invită care nu blochează pe backend

OTK a avut un TTL de 10 secunde. Până când pagina kamo-întâlnire a încărcat toate activele sale și branding/overrides.js a fugit pentru a valida OTK; a expirat ...

kamo·7mo ago
Fixkamo-internal

Trimite invitaţii de chat prin sesiunea de chat existentă API, email-ul invită prin multipart la EmailService

Chat invită: creează/primește o sesiune de chat prin POST /api/media/sessions/chat apoi trimite şedinţa ca mesaj text în sesiunea respectivă. Folosește exact ac...

kamo·7mo ago
FixAPIService

Use getServerName() instead of getHeader(Host) for original host resolution

ForwardedHeaderFilter consumes X-Forwarded-Host and adapts getServerName() accordingly, while getHeader(Host) returns the raw HTTP Host which may be a K8s inter...

Kamo·7mo 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·7mo ago
Fixkamo-internal

Înainte toate domeniile de întâlnire (trimiteChatInvite, trimiteEmailInvite, personalizatMessage, roomAlias, joinUrl) pentru a sprijini

Traseul API Next.js a fost stripping sendChatInvite, trimite EmailInvite, personalizatMesaj, și camerăAlias Platforma nu a primit steaguri de invitare, nici o ...

kamo·7mo ago
Fixkamo-login

Vizitator IP și utilizator-agent pentru a sprijini pentru o activitate de înregistrare corectă a contului

Rutele Next.js API nu au fost expediate X-For, X-Real-IP, sau Antete User-Agent la backend Java, ceea ce determină activitatea contului să înregistreze Next.js ...

Kamo·7mo ago
FixAPIService

Use HTTP on port 80 for meet service URL to match other services

The HTTPS endpoint on 8443 causes SSL cert mismatch when routing through K8s internal DNS. All other services use HTTP on port 80.

Kamo·7mo ago
Fixkamo-internal

Arată dialogul pentru întâlnirile per-membru în loc de ocolire directă

Ambele MemberItem (Centrul de interacţiune) şi ChatBox (fereastra de discuţii) deschide dialogul Întâlnire cu membrul țintă pre-selectat, permițând utilizator p...

kamo·7mo ago
Fixkamo-internal

Traseu configura API prin APIService în loc de MediaService direct

Traseul de întâlnire/creare existent utilizează înainteToApi (APIService), care Proxies către MediaService. Noile rute de configurare/rezerve trebuie să urmeze ...

kamo·7mo ago
Fixkamo-internal

Mută butonul Tab nou după chat Acum, numai pentru icoane, elimină link-ul cu Notițe duplicate

Noua filă este acum un buton de pictogramă (fără etichetă) plasat în dreapta Chat Now. Note eliminate din NavTop deoarece este deja în NavPri.

kamo·7mo ago
Fixkamo-shared-library

Adăugați adnotări explicite @JsonProperty la câmpurile de vizibilitate KbArticle AI

Asigurați-vă că Jackson serializează / deserializes aiEnabled, aiVizible ToPublic, aiVizibilMembrilor, aiVizibiliMembrilor cu nume de teren corecte.

Kamo·7mo ago
Fixkamo-internal

Prevenirea buclei de re-redare infinită în MeetingDialog cauzate de referințele implicite ale array-ului prop

UtilizareaEfect a avut membri preselecți [care nu au respectat []] ca dependență; crearea unei noi array pe fiecare rendare și declanșarea unui setstat infinit ...

kamo·7mo ago
Fixkamo-internal

Face Chat Acum pictogramă alb, sincronizare e-mail insignă cu lista de mesaje, utilizați CSS color-mix pentru culori tematice

- NavTop: schimba culoarea ForumIcon la alb pentru a se potrivi cu eticheta Chat Now - MesajBrowser/MailButton: coordona WebSocket e-mail reîmprospătare prin ev...

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