KamoCRM

Live Change Log

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

18,391
Total Changes
6,526
Features
5,537
Fixes
30
Projects
Filter by project
All Projects18,391AIService276APIService177BillingService161ConversionService117DaemonService146DocsService240ESigService93EmailService619InitializerService344KBService162KlusterServices769MCPGatewayService277MediaService620RAGService79SecurityService1,995TranslateService62VOIPService265VectorService11kamo-apps26kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,691kamo-login342kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,824kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild23CI525Chore794Docs3,286Feature6,526Fix5,537Other1,001Performance174Refactor281Revert23Style45Test175Upgrade1
August 9, 2026
FixBillingService

Enforce self-or-owner on an account, not just the org boundary

Follow-up to the cross-org gate, now that the rule is decided: inside an organization you may manage your own billing account, and an organization owner may man...

Kamo·3mo ago
FixBillingService

Stop one organization reaching another organization billing

/api/billing/accounts scopes its listing by the X-Org-Id header, but every route beneath /{accountUid} took the id straight from the path and never checked who ...

Kamo·3mo ago
CIBillingService

Retry the shared-library build, which the LAN uplink keeps corrupting

Three builds died today on "Tag mismatch" pulling a jar — and the mirror added an hour ago did not help, because kbservice, mcpgatewayservice and ragservice hit...

Kamo·3mo ago
FixBillingService

Answer "is this sellable" from the app catalog, not the enum

Availability became operator-editable at runtime, so deriving it from ServiceType.getStage() meant publishing MLOS in Apps and Features left it invisible on the...

Kamo·3mo ago
CIBillingService

Mirror Maven Central through the Google GCS copy

Build 19 failed fetching tomcat-embed-core from repo.maven.apache.org with 'Tag mismatch' — a corrupted transfer, not a code error: the same commit builds clean...

Kamo·3mo ago
FixBillingService

Validate add-on codes before they can grant an app

active_addon_codes was written straight from the request body. That was harmless while nothing read the column, but it is now an authorization input: an add-on ...

Kamo·3mo ago
August 8, 2026
FixBillingService

Hide unreleased apps from the Plans & Billing catalog

**************** back the tab where a customer chooses what to subscribe to, so it must not offer a product still in the Not Available list — the same rule the ...

Kamo·3mo ago
FixBillingService

Keep the is-prefix on PlatformAccountSummary's wire names too

Same Lombok/Jackson hazard as PlatformOrgRow: isTopLevel() loses its `is` on serialization, so the DTO put `topLevel`/`platformProduct` on the wire while the fr...

Kamo·3mo ago
FixBillingService

Keep the is-prefix on the wire for isTopLevel/isPlatformProduct

