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 18, 2026
Featurekamo-shared-library

Adaugă entități de recuperare + repo; cucui la 1.3.0 (SP3)

Adaugă ParolaResetToken, SmsOtp, Sesiune de recuperare, Codul de verificare a contului Entitățile JPA cu depozite corespunzătoare pentru fluxul de recuperare SP...

Kamo·6mo ago
Featurekamo-internal

Previzualizarea traseului prin modul de predare a backendului Browser (parte din SP2)

EmailTemplateBrowser deține acum modul Preview direct, astfel încât Managerul nu mai trebuie să intercepteze cererile de previzualizare la nivel de rând și redi...

kamo·6mo ago
Featurekamo-internal

Wire EmailTemplateEdit to real API

Hidrate din șablonApi.get, salvează prin șablonApi.actualizare. Categorie Dropdown este condus de API cu inline categorie-creare de costuri. Variabile Alegeți c...

kamo·6mo ago
Featurekamo-internal

Wire EmailTemplateBrowser to real API + add System Implicits tab

Înlocuiește ~140 linii de date simulate cu șablonApi.list() apeluri. Condiționat fila a cincea "System Implicits" apare numai pentru administratori de top-org ș...

kamo·6mo ago
Featurekamo-internal

Adaugă e-mailTemplatePreview modal

Se deschide pe rand de actiune Preview. Previzualizare rezultat afişat într-un iframe cu nisip pentru izolare stil. Se potriveşte Traseul exact de cod care trim...

kamo·6mo ago
Chorekamo-internal

Ștergeți e-mailGeneralManager.tsx (~560 linii de cod mort)

Componenta nu a fost importată nicăieri. Cârligele sale (manipularea sa, dezabonare, livrare de urmărire, implicit din email) nu a avut suport și au fost pur co...

kamo·6mo ago
Featurekamo-internal

Adaugă șablonApi + categorieApi + module client contracte variabile

Wraps SP1's /api/email/templels/* and *************** criteriile de evaluare cu ajutorul tipScript. contracte variabile oglinzi SP1 ȘablonKeys Javadoc astfel în...

kamo·6mo ago
FeatureSecurityService

Wire EmailTemplateSeedClient into ****************

Thin RestTemplate client that POSTs to EmailService's **************** after an org + owner TeamMember are persisted. Retries twice with backoff; failure throws...

Kamo·6mo ago
FeatureEmailService

Add EmailTemplateCategoryController REST endpoints

**************** CRUD. Delete response includes reassignedCount — the number of templates that became uncategorized as a result of removing the category. Sessio...

Kamo·6mo ago
FeatureEmailService

Add EmailTemplateController REST endpoints + DTOs

