Live Change Log

See what we're building, in real-time. Every feature, fix, and improvement shipped across the platform.

17,992
Total Changes
4,652
Features
4,558
Fixes
32
Projects
Filter by project
All Projects17,992AIService112APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService386InitializerService303KBService74KlusterServices547MCPGatewayService43MediaService462RAGService61SecurityService1,530TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,602kamo-login319kamo-marketing588kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,328kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI523Chore670Docs231Feature4,652Fix4,558Other6,781Performance136Refactor274Revert23Style48Test71Upgrade1
April 22, 2026
FixSecurityService

Harden default template copy for org provisioning

Use explicit source prefix for destination keys, skip S3 folder markers, and fail fast when the template prefix is empty so silent partial copies do not reach g...

Kamo·4mo ago
Fixkamo-shared-library

Union listObjects across nodes for complete key sets

The first reachable MinIO node could return an empty listing while other nodes held replicated objects, which broke recursive copies such as theme template sync...

Kamo·4mo ago
FixSecurityService

Include teamMember owner flag in *** for platform admin UI

Store teamMember { memberId, isOrganizationOwner } in Redis session at login so kamo-internal hasPlatformAdminAccess can satisfy the top-level org owner path. E...

Kamo·4mo ago
Fixkamo-internal

Stop duplicating query string in access-logs API proxy

forwardToApi already appends the incoming request search string. Embedding ?params in the path produced malformed URLs and Spring failed to parse page/size (Num...

kamo·4mo ago
April 21, 2026
FixSecurityService

Drop mail from required DNS CNAME aliases

Remove mail from KnownAliases so verify-dns and onboarding no longer require mail.example.com; new custom domains also skip auto-creating the mail child alias.

Kamo·4mo ago
Fixkamo-internal

Align required subdomain list without mail

Match SecurityService KnownAliases for DNS setup UI and manual guide.

kamo·4mo ago
Fixkamo-internal

Honor security model for ages and ATF on behavior labeling

Parse boolean compliance literals from the API. Build age dropdowns from normalized whitelist tokens and numeric AgeReq ids; avoid showing the full age list whe...

kamo·4mo ago
FixSecurityService

Correct applied-model source and normalize compliance in API

Use resolver resolution for BRANCH_TYPE vs MASTER instead of inferring from branchTypeID alone. Normalize FALSE/TRUE compliance literals in applied-model settin...

Kamo·4mo ago
Fixkamo-shared-library

Applied model source resolution and compliance policy normalization

Expose resolveAppliedModelWithSource so callers know whether the active model came from the branch type or master fallback. Map FALSE/TRUE/0/1 compliance litera...

Kamo·4mo ago
Fixkamo-internal

Cache-bust theme CSS and assets via themeRevision

Fetch config with no-store; append v=themeRevision to globals.css and favicon URLs so browsers drop stale cached theme after each provision.

kamo·4mo ago
FixSecurityService

Write globals.css before cleanup; run cleanup async

Reorder provisionUpdate so writeConfigFiles (colors, config, manifest) runs before background file cleanup. Reload org from DB for fresh colors. Run cleanupExt...

Kamo·4mo ago
FixSecurityService

Apply committed org colors to MinIO globals.css

Reload Organization from the DB at the start of async provision so writeConfigFiles sees colors saved by PATCH /colors (controller snapshot could be stale). Nul...

Kamo·4mo ago
FixEmailService

Fall back to org_domains when no email_provider_domains default set

KamoMailDomainValidator was hard-failing with 403 for orgs that have a DNS-verified domain in org_domains but never added it to the email provider domain regist...

Kamo·4mo ago
Fixkamo-internal

Use getMemberIdString() in NavTop to prevent int64 precision loss

getMemberId() converts the CockroachDB unique_rowid to a JS number, truncating IDs > MAX_SAFE_INTEGER (e.g. 1168485658174423046 → ...000). Switch all NavTop mem...

kamo·4mo ago
FixSecurityService

Mark DNS-verified custom domains as isDefault in domain API

Previously only *.kamocrm.com subdomains were marked isDefault, so orgs with a verified custom apex domain (e.g. kamocrm.com) always got defaultDomain=null and ...

Kamo·4mo ago
Fixkamo-internal

Send avatar UUID strings to member PUT, not parseInt

Avatar IDs are UUIDs; parseInt produced NaN or truncated values so member avatar updates were skipped or wrong after refresh. Use string IDs for upload, Avatar ...

kamo·4mo ago
FixSecurityService

Mint missing ownership TXT token on read

Kamo·4mo ago
FixSecurityService

Allow branding when user is org owner TeamMember

Theme provisioning and logo/background uploads only checked Organization.owner FK; the app UI treats organization owner as TeamMember.isOrganizationOwner, which...

Kamo·4mo ago
Fixkamo-internal

Show message when photo crop source image is missing

Helps when storage files were removed but the avatar row still exists.

kamo·4mo ago
FixSecurityService

Clear user and member FKs before deleting avatar row

Deleting an avatar failed with a DB constraint when it was still the active user avatar or a member-specific override, which matched broken MinIO blobs where us...

Kamo·4mo ago
Fixkamo-internal

Handle provision-theme HTTP errors and reset provisioning UI

Await POST /provision-theme after branding and background saves; on non-202 show the API error and clear the panel. Increment themeProvisionSession for backgrou...

kamo·4mo ago
FixSecurityService

Resolve theme folder host without strict DNS verification

Theme provisioning required isDnsVerified for every domain, so orgs using only the default kamocrm.com subdomain never started async work (400, no STOMP). Fall ...

Kamo·4mo ago
Fixkamo-internal

Connect STOMP before POST to avoid lost progress

WebSocket was only started when provisioning became true, while provision-theme fired in the same turn; async backend could publish before STOMP subscribed. Con...

kamo·4mo ago
FixMediaService

Relay theme provision from core NATS

Match SecurityService core publish: subscribe with Dispatcher on security.theme.provision.* instead of JetStream (stream only covers chat).

Kamo·4mo ago
FixSecurityService

Publish theme provision progress on core NATS

JetStream CHAT_MESSAGES stream is configured for chat.> only, so publishes to **************** failed stream validation and the UI saw no progress. Use Connecti...

Kamo·4mo ago

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing