KamoCRM

Live Change Log

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

17,662
Total Changes
6,080
Features
5,341
Fixes
30
Projects
Filter by project
All Projects17,662AIService261APIService174BillingService158ConversionService110DaemonService138DocsService223ESigService91EmailService587InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService604RAGService79SecurityService1,874TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,413kamo-login340kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,682kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild16CI523Chore776Docs3,257Feature6,080Fix5,341Other998Performance165Refactor278Revert23Style42Test162Upgrade1
August 15, 2026
FeatureSecurityService

Dev machine service and controllers

Username derives from the member ACCOUNT email, not the TeamMember work email — a work address can sit on another domain and would silently produce a different ...

Kamo·2mo ago
FeatureSecurityService

HTTP client for the dev machine provisioning agent

health() swallows transport failures and answers false so the SSO preflight can return an actionable 503 rather than a 500.

Kamo·2mo ago
FeatureSecurityService

AES-GCM secret codec and POSIX username derivation

Codec is deliberately reversible — RDP auto-login needs a real password — and uses GCM so a tampered or wrong-key row fails loudly rather than decrypting to noi...

Kamo·2mo ago
Featurekamo-shared-library

Dev_machine_accounts entity, status enum and repository

status and enabled are deliberately separate: a provisioned-but-disabled account keeps its home directory, so re-enabling restores access rather than rebuilding...

Kamo·2mo ago
FeatureKlusterServices

Agent secrets in CI, guacamole liveness, availability alerts

Alert expressions verified against the live Prometheus. Uses kube-state-metrics rather than kubevirt_* — the KubeVirt metrics endpoint is not scraped here, so r...

Kamo·2mo ago
FeatureKlusterServices

Idempotent agent installer, shared by cloud-init and live installs

Staged under /opt/kamo-desktop-agent so install-agent.sh has a distinct source and destination. Covers netplan-by-driver, cloud-init network disable, xrdp sessi...

Kamo·2mo ago
FeatureKlusterServices

Add the provisioning agent and its unit tests

Python 3 stdlib only. Every mutation runs subprocess with an argv list, never a shell string; passwords go to chpasswd on stdin so they stay out of /proc.

Kamo·2mo ago
FeatureSecurityService

Send int64 ids to the browser as strings, without touching sessions

CockroachDB unique_rowid() ids are 19 digits, past Number.MAX_SAFE_INTEGER, so an id sent as a JSON number arrives in the browser with its low digits rounded aw...

Kamo·2mo ago
Featurekamo-login

Replace the stock alert with an animated status plate

The inline sign-in messages ("Login successful! Redirecting...", "Invalid username and/or password.") used MUI's default Alert, whose pastel fill plus matching ...

Kamo·2mo ago
Featurekamo-marketing

Add the 25-year anniversary seal

Two placements, both chosen for where the claim is already being made: Footer — 60px, beside "© 2001–<year> ... established 2025". Site-wide, ...

Kamo·2mo ago
Featurekamo-marketing

Show the 2001 copyright range and the incorporation year

Renders "© 2001–<year> KamoCRM. KamoCRM Inc. established 2025. All rights reserved." The range start is hard-coded next to the dynamic end year rather than livi...

Kamo·2mo ago
Featurekamo-marketing

Add the meeting and payroll integrations

Zoom and Microsoft Teams for meetings, and the ten payroll vendors — ADP Workforce Now, BambooHR, Dayforce, Gusto, Paychex Flex, Paycor, Paylocity, Rippling, UK...

Kamo·2mo ago
Featurekamo-marketing

Count apps and integrations separately with real numbers

"Apps & Integrations" was one tile reading 31+. It is now two, each with a figure that can be re-derived rather than estimated: Apps 64 — Forgejo pro...

Kamo·2mo ago
Featurekamolos

Enable ProxyHmacFilter — step 2, X-Org-Id is now a proven header

los.proxy-hmac.enabled has been falling through to its false default since this service deployed, so ProxyHmacFilter existed and never ran. X-Org-Id — the heade...

Kamo·2mo ago
Featurekamo-internal

Sign the proxy identity headers — step 1 of enabling ProxyHmacFilter

