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 28, 2026
FixSecurityService

Membrii org de nivel superior au un plan de administrare a platformei, ocolind porţile de facturare

Membrii org KamoCRM (la nivel superior) nu fac obiectul sistemului de facturare Obțineți matricea caracteristică a planului de proprietate UNLIMITED (cu Free a...

Kamo·6mo ago
Fixkamo-shared-library

Bypass org de nivel superior + Retragere liberă de bază pentru orgi fără subs

Verificarea drepturilor la nivel de org *************** merge abonamente care vizează o org. Cu noul model tinta org, orgi care nu au încă un cont de direcționa...

Kamo·6mo ago
April 27, 2026
Fixkamo-internal

Elimină titlul de istorie a câmpului redundant din panoul de istorie

Tab eticheta deja transmite context Butonul de reîncărcare s-a mutat în linie în bara de unelte.

kamo·6mo ago
Fixkamo-internal

Elimină aspectul propunerii care cauzează bouncing corp e-mail

Mişcarea exterioară. Divin's Loyout înălțime: animație "auto," creând o buclă de feedback FLIP pe e-mailuri cu înălțimi instabile (imagini, tabele) care oscila...

kamo·6mo ago
Fixkamo-internal

Arată întotdeauna Creați butonul Document pe pagina managerului doc

Înlăturat getMemberId () > 0 garda care ascundea butonul în timpul fereastra de încărcare UserInfo. Pagina este deja în spatele Auth deci nu Aici este nevoie de...

kamo·6mo ago
Fixkamo-internal

Restaurează importul organizaţiei eliminate accidental

organization.id este încă necesară în cererea de suportCreateDocument corp; numai starea isDocsEditor ar fi trebuit eliminată.

kamo·6mo ago
Fixkamo-internal

Afișează butonul Creare document către toți membrii conectați

Verificare de pavilion org (isDocsEditor → isDocs → hasFeature DOCS) a revenit fals deoarece caracteristicile org folosesc tipuri de chei depreciate. Butonul es...

kamo·6mo ago
Fixkamo-internal

Elimină filtrele de nivel de câmp Datagrid și rândul de filtrare plutitoare

Dezactivează toate filtrele de coloană și rândul de intrare plutitor filtru astfel încât grilă indică numai antetele coloanei și rândurile de date. De asemenea,...

kamo·6mo ago
Fixkamo-internal

Mută butonul de încărcare în bara de unelte DocManager

Declanșatorul de încărcare a fost doar în /doc / pagina managerului de acțiuni prop, face invizibil atunci când DocManager este încorporat în alte pagini. Mutat...

kamo·6mo ago
Fixkamo-internal

Permite opţiunilor de upload pentru a derula în DockManager încorporat

Uploads file container a fost supraîncărcat: ascunse, tăiere opţiuni per fişier (descriere, folder, tip doctor, nivel de acces) în înălțime contexte integrate. ...

kamo·6mo ago
Fixkamo-internal

Fix 400 eroare de alimentare și adăugați sub-tabe de comunicații cu parametri URL

Fix dublu-? bug în MediaStream unde feedEndpoint conținea deja interogare params, but the put appended ?page=... in loc de &page=..., causing a URL-ul malformat...

kamo·6mo ago
Fixkamo-internal

Asigurați 'Toate conduce' un element de meniu real cu icoane în filtru agent

- Inlocuiti elementul cu valoarea goala a ocupantului cu ALL asa ca scaderea niciodată nu arată gol atunci când All Leads este selectat - Adăugați pictogram...

kamo·6mo ago
FixDaemonService

Consuma *** secret astfel X-Normal-Auth se potrivește serviciilor din aval

DaemonService -> Servicii de conversie A fost un accident. Revenind 401 Neautorizat pentru că DaemonService a fost ștanțare sale Antet X-Non-Auth de la INTERN A...

Kamo·6mo ago
Fixkamo-shared-library

Use @CreationTimestamp(source=DB) on ****************

The DB is the single source of truth for timestamps in this codebase. The canonical Hibernate pattern is @CreationTimestamp(source = SourceType.DB), which makes...

Kamo·6mo ago
Fixkamo-shared-library

Let DB fill **************** via @Generated(INSERT)

INSERTs were failing with: null value in column "date_created" violates not-null constraint @ColumnDefault only declares the DB-side default for new rows; Hi...

Kamo·6mo ago
Fixkamo-asterisk-support

Drop the [from-internal-custom] _X. catch-all that broke softphone calls

The catch-all exten => _X.,1 in [from-internal-custom] was intercepting every internal dial — softphones started reporting "phone is not registered" / calls wou...

Kamo·6mo ago
FixConversionService

Enable JPA repos for commerce + email + dao.repositories packages

ConversionService new pod CrashLoopBackOff with the same error DaemonService hit earlier: Parameter 0 of constructor in **************** required a bean of ...

Kamo·6mo ago
FixAPIService

Carve /api/voip/recordings/** out of the wildcard VOIP forwarder

The /api/voip/** catch-all in APIGatewayController was shadowing the dedicated VoipRecordingUploadController POST /api/voip/recordings/upload mapping when Sprin...

Kamo·6mo ago
Fixkamo-asterisk-support

Write managed config files 0644 so the asterisk daemon can read them

The kamo-asterisk-support pod runs as root and writes to host-mounted **************** Asterisk inside the FreePBX pod runs as user "asterisk" and could not rea...

Kamo·6mo ago
Fixkamo-asterisk-support

Utilizați envsubst-compatibil \$ {VAR} sintaxă în șablon config + re-render on stay placeholders

Pods au fost CrashLoopBackOff cu "erori config: API KEY lipsește sau prea scurt" deoarece șablonul de configurare folosit literal API KEY markeri care envsu...

Kamo·6mo ago
Fixkamo-asterisk-support

Drop unused watcher import

uploader.go only uses CallBatch (declared in grouper.go in the same package), not anything from internal/watcher directly. Go rejects unused imports.

Kamo·6mo ago
FixDaemonService

Activează repo-urile JPA pentru comerț + pachete e-mail + dao.repozitoare

Serviciul Daemon s-a prăbuşit la pornire cu: Parametrul 0 al constructorului în ************* necesare Un bob de fasole care nu poate fi găsit. Un serviciu rec...

Kamo·6mo ago
FixVOIPService

Capture newExtNumber as final for lambda capture in MemberVoipConfigController

newExtNumber este realocat condiționat în interiorul dacă (este VoipEnabled & ...) Bloc, ceea ce nu face în mod eficient final. Blocul de sincronizare TeamMembe...

Kamo·6mo ago
Fixkamo-internal

Voce CastActivityDetecție pentru a ocoli tipul TS DOM lipsă

voiceActivityDetection is a valid WebRTC MediaTrackConstraints property, but este absent din lib-ul DOM TypeScript, cauzând o eroare de tip la timpul de constru...

kamo·6mo ago
April 26, 2026
FixKlusterServices

Configurează STUN astfel încât browserul ICE să poată completa bidirecțional

Apeluri de la browser la browser, conectate la stratul SIP, dar nu audio în ambele direcţii. Căsuţa vocală (în sens unic Asterisk → browser) a funcţionat deoare...

Kamo·6mo ago
Fixkamo-internal

Audio live care supraviețuiește sarcinii-întrerupe, spinner centrat, outbound ringback

Trei soluții coordonate pentru calea audio în apel: 1. AbandoneazăError pe telecomandaAudio.play() (vizibil în consola de producție ca "Cererea play () a fost ...

kamo·6mo ago
Fixkamo-internal

Hangup tears down ALL live sessions, not just the primary

Self-call edge case left a session leaked: dialing your own extension creates an outbound session, then Asterisk loops the call back as a second inbound session...

kamo·6mo ago
Fixkamo-internal

Instant connecting feedback on outbound dial

Same problem the inbound Answer button had: clicking Call kicked off the SIP INVITE round-trip (1-3 seconds) but the button kept its idle "Call" appearance the ...

kamo·6mo ago
Fixkamo-internal

Conectare animație + audio care joacă de fapt + ton de apel deblocare

Trei soluții coordonate pentru calea de intrare: 1. Feedback vizual în timp ce acceptă. Faceți clic pe răspuns stânga ambele butoane cu aspect receptiv, dar ne...

kamo·6mo ago
Fixkamo-internal

Mount SoftphoneProvider de mai sus ToolDock astfel încât ferestrele unelte pot citi

Deschiderea Softphone popup prăbușit pagina cu "Această pagină nu a putut încărca" deoarece ferestre de unelte monta în interiorul ToolDock, care trăiește în To...

kamo·6mo ago
Fixkamo-internal

Use Grid size prop so AV panels umple randul

Grila MUI v7 e bazată pe flexbox, aşa că reţeaua Column sx pe care o foloseam a fost un nu-op spaţiul din dreapta. Trecerea la suportul de dimensiune suport (d...

kamo·6mo ago
Fixkamo-internal

ID-uri migrate de ton de apel vechi pentru a implicit pe sarcină

Dacă preferinţele unui utilizator salvat AV referinţă un ton de apel care nu mai există în catalog (de exemplu, "clasic" înainte de catalog a fost împodobit), f...

kamo·6mo ago
Fixkamo-internal

Digitale dialpad înregistrează acum pe dispozitive tactile

Butonii dialpad numit e.preventDefault() în ambele peTouchStart și Pe TouchEnd. Asta oprește browserul să tragă evenimentul de clic sintetic care urmeaza o atin...

kamo·6mo ago
FixKlusterServices

Browser gazdă SIP WSS pe intern.kamocrm.com (cert real)

Browser-ii au refuzat conexiunea WebSocket la ************* cu cod închis 1006 pentru că Traefik îşi servea certificatul implicit autosemnat pentru acel nume ga...

Kamo·6mo ago
Fixkamo-internal

Prezenta glob separat pentru marketing live chat vs membri

Public Bilete widget chat păstrați org placeholder ca solicitantId; utilizați numai prezența sesiunii media pentru aceste rânduri. Membru intern și alte bilete ...

kamo·6mo ago
Fixkamo-marketing

Ritmul cardiac periodic al prezenţei STOMP pentru sprijinul public

Refresh Redis TTL pentru prezenţa în sesiune publică astfel încât agenţii să vadă starea corectă online.

Kamo·6mo ago
Fixkamo-internal

Globe folosește prezența sesiunilor media pentru vizitatorii de marketing

Solicitați sesiune de chat public GUID-uri în prezența instantaneu; tratați on-line dacă oricare este conectată sesiunea sau membrul solicitant. Se manipulează ...

kamo·6mo ago
FixMediaService

Urmăriți chat-ul de suport public prin sesiune GUID în Redis

Vizitatorii de marketing folosesc /ws/public-chat-nativ fără membruId; bilete încă se referă la membrul titular de org ca solicitant. PRESENCE PUBLIC tastele ST...

Kamo·6mo ago
FixVOIPService

Nu ștergeți atribuirea membrilor pe sincronizare de la furnizorii care lipsesc metadate

Nu-ţi face griji. suprascris necondiţionat TelefonExtensie.un membru desemnatId cu orice furnizor returnat. FreePBX (și orice furnizor care nu urmărește care me...

Kamo·6mo ago
Fixkamo-internal

Arată numele furnizorului în modul vizual + extensia proprie în editarea dropdown

Doi gândaci pe aici. 1. Modul de vizualizare a aruncat UUID brut lista de cazuri a fost încărcată doar în interiorul mâneruluiVoipEdit(). Cazuri de încărcare ...

kamo·6mo ago
Fixkamo-shared-library

Serialize ExtensieDto.atribuit membreId ca un șir

deversează gama de informații privind siguranța JS (de exemplu, 1168485658174423046) ca 116848565817443000 odată ce un număr JSON atinge browserul). Frontul dej...

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