Exposes /api/email/templates/* CRUD + preview + duplicate + reset-to-default + service-to-service /send + /seed-org/{orgId}. Top-level orgs (no parent) addition...

Kamo·6mo ago
FeatureEmailService

Add InternalAuthFilter for service-to-service endpoints

Validates X-Internal-Auth header on /api/email/templates/send and /api/email/templates/seed-org/* paths. Other paths bypass this filter (user session auth handl...

Kamo·6mo ago
FeatureEmailService

Add EmailTemplateCategoryService — CRUD for org-scoped categories

Case-insensitive name uniqueness per org enforced at service layer (matches the partial unique index in the DB). Deletion nulls category_id on affected template...

Kamo·6mo ago
FeatureEmailService

Add EmailTemplateService — CRUD + send + seed + reset-to-default

Core orchestrator for transactional email. sendToUser resolves the template, renders subject/body, picks the org's primary domain from Organization.domains, and...

Kamo·6mo ago
FeatureEmailService

Adăugare fără răspunsSenderService pentru 'NoReply@{domeniu}' from-adresă

O singură sursă de adevăr pentru e-mail tranzacţional de la adrese. Acceptă domeniu șir, minuscule-normalizează, întoarce "NoReply@<domain>." Apelantii trebuie ...

Kamo·6mo ago
FeatureEmailService

Adaugă expeditor cu șablon pentru substituția {var}}

Regex fără stat. Vars lipsă substituie șir gol și emite un jurnal WARN cu șablonKey + orgId pentru atribuire. Nicio scăpare HTML în v1 Parte din SP1.

Kamo·6mo ago
FixSecurityService

Append Z to dateCommitted so JS parses it as UTC

LocalDateTime.toString() produces no timezone designator, causing JavaScript's new Date() to treat the UTC value as local time and display timestamps 7-8 hours ...

Kamo·6mo ago
FeatureInitializerService

Add EmailTemplateSeedRunner for SYSTEM + per-org seeding

Runs at @Order(20) on KamoInitializerService startup. Loads canonical templates from kamo-shared-library resources; upserts SYSTEM rows (no clobber); backfills ...

Kamo·6mo ago
FixSecurityService

Convert PT midnight cutoff to UTC for today-count query

Commits are stored in UTC but the cutoff was a naive LocalDateTime in PT, causing yesterday-evening PT commits (00:00–06:59 UTC) to be counted as today.

Kamo·6mo ago
FeatureInitializerService

Add partial unique indexes + CHECK constraints for email_templates

Hibernate ddl-auto can't generate partial unique indexes or computed-CHECK constraints. This commit adds them via the existing idempotent DDL runner pattern aft...

Kamo·6mo ago
Chorekamo-shared-library

Bump kamo-shared-library versiune la 1.2.0 pentru suplimentele SP1

Adaugă e-mailTemplate, E-mailTemplateCategory, TemplateStatus, TemplateKeys, Template canonic, Template canonicLoader, și resurse HTML canonice.

Kamo·6mo ago
Featurekamo-shared-library

Adaugă înregistrare canonicăTemplatăLoader + Templier canonic

Citește cele trei șabloane solicitate (BINE, PASSWORD RESET, EMAIL VERIFICARE) din resurse de clasă la Nu-ţi face griji. Consumat de KamoInitializerService for ...

Kamo·6mo ago
Featurekamo-shared-library

Adaugă HTML canonic + JSON pentru Welcome, PASSWORD RESET, EMAIL VERIFICARE

Conținutul sursei adevărului pentru rândurile de sistem. Încărcat la KamoInitializerService Startup by CanonicalTemplateLoader and UPSERTED into email templels....

Kamo·6mo ago
FixEmailService

Redenumește căsuța poștalăId→id și furnizorulStatus→status în răspunsul listei de căsuțe poștale

Aliniază numele de câmp cu așteptările frontend pentru listarea căsuțelor poștale membre.

Kamo·6mo ago
Featurekamo-shared-library

Adaugă entitate e-mailTemplate + depozit

Stochează un rând de sistem pe șablon cheie (org id NULL, is system TRUE) plus o clonă per org per șablon cheie. Soft-reference org id/category id. DB- marca te...

Kamo·6mo ago
Featurekamo-shared-library

Adaugă entitate din categoria EmailTemplate + depozit

Categorii telescopice pentru șabloane de e-mail. BIGINT moale org id (fără FK) se potriveşte cu modelele existente. Denumirea insensibilă a cazului unicitatea p...

Kamo·6mo ago
Featurekamo-shared-library

Adaugă șablonStatus enum + ȘablonChei constante pentru șabloane tranzacționale

Declară stările de viaţă cerute/CUSTOM/ARHIVED şi cele trei tastele de șablon necesare (BUN VENIT, PASSWORD RESET, EMAIL VERIFICARE). Contracte variabile pentru...

Kamo·6mo ago
FeatureInitializerService

Seed KamoCRM with ALL_WORK_ELIGIBLE on fresh installs

The createOrg() helper applies this single argument to both ageReqTypeMember and ageReqTypeTeamMember; consistent with platform convention. Pairs with KamoCRMAg...

Kamo·6mo ago
RefactorInitializerService

Tighten KamoCRMAgeReqUpdateRunner per review

- Restore Javadoc paragraph explaining @Order(10) rationale. - Test now references the UPDATE_SQL constant directly instead of duplicating the SQL string, so ...

Kamo·6mo ago
FeatureInitializerService

Add one-time runner to migrate KamoCRM agereq to ALL_WORK_ELIGIBLE

Conditional idempotent UPDATE runs on service startup; WHERE clause checks the expected old value so re-runs are no-ops. Errors are logged and swallowed — start...

Kamo·6mo ago
Fixkamo-marketing

Se înlocuiesc toate cazurile de logo CSS-filtru cu SVG alb

Navigație, SubNavigație, Footer, SubFooter și Preloader toate utilizate acelaşi model inversat de filtru spart. Înlocuit cu logo-ul complet alb.svg peste bord.

Kamo·6mo ago
Fixkamo-marketing

Utilizați logo-ul SVG alb în subsol în loc de filtru CSS

Acelaşi fix ca şi filtrul CSS pe img interior-filtru fundal este nesigur pe iOS Safari.

Kamo·6mo ago
Fixkamo-marketing

Sistem de culoare de pază cu !important împotriva CSS tema suprascrie

DynamicMetaLoader poate injecta de la distanță CSS care câștigă cascada. Adăugarea !important asigură sistemul de culori: întunericul nu poate fi niciodată supr...

Kamo·6mo ago
Fixkamo-marketing

Excludeți legăturile de bază și de navigare de la tactilOptimized min-înălțime de aplicare

TouchOptimized a fost setarea minHeight:44px pe toate elementele <a> mai scurt decât 44px, inclusiv link-uri de la sol nav (~20px inaltime). Acest lucru a fugit...

Kamo·6mo ago
Fixkamo-marketing

Utilizați logo-ul SVG alb pre-referent în locul filtrului CSS

Filtru CSS pe img interior fundal-filtru este nesigur pe iOS Safari. Generează logo-ul complet-alb.svg cu toate umplerile setate la #ffffff și încărcați-l direc...

Kamo·6mo ago
Fixkamo-marketing

Blochează varianta modulului închis în timp închis la interogarea pe bază de clasă, fără interogare media OS

Tailwind v4 implicits dark: utilităţi pentru a răspunde la favorite-color-sistem (preferinţă OS). @varianta suprascrie asigură întuneric: clasele activează doar...

Kamo·6mo ago
Fixkamo-marketing

Utilizați stilul de filtrare Inline pe link-ul logo pentru redare alb de încredere

Clasele de filtre de pe elementele img sunt inconsecvente pe browserele mobile. Stilul Inline pe elementul ancoră garantează luminozitatea (0) inversat (1) se a...

Kamo·6mo ago
Fixkamo-marketing

Forțează sistemul de culoare închisă astfel încât browserul să nu aplice niciodată redarea modului de lumină

Schimbarea de la "doar lumina" la "întuneric" în globals.css, generaViewport, și html element stil în modul lumina, care a fost cauza logo-ul să apară negru pe...

Kamo·6mo ago
Fixkamo-marketing

Prevenirea logo-ul de redare în spatele rândului nav pe mobil

Ambalajul cu filtru CSS a creat un nou context de stivuire care a intrat în conflict cu filtrul de fundal al antetului pe browserele mobile, ceea ce face ca log...

Kamo·6mo ago
Fixkamo-marketing

Rezolvați bara de defilare și clipping mobil pe JumpToBar și PreviewBanner

- Adăugați deversareY: ascuns la SariToBar container interior pentru a preveni bara de defilare verticală - Permite PreviewConținutul Banner să înfășureze pe mo...

Kamo·6mo ago
Fixkamo-marketing

Înlocuiţi spaţiul-y-4 cu decalajul flex de linie pe listele de legături footer

Spațiu-y-4 utilizează:unde (specificitatea 0) care concurează cu CSS încărcare pe reîmprospătare dură care cauzează o distanță verticală inconsecventă. Inline s...

Kamo·6mo ago
Chorekamo-marketing

Actualizează traducerile locale și hash [skip ci]

Kamo CI·6mo ago
FixKlusterServices

Set Traefik externalTrafficPolicy=Local to preserve client IP

With the default "Cluster" policy, kube-proxy SNATs external traffic to the node IP before forwarding to Traefik. That caused Traefik to see the node IP as the ...

Kamo·6mo ago
Fixkamo-marketing

Adaugă cerere lipsă Integrare i18n cheie în toate localităţile

Butonul "Trimite o cerere" de la "Ai nevoie de o integrare personalizată?" CTA Pe /integratii a fost în scădere înapoi la cheia brut *************** Pentru că c...

Kamo·6mo ago
Featurekamo-marketing

Sigle de integrare + metadate exacte /integrații

Pagini de integrare și hub afișează acum logo-urile vânzătorilor (refolosind logo-urile existente Avem nevoie de ajutor. TechStackBanner folosește deja). Limba ...

Kamo·6mo ago
Featurekamo-marketing

Extinde/integrarea la toți furnizorii listați pe prima pagină

Aliniază pagina /integrații cu integrările reale expuse de pagina principală (TechStackBanner). Adaugă 28 de pagini noi de integrare potrivite ce produs oferă d...

Kamo·6mo ago
Featurekamo-marketing

Adaugă acasă Pagina industriei Ipotecar Brokers

Pagina nouă de soluţie pentru industrie la /soluţii/credite ipotecare brokeri și inițiatori de credite. Urmează încadrarea corectă a platformei: core CRM + comm...

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