KamoCRM

Live Change Log

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

19,293
Total Changes
7,055
Features
5,847
Fixes
30
Projects
Filter by project
All Projects19,293AIService291APIService184BillingService169ConversionService125DaemonService153DocsService284ESigService106EmailService678InitializerService359KBService167KlusterServices783MCPGatewayService283MediaService644RAGService80SecurityService2,131TranslateService62VOIPService279VectorService11kamo-apps31kamo-asterisk-support32kamo-capcha17kamo-capcha-widget4kamo-internal9,027kamo-login362kamo-marketing642kamo-nowww20kamo-register224kamo-shared-library1,951kamo-signer-monorepo73kamolos121
Filter by type
All TypesBuild23CI528Chore810Docs3,305Feature7,055Fix5,847Other1,009Performance176Refactor286Revert23Style46Test184Upgrade1
August 31, 2026
Featurekamo-shared-library

Carry the report title through a Send To AI dispatch

The dispatch sent the operator's instruction and the bug description and nothing else, so the one line saying what the report is ABOUT never reached the session...

Kamo·2mo ago
August 30, 2026
Featurekamo-internal

Reply to a message, and take the reader to what it answers

MediaService has carried a reply's parent and the quote to draw for it since "send the quote with a reply, not just the pointer"; this is the half that shows it...

Kamo·2mo ago
Featurekamo-internal

Offer Move on a right-clicked message, not only on a ticked one

Right-clicking a message offered Reply, Reply all, Forward, Report Spam, Archive, Label and Delete. Filing it anywhere other than Archive meant dismissing the m...

kamo·2mo ago
Featurekamo-internal

Go To Settings leads the Settings menu, above the app list

Reported with two screenshots — one org with eleven enabled apps, one with two — each circling "Go To Settings" at the bottom of the Settings sub-option menu wi...

kamo·2mo ago
FeatureKlusterServices

64G swap on the dev machine, and catch access that fails intermittently

The blank white page was the VM out of memory. 16Gi of guest RAM with NO swap means "out of memory" goes straight to the OOM killer: applications die mid-work, ...

Kamo·2mo ago
Featurekamo-internal

Make smart folders reachable, and make clicking one work

A smart folder is a saved search that sits where a folder sits: name a question once ("unread, with an attachment") and it is one click away, current every time...

kamo·2mo ago
FeatureMediaService

Send the quote with a reply, not just the pointer

media_objs_msg.parent_id has been there all along and this endpoint has accepted parentId on the way in since threading was modelled, but a reply crossed the wi...

Kamo·2mo ago
Featurekamo-internal

Leave a group chat, and keep the line that records it

Leaving is offered at the foot of the roster popover, separated from the rows above it because it belongs to the member rather than to anyone in the list, and c...

Kamo·2mo ago
FeatureMediaService

Leave a group chat, and keep join/leave lines in the transcript

Leaving is DELETE /sessions/{guid}/membership, not removeMember aimed at yourself — that route refuses self-removal on purpose. Removal is done TO somebody and ...

Kamo·2mo ago
Featurekamo-internal

Open on Chats, a Favourites section, and a group chat you can manage

Five requests from a member, all of them about the same gap: the Chats panel could show you conversations but gave you nothing to do with them. Chats is now th...

Kamo·2mo ago
FeatureMediaService

Name a group chat, star a conversation, remove somebody from a room

Three routes, and each refusal is a rule somebody has to be able to tell apart from an outage — so each carries its own code rather than a shared 4xx. DELETE *...

Kamo·2mo ago
Featurekamo-shared-library

A chat can be named, starred, and have somebody removed from it

Three fields and one method, all of which the chat feature already had the shape for and none of which it could record. MEDIA_SESSION_CHAT gains TITLE. That ta...

Kamo·2mo ago
August 29, 2026
Featurekamo-internal

Bulk add members and team members, with a CSV/XLS import

Two new screens beside the existing Add buttons on /account?tab=members and ?tab=team-members, at /settings/member/bulk-new and /settings/team-member/bulk-new. ...

Kamo·2mo ago
FeatureSecurityService

Bulk-create members and team members, one transaction per record

The two bulk-add screens need to create a spreadsheet of people in one submission and report on each of them individually. That could not be built on the existi...

Kamo·2mo ago
Featurekamo-internal

Say the app is in beta, and that Apple devices aren't ready

Two facts a member needed before scanning anything: KamoMobile is beta, and there is no build for an iPhone or iPad yet. Both change whether someone should star...

