Live Change Log

See what we're building, in real-time. Every feature, fix, and improvement shipped across the platform.

17,865
Total Changes
4,581
Features
4,512
Fixes
32
Projects
Filter by project
All Projects17,865AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService348InitializerService299KBService74KlusterServices539MCPGatewayService43MediaService460RAGService61SecurityService1,519TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,553kamo-login318kamo-marketing584kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,320kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI522Chore670Docs226Feature4,581Fix4,512Other6,781Performance136Refactor273Revert23Style48Test68Upgrade1
August 9, 2026
CIDaemonService

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·4w ago
CIConversionService

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·4w ago
CIAIService

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·4w ago
CIAPIService

Mirror Maven Central through the Google GCS copy

Every Docker stage starts from a cold ~/.m2 and refetches the whole dependency tree, so Central sees the full weight of every concurrent service build. It answe...

Kamo·4w ago
CIVOIPService

Mirror Maven Central through the Google GCS copy

Every Docker stage starts from a cold ~/.m2 and refetches the whole dependency tree, so Central sees the full weight of every concurrent service build. It answe...

Kamo·4w ago
CITranslateService

Mirror Maven Central through the Google GCS copy

Every Docker stage starts from a cold ~/.m2 and refetches the whole dependency tree, so Central sees the full weight of every concurrent service build. It answe...

Kamo·4w ago
CIRAGService

Mirror Maven Central through the Google GCS copy

Every Docker stage starts from a cold ~/.m2 and refetches the whole dependency tree, so Central sees the full weight of every concurrent service build. It answe...

Kamo·4w ago
CIMCPGatewayService

Mirror Maven Central through the Google GCS copy

Every Docker stage starts from a cold ~/.m2 and refetches the whole dependency tree, so Central sees the full weight of every concurrent service build. It answe...

Kamo·4w ago
CIKBService

Mirror Maven Central through the Google GCS copy

Every Docker stage starts from a cold ~/.m2 and refetches the whole dependency tree, so Central sees the full weight of every concurrent service build. It answe...

Kamo·4w ago
CIkamolos

Mirror Maven Central through the Google GCS copy

Every Docker stage starts from a cold ~/.m2 and refetches the whole dependency tree, so Central sees the full weight of every concurrent service build. It answe...

Kamo·4w ago
CIEmailService

Mirror Maven Central through the Google GCS copy

Every Docker stage starts from a cold ~/.m2 and refetches the whole dependency tree, so Central sees the full weight of every concurrent service build. It answe...

Kamo·4w ago
CIDaemonService

Mirror Maven Central through the Google GCS copy

Every Docker stage starts from a cold ~/.m2 and refetches the whole dependency tree, so Central sees the full weight of every concurrent service build. It answe...

Kamo·4w ago
CIConversionService

Mirror Maven Central through the Google GCS copy

Every Docker stage starts from a cold ~/.m2 and refetches the whole dependency tree, so Central sees the full weight of every concurrent service build. It answe...

Kamo·4w ago
CIAIService

Mirror Maven Central through the Google GCS copy

Every Docker stage starts from a cold ~/.m2 and refetches the whole dependency tree, so Central sees the full weight of every concurrent service build. It answe...

Kamo·4w ago
CIkamo-login

Stop downloading a browser that the image never uses

Build 21 failed in puppeteer postinstall fetching chrome-headless-shell — an SSL "decryption failed or bad record mac", the same flaky-transfer class that took ...

Kamo·4w ago
Fixkamo-internal

Split Available on the catalog verdict, and stop Stage publishing an app

The account Apps tab derived Available / Not Available from development stage, so it contradicted the platform catalog the moment an operator published or withh...

kamo·4w 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·4w 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·4w ago
ChoreSecurityService

Restore CRLF on ****************

The previous commit rewrote the file through a tool that normalised CRLF to LF, churning every line and burying a 24-line change in a 618-line diff. Content is ...

Kamo·4w ago
FixSecurityService

Close four ways round the vertical and app gates

SecurityModelMarketController read and mutated security-model market attachments with no session check, no org scoping and no right — any caller could pass any ...

Kamo·4w 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·4w ago
Featurekamo-internal

Split Apps & Features into Available / Not available / Deprecated

One flat list mixed apps the platform offers with ones it does not and ones it has retired, so the operator had to read every chip to tell them apart. The buck...

kamo·4w ago
Fixkamo-internal

Load Allowed Apps from an endpoint tenants can actually read

appCatalogApi.list() is platform-owner-only, so on any tenant org the Branch Types editor showed no apps and the save guard — which exists to stop an empty cata...

