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

Add ssl_confirmed and ssl_confirmed_at columns to org_domains

Adds idempotent ALTER TABLE statements to provision the two new columns needed for DNS setup SSL confirmation tracking.

Kamo·5mo ago
FixInitializerService

Update kamo-shared-library version from 1.0.0 to 1.1.0

Needed to resolve the new billing entities in the commerce.billing package added to shared library 1.1.0.

Kamo·5mo ago
FeatureInitializerService

Add billing config initialization to KamoCRMPricingLoader

Seeds a default BillingConfig (ORG_PAYS_ALL, SOFT_LOCK, 7-day grace) for the KamoCRM organization during pricing loader startup. Supports the new Stripe billing...

Kamo·5mo ago
April 16, 2026
FixInitializerService

Email as paid add-ons, not included free

- KamoMail Hosting: $5/user/mo add-on on all plans - 3rd Party Email Integration: $2/user/mo add-on on all plans - Email hosting feature reverted to "Add-on" in...

Kamo·5mo ago
FixInitializerService

Use 18DOFF promo code with April 30 2026 expiry

Kamo·5mo ago
FeatureInitializerService

Update KamoCRM pricing to production go-to-market rates

- Starter: $34/mo ($28 annual), Business: $72/mo ($59 annual), Enterprise: from $109/mo ($99 annual) - Business plan expanded from 50 to 100 users - Added eSign...

Kamo·5mo ago
April 11, 2026
FixInitializerService

Set 18DOFF promotion end date to 2026-04-26

Kamo·5mo ago
FixInitializerService

Extend 18DOFF promotion end date to 2026-12-31

The April 14 end date was causing the offer page to show as expired.

Kamo·5mo ago
RefactorInitializerService

Use List<String> instead of manual JSON strings for promotion plan/cycle IDs

Update KamoCRMPricingLoader to use List.of() for applicablePlanIds and applicableBillingCycles, matching the shared library's migration from JSON strings to ent...

Kamo·5mo ago
FeatureInitializerService

Use createOrganizationOwner for admin members, rename INTERNAL to TEAM_MEMBER

Update owner creation to use new createOrganizationOwner method which handles admin role assignment and PRIVILEGED access level automatically. Replace all Image...

Kamo·5mo ago
April 9, 2026
April 4, 2026
FeatureInitializerService

Add webinar type and lead market seed data for KamoCRM demo

Adds seed data initialization for the webinar scheduling system: - "KamoCRM Software Introduction Demo" webinar type (45min, PRIORITY strategy) - Reminder inter...

Kamo·5mo ago
April 3, 2026
FixInitializerService

Drop UUID-typed customer_id/customer_group_id columns for INT8 recreation

After RetailCustomer (UUID PK) → Account (Long PK) refactor, the commerce_carts, commerce_draft_orders, and commerce_price_lists tables had customer columns wit...

Kamo·5mo ago
FixInitializerService

Clean up CockroachDB orphan brand_id/tax_class_id defaults on commerce_offerings

CockroachDB applies unique_rowid() as default to nullable FK columns, creating orphan UUIDs that break FK constraint creation. Nullify orphans and reset default...

Kamo·5mo ago
April 2, 2026
FixInitializerService

Remove 14-day trial from Starter and Business plans

Free plan serves as the trial experience — no need for separate trial periods on paid plans.

Kamo·6mo ago
April 1, 2026
FixInitializerService

Remove mock subscription data from DataLoader

Remove loadMockSubscriptionData (BASIC/PRO/ENTERPRISE fake plans) from loadMockPOSData. All subscription data for KamoCRM is now exclusively managed by KamoCRMP...

Kamo·6mo ago
FeatureInitializerService

Add KamoCRMPricingLoader with full marketing pricing model

Preloads the complete KamoCRM subscription pricing structure into the KamoCRM organization, mirroring the /pricing page on kamo-marketing: - 4 plans: Free, Sta...

Kamo·6mo ago
FixInitializerService

Update seed data to use new subscription plan DTO fields

Replace deprecated **************** with planType, maxSeats, and description in DataLoader subscription plan seed data.

Kamo·6mo ago
FixInitializerService

Add missing Member import and fix createMember call in DataLoader

Adds missing import for Member class and replaces non-existent memberService.createMember() with memberRepository.save() for the website-contact system member c...

Kamo·6mo ago
FeatureInitializerService

Add Unspecified support topic to seed data

Kamo·6mo ago
March 29, 2026
March 28, 2026
RefactorInitializerService

Strip SchemaCleanupRunner to only post-Hibernate fixups

Hibernate ddl-auto: update handles all table/column creation from JPA entities. Removed all redundant CREATE TABLE/ADD COLUMN statements that duplicated what Hi...

Kamo·6mo ago
FeatureInitializerService

Add AI_CHAT_FEEDBACK table schema

Kamo·6mo ago
March 27, 2026
FixInitializerService

Auto-enable all completed-stage apps for new orgs instead of hardcoded list

Replaces hardcoded feature list (which had duplicates and deprecated types) with a loop over all COMPLETED-stage, non-core, non-deprecated ServiceTypes. New app...

Kamo·6mo ago
March 24, 2026
CIInitializerService

Rebuild with latest kamo-shared-library

Kamo·6mo ago
FeatureInitializerService

Migrate Everyone role to Members and create Team Members role

- Rename ROLE_EVERYONE_ID column to ROLE_MEMBER_ID - Rename existing "Everyone (Applies To All)" roles to "Members" - Set **************** flags on existing sys...

Kamo·6mo ago
March 23, 2026
FeatureInitializerService

Add AI processing column and note embedding records table

Add AI_PROCESSING_ENABLED column to notes table and create NOTE_EMBEDDING_RECORDS table for tracking note RAG vectorization.

Kamo·6mo ago
March 22, 2026
FixInitializerService

Remove RoleRightsSyncRunner — rights are added manually for existing orgs

The underlying bug in **************** (detached entity issue) has been fixed in kamo-shared-library. New rights for existing roles will be added manually via S...

Kamo·6mo ago
FeatureInitializerService

Add RoleRightsSyncRunner to backfill missing role rights

When new RoleRightType entries are added to the enum, existing roles don't have OrgRoleRight entries for them. This runner checks all roles on startup and adds ...

Kamo·6mo ago
March 21, 2026
FeatureInitializerService

Add access security system schema migration

Creates 7 new tables (org_access_rules, org_geo_block_rules, org_suspicious_detection_rules, system_access_logs, geolite_blocks, geolite_locations, geolite_sync...

Kamo·6mo ago
March 20, 2026
FeatureInitializerService

Add cell phone columns to members table for bulk text SMS

Kamo·6mo ago
FeatureInitializerService

Add attachment_url column to voip_messages

Kamo·6mo ago
March 19, 2026
FeatureInitializerService

Create KamoTokens schema and org_oauth_token table

- CREATE SCHEMA IF NOT EXISTS kamotokens - CREATE TABLE kamotokens.org_oauth_token with unique (org_id, provider) - DROP COLUMN jwt_key from voip_provider_confi...

Kamo·6mo ago
FeatureInitializerService

CalDav/CardDav Part 4 — schema indexes and email repo scan

- Add supplemental indexes on **************** and **************** via SchemaCleanupRunner (Hibernate ddl-auto:update adds the FK columns; indexes are extr...

Kamo·6mo ago
March 18, 2026
FeatureInitializerService

Pre-configure all mock orgs with KamoMail email provider

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