KamoLOS trusts X-Org-Id and X-Member-Id from this proxy. ProxyHmacFilter exists to prove those headers really came from here, but it is disabled in production: ...

kamo·2mo ago
FeatureSecurityService

Resolve the KamoMeet logo overlay into config.json

KamoMeet is a Meet fork with no access to OrgContext, so it learns org branding from the theme config.json this service bakes. The org stores an overlay TOKEN; ...

Kamo·2mo ago
FeatureInitializerService

Add the kamomeet_logo_overlay column

Third overlay surface: the KamoMeet pre-meeting screen. Same shape as the other two — nullable, no backfill, no DEFAULT. The drift guard needed only its field ...

Kamo·2mo ago
Featurekamo-shared-library

Carry the KamoMeet logo overlay on Organization

Third and last overlay surface, same vocabulary as its two siblings, plus its branch in the generic patch path. This one is different in where it ends up. The ...

Kamo·2mo ago
Featurekamo-internal

A logo overlay for the KamoMeets pre-meeting screen

Third and last surface, offered next to the other two — same thirteen options, its own setting, default No Overlay. Hidden unless the org can actually reach th...

kamo·2mo ago
FeatureInitializerService

Purge the reports and dashboard rows, and stop seeding VIEW_DASHBOARD

VIEW_DASHBOARD (0), VIEW_REPORTS (1) and EXPORT_REPORTS (2) were deleted from RoleRightType today, along with the two pages they named. This removes what they l...

Kamo·2mo ago
Featurekamo-shared-library

Delete VIEW_DASHBOARD, VIEW_REPORTS and EXPORT_REPORTS

All three named pages that existed on disk and were backed by nothing: app/dashboard rendered sample posts straight out of i18n, app/reports imported framer-mot...

Kamo·2mo ago
Featurekamo-internal

App icons on the wizard's Apps & Features step

The create-network wizard drew each app as the first letter of its name, so the same app was a storefront on Settings -> Features and an "S" here. The icons alr...

kamo·2mo ago
Featurekamo-internal

A solid-colour overlay for the loading screen logo too

Adds "Loading Screen Logo Overlay" directly under the home page one on **************** with the same thirteen options, applying to the logo on the screen shown...

kamo·2mo ago
FeatureInitializerService

Add the loading_logo_overlay column

Second surface for the logo overlay feature: the loading screen shown between page navigations, alongside the home page masthead. Both ALTERs live in the one r...

Kamo·2mo ago
Featurekamo-shared-library

Carry the loading screen logo overlay on Organization

The same overlay vocabulary as homeLogoOverlay, applied instead to the logo on the loading screen shown between page navigations, plus its branch in the generic...

Kamo·2mo ago
Featurekamo-internal

Pick the assigned agent from the directory, not a dropdown

The Assigned Agent field is now the same control as Manager on a member's profile: a read-only field that opens the searchable member picker. A dropdown could o...

kamo·2mo ago
FeatureSecurityService

Narrow the member search to holders of a given right

The lead assignment picker needs the directory to return only people who can actually work a lead, so /team-members/search takes a requiredRight. An unrecognise...

Kamo·2mo ago
Featurekamo-shared-library

Let the directory filter by right, and let a lead be unassigned

Two things the assignment picker needs. The directory queries take an allowed-id set so a caller can narrow the search to the people a thing may actually be gi...

Kamo·2mo ago
Featurekamo-internal

The editors say "Enforced as MANAGE_TIMECARDS" instead of "Not yet enforced"

One chip was carrying two different truths and misleading in opposite directions. Unbuilt means nothing checks the right and granting it does nothing. Supersede...

kamo·2mo ago
Featurekamo-shared-library

Carry the home page logo overlay on Organization

The solid colour an org can paint over the masthead logo on the kamo-internal home page, plus its branch in the generic patch path so the existing PUT /org/{id}...

Kamo·2mo ago
FeatureInitializerService

Add the home_logo_overlay column

Backs the Home Page Logo Overlay setting: the solid colour an org can paint over the masthead logo on the kamo-internal home page. Holds a token rather than a ...

Kamo·2mo ago
Featurekamo-internal

