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
March 31, 2026
Featurekamo-internal

User-friendly vector conversion flow with auto-convert for vector formats

UX improvements: - Replaced all "SVG" terminology with "vector" for non-technical users - Added educational guidance explaining why conversion is needed - Steps...

kamo·6mo ago
Featurekamo-internal

Add 8 draggable resize handles on crop selection edges and corners

- 4 corner handles (tl, tr, bl, br) with diagonal resize coders - 4 edge midpoint handles (tc, bc, ml, mr) with horizontal/vertical coders - Handles are draggab...

kamo·6mo ago
Featurekamo-internal

Replace react-easy-crop with freeform drag-to-select rectangle tool

react-easy-crop forced square/fixed-aspect selections. New canvas-based tool lets users click and drag any rectangle at any aspect ratio. Shows dimmed overlay o...

kamo·6mo ago
Fixkamo-internal

Show logo image on background picker step using img element

Canvas element wasn't rendering because it started with 0x0 dimensions. Use a visible <img> for display and an offscreen canvas for pixel sampling.

kamo·6mo ago
Fixkamo-internal

Combine docker login, build, and push in single step to preserve auth

Separate steps lose docker credentials between Forgejo runner step boundaries. Running login+build+push in a single shell ensures the auth config persists.

kamo·6mo ago
Featurekamo-internal

Add background color picker step and improve SVG conversion UX

- Added "Pick Background" step between Crop and Process - Users click on the image to select the background color to remove - Shows selected color swatch with R...

kamo·6mo ago
Fixkamo-internal

Use docker build/push directly instead of build-push-action

The docker/build-push-action with driver:docker loses auth credentials during the push phase. Using plain docker build + docker push ensures the login credentia...

kamo·6mo ago
Fixkamo-internal

Connect WebSocket directly to vector.{domain} subdomain

Next.js rewrites don't proxy WebSocket upgrade requests. Connect directly to the VectorService via its own subdomain, same pattern as media WebSocket.

kamo·6mo ago
Fixkamo-internal

Update service references to vectorservice

kamo·6mo ago
Featurekamo-internal

Add image-to-SVG conversion pipeline with reusable modal component

- New ImageToSVGConverter modal component with 3-step flow: Crop → Process → Review - WebSocket hook (useImagePipeline) for streaming pipeline communication - C...

kamo·6mo ago
March 30, 2026
Fixkamo-internal

Add missing Docs nav item to NavPri sidebar

kamo·6mo ago
Featurekamo-internal

Add date/time scheduler to Start Meeting dialog

Adds a Now/Schedule pill toggle to the meeting creation dialog. When Schedule is selected, an MUI DateTimePicker slides in with 15-minute intervals and a format...

kamo·6mo ago
Fixkamo-internal

Handle meetReturn redirect to send users back to meeting after login

- Detect meetReturn query param on home page (from KamoMeet auth redirect) - Generate OTK and redirect authenticated users back to meet with token - Use session...

kamo·6mo ago
March 29, 2026
Fixkamo-internal

Remove client-side OTK from multipart upload, add upload debug logging

The client was generating a wasted OTK before upload (the Next.js route generates its own server-side OTK for the backend). Removed the client OTK to simplify t...

kamo·6mo ago
Otherkamo-internal

Add logging to meet backgrounds POST handler

kamo·6mo ago
Fixkamo-internal

Simplify NavTop display name lookup and correct MediaService URL scheme

- Remove usernameAlias lookup from getDisplayName, use member record directly - Fix MediaService K8s URL from https:8443 to http:80

kamo·6mo ago
Fixkamo-internal

Use forwardToApi for meet background uploads instead of manual fetch

The manual fetch with FormData forwarding was breaking multipart boundaries. Now reconstructs FormData and uses forwardToApi which handles headers correctly.

kamo·6mo ago
Featurekamo-internal

Add org theme backgrounds to meets settings and remove deprecated fields

- Add GET route for org theme backgrounds **************** - Update meetApi.ts: remove whoCanCreate and emailInvitesEnabled from MeetConfig, add OrgThemeBackgro...

kamo·6mo ago
Fixkamo-internal

Fetch signature template directly from EmailService with OTK auth, add debug logging

forwardToApi for /api/email/signature-templates went through APIService gateway instead of the Next.js email proxy. Now fetches directly from EmailService with ...

kamo·6mo ago
Fixkamo-internal

Read session from Redis directly (same as /api/user-info), use forwardToApi for all service calls

