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
FixKlusterServices

Disable Jicofo auth module to prevent 1-minute participant kick

Jicofo's AbstractAuthAuthority has a hardcoded 1-minute auth session lifetime that ignores the config file setting. After 60 seconds, Prosody demotes participan...

Kamo·7mo ago
FixKlusterServices

Use room names (not full JIDs) for all brewery MUC configs

Both Jicofo and JVB Docker images append @XMPP_INTERNAL_MUC_DOMAIN to the brewery room name automatically. Using full JIDs like **************** caused double-d...

Kamo·7mo ago
FixKlusterServices

Use TCP probe on port 9090 for JVB health checks instead of HTTP on 8080

JVB's REST API port 8080 conflicts with CockroachDB's admin UI on the same hostNetwork. The JVB_OHTTP_SERVER_PORT env var is not recognized by this JVB image ve...

Kamo·7mo ago
FixKlusterServices

Resolve JVB crash loop — wrong MUC JID + port 8080 conflict

Two issues causing JVB to crash in a loop for 43+ hours: 1. JVB_BREWERY_MUC was **************** (full JID) but JVB appends XMPP_INTERNAL_MUC_DOMAIN automat...

Kamo·7mo ago
FixKlusterServices

JVB_BREWERY_MUC should be room name only, not full JID

Was **************** which caused JVB to construct a double-domain JID **************** with an @ in the domain part — crashing JVB with XmppStringprepException...

Kamo·7mo ago
FixSecurityService

Query avatar_photos extension via SQL instead of Hibernate proxy

avatarRepository.findById() returns a Hibernate proxy (Avatar$HibernateProxy) that fails instanceof AvatarPhoto check. This caused the file extension to always ...

Kamo·7mo ago
Featurekamo-internal

Adaugă programator data/ora la dialogul Start Meeting

Adaugă o pilulă Now/Schendule comuta la dialogul de creare a întâlnirii. Când Programul este selectat, un slide MUI DataTimePicker cu 15 minute intervale și o l...

kamo·7mo ago
FixSecurityService

Store full avatar relative path in session instead of bare file hash

The login SQL now also fetches avatar_type and file_extension from avatar_photos so the session stores a complete relative path like **************** or *******...

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

Add first name, last name, and avatar hash to *** session

Include memberFirstName, memberLastName, and memberAvatarUrl in Redis session data so cross-domain services like KamoMeet can display proper user identity witho...

Kamo·7mo ago
Fixkamo-internal

Handle meetReturn redirecționează pentru a trimite utilizatorii înapoi la întâlnire după autentificare

- Detect meetReturn interogation param on home page (from KamoMeet auth redirection) - Generează OTK și redirecționează utilizatorii autentificati înapoi pentru...

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

Adaugă fundaluri tematice org pentru a îndeplini setările și a elimina câmpurile depreciate

- Adăugați ruta GET pentru fundalurile tematice org - Nu. - Actualizare intalnireApi.ts: elimina cine poate crea si e-mailInviteEnabled from MeetConfig, adauga ...

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
Refactorkamo-internal

Rescrie sistemul de plasare HexHead cu motor de configurare determinist

Înlocuiește sistemul de coliziune-evaziune buggy (SpiralSearch, rezolvaCollisions, FlyToHomeRow, bucle RAF de andocare/grup) cu o singură funcție de reflux dete...

kamo·7mo ago
Featurekamo-internal

Adaugă indicator de tastare pe chat AI în timp ce așteaptă răspunsul

Bula de streaming a arătat doar atunci când conținutul a fost deja difuzat, nu lasă nici un feedback vizual în timpul REST așteptați. Puncte viguroase adăugate ...

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

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