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 18, 2026
Fixkamo-marketing

A scanner probe no longer spends the catalogue rate limit

A dotted path (/info2.php, /.env) skips the locale middleware and reaches [locale]/page.tsx as locale "info2.php". The layout 404s it, but the page renders besi...

Kamo·5d ago
Fixkamo-internal

Hexhead side corners are no longer cut off

The hexagon's side points sit on the 0-100 viewBox edge while its flat top and bottom have 6.7 units to spare, so the clipping SVG shaved half the outline and t...

Kamo·5d ago
Fixkamo-internal

The keys tip on the tour card always shows in full

The "Tip: use the arrow keys to move" line shared the button row with Back and the primary button. A long label such as "Next tour: Service Work" left it no roo...

Kamo·5d ago
FeatureKlusterServices

Pre-issue iot.<apex> certificates, PDB kamowebiot, availability probe

iot joins BROWSER_ONLY_ALIASES and STATIC_DOMAINS on both platform apexes so the first share recipient never meets a missing certificate; monitoring/ is applied...

Kamo·5d ago
Docskamo-internal

SP07 contract deviations [skip ci]

Kamo·5d ago
FeatureSecurityService

SP12 remote-monitoring management time entries

Kamo·5d ago
FeatureSecurityService

SP12 clinician-set limits and the alert worklist

Kamo·5d ago
October 15, 2026
Docskamo-internal

CP-D105 — the No Insubordination Rule: a team member's direct order lends an SI their rights for that run; talk lends nothing

Owner ruling 2026-10-15, refined the same day. Trigger, scope (one delegation point, order-scoped ***, SI floor and own denials kept, no transitive lending), CP...

Kamo·1w ago
FixMCPGatewayService

"list…", "show…", "give me…" and "pull up…" are orders too, and a run with no order says why in the log

Live check in sp00verify (2026-10-15): a peer's "Nell, list the open tasks assigned to you and tell me how many there are." verified as their request (author, a...

Kamo·1w ago
Fixkamo-internal

The do-not-contact screens read clearly to everyone — "Call anyway" and the history's Removed chips in the error colour (warning failed contrast), spinners named, the removal sentence names the channel as written

Follows 35421d4d. Found by the component-harness screenshots and axe (color-contrast on the warning-coloured text button and chip; aria-progressbar-name on the ...

Kamo·1w ago
Featurekamo-internal

A run's tool calls say when the SI acted on a teammate's order, and with which of their rights

The No Insubordination Rule (owner 2026-10-15): a tool call an SI made on a teammate's direct order carries the order's basis, the teammate and the rights they ...

Kamo·1w ago
FeatureMCPGatewayService

The No Insubordination Rule — an SI carries out a teammate's direct order on their rights

Owner 2026-10-15, refined the same day: "It should apply to any team member. But just because a team member (human or SI) has more rights, does not mean that au...

Kamo·1w ago
FeatureSecurityService

The No Insubordination Rule — a teammate's direct order lends an SI their rights for that run

Owner 2026-10-15, refined the same day: any team member (a person or another SI) who gives an SI a direct order lends it their rights for the work that carries ...

Kamo·1w ago
Featurekamo-internal

Settings → Phone → Do not contact, and the softphone warns before calling a listed number

Owner 2026-10-15: one company-wide do-not-contact list per organization, scoped per channel. - Settings → Phone → Do not contact (MANAGE_VOIP_SETTINGS, setting...

Kamo·1w ago
Featurekamo-internal

SI routing shows what SIs use now — the effective model per kind of work and whether the org's order or the automatic default chose it; for speech-to-text, the model on phone calls and in meetings, streamed or per sentence, with the automatic accuracy-ranking hint

Owner 2026-10-15: "If a model is added and enabled to the SI Providers that supports speech to text, it should use the best one." Reads AIService's effective / ...

Kamo·1w ago
FixMCPGatewayService

A team member's call to a number on the do-not-contact list reads as who asked not to be called, and since when

kamoai-service 8b7b8d5 added the organization's do-not-contact list for calls (K6 409 DO_NOT_CONTACT), and a team member's call now carries the day the number w...

Kamo·1w ago
ChoreVOIPService

One-time backfill of the do-not-contact list from earlier opt-outs

Run once on 2026-10-15 05:07Z (yb-tserver-0, admin role), by key from the opt-out tables only (no lead, contact or member table is read): CALL from SI-call "sto...

Kamo·1w ago
ChoreVOIPService

Delete the do-not-contact backfill after its run

Ran 2026-10-15 05:07Z; a second run inserted nothing (re-runnable, ON CONFLICT). Entries added (each with its ADDED event): CALL 2 (VOICE_OPT_OUT: +194929899...

Kamo·1w ago
FeatureEmailService

Email unsubscribes reach the do-not-contact list, and campaigns, shares and an SI's mail check it

Owner 2026-10-15: one company-wide do-not-contact list per organization, scoped per channel; an email unsubscribe blocks email only. - Writer: MirroringEmailOp...

Kamo·1w ago
FixMCPGatewayService

An uncited wake stands for an outside call only when its words ask for a call

The run's own wake (RequestVerifier.inferFromRun) is the request for a call to a colleague, but someone outside the org is rung on a teammate's name, with no co...

Kamo·1w ago
FixMCPGatewayService

Phone_call calls whoever a team member named, looked up by name, with no approval and no consent gate, and never anyone else

Owner 2026-10-15: "When a supervisor, or any team member for that matter, tells SI to call someone else on the team, they should call them. No questions asked, ...

Kamo·1w ago
FeatureVOIPService

The organization's do-not-contact list — VOIPService owns it, texts check it, STOP and START write it

Owner 2026-10-15: one company-wide do-not-contact list per organization, scoped per channel ("Only that channel"). - DDL **************** (DO_NOT_CONTACT, DO_N...

Kamo·1w ago
Featurekamo-shared-library

The organization's do-not-contact list, per channel

One company-wide list per organization (owner 2026-10-15), scoped per channel: a CALL entry blocks calls only, SMS texts only, EMAIL email only. Package com.kam...

Kamo·1w ago
Featurekamo-shared-library

AiCallEventType.TEAM_REQUEST records who asked for an SI's call and the message to deliver

Owner 2026-10-15: when a team member asks an SI to call someone, the SI calls them with no approval and no consent gate, says who it is calling for, delivers th...

Kamo·1w ago
Featurekamo-internal

SI routing shows "Phone calls and meetings" — the VOICE_CONVERSATION slot's own model order, with a hint that names its fallback order

Owner 2026-10-15: SI phone calls on their own model order, chat unchanged. routingApi mirrors shared-lib AiRoutingSlot (ROUTING_SLOTS) and the slot entry's kind...

Kamo·1w ago
Featurekamo-internal

A member may let SI colleagues greet them with the short form on internal calls

SI call disclosure, owner decision 11 (2026-10-15): the SI colleagues card on the member's own profile (Work room) gets "Short greeting on calls with SI team me...

Kamo·1w ago
Fixkamo-internal

An edit that changes nothing cannot be saved

Opening an event and pressing Save without touching anything rewrote it — and, for a meeting with guests, could ask whether to tell them about a change that did...

Kamo·1w ago
FeatureAIService

SI phone calls and meetings route on their own model order — kamo:voice[:light|medium|heavy] on E2 routes as chat in the VOICE_CONVERSATION slot, and Settings → SI routing lists, offers and saves the slot

Owner 2026-10-15: "Use gpt-6-sol for calls"; chat and everything else stay on their order. - ModelSelector: kamo:voice and kamo:voice:<quality> (chat only) are ...

Kamo·1w ago
Featurekamo-shared-library

A routing slot for SI phone calls and meetings — **************** routes as TEXT_GENERATION with TOOL_CALLING required, and CapabilityRequest carries the slot (null for every existing call)

Owner 2026-10-15: SI phone calls get their own model order; chat and everything else stay as they are. A slot is not a model capability: its order is stored in ...

Kamo·1w ago
FeatureSecurityService

A person may let SI colleagues greet them with the short form on internal calls

SI call disclosure, owner decision 11 (2026-10-15): the colleague short form ("Hi Sage, it's Luna, the automated assistant.") is used only for active staff who ...

Kamo·1w ago
FixMediaService

Adding somebody never opens what was already said to them

POST /sessions/{guid}/members always grew the room in place, so a third person added to a two-person chat could read everything the first two had said. It now r...

Kamo·1w ago
Fixkamo-internal

An add the server moved to another chat opens in its own window

Adding somebody to a conversation that already has messages no longer grows that room (MediaService now moves the add to the chat for the new set of people). Op...

Kamo·1w ago
Featurekamo-internal

A meeting in a message — add it once, and see what its organiser changed

The strip that said "Not on your calendar" and nothing else becomes the meeting's card: a date tile, the time in the member's zone with the organiser's own cloc...

Kamo·1w ago
FeatureEmailService

A meeting that arrives by email asks once, then keeps itself current

A new invitation in the mail reader now offers "Add to calendar". Once a member has added it, the organiser's follow-ups apply on their own: a moved time, a new...

Kamo·1w ago
October 14, 2026
FixBillingService

Seat the organization's existing staff when it starts paying

Turning PAID seated only the buyer; everyone else hit "This needs a licensed seat" on the product just bought until the owner assigned seats by hand. On the tra...

Kamo·1w ago
Fixkamo-shared-library

Seat an organization's existing staff when its subscription is set up

A comp, like a first purchase, created its seats UNASSIGNED and seated the owner alone. Everyone else waited for the owner to hand seats out in Billing, which n...

Kamo·1w ago
FixEmailService

A member's mail carries the name on their member profile

9351aac named a nameless From with the mailbox row's display_name first, and kept any name the request sent. The composer sends that same row name, and rows can...

Kamo·1w ago
Featurekamo-internal

Explain Confidential, Record a decision and Disclosure history to a first-time member, and give all three a premium dialog

Each tool now opens with a plain-words, three-step guide the first time a member uses it (remembered per member on the server via the UI-preference map, key fea...

Kamo·1w ago
Featurekamo-internal

Speak your message, hands-free conversation and read replies aloud in every chat window

The public web chat's voice — dictation, replies read aloud, and a hands-free loop — now runs in every chat-style tool window: member chat (including chats with...

Kamo·1w 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