Lombok generates isTopLevel() for a `boolean isTopLevel` field and Jackson strips the `is` prefix, so the live endpoint was serializing `topLevel` and `platform...

Kamo·3mo ago
FixBillingService

Declare security matchers explicitly so the service can start

The service has not deployed since 2026-07-03; every pod since has crash-looped before the context loaded: This method cannot decide whether these patterns a...

Kamo·3mo ago
FeatureBillingService

Serve the org directory as a filtered, sorted, paginated page

GET /orgs takes page/size/q/sort/dir plus seven filters and returns the house page envelope with estate-wide aggregates. GET /orgs/{orgId} serves full detail fo...

Kamo·3mo ago
FeatureBillingService

Batched page hydration at a constant query count

Parent titles, primary domain, the plan/market behind the entitlement and the subscription-catalog flag are each one batched IN (:ids) over the whole page, so a...

Kamo·3mo ago
FeatureBillingService

Directory row/page DTOs and the native query repository

PlatformOrgRow carries the two facets separately: entitlement (inbound subs targeting the org -- what governs it) and billing held (accounts the org owns -- non...

Kamo·3mo ago
FeatureBillingService

Org directory SQL with per-facet CTEs

Held accounts, inbound subscriptions, members, licensees and children each aggregate in their own CTE before being joined to orgs. Joining them in one pass woul...

Kamo·3mo ago
FeatureBillingService

Validated, clamped org directory request

Size clamps to [1,100] and an unrecognised sort falls back to title, so a hand-edited URL can neither request the whole estate nor reach the SQL as free text. T...

Kamo·3mo ago
FeatureBillingService

Derive entitlement mode through one shared, deterministic resolver

TrialAdminService picked its trial subscription with findFirst() over an unordered list, so an org holding both a pending and an active trial could report eithe...

Kamo·3mo ago
August 3, 2026
FixBillingService

Harden the kubectl download against flaky egress [skip ci]

dl.k8s.io over the runner's egress intermittently drops mid-transfer: curl: (56) OpenSSL SSL_read: decryption failed or bad record mac which fails the deploy ...

Kamo·3mo ago
July 3, 2026
FixBillingService

Serialize Long ids as strings to stop org-id precision loss

Org ids are CockroachDB unique_rowid() values that exceed JS MAX_SAFE_INTEGER. BillingService was serializing them as raw JSON numbers, so kamo-internal's JSON....

Kamo·4mo ago
July 1, 2026
FeatureBillingService

TRIAL_PENDING mode for a not-yet-started trial

Sage·4mo ago
ChoreBillingService

Rebuild against latest kamo-shared-library

Sage·4mo ago
June 26, 2026
June 13, 2026
June 10, 2026
FixBillingService

Register esign repositories for the meter submission bean

EsignMeterSubmissionService needs EsignUsageRecordRepository, but @EnableJpaRepositories didn't scan com.kamo.z.shared.esign.repos, so the context failed to sta...

Kamo·5mo ago
FeatureBillingService

E-sign usage metering + consumer self-serve checkout

#4 metering: - EsignMeterSubmissionService (@Scheduled daily): aggregates API-origin EsignUsageRecords per org+period; first 40/period included, the rest subm...

Kamo·5mo ago
FixBillingService

Back metered add-on prices with a Billing Meter

Stripe (>= 2025-03-31.basil) rejects the legacy usage_type+aggregate_usage metered model ('metered prices must be backed by meters'), so USAGE_BASED add-on pric...

Kamo·5mo ago
FeatureBillingService

Manage Organization.isPlatformProduct from Platform → Orgs

PlatformAccountSummary exposes isPlatformProduct + hasSubscriptionMarket; new PUT **************** (platform-admin gated) sets the flag and invalidates the org'...

Kamo·5mo ago
April 29, 2026
CIBillingService

Scope concurrency to build jobs, not Kubernetes deploys

Workflow-level concurrency serialized the whole pipeline (including kubectl rollouts). Move the group to the build job only so deploy jobs from different runs c...

Kamo·6mo ago
April 28, 2026
FixBillingService

Add @JsonProperty to is*-prefixed boolean DTO fields

Lombok generates isXxx() is-getters for boolean fields named isXxx. Jackson strips the leading 'is' from is-getters and serializes them as 'xxx' rather than 'is...

Kamo·6mo ago
FixBillingService

Include subscription-targeting accounts in org list

listForOrg now also returns accounts whose subscriptions target the requested org — not just accounts directly owned by it. In the multi-org model the paying Ac...

Kamo·6mo ago
ChoreBillingService

Trigger redeploy for shared library update

Kamo·6mo ago
RefactorBillingService

Subs target a sub-org; per-sub members split from account admins

Subscriptions now require targetOrganizationId on create — the (account, market, target_org) triple is the new uniqueness key. AccountBillingMemberService is sp...

Kamo·6mo ago
April 27, 2026
RefactorBillingService

Use Account.members via AccountMember; rename isGroupPlanManager -> isAccountManager

The Account is now the group, so all references to the old AccountBillingMember entity are pointed at the new generic **************** entity. The "group plan m...

Kamo·6mo ago
RefactorBillingService

Rewrite BillingService onto Account-based entities

The BillingService is now Account-centric. Member-driven flows (e.g. "add a card", "subscribe to a plan") now go through an Account that auto-creates for the me...

Kamo·6mo ago
ChoreBillingService

Trigger redeploy for shared library update

Kamo·6mo ago
April 23, 2026
FixBillingService

Use **************** primitive getter

isOrganizationOwner is a primitive boolean on TeamMember, so the Lombok- generated accessor is isOrganizationOwner() not getIsOrganizationOwner(). Fixes compile...

Kamo·6mo ago
FeatureBillingService

Rewrite BillingService around BillingGroups

Deletes the org-level **************** controllers, services, and DTOs. Introduces: - BillingGroupController mounting groups, members, subscriptions, licenses,...

Kamo·6mo ago
FixBillingService

Expose commerce subscription on GET /subscriptions/current

When no Stripe mirror row exists, resolve the org active commerce SubscriptionRecord (e.g. COMP grants), include paymentMethod and plan features. Fixes Apps set...

Kamo·6mo ago
April 22, 2026
April 21, 2026
April 20, 2026
FeatureBillingService

Add PlatformAdmin controller + service for comp plan grants

- PlatformAdminController at /api/billing/platform (class-level @PlatformAdminOnly) - GET /orgs, GET /orgs/{orgId} - POST /orgs/{orgId}/grants, PATCH|DELET...

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