Let an org paint the home page logo a solid colour

Adds "Home Page Logo Overlay" to Branding on **************** directly above Background Watermark: No Overlay, White, Black, and every step of the org's own pri...

kamo·2mo ago
FeatureInitializerService

Purge VIEW_EMAIL_LOGS rows, and stop a test rotting when ordinals shift

VIEW_EMAIL_LOGS (64) was deleted from RoleRightType today for naming a feature that was never built. This removes what it left behind — measured at 42 role rows...

Kamo·2mo ago
Featurekamo-shared-library

Delete VIEW_EMAIL_LOGS, which names a feature nobody built

No email log exists anywhere in the platform: no table in any schema, no endpoint among EmailService's 21 controllers, no UI, and no reference in the frontend —...

Kamo·2mo ago
Featurekamo-internal

Put the note composer at the top of All Communications

The composer only existed on the Notes sub-tab, so writing a note about what you were reading meant leaving the tab you were reading it on. All now carries the ...

kamo·2mo ago
Featurekamo-internal

Choose the new org's apps while creating it

Adds an Apps & Features step between Type and Basics. It lists the apps the chosen branch type's security model actually offers -- the forced ones as "Always in...

kamo·2mo ago
FeatureSecurityService

Let the creator choose the new org's apps

The network-create wizard gains an Apps & Features step, and this is the half that makes it real. /branch-types/creatable now describes the apps each branch ty...

Kamo·2mo ago
Featurekamo-shared-library

Rewrite the app catalog copy for the people who read it

The display name and description on ServiceType are the only description of an app most people ever see: an org admin on Settings -> Apps & Features, a parent-o...

Kamo·2mo ago
FeatureSecurityService

Protect god accounts on the platform administrator list

A god account's platform rights may be changed only by another god, and a god account can never be removed from the list — by anyone, including another god. Go...

Kamo·2mo ago
Featurekamo-internal

God accounts are protected on the platform admins list

Two rules the server enforces and this only mirrors: a god account's platform rights can be changed by another god and nobody else, and a god account can never ...

kamo·2mo ago
FeatureSecurityService

Bake the org's background order into config.json

kamo-login, kamo-register, the marketing site and KamoMeet all read the theme bucket's config.json for backgroundImageCount; backgroundOrder now rides alongside...

Kamo·2mo ago
Featurekamo-shared-library

Background_order column for the public slideshow order

Nullable VARCHAR; null resolves to sequential on every client, which is what every org had before the column existed. Plain String rather than an enum so a late...

Kamo·2mo ago
FeatureInitializerService

Purge the stored rows for the two retired notes rights

SHARE_NOTES (72) and MANAGE_NOTES_SETTINGS (73) were deleted from RoleRightType today for having no feature to gate. This removes what they left behind, counted...

Kamo·2mo ago
Featurekamo-shared-library

Delete SHARE_NOTES and MANAGE_NOTES_SETTINGS, which name nothing

Notes are real, and as of today fully gated — VIEW, CREATE, EDIT and DELETE are enforced on every endpoint of KBService's NotesController. These two had nothing...

Kamo·2mo ago
FeatureInitializerService

Add orgs.background_order

Nullable VARCHAR(20), no backfill and no DEFAULT — every client resolves an absent value to sequential, which is the behaviour every org had before the column e...

Kamo·2mo ago
Featurekamo-marketing

Read the org's real background count and play order

The hero probed for bg/1.webp and then hardcoded three frames, so an org with more never showed them and the rotation modulo'd by LOCAL_BGS.length regardless of...

Kamo·2mo ago
Featurekamo-register

Honour the org's sequential/shuffle slideshow order

Same config.json contract as kamo-login: backgroundOrder drives all three registration backgrounds, absent key stays sequential.

Kamo·2mo ago
Featurekamo-login

Honour the org's sequential/shuffle slideshow order

config.json now carries backgroundOrder alongside backgroundImageCount. Shuffle re-randomises on every advance and never repeats the frame on screen; an absent ...

Kamo·2mo ago
FeatureSecurityService

All-networks follows the System User right

Seeing every organization and being able to enter one are the same decision — the list exists so an operator can find the organization they are about to support...

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