KamoCRM

Live Change Log

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

17,374
Total Changes
5,891
Features
5,258
Fixes
30
Projects
Filter by project
All Projects17,374AIService242APIService174BillingService157ConversionService110DaemonService137DocsService223ESigService91EmailService568InitializerService329KBService151KlusterServices738MCPGatewayService235MediaService592RAGService79SecurityService1,822TranslateService62VOIPService248VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,321kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,631kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore773Docs3,252Feature5,891Fix5,258Other993Performance165Refactor278Revert23Style42Test159Upgrade1
October 21, 2026
FeatureMCPGatewayService

Plain-language approval cards, worded as the reader may see them

Owner order 2026-10-20: approvals showed members GUIDs and JSON. POST **************** (internal auth) words each approval for a non-technical person: one sente...

Kamo·2d ago
Docskamo-internal

IoT articles follow the fixed product — Sign in again keeps settings, SolarEdge app asks its sites, Tuya asks its region

solaredge, geotab, shelly, samsara, tuya, iot-relink-a-connection, iot-open-shared-access (Devices shared with you in the menu). Help re-import needed for these...

Kamo·2d ago
Fixkamo-internal

Vendor sign-ins ask their settings, Sign in again keeps them, and the SP14 audit's web findings

- Link wizard: a vendor sign-in (SolarEdge app site IDs, Tuya region) asks the provider's declared settings before the vendor opens; a refusal to start reads ...

Kamo·2d ago
FixVOIPService

An MMS part is stored in one transaction of its own (SITP MMS)

Live check in sp00verify: the picture was fetched and its object written, then the dat's final 'published' save failed (JpaSystemException) because the backgrou...

Kamo·2d ago
Featurekamo-internal

The texting window shows the pictures, recordings and files people text in (SITP MMS)

Each message's inbound parts (VOIPService now keeps them) draw inside its bubble: pictures in place (tap to open), voice notes and video with players, PDFs and ...

Kamo·2d ago
Featurekamo-internal

The web Alexa section, its virtual sensors, and Alexa links as the who of a grant

- Settings -> Devices (IoT) -> Connections gains a Voice section (only while Alexa is usable by the organization): the Alexa links, how to link one, and a lin...

Kamo·2d ago
Fixkamo-internal

Brand and state colours read at AA in both themes; grid header strips are not scroll regions; AgentSelector chips are not inside a button

- StateChip/Kicker (patients, knowledge base, attendance, chat policies): the ink is the tone's own hue with its OKLCH lightness capped (light) or floored (da...

Kamo·2d ago
FixVOIPService

The MMS part claim names its states as parameters, so Hibernate 6.2 can read it at boot (SITP MMS)

8eda899's deploy never rolled: Spring Data validates every @Query at startup and Hibernate 6.2 cannot interpret a nested enum's FQN literal **************** so ...

Kamo·2d ago
October 19, 2026
Fixkamo-internal

Restrict from Disabled says what it does; site modes article states the previous-mode return (IoT close-out F10, F9e)

- The platform connector dialog's Restrict confirmation, on a DISABLED connector (now offered for every provider with platform setup after a fresh test, iot-s...

Kamo·4d ago
Performancekamo-shared-library

Index member_notifications by (source_type, source_id) for withdrawal across members (IoT close-out F15)

The withdraw-by-source read (findBySourceTypeAndSourceId) and the IoT alarm's withdraw-by-prefix (StartingWith -> LIKE 'x%') had only the member-led index, so b...

Kamo·4d ago
FixInitializerService

KamoCameras in the entitlement catalog, on the platform's own plan only (totality test green)

KamoCameras (ServiceType 39, shipped 2026-10-13, TESTING) shipped without an AppEntitlementCatalogMigration entry, so **************** two totality checks have ...

Kamo·4d ago
Testkamo-shared-library

AiAutonomyModeTest pins CP07's RELEASE_PROPOSAL draft kind, and no @Immutable entity may carry a database-generated value

