KamoCRM

Live Change Log

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

18,392
Total Changes
6,527
Features
5,537
Fixes
30
Projects
Filter by project
All Projects18,392AIService276APIService177BillingService161ConversionService117DaemonService146DocsService240ESigService93EmailService619InitializerService344KBService162KlusterServices769MCPGatewayService277MediaService620RAGService79SecurityService1,995TranslateService62VOIPService265VectorService11kamo-apps26kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,692kamo-login342kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,824kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild23CI525Chore794Docs3,286Feature6,527Fix5,537Other1,001Performance174Refactor281Revert23Style45Test175Upgrade1
November 6, 2026
Featurekamo-shared-library

Recordings keep their transcript as timed turns with speakers

RECORDINGS.TRANSCRIPT_TURNS (TEXT, nullable; DDL applied by hand 2026-11-06) holds the transcript as timed turns, each naming who spoke when it is known. The pl...

Kamo·4d ago
FeatureMediaService

Org and member landing links for tracking codes

GET **************** returns the org's link configuration and the caller's own extra links; PUT /links/org (MANAGE_REFERRAL_CODES) and PUT /links/me (VIEW_REFER...

Kamo·4d ago
Fixkamo-internal

The reading-pane subject no longer collapses to one letter per line

The action buttons were flex-shrink-0 beside a min-w-0 title, so in a narrow pane they took the whole row and the subject got zero width. The header now wraps a...

Kamo·4d ago
FeatureKlusterServices

SI infrastructure alerts, and LiveKit alerts page the SI on-call people (SIE1)

**************** (applied by hand, restarts nothing): a blackbox Probe of jicofo, prosody, the meeting ear, FreePBX's console, the Tool Plane, aiservice and kam...

Kamo·4d ago
FeatureMCPGatewayService

One policy decision point for every SI channel, with one explainable decision record (SIE2)

PolicyDecisionPoint answers every authorization question the Tool Plane pipeline asks, in the same order: visibility + rights floor, No Insubordination order an...

Kamo·4d ago
Featurekamo-internal

The Live Changes pane shows the newest ten

Still loads thirty, so the Features and Fixes tabs have ten of their own to show; a live arrival pushes the oldest off the pane. Everything older is on /changel...

Kamo·4d ago
Featurekamo-shared-library

SI incidents, on-call roster and settings, health samples entities (SIE1)

The five SIE1 tables (si_incidents, si_incident_events, si_oncall_members, si_oncall_settings, si_health_samples) declared so KamoInitializer can recreate them....

Kamo·4d ago
TestMCPGatewayService

Golden files over every existing SI authorization decision, before the policy decision point (SIE2)

Charter outcome matrix (1376 cases), every catalogue tool's static decisions (identity open/reply, on-behalf, order call scope, visibility for SI/floor/person s...

Kamo·4d ago
Featurekamo-internal

Live Changes — the launchpad widget and the /changelog page

Every change the platform ships, live: new entries slide in the second they are sent, each badge fills as CI reports the build and the deploy, and a push lands ...

Kamo·4d ago
FeatureMediaService

No client may SEND to /topic/platform/changelog

Live Changes is broadcast to every session; a forged frame would put a change that never happened on every launchpad at once. SecurityService is the only writer...

Kamo·4d ago
FeatureSecurityService

Live Changes — deployment tracking, live frames and the members' feed

- The push webhook records each push to main as a CommitDeployment and stamps its commits with it, then publishes the new entries on security.platform.changel...

Kamo·4d ago
Featurekamo-shared-library

Live Changes — commit deployments and the VIEW_LIVE_CHANGES widget rights (690-695)

CommitDeployment (COMMIT_DEPLOYMENTS) is one push to main, keyed by its head commit, and how far CI has carried it. CommitLog.deploymentHash points each entry a...

Kamo·4d ago
FeatureKlusterServices

Let SecurityService read Forgejo's CI statuses for Live Changes

The Live Changes deployment tracker asks Forgejo (a host process on k1m1, port 3000) where each push is in its pipeline. avatar-resolver-egress allowed only Yug...

Kamo·4d ago
FixKBService

The phone's session header signs in a READ, so KamoMobile can open help, scripts and tasks

KamoMobile calls api.<org> with X-***-Token and cannot mint an OTK, so every KBService read it made (the Password Vault's help article, sales scripts, task list...

Kamo·4d ago
FixMCPGatewayService

Read the address bar's text.content, and pass a shell secret in run_shell's env map (TPVAULT phase 2, live)

Live on a test SI's workstation the address bar's text sat 372 characters after its name; read the node's own content first so a longer states list can't push i...

Kamo·4d ago
FixAIService

A proper 32-byte key for saved provider API keys, no default, no plaintext fallback (TPVAULT side fix)

AI_PROVIDER_KEY (Secret ai-provider-key, 32 random bytes) or the service will not start; new values are v2: + AES-256-GCM with associated data. The old padded-s...

Kamo·4d ago
Refactorkamo-internal

Call Log recordings play in the shared Media Player window

The Listen button opens the existing media-player tool window instead of a second inline player. The tool gains a callLogId source for recordings the phone prov...

Kamo·4d ago
FeatureMCPGatewayService

Vault_list, vault_fill and vault_run_shell, fill-only by reference (TPVAULT phase 2)

The SI names an item; the Tool Plane reads the focused window and the browser's address bar from the machine itself, asks VaultService (which checks the site bi...

Kamo·4d ago
Featurekamo-internal

Password Vault under Organizer (TPVAULT phase 1, with phase 3 screens)

/vault: your own vault and the vaults of SIs you supervise; items by type (sign-ins, API and SSH keys, recovery codes, authenticator keys, Wi-Fi, computer sign-...

Kamo·4d ago
FeatureSecurityService

Password Vault relay and 5-minute re-confirm; attempt limit on the hosted-computer password confirm (TPVAULT)

/api/security/vault/** resolves the session, refuses impersonation, computes the re-confirm freshness on every request (the KREAUTH password marker within 5 min...

Kamo·4d ago
Fixkamo-internal

The Call Log shows each member's photo and their profile card on hover

Rows wrap the member in the shared MemberHoverCard and warm the member-card cache, so faces are photos rather than initials; the team-member picker warms the sa...

Kamo·5d ago
Featurekamo-shared-library

Password Vault entities and VAULT_* access-log events (TPVAULT)

Seven tables for the Password Vault (vaults, items, encrypted fields, an append-only access log, shares, emergency requests, known devices), declared here so Ka...

Kamo·5d ago
Performancekamo-internal

Send the message catalogue by reference, not inside every document

The root layout handed the whole catalogue to the client provider as a prop, so React inlined it into the RSC payload of every document: on /leads/calling 2.96 ...

Kamo·5d ago
PerformanceEmailService

Read a drip's lead by its primary key

DripContacts.lead/stateOfLead wrote "l.uid = ? AND l.org_id = ?", which YugabyteDB's heuristic planner serves from ix_leads_org_id, walking the whole organizati...

Kamo·5d ago
PerformanceSecurityService

Answer an outcome's status write before its follow-ups

Declares LeadStatusFollowUps (shared-lib 5b273d8e): the lead's last contact and pipeline stage after a status write now run on two background threads (bounded q...

Kamo·5d ago
Performancekamo-shared-library

Answer a status write before its follow-ups, and read lead rows by their own key

Call Floor outcome press, profiled with JFR on a SecurityService pod (lab org, 40 presses): the /stage write took 160-360 ms, median ~220 ms. About 90 ms of it ...

Kamo·5d ago
FixVOIPService

The Call Log's provider audio door refuses a line whose provider keeps no recordings

The list only offers Listen for a recording the platform stores or JustCall keeps; the door now asks the same rule before it asks any provider, so a FreePBX cal...

Kamo·5d ago
Featurekamo-internal

A Call Log page under Call / Text

Every call the member made or took and the calls of everyone below them on the reporting line (VOIPService GET /api/voip/calls/log decides the rows). Rows show ...

Kamo·5d ago
ChoreInitializerService

The platform owner's seed password is no longer a literal in source

The value here was also a cluster and Forgejo password. The seed now reads KAMO_SEED_OWNER_PASSWORD, or uses a random one that is never logged. History still ho...

Kamo·5d ago
Featurekamo-internal

View Floor Reports opens the scoreboard and the manager panes

Mirrors VIEW_FLOOR_REPORTS (675) and lets it open the Leads > Scoreboard row and page and the Floor Pulse, Speed-to-Lead Report, Funnel by Lead Source and Coach...

Kamo·5d ago
Fixkamo-internal

Never link to an article kept out of the help center on purpose

Ten articles were in the manifest but not in the live knowledge base. One, SI Goals, Watches and Signals, had simply never been imported; it is now published. T...

Kamo·5d ago
Fixkamo-internal

Keep idle connections open longer than Traefik, so a POST is never sent down a closing one

Node closed an idle keep-alive connection after 5 s; Traefik keeps its idle connections to a pod for 90 s and reuses them. A request sent as Node closed the soc...

Kamo·5d ago
FeatureSecurityService

Seed View Floor Reports to administrators and floor managers

VIEW_FLOOR_REPORTS (675) now opens Floor Activity. On the boot that introduces it, RoleRightsSyncService grants it wherever CONFIGURE_SYSTEM (an organization's ...

Kamo·5d ago
FeatureVOIPService

A Call Log for the member and their reporting line

GET /api/voip/calls/log reads PHONE_CALL_LOG by the indexed time range of the members in view (self + everyone below on the manager field, the owner sees all, t...

Kamo·5d ago
Featurekamo-shared-library

View Floor Reports (675) opens Floor Activity

Floor reports are their own security right (owner, 2026-11-06). VIEW_FLOOR_REPORTS is a standalone CRM root taken from the calling workspace's reservation (676-...

Kamo·5d ago
November 5, 2026
Performancekamo-internal

Paint the next lead first, read ahead during a call, and save the outcome behind the next lead

First paint: the list is asked for at once, beside the member's rights, and its top (limit=6) comes first so the next lead paints before the rest of the list; a...

Kamo·5d ago
Performancekamo-shared-library

Check a page of leads in one read, and read a lead's loans by index seeks

OutreachCheck.checkPage answers a person's check for a page of leads with the same rules and the same decision code as check(): the leads' rows and open points,...

Kamo·5d ago
Fixkamo-internal

Every loan has a column on the board, and the list streams through

Sold / Boarded sat on neither lane of the board, so those loans never showed. It now follows Funded, and any status neither lane names gets a column of its own ...

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