kamo·4w ago
FeatureSecurityService

A tenant-readable app catalog for Branch Types

Branch Types -> Allowed Apps started loading its app list from /platform-config/app-catalog, which requires a top-level org owner. The host page is gated on CON...

Kamo·4w 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·4w 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·4w ago
Fixkamo-shared-library

Stop a page load from persisting the entitlement projection

computeEffectiveFeatures added the caller's Hibernate-managed OrgFeature rows straight to its output and then flipped isActive on them. Its own javadoc calls th...

Kamo·4w ago
FixSecurityService

Stop iterating ServiceType.values() against the resolved catalog

resolveAll() omits the deprecated aliases that share an id with a live app (DOC_MANAGER/DOCS, AI_CHAT/AI_SUPPORT), because those have no catalog row of their ow...

Kamo·4w ago
Testkamo-shared-library

Pin the deprecated-alias exclusion

The catalog key is ServiceType's numeric id, and several retired constants deliberately share one with the app that replaced them — DOC_MANAGER with DOCS on 8, ...

Kamo·4w 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·4w 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·4w ago
FixSecurityService

Point the mortgage surface back at the mortgage rights

Companion to the shared-library change. These 13 controllers all guard mortgage endpoints — HMDA LAR, pipeline, application intake, disclosures, credit orders, ...

Kamo·4w ago
Fixkamo-shared-library

Stop mortgage endpoints enforcing a personal-loan right

The LOS_* -> MLOS_* rename was applied to the enum declaration and nowhere else. Because the freed names were immediately re-declared as the personal-loan right...

Kamo·4w ago
CIkamo-internal

Rebuild after the Apps & Features strings reached the dictionary

Run 545 failed the i18n key guard on 60 keys. Not a code defect — the kamo-internal commit was pushed at 14:10 and the dictionary strings landed at 14:18, so th...

kamo·4w 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·4w 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·4w ago
FixSecurityService

Two more places that answered "is this app offered" from the enum

Both were missed when FeatureController moved onto the app catalog, and both would have disagreed with it the moment an operator published an app. Organization...

Kamo·4w ago
PerformanceSecurityService

One plan-matrix scan per app-catalog request

Also drops the now-unused DevelopmentStageType import and corrects the auto-provision comment, which still described the stage rule the catalog replaced.

Kamo·4w ago
Performancekamo-shared-library

Answer the plan-matrix question for every app in one pass

The Apps & Features tab asks whether each app appears in the plan matrix, and the per-app form scans the plan-feature and add-on tables once per app — two dozen...

Kamo·4w ago
Chorekamo-internal

Drop the unused stageLabel helper

Stage names are rendered from message keys, so the English-only helper had no caller left.

kamo·4w ago
Otherkamo-internal

Route the Apps & Features copy through next-intl

kamo-internal serves 22 locales and every user-facing string has to come from a message key — hardcoded English breaks every non-English operator. The tab and t...

kamo·4w ago
Featurekamo-internal

Add an Apps & Features tab and fix the Allowed Apps list

The new tab, to the right of Organizations, controls what every organization is offered: availability, development stage, display name, description, an operator...

kamo·4w ago
FeatureSecurityService

Serve the app catalog and read features through it

FeatureController derived "is this app offered" from the enum's stage in four separate places, so the answer could only be changed by redeploying the platform. ...

Kamo·4w 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·4w ago
Refactorkamo-shared-library

Resolve deprecation through the app catalog

An app the operator retires has to disappear everywhere, not just from the apps page — otherwise it keeps showing up in the security-model editor and in entitle...

Kamo·4w ago
Featurekamo-shared-library

Make app availability and stage editable at runtime

Every attribute the apps settings page renders — display name, description, stage, deprecation — was a compile-time constant in the ServiceType enum, and "Avail...

Kamo·4w ago
Fixkamo-marketing

Render Contact sales for add-ons with no list price

PageAddOn.price was typed number and built with Number(addon.pricePerUnit), so an add-on with no list price — the enterprise-negotiated origination systems — re...

Kamo·4w ago
Fixkamo-internal

Show negotiated pricing instead of $0.00 for enterprise-only add-ons

The origination add-ons carry no list price — they are negotiated per agreement — and formatCurrency(null) renders $0.00, advertising an enterprise module as fr...

kamo·4w ago
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·4w ago
FixSecurityService

Never offer an unreleased app on a buying surface, bundles included

The stage filter only ran for the public marketing proxy. This endpoint also feeds the in-app SubscriptionOrderWizard, which is where a customer actually pays, ...

Kamo·4w ago

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing