Live Change Log

See what we're building, in real-time. Every feature, fix, and improvement shipped across the platform.

17,933
Total Changes
4,614
Features
4,543
Fixes
32
Projects
Filter by project
All Projects17,933AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService373InitializerService300KBService74KlusterServices546MCPGatewayService43MediaService461RAGService61SecurityService1,523TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,579kamo-login319kamo-marketing585kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,322kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI523Chore670Docs226Feature4,614Fix4,543Other6,781Performance136Refactor274Revert23Style48Test70Upgrade1
April 18, 2026
Featurekamo-register

Add react-easy-crop photo editor to registration upload step

Mirrors the PhotoCropDialog from kamo-internal's AvatarManager: - crop dialog opens immediately after file selection - pan by dragging, zoom via scroll or slide...

Kamo·4mo ago
Featurekamo-register

Add /api/geoip route and wire country auto-detection

Proxies client IP to SecurityService GeoLite2 lookup, then sets the detected country in FormMyCountry automatically on page load.

Kamo·4mo ago
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·4mo ago
Featurekamo-register

Add /api/capcha/challenge proxy route

Kamo·4mo ago
Featurekamo-register

SP6 register wizard refactor — split PersonalInfo, add real registration API

- Replace FormPersonalInfo with FormName (name fields) and FormAvatar (Avatar Creator generator with generate/upload/skip modes for 13+) - Delete FormRecoveryEn...

Kamo·4mo ago
FeatureInitializerService

SP5 migrate KamoCRM agereq to ALL_WORK_ELIGIBLE

Add KamoCRMAgeReqUpdateRunner (order 10) — conditional idempotent UPDATE on startup; WHERE clause checks old value so re-runs are no-ops. Errors are swallowed s...

Kamo·4mo 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·4mo ago
Featurekamo-marketing

Add trademark disclaimer to footer legal text

Kamo·4mo ago
Featurekamo-internal

Add account settings pages for phone + security questions (SP3)

Adds **************** with API wiring to SecurityService /api/account/*. Syncs nav across all 3 locations.

kamo·4mo ago
Featurekamo-login

Wire real API calls into /recover page (SP3)

Replaces all fakeSubmit() stubs with recoveryApi calls. Adds SMS OTP verify phase, seed email input, new-password step, and token landing via ?token= URL param.

Kamo·4mo 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·4mo 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·4mo ago
Featurekamo-shared-library

Add recovery entities + repos; bump to 1.3.0 (SP3)

Adds PasswordResetToken, SmsOtp, RecoverySession, AccountVerificationCode JPA entities with corresponding repositories for SP3 recovery flow.

Kamo·4mo ago
Featurekamo-internal

Route preview through Browser's backend-rendered modal (part of SP2)

The EmailTemplateBrowser now owns the Preview modal directly, so the Manager no longer needs to intercept row-level preview requests and redirect to edit mode.

kamo·4mo ago
Featurekamo-internal

Wire EmailTemplateEdit to real API

Hydrates from templateApi.get, saves via templateApi.update. Category dropdown is API-driven with inline category-create affordance. Variables picker reads from...

kamo·4mo ago
Featurekamo-internal

Wire EmailTemplateBrowser to real API + add System Defaults tab

Replaces ~140 lines of mock data with templateApi.list() calls. Conditional fifth tab 'System Defaults' appears only for top-level-org admins and renders from r...

kamo·4mo ago
Featurekamo-internal

Add EmailTemplateDuplicateDialog (part of SP2)

kamo·4mo ago
Featurekamo-internal

Add EmailTemplatePreview modal

Opens on row-action Preview. Backend-rendered via templateApi.preview(); result displayed in a sandboxed iframe for style isolation. Matches the exact code path...

kamo·4mo ago
Featurekamo-internal

Add templateApi + categoryApi + variableContracts client modules

Wraps SP1's /api/email/templates/* and **************** endpoints with typed TypeScript helpers. variableContracts mirrors SP1's TemplateKeys Javadoc so the edi...

kamo·4mo 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·4mo 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·4mo 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·4mo 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·4mo 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·4mo 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·4mo ago
FeatureEmailService

Add NoReplySenderService for 'NoReply@{domain}' from-address

Single source of truth for transactional-email from addresses. Accepts a domain string, lowercase-normalizes it, returns "NoReply@<domain>". Callers must resolv...

Kamo·4mo ago
FeatureEmailService

Add TemplateRenderer for {{var}} substitution

Stateless regex-based renderer. Missing vars substitute empty string and emit a WARN log with templateKey + orgId for attribution. No HTML escaping in v1 — valu...

Kamo·4mo 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·4mo 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·4mo ago
Featurekamo-shared-library

Add CanonicalTemplateLoader + CanonicalTemplate record

Reads the three REQUIRED templates (WELCOME, PASSWORD_RESET, EMAIL_VERIFICATION) from classpath resources at **************** Consumed by KamoInitializerService...

Kamo·4mo ago
Featurekamo-shared-library

Add canonical HTML + JSON for WELCOME, PASSWORD_RESET, EMAIL_VERIFICATION

Source-of-truth content for SYSTEM rows. Loaded at KamoInitializerService startup by CanonicalTemplateLoader and UPSERTed into email_templates. Part of SP1.

Kamo·4mo ago
Featurekamo-shared-library

Add EmailTemplate entity + repository

Stores one SYSTEM row per template_key (org_id NULL, is_system TRUE) plus one clone per org per template_key. Soft-reference org_id/category_id. DB- driven time...

Kamo·4mo ago
Featurekamo-shared-library

Add EmailTemplateCategory entity + repository

Org-scoped categories for email templates. Soft BIGINT org_id (no FK) matches existing patterns. Case-insensitive name uniqueness per-org is enforced via a part...

Kamo·4mo ago
Featurekamo-shared-library

Add TemplateStatus enum + TemplateKeys constants for transactional templates

Declares the REQUIRED/CUSTOM/ARCHIVED lifecycle states and the three required template keys (WELCOME, PASSWORD_RESET, EMAIL_VERIFICATION). Variable contracts fo...

Kamo·4mo 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·4mo 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·4mo ago
Featurekamo-meet

Add Powered by KamoCRM backlink to /welcome landing page

The actual meet.{domain} landing page is welcome/index.html — a static HTML page served directly by nginx that handles the pre-auth flow (capture display name /...

Kamo·4mo ago
Featurekamo-marketing

Integration logos + accurate /integrations metadata

Integration pages and hub now display vendor logos (reusing the existing **************** assets that the homepage TechStackBanner already uses). Removed stale ...

Kamo·4mo ago
Featurekamo-marketing

Expand /integrations to all homepage-listed providers

Aligns the /integrations page with the actual integrations exposed by the homepage (TechStackBanner). Adds 28 new integration pages matching what the product ac...

Kamo·4mo ago
Featurekamo-marketing

Add Home Mortgage Brokers industry page

New industry solution page at /solutions/mortgage-brokers for mortgage brokerages and loan originators. Follows the honest platform framing: core CRM + comms + ...

Kamo·4mo ago
Featurekamo-marketing

Add 92 SEO pages — industries, integrations, glossary

Implements Tier 1 of the SEO content expansion plan: three new content subsystems with a total of 92 new crawlable URLs plus 3 hub pages. 1. /solutions — 36 in...

Kamo·4mo ago

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing