KamoCRM

Mabadiliko ya Tabianchi

Kila kipengele, kurekebisha na kuboresha, posted kama meli. Hakuna kitu kilichofichwa kwa ajili ya uzinduzi.

17,594
Mabadiliko ya Jumla
6,048
Features ya
5,310
Wa
30
Miradi ya Miradi
Filter ya Mradi
Miradi yote17,594AIService258APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService582InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService602RAGService79SecurityService1,864TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,377kamo-login339kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,674kamo-signer-monorepo56kamolos114
Filter ya aina
Aina zoteBuild16CI523Chore775Docs3,257Feature6,048Fix5,310Other994Performance165Refactor278Revert23Style42Test162Upgrade1
August 9, 2026
FeatureInitializerService

Schema for per-mailbox storage measurement

**************** holds, per mailbox and per arrival day, the RFC822 bytes that mailbox is holding. Storage accounting had no honest source for mailbox bytes: th...

Kamo·2mo ago
FeatureInitializerService

Schema runner for org_storage_snapshots

Mirrors OrgStorageSnapshot as explicit DDL, per the house style — ddl-auto creates the table first, so the CREATE is a fallback and the SET DEFAULTs are what ac...

Kamo·2mo ago
FeatureInitializerService

Declare the **************** app split

The backfill only ever filled a plan row that was missing — deliberately, so it could not silently move a tier — which left apps that had never been priced wher...

Kamo·2mo ago
FixInitializerService

Only real entitlement roots get the platform app rows

Owning subscription plans was treated as proof of being an entitlement root. It is not: a customer org runs its own commerce markets and sells its own plans whi...

Kamo·2mo ago
FixInitializerService

Same alias NPE in the initializer seeders

resolveAll() has no entry for a deprecated alias sharing an id with a live app, so looping ServiceType.values() and dereferencing the result would have thrown m...

Kamo·2mo ago
August 8, 2026
FixInitializerService

Bind the rename cutover as a Timestamp, not a String

CockroachDB refuses <timestamp(6)> < <varchar> rather than casting, so the app-config repair threw on its first statement every boot: 'unsupported comparison op...

Kamo·2mo ago
FixInitializerService

Repair the second name-persisted site of the LOS rename

**************** is @Enumerated(STRING) and holds RoleRightType names, so a default role granting mortgage stores "LOS_VIEW_PIPELINE". That is the third place t...

Kamo·2mo ago
FixInitializerService

Bound the LOS rename repair to rows that predate the rename

The repair matched on the string alone and ran on every boot, so it stopped being idempotent the moment anyone granted the personal-loan app: a row holding 'LOS...

Kamo·2mo ago
FixInitializerService

Master model honours a runtime retirement; drop a dead guard

provisionMaxedOutMasterModel force-enables every app for the platform org, and that breadth is deliberate — pre-launch dogfooding is what the model is for. But ...

Kamo·2mo ago
FixInitializerService

Repair mortgage grants orphaned by the LOS to MLOS rename

ServiceType is persisted in two places and the 2026-08-08 rename only accounted for one. ORG_FEATURES.FEATURE_TYPE stores the numeric id, so keeping mortgage at...

Kamo·2mo ago
FeatureInitializerService

One properly categorised catalog row per app, on every entitlement root

Nine apps — POS, Marketing Tools, Calculator, Club, Inventory, Legal, Games and the two origination systems — had no catalog representation at all: no pricing r...

Kamo·2mo ago
FixInitializerService

Grandfather orgs already running a gated commerce market

Gating MORTGAGE behind MLOS made the gate unsatisfiable for tenants: MLOS is still PLANNING, and FeatureController.enable refuses a non-COMPLETED app for a chil...

Kamo·2mo ago
FixInitializerService

Seed app entitlement for every root, and stop inventing plan tiers