Kamo·2mo ago
Featurekamo-internal

A Receivables tab, and payment details on the printed quote

Settings → Account → Receivables is where an organization sets the bank account its customers pay into: the payee, the bank, the routing and account numbers, an...

Kamo·2mo ago
Featurekamo-signer-monorepo

Print the seller's ACH details on the customer's quote

The page a customer opens from a share link now carries a remittance block: who the payment is made out to, the receiving bank, and the routing and account numb...

Kamo·2mo ago
FeatureSecurityService

Store the org's deposit account, and print it on quotes

`/api/security/receivables` is where Settings → Account → Receivables reads and writes. Two rights, not one: VIEW_RECEIVABLES reads the tab, MANAGE_RECEIVABLES ...

Kamo·2mo ago
Featurekamo-shared-library

The deposit account an organization asks customers to pay into

Six columns on `orgs` and the wire contract for printing them on a quote, so a company that receives one knows where to send the money without telephoning to as...

Kamo·2mo ago
Featurekamo-internal

Download the app from a URL that says KamoMobile

the phone showed while downloading was the old one. The same bytes now also sit at **************** and the QR points there. A copy, not a move: the old object ...

Kamo·2mo ago
Featurekamo-internal

The rail's brand row reads "Back to Desktop"

Names the destination in the platform's own vocabulary rather than the generic "Go Home". The expanded row's aria-label follows the visible text, so the accessi...

Kamo·2mo ago
Featurekamo-internal

Say "Go Home" under the org name in the expanded rail

The expanded rail's brand row has always navigated home, but the org name alone reads as a label, so the destination was invisible. The name now sits above a se...

Kamo·2mo ago
Featurekamo-internal

Title the tab "{Org} - {role} Portal", painted before first frame

A member is named by the organization's own word for one — "Harmony - Borrower Portal" for a lender that calls them Borrowers. A team member is named by their D...

Kamo·2mo ago
FeatureSecurityService

Carry the team member's department in the session

The browser tab is being retitled "{Org} - {role} Portal", and a team member's role is their department — the specific thing they identify with day to day ("Sal...

Kamo·2mo ago
FeatureInitializerService

Keep every live domain routing once verification becomes mandatory

Host to organization resolution is about to require ownership_verified on the top-level domain row, so that a domain several organizations have merely named rou...

Kamo·2mo ago
Featurekamo-shared-library

A domain is claimed by proving it, not by typing it

Three rules, and they only make sense together. **Naming a domain claims nothing.** An FQDN was globally unique here, so the first organization to enter "acme....

Kamo·2mo ago
August 28, 2026
FeatureSecurityService

Carry the per-member-type home-screen defaults

Read on POST/PUT /security-models and PUT /master-model, and emitted from /applied-model's settings so the shell can decide where a member lands on "/". A sepa...

Kamo·2mo ago
Featurekamo-shared-library

A security model says where each member type lands on "/"

Three columns on ChildOrgSecurityModel — DEFAULT_MEMBER_HOME_SCREEN, **************** DEFAULT_ORG_OWNER_HOME_SCREEN. Each holds HOME_SCREEN_DEFAULT or REQUIRES_...

Kamo·2mo ago
FeatureInitializerService

The three per-member-type home-screen columns on a security model