Root cause: the sender profile showed 'Your colleague' because the session fetch called a non-existent SecurityService endpoint. Signature was malformed because...

kamo·6mo ago
Fixkamo-internal

Replicate exact email composer data flow for meeting invite emails

The previous implementation only filled 8 of 20+ SignatureContent fields, causing malformed signatures with no images, name, or contact info. Now replicates th...

kamo·6mo ago
Fixkamo-internal

Clean up meeting invite email — remove logo, fix subject/host, embed custom message properly

Template changes: - Removed logo image (signature template header handles branding) - Removed 'Hi, Your colleague has invited you' — replaced with custom mess...

kamo·6mo ago
Fixkamo-internal

Wrap meeting invite emails with org signature template (header/footer/signature) and include custom message

Now replicates the exact same email wrapping as the email composer: 1. Fetches signature template from EmailService (USER scope, COMPANY fallback) 2. Fetches se...

kamo·6mo ago
Fixkamo-internal

Send meeting invite emails DIRECTLY to EmailService, not through APIService gateway

Root cause: forwardToApi routes through APIService's Java gateway which doesn't preserve multipart FormData boundaries correctly. The email composer works becau...

kamo·6mo ago
Fixkamo-internal

Use subtle background tints on calendar page header and sidebar

Match the leads/allotments page styling with light color-mix backgrounds instead of heavily saturated primary colors.

kamo·6mo ago
Fixkamo-internal

Clear stale hexheads on page refresh instead of restoring orphaned state

Minimized tool windows don't survive refresh, so restoring hexhead positions created orphaned heads with missing icons and non-functional click handlers. Now cl...

kamo·6mo ago
Refactorkamo-internal

Rewrite HexHead placement system with deterministic layout engine

Replaces the buggy collision-avoidance system (spiralSearch, resolveCollisions, flyToHomeRow, dock/group RAF loops) with a single deterministic reflow() functio...

kamo·6mo ago
Featurekamo-internal

Add typing indicator to AI chat while waiting for response

The streaming bubble only showed when content was already being streamed, leaving no visual feedback during the REST wait. Added bouncing dots indicator that di...

kamo·6mo ago
Fixkamo-internal

Hide member-specific tabs when memberID is "new" to prevent BAD_REQUEST errors

The /settings/member/new URL (from "Add Team Member" button) is caught by the [memberID] dynamic route, causing AccountActivityTab, MembershipPermissionsTab, an...

kamo·6mo ago
Fixkamo-internal

60s OTK TTL for meet windows, independent chat/email invites that don't block on backend

ROOT CAUSE: The OTK had a 10-second TTL. By the time the kamo-meet page loaded all its assets and branding/overrides.js ran to validate the OTK, it had already ...

kamo·6mo ago
Fixkamo-internal

Send chat invites via existing chat session API, email invites via multipart to EmailService

Chat invites: creates/gets a chat session via POST /api/media/sessions/chat then sends the meeting invite as a text message in that session. Uses the exact same...

kamo·6mo ago
Fixkamo-internal

Forward all meeting fields (sendChatInvite, sendEmailInvite, customMessage, roomAlias, joinUrl) to backend

The Next.js API route was stripping sendChatInvite, sendEmailInvite, customMessage, and roomAlias — only forwarding roomName and inviteMemberIds. Backend receiv...

kamo·6mo ago
Featurekamo-internal

Pass availableMembers to all MeetingDialog instances and self-fetch when not provided

- MemberList passes availableMembers to each MemberItem - MemberItem passes availableMembers to its MeetingDialog - MeetingDialog self-fetches members from ****...

kamo·6mo ago
Featurekamo-internal

Add custom message textarea to MeetingDialog for chat/email invitations

Shows a multiline text input when at least one notification option is enabled, allowing the meeting creator to add a personal note to the invitation. Hidden whe...

kamo·6mo ago
Fixkamo-internal

Show MeetingDialog for per-member meetings instead of bypassing directly

Both MemberItem (Interaction Center) and ChatBox (chat tool window) now open the MeetingDialog with the target member pre-selected, allowing the user to set the...

kamo·6mo ago
Fixkamo-internal

Route meet config API through APIService instead of direct MediaService

The existing meet/create route uses forwardToApi (APIService), which proxies to MediaService. The new config/background routes must follow the same pattern to w...

kamo·6mo ago
Fixkamo-internal

Move New Tab button after Chat Now as icon-only, remove duplicate Notes link

New Tab is now an icon button (no label) placed to the right of Chat Now. Notes removed from NavTop since it's already in NavPri.

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