Two defects found by checking prod before flipping kamo.entitlement.fail-open. Sign Pink is a second entitlement root (isPlatformProduct, with its own FREE/BUS...

Kamo·2mo ago
FeatureInitializerService

Backfill app entitlement rows into the platform plan catalog

Entitlement now resolves on a typed service_type column, but no catalog row carried one, so every plan still resolved to 'everything included' via the fail-open...

Kamo·2mo ago
August 7, 2026
FeatureInitializerService

Mailbox pointers for departments and orgs, and backfill the departments

DEPTS.MAILBOX_ID and ORGS.CONTACT_MAILBOX_ID, both plain UUID with no FK to email_provider.mailboxes: mailboxes sync from external providers and can be removed ...

Kamo·2mo ago
FeatureInitializerService

Give a team member a manager

Adds MANAGER_ID to member_team_member, a nullable self-reference for the reporting line. Nothing is backfilled: no manager is a complete answer, both at the top...

Kamo·2mo ago
FeatureInitializerService

Add DEPTS.PARENT_DEPT_ID for nested departments

Nullable with no backfill -- null means top level, which is what every existing department was and most will stay. Declared plain UUID with an explicit DROP DE...

Kamo·2mo ago
FeatureInitializerService

Migration for the commission ledger and Stripe payout tables

Mirrors com.kamo.z.shared.commission. ddl-auto would create these from the annotations anyway; the explicit DDL is the house convention and is what makes the sh...

Kamo·2mo ago
August 6, 2026
FixInitializerService

Fail the run when a required UNIQUE index cannot be created

ensure() caught Exception and logged, so a failed CREATE UNIQUE INDEX reported success and the service booted with no uniqueness guarantee at all — the one outc...

Kamo·2mo ago
FeatureInitializerService

Land the legal package schema

Adds com.kamo.z.shared.hr.legal to the repository scan list and ensures the uniqueness and lookup indexes the entity mapping cannot express safely.

Kamo·2mo ago
FixInitializerService

Scope empty binders to (MY_DOCS, '') not the owner's member id

The My Docs DocManager never passes an assocObjectId prop, so it always resolves and queries (3, ''). BACKFILL_EMPTY_SQL was scoping empty binders to (3, member...

Kamo·2mo ago
FixInitializerService

Correct javadoc on Hibernate ddl-auto behavior for NOT NULL columns

CockroachDB rejects ADD COLUMN ... NOT NULL without a DEFAULT on a populated table, so Hibernate's ddl-auto attempt fails (logged, non-fatal) rather than no-opp...

Kamo·2mo ago
FeatureInitializerService

Backfill the collection each existing binder belongs to

Derives the scope from the first DOC item's Img; empty binders fall back to the owner's My Docs. Applies NOT NULL only after the backfill.

Kamo·2mo ago
August 5, 2026
FeatureInitializerService

Create the email search_vector column and its inverted index

**************** never existed. EmailService's own V1__email_metadata_schema.sql declares it, but that migration never ran -- the table came from this service's...

Kamo·2mo ago
ChoreInitializerService

Purge lead e-mail links whose lead-side address is the company's

Clears what the old company-address rule wrote before it read org_domains. Live production was purged by hand at the time (126 rows, 6 leads, one org); this exi...

Kamo·2mo ago
FeatureInitializerService

Schema and contact-point seed for lead communications

Hibernate creates the three new tables from the shared-lib entities; this adds what it cannot express — the partial unique index that keeps at most one open con...

Kamo·2mo ago
FeatureInitializerService

Maandalizi kwa ajili ya mkutano wa multi-service layer

Creates **************** and org_meeting_oauth_tokens, adds the provider-identity columns to MEETING_RECORDS and MEETING_RECORDINGS and the Zoom/Teams-capable s...

Kamo·2mo ago
FeatureInitializerService

Reassignable primary agent on a reserved opportunity

PRIMARY_AGENT_MEMBER_ID is who holds the opportunity now; REQUESTED_BY_MEMBER_ID is left untouched forever. Nullable with no backfill on purpose — null means "n...

Kamo·2mo ago
August 4, 2026
FeatureInitializerService

Commission columns for reserved opportunities and market defaults

Six nullable columns: the overall commission agreed on a reserved opportunity, and the market default that pre-fills it at approval. NUMERIC(19,4) to match the ...

Kamo·2mo ago
ChoreInitializerService

Weka orodha ya wapokeaji

Kiongozi anashikilia jina la mteja, anwani na simu; akihesabu kwenye nukuu Kurekodi rekodi iliyohaririwa mahali pengine. Vifungu vilikuwa na muda mfupi tu na ha...

Kamo·2mo ago
FeatureInitializerService

Tables for lead opportunity reservations

Mirrors LeadOpportunityReservation, LeadOpportunityCommissionSplit and **************** in kamo-shared-library. ddl-auto:update would create them from the entit...

Kamo·2mo ago
August 3, 2026
FixInitializerService

Repair the quote-option FK defaults ddl-auto cannot reach

The existing dynamic sweep only covers nullable FK columns that already carry a FOREIGN KEY constraint. commerce_quote_options.quote_id is NOT NULL, so it is ex...

Kamo·2mo ago
FeatureInitializerService

Create phi_access_log — the durable §164.312(b) audit trail

Until now PHI access was recorded only to a log stream with 14-day retention against a six-year obligation, and with no query surface. An accounting of disclosu...

Kamo·2mo ago
FeatureInitializerService

Create the second-factor tables

Backs UserMfaEnrollment and MfaRecoveryCode in kamo-shared-library — §164.312(d) Person or Entity Authentication, the gap the compliance assessment called disqu...

Kamo·2mo ago
FeatureInitializerService

Kujenga HANDLES PHI na PHI EFFECTIVE DATE kwenye orgs

Mirrors the two new Organization fields, following the OrgBrandingFieldsMigration convention, so the columns are reproducible on any environment rather than onl...

Kamo·2mo ago
August 2, 2026
OtherInitializerService

Revert "feat(phi): create HANDLES_PHI and PHI_EFFECTIVE_DATE on orgs"

This reverts commit ****************

Kamo·2mo ago
FeatureInitializerService

Create HANDLES_PHI and PHI_EFFECTIVE_DATE on orgs

Mirrors the two new fields on the Organization entity in kamo-shared-library, following the OrgBrandingFieldsMigration convention. HANDLES_PHI is NOT NULL DEFAU...

Kamo·2mo ago
July 31, 2026
ChoreInitializerService

Mwanzo MaxSeats 5, Biashara MaxSeats 25

Inaweka mbegu ya bei ya KamoCRM katika hatua na orodha ya kuishi baada ya Kuweka upya nafasi zilizotangazwa.

Kamo·2mo ago
July 30, 2026
FixInitializerService

Register **************** repositories

LeadService now eagerly wires MarketLosConnectionResolver, which requires the integrations.los repositories **************** KI's explicit @EnableJpaRepositorie...

Kamo·2mo ago
July 9, 2026
FeatureInitializerService

Originator/transaction-first columns (@Order 90)

Additive nullable columns + org-unique transaction-number index for the MLOS originator/transaction refactor: mlos_loan_transaction (transaction_number + assign...

Kamo·3mo ago
July 8, 2026
FeatureInitializerService

Add INVESTOR_PRICE column to rate_locks + loan_pricing_snapshots

@Order(80) idempotent ADD COLUMN IF NOT EXISTS (DECIMAL(9,4), matching the price-to-100 grids) so the MLOS RCE can record the true non-par investor execution pr...

Kamo·3mo ago
FeatureInitializerService

Partial-unique index enforcing one active closing package per loan (eClose double-close backstop)

CREQUE INDEX uk mlos closing pkg active loan Kuhusu mlos closing package (loan file uid) ambapo hali <> 'inawezekana'. Nyuma ya nyuma Ulinzi wa idempotency ya n...

Kamo·3mo ago
FeatureInitializerService

Migration adds recordings.transcript TEXT column

Kamo·3mo ago
July 6, 2026
FixInitializerService

Mlos requirement single-live index keyed per-human (borrower_uid)

Drop the party-only **************** (it would reject a legitimate 2nd co-borrower requirement); create **************** on **************** Already applied to ...

Kamo·3mo ago
July 5, 2026
ChoreInitializerService

Scan **************** repos (P1 transaction entities)

Kamo·3mo ago
FeatureInitializerService

Seed the 17 real program rulesets (doc03 §9 Phase 1)

Migrates the authoritative ProgramRuleset data from the KamoMLOS client ruleset files into **************** (17 codes, extracted faithfully) and replaces Progra...

Kamo·3mo ago
July 4, 2026
ChoreInitializerService

Platform-singleton partial-unique index for mlos_governor_config (D4)

mlos_governor_config auto-creates via ddl-auto; add the partial expression unique index confining the platform-default (organization_id IS NULL) to a single row...

Kamo·3mo ago
FixInitializerService

Scan mlos.intake repos (§5.A) + tone la yatima mlos aus connection config (D40)

Ongeza com.kamo.z.shared.mlos.intake kwa @EnableJpaRepositories - §5.A [TD="width: 456"] [FONT=&](2)[/FONT][FONT=&]Bila kuathiri masharti ya kifungu kidogo (1) ...

Kamo·3mo ago
ChoreInitializerService

Drop **************** column (D39)

The coarse boolean is replaced by the per-program mlos_investor_delegation child; drop the removed NOT-NULL column so Hibernate INSERTs are not rejected.

Kamo·3mo ago

Je, unaona nini kuhusu usafiri?

Kila kitu kinaingia kwenye tovuti yako mwenyewe. Anza kwenye mpango wa bure na usome ukurasa huu tena katika mwezi mmoja.

Kuwa Huru MileleMtazamo wa bei