KamoCRM

Live Change Log

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

18,392
Total Changes
6,527
Features
5,537
Fixes
30
Projects
Filter by project
All Projects18,392AIService276APIService177BillingService161ConversionService117DaemonService146DocsService240ESigService93EmailService619InitializerService344KBService162KlusterServices769MCPGatewayService277MediaService620RAGService79SecurityService1,995TranslateService62VOIPService265VectorService11kamo-apps26kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,692kamo-login342kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,824kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild23CI525Chore794Docs3,286Feature6,527Fix5,537Other1,001Performance174Refactor281Revert23Style45Test175Upgrade1
June 27, 2026
FeatureInitializerService

Register pkg + RCE/pull-through DDL (docs 08/09)

@EnableJpaRepositories += **************** SchemaCleanupRunner: **************** (partial-unique) + rce_commit_ai_decision_fk + rce_commit_lock_record_fk + rce_...

Kamo·4mo ago
FeatureInitializerService

Register com.kamo.z.shared.mlos.aus in @EnableJpaRepositories (doc 10)

New aus_* repo package (AusRun + children). mlos_aus_run created + verified.

Kamo·4mo ago
FeatureInitializerService

EventProjectionPolicy platform-default partial unique index (doc 07 §6.7)

**************** **************** WHERE organization_id IS NULL — pins the platform-default singleton (CRDB NULLs-distinct leaves null-org rows unconstrained ot...

Kamo·4mo ago
FeatureInitializerService

RuleVersionPin entry->pin hard FK (doc 06 §4.6)

mlos_rvpe_pin_idx + mlos_rvpe_pin_fk **************** -> mlos_rule_version_pin.uid), mirroring the satisfier->requirement FK. Applied + verified.

Kamo·4mo ago
FeatureInitializerService

Rule-layer DB CHECKs (doc 06 §4.2/§9.2)

3 platform-owned biconditional CHECKs (mlos_requirement_rule / _rule_set / mlos_freshness_policy: platform_owned = (organization_id IS NULL)) + the legal-wall b...

Kamo·4mo ago
FeatureInitializerService

Schema for the 1-obligation/N-satisfier condition model (doc 06)

