KamoCRM

Live Change Log

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

15,120
Total Changes
5,169
Features
4,935
Fixes
30
Projects
Filter by project
All Projects15,120AIService197APIService161BillingService143ConversionService107DaemonService129DocsService215ESigService88EmailService518InitializerService318KBService105KlusterServices697MCPGatewayService85MediaService546RAGService71SecurityService1,658TranslateService55VOIPService205VectorService11kamo-apps25kamo-asterisk-support24kamo-capcha17kamo-capcha-widget4kamo-internal6,937kamo-login330kamo-marketing625kamo-nowww20kamo-register213kamo-shared-library1,455kamo-signer-monorepo53kamolos108
Filter by type
All TypesBuild11CI523Chore738Docs2,167Feature5,169Fix4,935Other986Performance157Refactor274Revert23Style42Test94Upgrade1
April 18, 2026
FeatureSecurityService

Add GET /api/security/geoip/me for client IP country lookup

Reads real client IP from X-Forwarded-For / X-Real-IP headers, does a GeoLite2 lookup, and returns { country_code, country_name }. Used by kamo-register's count...

Kamo·5mo ago
FixSecurityService

Resolve duplicate emailTemplateServiceClient bean conflict

**************** and **************** were identical @Components with the same default bean name, causing **************** at startup. Delete the duplicate in r...

Kamo·5mo ago
FixSecurityService

Address 4 code-review findings in registration and login paths

- Hide raw exception message in /register 500 path; log instead - Fail-closed (503) on email-verified DB check failure in login - verifyEmailToken throws if use...

Kamo·5mo ago
FeatureSecurityService

Implement SP4 email verification and registration wiring

- Delete legacy email/VerificationEmail.java (hardcoded SMTP stub) - Add **************** (mirrors recovery package pattern) - Add **************** — token gene...

Kamo·5mo ago
FeatureSecurityService

Add AccountSettingsController + Service for phone + security questions (SP3)

Allows logged-in users to set/verify phone and configure 3 security questions. Routes to /api/account/* (session-authenticated via KSESSION_DATA).

Kamo·5mo ago
FeatureSecurityService

Add BulkTextSmsClient + EmailTemplateServiceClient + PasswordRecoveryController (SP3)

Full password recovery flow: email-link, SMS OTP, security questions, seed phrase. Routes to /api/recover/* (unauthenticated). Uses SP1 email pipeline + VOIPSer...

Kamo·5mo 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·5mo 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·5mo 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·5mo ago
April 17, 2026
FeatureSecurityService

Add 'meet' as a required DNS alias

Kamo·5mo ago
OtherSecurityService

Change to configmap to add kamo-nowww

Kamo·5mo ago
OtherSecurityService

Change to configmap to add kamo-analytics

Kamo·5mo ago
FeatureSecurityService

Redact tokens ≥32 chars in changelog sanitization

Any word (run of non-whitespace) that is 32 characters or longer is replaced with **************** before titles and descriptions are sent to the translation se...

Kamo·5mo ago
FeatureSecurityService

Generate TXT verification token on domain create, check in verify-dns

- createDomain: generate 32-char UUID token and store via setVerificationToken - verifyDns: check _kamo-verify TXT record for kamo-site-verification=<token> - T...

Kamo·5mo ago
FixSecurityService

Bound translation concurrency to 3 threads to prevent DB pool exhaustion

Unbounded @Async (SimpleAsyncTaskExecutor) created 50 threads simultaneously when the retry scheduler fired, each opening a DB transaction and draining HikariCP...

Kamo·5mo ago
FixSecurityService

Three bugs preventing changelog translations from being saved

1. **************** was discarding events because handleWebhook() had no @Transactional — save + publishEvent() ran outside any transaction. Add @Transact...

Kamo·5mo ago
FeatureSecurityService

Add /setup/dns backend — one-domain enforcement, SSL probe, new aliases

- Enforce one custom domain per org in POST /api/security/domains - Add capcha, docs, sign to standard aliases; remove legacy aliases - Update verify-dns to tra...

Kamo·5mo ago
FixSecurityService

Apply word replacement at translation time, not ingestion

Original text is preserved in the DB so that adding a new rule and re-triggering translation is all that is needed to update existing records. Changes: - Chang...

Kamo·5mo ago
FeatureSecurityService

Move changelog word replacement to backend before translation

Text replacements (Docs→Docs, Meet→Meet, etc.) and secret name redaction (K8s secret names→***) were previously applied client-side in ChangelogClient.tsx, mean...

Kamo·5mo ago
FixSecurityService

Check TeamMember.isOrganizationOwner flag for owner detection in my-networks endpoint

The previous check only looked at org.getOwner() (user_id_owner column) which can be null for existing orgs. The authoritative owner flag lives on the TeamMembe...

Kamo·5mo ago
FixSecurityService

Include parent org in /org/domain response

The getOrganizationByDomain endpoint manually builds a response map but never included the parent organization reference. This prevented the frontend from knowi...

Kamo·5mo ago
FixSecurityService

Don't let null translated description hide the English original in changelog

The translation lookup for non-en locales was unconditionally overwriting description with **************** which is null when: - the translation was saved befo...

Kamo·5mo ago
FeatureSecurityService

Add BillingService to changelog public-projects

Kamo·5mo ago
April 16, 2026
FixSecurityService

Inject translate-service-secrets into pod env

Kamo·5mo ago
FixSecurityService

Add translate service config to K8s configmap

Kamo·5mo ago
CISecurityService

Add concurrency group to prevent duplicate workflow runs

When a push triggers a workflow and workflow_dispatch is also fired (or two pushes arrive in quick succession), both runs would execute simultaneously. Adding a...

Kamo·5mo ago
FeatureSecurityService

Add lead intake management and public receive controllers

Adds two controllers for the automated lead intake system: - LeadIntakeController: authenticated CRUD for intake endpoints, field mappings, payload queue mana...

Kamo·5mo ago
FeatureSecurityService

Add GET **************** endpoint using SQL count

Kamo·5mo ago
FixSecurityService

Correct security_level column reference in login SQL

security_level is on the members table (m), not member_team_member (e). The wrong alias e.security_level caused the entire SQL to fail silently, so memberType w...

Kamo·5mo ago
FeatureSecurityService

Store memberType in Redis session at login

Adds CASE WHEN e.id IS NOT NULL THEN 'TEAM_MEMBER' ELSE 'MEMBER' END to the login SQL query and passes the result through createSession into Redis, so frontend ...

Kamo·5mo ago
April 12, 2026
RefactorSecurityService

Remove ImagingController and beans/imaging — moved to ConversionService and DocsService

Upload endpoints now live in ConversionService at /api/conversion/imaging/*. All management and download endpoints now live in DocsService at /api/docs/imaging/...

Kamo·5mo ago
RefactorSecurityService

Delegate thumbnail generation to ConversionService, remove PDFBox dependency

generateAndStoreThumbnails now POSTs the converted PDF to ConversionService **************** unzips the response, stores each thumb_p{n}.png in MinIO, and publi...

Kamo·5mo ago
FeatureSecurityService

Synchronous per-page thumbnail generation during template upload with granular WS progress

- Add PDFBox dependency to pom.xml - After storing converted PDF, render all pages via PDFRenderer and upload each as {id}_thumb_p{n}.png - Publish generating_t...

Kamo·5mo ago
April 11, 2026
ChoreSecurityService

Add ESigService to changelog public projects list

Kamo·5mo 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