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
June 27, 2026
FeatureInitializerService

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

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

Kamo·3mo 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·3mo 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·3mo 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·3mo 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·3mo ago
FeatureInitializerService

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

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

Kamo·3mo 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·3mo ago
June 26, 2026
ChoreInitializerService

Check in pending WIP (no CI/CD on this repo)

- DataLoader: platform baseline security model + KamoCRM market-backfill wiring - add KamoCRMMarketBackfillLoader; remove superseded BillingGroupBackfillLoader ...

Kamo·3mo ago
PerformanceInitializerService

Stop per-boot customer_id FK tug-of-war in SchemaCleanupRunner

Remove the stale RetailCustomer->Account cleanup drops of commerce_carts.customer_id, **************** and **************** Those columns are now live, Hibernat...

Kamo·3mo ago
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·3mo 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·3mo 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·3mo 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·3mo 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·3mo 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·3mo 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·3mo 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·3mo 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·3mo ago
DocsInitializerService

Commit project markdown (rescind no-.md policy)

Kamo·3mo 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·4mo 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·5mo ago
FeatureInitializerService

Migrate members.is_available to availability_status enum

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

Backfill is_available = TRUE for existing members

Kamo·5mo ago
April 24, 2026
FixInitializerService

Use CockroachDB-compatible DROP INDEX CASCADE syntax

CockroachDB rejects ALTER TABLE ... DROP CONSTRAINT for UNIQUE constraints with: unimplemented: cannot drop UNIQUE constraint "uk_org_oauth_provider" using ...

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

Drop teamMemberPayFeesSetting from DataLoader

Master-model provisioner no longer passes the removed tri-state pay-fees setting when creating the master security model — the field is gone from ChildOrgSecuri...

Kamo·5mo ago
April 23, 2026
FixInitializerService

TeamMember is-a Member; drop bogus tm.getMember() calls

TeamMember uses JOINED inheritance — it IS a Member, no nested member field. The backfill was calling tm.getMember() which doesn't exist. Also switches the JPQL...

Kamo·5mo ago
April 21, 2026
ChoreInitializerService

Persist org after parent attach via saveOrganization

Kamo·5mo ago
ChoreInitializerService

Provision master model with MEMBER_SELECT ATF policies

Kamo·5mo ago
April 20, 2026
FixInitializerService

Drop stale CHECK constraints on default-role-rights enum columns

Hibernate auto-generates CHECK (column IN ('VAL1', 'VAL2', ...)) constraints on CREATE TABLE for @Enumerated(EnumType.STRING) columns, freezing the enum's value...

Kamo·5mo ago
FixInitializerService

Add missing unique constraints for role-right upserts

**************** + syncSecurityModelRoleRights use `ON CONFLICT (role_id, right_type) DO NOTHING` and `ON CONFLICT (default_role_id, right_type) DO NOTHING`, wh...

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

Add migration runner for logo_full_ext column on orgs

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