KamoCRM

Live Change Log

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

17,374
Total Changes
5,891
Features
5,258
Fixes
30
Projects
Filter by project
All Projects17,374AIService242APIService174BillingService157ConversionService110DaemonService137DocsService223ESigService91EmailService568InitializerService329KBService151KlusterServices738MCPGatewayService235MediaService592RAGService79SecurityService1,822TranslateService62VOIPService248VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,321kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,631kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore773Docs3,252Feature5,891Fix5,258Other993Performance165Refactor278Revert23Style42Test159Upgrade1
April 20, 2026
FeatureInitializerService

Add migration runner for logo_full_ext column on orgs

Kamo·6mo ago
April 19, 2026
FeatureInitializerService

Master model applies to all three member types on init

provisionMaxedOutMasterModel now sets appliesToMembers, appliesToTeamMembers, and appliesToOwners all true so every member type sees the master model's branch t...

Kamo·6mo ago
FeatureInitializerService

Administrator default role template starts with all rights GRANTED

provisionMaxedOutMasterModel now populates the Administrator template with every RoleRightType set to GRANTED. The other three templates (Team Member, Member, D...

Kamo·6mo ago
FeatureInitializerService

Provision a maxed-out master security model for KamoCRM on init

DataLoader now creates and assigns a master ChildOrgSecurityModel to KamoCRM immediately after the org is created, with every setting maxed out to the most perm...

Kamo·6mo ago
FeatureInitializerService

Add FEATURE_REQUESTS to Support category and all plan-feature mappings

Free: Community vote, Starter: Vote & request, Business: Priority requests, Enterprise: Custom dev included

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
April 18, 2026
FixInitializerService

Add dao.repositories to EnableJpaRepositories scan

EmailTemplateRepository lives under dao.repositories.email, not dao.repos, so it was not picked up as a Spring bean.

Kamo·6mo 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·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
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
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
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·6mo 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·6mo 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·6mo 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·6mo ago
FixInitializerService

Use 18DOFF promo code with April 30 2026 expiry

Kamo·6mo 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·6mo ago
April 11, 2026
FixInitializerService

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

Kamo·6mo 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·6mo 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·6mo 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·6mo 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·6mo 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·6mo 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·6mo 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·7mo ago
March 24, 2026
CIInitializerService

Rebuild with latest kamo-shared-library

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