KamoCRM

Live Change Log

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

15,120
Total Changes
5,169
Features
4,935
Fixes
30
Projects
Filter by project
All Projects15,120AIService197APIService161BillingService143ConversionService107DaemonService129DocsService215ESigService88EmailService518InitializerService318KBService105KlusterServices697MCPGatewayService85MediaService546RAGService71SecurityService1,658TranslateService55VOIPService205VectorService11kamo-apps25kamo-asterisk-support24kamo-capcha17kamo-capcha-widget4kamo-internal6,937kamo-login330kamo-marketing625kamo-nowww20kamo-register213kamo-shared-library1,455kamo-signer-monorepo53kamolos108
Filter by type
All TypesBuild11CI523Chore738Docs2,167Feature5,169Fix4,935Other986Performance157Refactor274Revert23Style42Test94Upgrade1
April 22, 2026
Fixkamo-internal

Preserve int64 org id on create-org redirect to DNS setup

POST /api/security/org: pass through upstream JSON instead of re-parsing, so response bytes keep full id digits. createOrganization reads raw body and extracts ...

kamo·5mo 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·5mo ago
April 21, 2026
Fixkamo-internal

Align required subdomain list without mail

Match SecurityService KnownAliases for DNS setup UI and manual guide.

kamo·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo ago
Fixkamo-internal

Use string org IDs for security org API and theme WS

getOrgId() coerced orgID with Number(), corrupting int64 Cockroach IDs in /api/security/org/{id}/* URLs (404/failed saves). Add getOrgIdString(), use it in Labe...

kamo·5mo ago
Fixkamo-internal

Restore Modify DNS for current org owners

kamo·5mo ago
Featurekamo-internal

Clear wizard sessionStorage on fresh create via ?fresh=1

Navigate from Network to create with ?fresh=1, strip the query, and use a short-lived lock so React Strict Mode does not restore an old draft before persist run...

kamo·5mo ago
Fixkamo-internal

Normalize JSON Content-Type and surface Spring error fields

Force a single application/json header for JSON proxy bodies; org route always sets it. Map Problem Details title/detail in createOrganization errors.

kamo·5mo ago
Chorekamo-internal

Remove autocommit rule

kamo·5mo ago
Featurekamo-internal

Compliance wizard from security model policies

- Branch types API maps alcohol/tobacco/firearms policies into wizard state - Dynamic Compliance step: omit from nav when model fixes all ATF and ages - Age and...

kamo·5mo ago
Fixkamo-internal

Ensure JSON Content-Type when proxying to SecurityService

Organization creation returned 415 Unsupported Media Type because upstream Spring expects application/json for @RequestBody. Node fetch could omit or default Co...

kamo·5mo ago
April 20, 2026
Fixkamo-internal

Hide Enter for org matching session org id

kamo·5mo ago
Fixkamo-internal

Compare member IDs as strings for self-check and redirect

User-info API returns memberID as string to preserve int64 precision. isSelf used Number() and strict equality with mixed types, so viewing your own /settings/m...

kamo·5mo ago
Fixkamo-internal

Repair TicketChat real-time updates after load race

Defer STOMP subscription until initial message fetch finishes so setMessages from the API cannot wipe messages delivered during load. Clear messages when sessio...

kamo·5mo ago
Fixkamo-internal

Hide deprecated play (and app/media) with case-insensitive matching

- Lowercase statusMap keys and lookups so verification aligns with API casing - Treat hidden infra labels case-insensitively - Strip deprecated labels from effe...

kamo·5mo ago
Fixkamo-internal

Security role save for locked roles and clearer API errors

- When isAllowEditSecurity is false, omit rights and securityModelIds from the PUT body so SecurityService accepts metadata-only updates (session timeout, d...

kamo·5mo ago
Fixkamo-internal

Proxy PATCH membership-type to SecurityService

The member profile UI called **************** but no App Router handler existed, so Next returned HTML 404 and the client showed Unknown error after failed JSON...

kamo·5mo 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