Register com.kamo.z.shared.mlos.docs in @EnableJpaRepositories (new repo pkg) + SchemaCleanupRunner backstop for mlos_requirement_satisfier (the append-only WOR...

Kamo·4mo ago
FeatureInitializerService

Notification party+consent ledger schema (doc 07 §6)

- KamoInitializerApp: @EnableJpaRepositories += **************** (new repo pkg for **************** - SchemaCleanupRunner: mlos_consent_one_identity_chk = num...

Kamo·4mo ago
FeatureInitializerService

DecisionInput provenance-integrity DDL (decision-spine 2c)

decision_input auto-creates via ddl-auto; SchemaCleanupRunner adds the invariants Hibernate can't emit: - decision_input_one_source_chk: num_nonnulls(11 FK cols...

Kamo·4mo ago
June 26, 2026
FeatureInitializerService

Guideline-version no-overlap partial-unique index (Phase-2 Slice 7)

SchemaCleanupRunner: ux_guideline_version_active partial-unique ON mlos_guideline_version (organization_id, product_id) WHERE status='ACTIVE' AND effective_unti...

Kamo·4mo ago
FeatureInitializerService

Value-set platform-owned ownership CHECK (Phase-2 Slice 4)

SchemaCleanupRunner: ADD CONSTRAINT mlos_value_set_ownership_chk CHECK (platform_owned = (organization_id IS NULL)) — doc 02 §6.2: a platform taxonomy is platfo...

Kamo·4mo ago
FeatureInitializerService

Mlos_product ARM-consistency CHECK (Phase-2 Slice 2)

SchemaCleanupRunner: ADD CONSTRAINT **************** CHECK ((amortization_type = 'ARM') = (arm_fixed_period_months IS NOT NULL)) — a fixed period is declared IF...

Kamo·4mo ago
FeatureInitializerService

Register catalog repos + rate-sheet-version no-overlap index (Phase-2 Slice 1)

- @EnableJpaRepositories += com.kamo.z.shared.mlos.catalog (the new MlosInvestor/ **************** repos; entities already covered by @EntityScan). - SchemaCl...

Kamo·4mo ago
FeatureInitializerService

Partial unique indexes + servicing invariants (Phase-1 config completion)

SchemaCleanupRunner DDL for the new mlos.config domains (mlos.config already in @EnableJpaRepositories; Hibernate ddl-auto:update creates the tables): - one-act...

Kamo·4mo ago
FeatureInitializerService

Register mlos.config repo pkg (Phase-1 Slice 1)

Add com.kamo.z.shared.mlos.config to @EnableJpaRepositories so KamoInitializer creates mlos_lender_profile + mlos_licensing_entry. Indexes (incl. UNIQUE market_...

Kamo·4mo ago
FeatureInitializerService

Register mlos.compliance repo pkg (Slice 2c-i)

Add **************** to @EnableJpaRepositories so KamoInitializer creates mlos_adverse_action_timer + mlos_regx_timer. Indexes entity-declared via @Table — no S...

Kamo·4mo ago
FeatureInitializerService

Register mlos.legal repo pkg (Slice 2b)

Add com.kamo.z.shared.mlos.legal to @EnableJpaRepositories so KamoInitializer creates mlos_licensed_act_registry / mlos_ron_eligibility / mlos_steward_license. ...

Kamo·4mo ago
FeatureInitializerService

Register mlos.steward + mlos.orchestration repos; Slice-2a schema

- KamoInitializerApp @EnableJpaRepositories: add the accumulated MLOS repo packages **************** plus esign/personal_loans so KamoInitializer owns their...

Kamo·4mo ago
May 18, 2026
FeatureInitializerService

Migration for borrower-facing brand + disclosure columns

Adds the seven nullable columns the kamo-shared-library Organization entity now declares (TAGLINE / NMLS_ID / PHONE_SUPPORT / EMAIL_SUPPORT / EQUAL_HOUSING_DISC...

Kamo·5mo ago
May 16, 2026
April 29, 2026
FeatureInitializerService

Add MEMBER_UI_PREFERENCES table (order 60)

Idempotent CREATE for the generic per-member UI-preference store backing the hex-head popover size selector and future per-member UI settings. Schema mirrors th...

Kamo·6mo ago
FeatureInitializerService

Migrate members.is_available to availability_status enum

Kamo·6mo ago
FeatureInitializerService

Add CDR caller-ID columns to recordings table (order 40)

Adds caller_id_num, caller_id_name, call_direction, and call_result columns to the recordings table so the softphone history tab can display who called without ...

Kamo·6mo ago
April 27, 2026
FeatureInitializerService

Add member language + default_currency columns

Adds two NOT NULL columns to the members table backing the new Member.language (VARCHAR DEFAULT 'ENGLISH') and Member.defaultCurrency (VARCHAR(10) DEFAULT 'USD'...

Kamo·6mo ago
FeatureInitializerService

Migration runner for Recording provider-lookup columns + VM archive columns

Adds RECORDINGS.provider_instance_id (UUID) and provider_external_id (VARCHAR(64)) plus the composite idx_recordings_provider_lookup index used by the softphone...

Kamo·6mo ago
April 26, 2026
FeatureInitializerService

Add include_company and company_name columns

LeadCompanyColumnRunner (Order 40) idempotently adds: - lead_markets.include_company (BOOLEAN, nullable) — tracks whether a market requires company name on le...

Kamo·6mo ago
FeatureInitializerService

Backfill is_available = TRUE for existing members

Kamo·6mo ago
April 24, 2026
FeatureInitializerService

Multi-instance phone/SMS provider migration

Runs after Hibernate ddl-auto:update creates new tables (VOIP_PROVIDER_INSTANCE, BULK_TEXT_PROVIDER_INSTANCE, PHONE_EXTENSION, PHONE_END_USER, PHONE_DEVICE, PHO...

Kamo·6mo ago
April 20, 2026
FeatureInitializerService

Seed Organization.isTopLevel for kamocrm and OWNER_UNLIMITED self-comp plan

- DataLoader: drop OrganizationType arg from createOrg, set isTopLevel=true on kamocrm - KamoCRMAgeReqUpdateRunner + test: match on IS_TOP_LEVEL = TRUE instead ...

Kamo·6mo ago
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
April 18, 2026
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
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
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
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
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·7mo ago
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·7mo ago
April 1, 2026
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·7mo ago
FeatureInitializerService

Add Unspecified support topic to seed data

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