KamoCRM

Live Change Log

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

17,650
Total Changes
6,071
Features
5,339
Fixes
30
Projects
Filter by project
All Projects17,650AIService260APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService586InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService604RAGService79SecurityService1,872TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,411kamo-login340kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,678kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore775Docs3,257Feature6,071Fix5,339Other998Performance165Refactor278Revert23Style42Test162Upgrade1
April 19, 2026
Fixkamo-internal

Allineare modello-editor SERVICE TYPES con backend ServiceType enum

L'elenco delle app dell'editor si era allontanato dal backend ServiceType enum: - Mancano 8 applicazioni non predefinite (AI SUPPORT, SUPPORT, KNOWLEDGE BASE, N...

kamo·6mo ago
Fixkamo-shared-library

AppConfig sostituire è solo upsert, mai cancella su payload assenza

Il comportamento precedente ha cancellato qualsiasi riga di configurazione dell'app esistente di cui ServiceType Non era in arrivo. Che ha trasformato i carichi...

Kamo·6mo ago
Fixkamo-marketing

Spostare funzionalitàRichiede i18n chiavi nel corretto home namespace

Le chiavi sono state collocate accidentalmente nello spazio dei nomi; la sezione mostrava stringhe di chiave raw invece di testo tradotto.

Kamo·6mo ago
Fixkamo-internal

Invia null invece di stringa vuota per contentJson/contentPlainText su kb articolo creare

La stringa vuota non è valida per il tipo di colonna JSONB, causando un errore DB quando si crea un articolo senza contenuto.

kamo·6mo ago
Fixkamo-login

Pulire correttamente gli ascoltatori di eventi Capcha durante la transizione di passo

La rimozioneEventListener chiamate erano all'interno del setTimeout callback valore di ritorno, che JavaScript ignora. Questo ha causato i gestori a accumulare ...

Kamo·6mo ago
FixInitializerService

UPSERT SYSTEM email template rows on every run

Previously the seed runner only inserted rows that didn't exist, so canonical HTML changes never propagated to the DB. Now existing SYSTEM rows have their bodyH...

Kamo·6mo ago
FixEmailService

Preview uses same auto-vars as sendToUser (org logo + name)

The preview endpoint now injects logoUrl, logoSimpleUrl, and orgName from the org's domain before applying sample content variables, matching the exact variable...

Kamo·6mo ago
Fixkamo-internal

Utilizzare {{logoUrl}} segnaposto in modo e-mail inviate

serializeFullEmailHtml ora memorizza Non e' vero. segnaposto in bodyHtml invece di percorsi locali risolti. EmailTemplateService già inietta URL di logo assolut...

kamo·6mo ago
Fixkamo-shared-library

Riscrivere tutti i modelli canonici con il design a marchio completo

Tutti i 5 modelli ora utilizzano la struttura della tabella esterna coerente (600px, arrotondata scheda, intestazione grigia/footer) corrispondente al block edi...

Kamo·6mo ago
Fixkamo-internal

Unificare l'anteprima e l'editor in un unico sistema coerente

- Estrarre il contenuto del modello di sistema tramite DOMParser mirando al contenuto <td> cella, prevenire la doppia rotazione quando EmailFrame ri-serializza ...

kamo·6mo ago
Fixkamo-register

Carica Avatar Creator avatar al server dopo la registrazione

Avatar Creator avatar sono stati memorizzati solo come URL di dati SVG in stato di forma locale e mai inviato al server, lasciando nuovi utenti senza set di ava...

Kamo·6mo ago
FixSecurityService

Use core NATS pub/sub for email-verified SSE fan-out

Replaces in-memory ConcurrentHashMap broadcast with NATS core pub/sub so all pods receive verification events regardless of which pod handled the token. Falls b...

Kamo·6mo ago
Fixkamo-internal

Fissare lo scorrimento del centro e il caricamento del blocco del modello di sistema

- Rimuovere l'altezza:100% da EmailFrame in modo che il contenuto cresca naturalmente e funzioni di scorrimento - Estrarre contenuti <body> da modelli di sistem...

kamo·6mo ago
Fixkamo-internal

Estrarre il contenuto interno dall'HTML canonico quando si carica in editor di blocco

Quando il corpoBlocks è null e bodyHtml inizia con <!DOCTYPE, estrarre il contenuto principale <td> come blocco HTML iniziale in modo che gli utenti vedano l'es...

kamo·6mo ago
FixSecurityService

Use avatarType field + JDBC for photo URL generation to handle Hibernate proxies

**************** previously used instanceof AvatarPhoto to determine avatar type and cast to read fileExtension. When Hibernate returns a base-class proxy (e.g....

Kamo·6mo ago
FixEmailService

Update EMAIL_VERIFICATION sample vars to match current template

Use expiryText instead of expiryMinutes (renamed variable), and update verifyLink to point to the register subdomain (correct send path).

Kamo·6mo ago
Fixkamo-internal

Prevenire doppio-wrapping di full-document bodyHtml in block designer

Quando bodyBlocks è null e bodyHtml è un documento completo <!DOCTYPE html> (ad esempio, modelli di seme canonico), importandolo come un singolo blocco causato ...

kamo·6mo ago
Fixkamo-register

Ripristinare il layout della pagina di verifica mediante lo zero delle dimensioni di input nascoste

MUI Box interpreta i valori numerici di larghezza/altezza 0–1 in percentuale, quindi larghezza:1 ha fatto coprire l'ingresso nascosto la scheda completa. Cambia...

Kamo·6mo ago
April 18, 2026
FixEmailService

Preserve DB domain case in NoReply from address

Removed toLowerCase() — the domain already comes from resolvePrimaryDomain which reads org_domains from the database, so case is canonical from DB.

Kamo·6mo ago
Fixkamo-register

Token link auto-verifica e reindirizza a login; aggiungere codice focus indicatore

- /verification?token=xxx ora chiama verificareEmailByToken sul supporto e reindirizza a login sul successo; torna alla voce del codice sul fallimento - La case...

Kamo·6mo ago
Fixkamo-register

Ascensore *** widget sopra il overlay click-to-focus (z-index)

L'overlay (posizione:absolute, z-index:0) copre il Capcha widget perché è apparso in seguito in ordine DOM. Aggiungere z-index:1 al *** contenitore permette agl...

Kamo·6mo ago
FixKlusterServices

Remove nonexistent postfix-lmdb package, install lmdb library instead

postfix-lmdb is not a valid Alpine package; lmdb support is built into the base postfix package. The pod was CrashLoopBackOff due to apk failure.

Kamo·6mo ago
FixKlusterServices

Fix Docs image registry, add Recreate strategy to coturn/postfix, increase qdrant memory

- Docs: fix wrong image registry (redis.kamo.svc... → **************** add Recreate strategy - coturn: add Recreate strategy to prevent rolling update port conf...

Kamo·6mo ago
FixKlusterServices

Switch Postfix sasl_passwd from hash to lmdb format

Alpine postfix build does not include hash support — postmap and smtp_sasl_password_maps were silently failing, deferring every outbound relay attempt through s...

Kamo·6mo ago
Fixkamo-register

Reindirizzare a /verificazione dopo la registrazione invece di rendere inline

Mantiene l'URL accurato — mostra del browser /verificazione non /member.

Kamo·6mo ago
FixEmailService

Resolve root domain for NoReply from-address instead of bare subdomain

resolvePrimaryDomain() was returning the first domain entry (e.g. "www") which produced NoReply@www. Now prefers root domains (parent == null) so transactional ...

Kamo·6mo ago
FixSecurityService

Populate all EMAIL_VERIFICATION template variables

Was sending only {token, code} — template also needs orgName, firstName, verifyLink, and expiryMinutes. Load org and user to build the full vars map, and resolv...

Kamo·6mo ago
FixEmailService

Add internal.auth.secret to EmailService configmap

InternalAuthFilter was rejecting all service-to-service calls (send, seed-org) with 503 because internal.auth.secret was unconfigured. Matches the same INTERNAL...

Kamo·6mo ago
FixEmailService

Allow transactional send on port-25 relay and auto-seed missing templates

Port-25 SMTP (postfix) requires no auth — transactionalCredentials() was throwing ProviderUnavailableException when user/pass were unconfigured, blocking all ve...

Kamo·6mo ago
FixSecurityService

Use subdomain-aware SQL to match findByDomain JPQL logic

Org domain lookup in resendVerification was doing an exact-match query that failed for subdomains stored as child records (e.g. 'api' with parent 'kamocrm.com')...

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