- **************** was red on main since KamoCollab CP07 Task 5 (8bd0f67c) appended **************** (spec D25, a disclosure_request's approval) without updat...

Kamo·4d ago
FeatureMCPGatewayService

Sms_read_attachment, and sms_read_thread names what was texted in (SITP MMS)

TP11 deferred sms_read_attachment because VOIPService kept no inbound MMS media; it does now (voipservice@8eda899). So: - sms_read_thread lists each inbound pa...

Kamo·4d ago
FixMediaService

The alert chat leg resolves its people per organization; an IoT alarm update is quiet on iOS

F12 (IoT close-out, SP14 routing): AlertChatService defaulted to organization 1 and the aliases "sage" / "kamo-monitor", which name nobody in production, so eve...

Kamo·4d ago
FeatureVOIPService

Keep the pictures and files people text in, for every provider (SITP MMS)

VOIPService stored only the words of an inbound MMS, so nobody (person or SI) could see what was texted in. Now every inbound rail reads its media and VOIPServi...

Kamo·4d ago
Fixkamo-shared-library

A dat's object key also asks the inbound MMS parts that hold it (SITP MMS)

VOIPService now keeps the pictures and files people text in (VOIP_MESSAGE_ATTACHMENT) through storeContentAddressed, with no Img row. storageExtension found a d...

Kamo·4d ago
FeatureMCPGatewayService

An SI on a teammate's order can find and operate just the function the order needs; on god's order also unverified ones (IoT R7 round 3)

- IotPack.planSend: when the SI's own view lacks the device or the function (or may not OPERATE it) and the caller is on an order-scoped session, IoTService's...

Kamo·4d ago
FeatureMCPGatewayService

An order's tool call runs on a per-call scoped order session that lends only what the tool needs (No Insubordination Rule, IoT R7 round 3)

OrderDelegation.resolve takes a CallScope: the tools/list keeps the session lending the requester's whole standing (kamo:tool:order:<runId>), so the SI knows wh...

Kamo·4d ago
FixConversionService

God eligibility alone passes CONFIGURE_SYSTEM only in the platform org; elsewhere only an open window (IoT R7 round 3)

**************** let GD (eligibility, no window) pass every tenant right in every org, so the System User held CONFIGURE_SYSTEM (organization sounds) in every t...

Kamo·4d ago
FeatureSecurityService

An order lends only the rights the called tool needs (No Insubordination Rule, IoT R7 round 3)

POST **************** takes an optional neededRights (RoleRightType names; an unknown one is a right nobody holds). With it, OrderDelegationService.lend borrows...

Kamo·4d ago
FixMediaService

God eligibility alone passes a right only in the platform org; elsewhere only an open window (IoT R7 round 3)

AuthHelper.hasRight / requireRight let GD (god ELIGIBILITY, no window at all) pass EVERY tenant right in every org (24 controllers: reports, social media, acces...

Kamo·4d ago
Featurekamo-shared-library

GodPassesRightChecks — god eligibility alone counts only in the platform org (IoT R7 round 3)

Owner rule (2026-10-18): outside the platform organization god acts only through break-glass. **************** an open window always passes a tenant-right check...

Kamo·4d ago
DocsSecurityService

Index loan_files.loan_transaction_id, applied to production 2026-10-18 [skip ci]

Owner approved. The deal -> loans lookup in **************** (deal status, pipeline summary, retireIfEmpty) moves from a sequential scan to an index scan. Same ...

Kamo·4d ago
Featurekamo-shared-library

Index loan_files.loan_transaction_id on LoanFile

The deal -> loans lookup **************** deal status, pipeline summary, and the retireIfEmpty check after an application is deleted) was a sequential scan. The...

Kamo·4d ago
Featurekamo-internal

The activity says "as god, break-glass <window>", and god's own window may share (master section 10 R7)

Owner 2026-10-18: every action is visible to the tenant. actorText appends iot.actorStanding.asGod / asGodBreakGlass (dictionary e7519fa8) for god's rows and an...

Kamo·4d ago
TestSecurityService

Fixtures stamp the god-mode window's end; an elapsed window is not elevated (shared SessionPlatformFacts expiry)

**************** now also needs godModeExpiresAt ahead (kamo-shared-library 1.6.1), so the open-window fixtures of the 28 test classes whose gates read it (Sess...

Kamo·4d ago
FixVOIPService

A closed god-mode window is closed here too (shared SessionPlatformFacts reader)

Seventeen VOIPService gates (CallController, the VoIP admin controllers, the SMS inventory and bulk-text controllers, DoNotContactController, RecordingAccessSer...

Kamo·4d ago
FeatureMediaService

The IoT live-topic check carries the subscriber's session, so god's break-glass window can be honoured (IoT R7)

A god-mode window is a property of the session, not the member, and the STOMP authz calls to iot-service named only the member, so god in another org could not ...

Kamo·4d ago
FixMediaService

A closed god-mode window is closed here too (shared SessionPlatformFacts reader)

ViewerPlatformFacts (the ENTER AS SYSTEM USER verdict on support tickets) read GD && godModeActive itself. SecurityService masks an elapsed 30-minute break-glas...

Kamo·4d ago
FixConversionService

A closed god-mode window is closed here too (shared SessionPlatformFacts reader)

**************** read GD && godModeActive itself. SecurityService masks an elapsed 30-minute break-glass window only for its own gates, so this service, reading...

Kamo·4d ago
FeatureMCPGatewayService

An SI on god's order sees and can ask for god's devices (IoT R7, No Insubordination Rule)

IotViewRules: an SI's manifest whose caller block names god's standing (caller.god PLATFORM | BREAK_GLASS) and the requester (caller.godOnOrderOf) keeps SAFETY_...

Kamo·4d ago
TestEmailService

Fixtures stamp the god-mode window's end; an elapsed window is not elevated (shared SessionPlatformFacts expiry)

**************** now also needs godModeExpiresAt ahead (kamo-shared-library 1.6.1). **************** god fixture carries the stamp, and a new case pins that an ...

Kamo·4d ago
FixBillingService

GodModeVerifier judges the god-mode window at its own clock (shared SessionPlatformFacts expiry)

**************** now also needs godModeExpiresAt ahead (kamo-shared-library 1.6.1). windowOpen(session, memberId, now) asked the shared reader at the system clo...

Kamo·4d ago
FixAIService

AiCaller judges the god-mode window at its own clock (shared SessionPlatformFacts expiry)

**************** now also needs godModeExpiresAt ahead (kamo-shared-library 1.6.1). AiCaller.fromSession(session, now) asked the shared reader at the system clo...

Kamo·4d ago
Testkamolos

Fixtures stamp the god-mode window's end; an elapsed window is not elevated (shared SessionPlatformFacts expiry)

LosRightsFilter reads the window through the shared SessionPlatformFacts, which now also needs godModeExpiresAt ahead (kamo-shared-library 1.6.1). The open-wind...

Kamo·4d ago
Featurekamo-shared-library

GodWindows finds a member's open break-glass window among their sessions (IoT R7)

Pure (no stereotype, no Redis client): the caller reads ***UIDX<userId> and hands the sessions in. A window counts only in the member's own session (not imperso...

Kamo·4d ago
Fixkamo-shared-library

A god-mode window is open only until its stamped end (SessionPlatformFacts)

godModeActive() now also needs godModeExpiresAt (epoch millis, number or string) to be after now. SecurityService masks an elapsed window only for its own gates...

Kamo·4d ago
October 18, 2026
FixSecurityService

The endpoint ratchet sees @RequireRight; the org-graph ratchet allows two read-only hits (SITP TPGUARD)

**************** flagged the TP02 billing and commerce-invoice relays. Not a hole: every commerce-invoice handler carries @RequireRight (TenantRightInterceptor ...

Kamo·4d ago
Fixkamo-internal

Deleting an application that must be kept shows why instead of doing nothing (SITP TP21FU)

SecurityService now answers 409 for a received mortgage application (a record of business, withdraw it instead). The delete handler had no catch, so the rejecti...

Kamo·4d ago
FixSecurityService

Staff can delete a never-received mortgage application; a received one answers 409 (SITP TP21FU)

DELETE **************** went through AppMortgageService.delete, which 500'd for every application (borrower satellite rows left behind). The shared library now ...

Kamo·4d ago
FixSecurityService

Every clinical audit row names its patient; pick up the shared-lib audit and updated_at fixes (SITP TP23FU)

Production phi_access_log rows from the clinical audit methods carried no purpose, basis or patient: the shared PhiAccessRecorder dropped them while stamping th...

Kamo·4d ago
Fixkamo-shared-library

Clinical audit rows keep purpose/basis/patient; updated_at stamped on every save (SITP TP23FU)

PhiAccessRecorder stamped occurredAt by rebuilding each event from a field list written before the clinical columns existed, and no caller sets occurredAt, so e...

Kamo·4d ago
Fixkamo-shared-library

Deleting a mortgage application no longer 500s, and a received one is kept (SITP TP21FU)

DELETE **************** failed for every application: AppMortgageService.delete removed the borrowers through the JPA cascade while borrower_declarations / borr...

Kamo·4d ago
Featurekamo-internal

God's controls are usable and need no co-signer (master section 10 R7)

Owner 2026-10-18: god (the platform owner) operates every IoT function; in another org only inside break-glass. The manifest's caller.god (@kamo/iot-core 0.9.0 ...

Kamo·4d ago
Chorekamo-marketing

Rebuild for the owner's legal decisions and the real referral cookie names

The text is in kamo-translation-dictionary b6d42a87 (Privacy 4, 7, 9; Terms 2, 8; Cookie Policy referral rows).

Kamo·4d ago
FixKlusterServices

The deploy-safety audit accepts a reasoned 'spread' exemption for a node-pinned Deployment

Every KlusterServices deploy since run #337 ended red on kamoai-voice (3 replicas pinned to k3m1 by nodeSelector, so no hostname spread is possible). The rule h...

Kamo·4d 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