CHILD_ORG_SECURITY_MODELS gains DEFAULT_MEMBER_HOME_SCREEN, DEFAULT_TEAM_MEMBER_HOME_SCREEN and DEFAULT_ORG_OWNER_HOME_SCREEN. Each holds HOME_SCREEN_DEFAULT (t...

Kamo·2mo ago
Featurekamo-internal

One list of what the scan found, beside what you are using

The brand section of /network/create becomes three bands with the same shape: what your website has on the left, what your organization is using on the right. ...

Kamo·2mo ago
Featurekamo-internal

A per-member-type default home screen

A security model now says where each of its three member types lands when they open "/". Two values: HOME_SCREEN_DEFAULT is the launchpad everybody has always h...

Kamo·2mo ago
Featurekamo-internal

Create My Free Org becomes a three-step widget

The widget embedded the whole of CreateOrgForm — five sections, the brand preview, the readiness meter — which is roughly 1,400px inside a pane of about 756px. ...

Kamo·2mo ago
Featurekamo-internal

Getting Started card on the Settings landing page

Adds an essential-group card linking to /settings/wizard, matching the makeCard idiom used by its siblings. Dictionary keys already pushed ****************

Kamo·2mo ago
Featurekamo-internal

A SEND TO AI switch on the report form

Right-aligned on the "What are you reporting?" row, off every time the window opens — it starts a session on a machine holding cluster credentials, and a switch...

Kamo·2mo ago
FeatureSecurityService

Send To AI straight off the report form

A holder of MANAGE_SYSTEM_BUGS gets a SEND TO AI switch on the Report Bug window, and submitting with it on hands the report to a session without the triage dia...

Kamo·2mo ago
Featurekamo-internal

Getting Started Configuration Wizard at /settings/wizard

Turns the nine moved wizard steps into an editor over the organization the member is already signed into. Each step now seeds its value from live org data (useO...

Kamo·2mo ago
Featurekamo-internal

The /copilot hero and both scan codes carry the chameleon mark too

were the last two sites, and neither could just take the new src unchanged, because the artwork is a transparent 127x102 silhouette where the raster was an opaq...

kamo·2mo ago
Featurekamo-internal

Swap the mobile-app mark for the chameleon SVG in the rail and on home

raster. Both now draw the KamoMobileApp artwork as vector. Checked in as SVG because that is what the mark is: a single white silhouette with transparent knock...

kamo·2mo ago
Featurekamo-internal

Create My Free Org widget

Ships the same CreateOrgForm the /network/create page renders, in its widget layout, as a home-launchpad widget (org.create) gated on CREATE_FREE_ORG_WIDGET. Re...

Kamo·2mo ago
FeatureKlusterServices

Open Send To AI in a VS Code session tab, not a Konsole window

A dispatch now starts a BACKGROUND session and hands VS Code its session id, instead of running the CLI in a terminal window: Passing the prompt to the URI in...

Kamo·2mo ago
Featurekamo-internal

/network/create is one page; the twelve steps move to /settings/wizard

CreateOrgForm.tsx is one component with two layouts (page/widget), built from Task 7/8's CreateOrgFields model, field groups and OrgBrandPreview. page.tsx is no...

Kamo·2mo ago
Featurekamo-internal

Reusable field groups and the live brand preview

Extracts the inputs from BranchTypeStep, BasicsStep, LogoStep, ColorsStep, AppsStep and AgeRestrictionsStep into five controlled field components (OrgTypePicker...

Kamo·2mo ago
Featurekamo-internal

Getting Started Configuration Wizard button with an attention border

Adds the launchpad's entry point into the setup wizard: an owner-only, rights-gated pill that reads "Getting Started Configuration Wizard (x/9 steps complete)",...

Kamo·2mo ago
Featurekamo-internal

Getting Started wizard step model and client

Adds the client-side step model (app/lib/orgSetupWizard.ts), a thin API client for GET/PUT/DELETE /api/security/org-setup-wizard (app/lib/orgSetupWizardApi.ts),...

Kamo·2mo ago
FeatureSecurityService

Add progress service and endpoints behind the Getting Started wizard

Org-scoped GET/PUT/DELETE under /api/security/org-setup-wizard track which of the nine Getting Started steps an organization has completed. A read never creates...

Kamo·2mo ago
Featurekamo-internal

The maximized pane zooms into the conversation you picked

Switching conversations in the maximized view was an 8px nudge and a 180ms fade — close enough to nothing that the pane looked like it had simply repainted. It ...

Kamo·2mo ago
Featurekamo-internal

Three-column widgets and per-widget minimum sizes

Widens WidgetWidth to 1 | 2 | 3 | 'full' and lets a WidgetDefinition declare minWidth/minHeight. widgetMinSize(definition) converts that into a PaneSize floor (...

Kamo·2mo ago
Featurekamo-internal

Touch up a traced logo by hand, and download the converted file

Four things on the raster-to-vector converter and the simple logo slot. **The scroll bar on the raster options is three times wider.** 4px was a hard target to...

Kamo·2mo ago
Featurekamo-internal

One-page field set and the defaults that replace the dropped steps

CreateOrgFields is what the new single-page /network/create form actually asks for: a branch type, name, alias, the app switches, and a handful of optional fiel...

Kamo·2mo ago
Featurekamo-shared-library

Create My Free Org widget rights and Getting Started wizard progress

Adds RoleRightType 288-292 (CREATE_FREE_ORG_WIDGET and its four ADDED/OPTIONAL/ REQUIRED/MOVABLE policy children), hung off CREATE_CHILD_ORG (131). Adds OrgSetu...

Kamo·2mo 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