KamoCRM

Live Change Log

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

18,414
Total Changes
6,545
Features
5,540
Fixes
30
Projects
Filter by project
All Projects18,414AIService276APIService177BillingService161ConversionService117DaemonService146DocsService240ESigService93EmailService623InitializerService344KBService162KlusterServices769MCPGatewayService277MediaService620RAGService79SecurityService1,999TranslateService62VOIPService265VectorService11kamo-apps27kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,701kamo-login342kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,828kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild23CI525Chore794Docs3,286Feature6,545Fix5,540Other1,001Performance174Refactor282Revert23Style45Test175Upgrade1
March 24, 2026
Featurekamo-shared-library

Targeted rights recalculation for dept, job title, and role changes

- DepartmentService: recalculates only members in the affected department after create/update/delete - JobTitleService: recalculates only members with the aff...

Kamo·7mo ago
Featurekamo-shared-library

Recalculate member_rights_applied after new member creation

Calls updateMemberRightsApplied on the new member after both createOrganizationMember and createOrganizationTeamMember so the Everyone role rights are immediate...

Kamo·7mo ago
FixSecurityService

Recalculate member_rights_applied after role create/update/delete

The member_rights_applied table was never recalculated when roles were modified, causing all members to have 0 applied rights. Now calls **************** after ...

Kamo·7mo ago
CISecurityService

Rebuild with updated shared library containing support permissions

SecurityService needs the new ACCEPT_SUPPORT_TICKETS and MANAGE_SUPPORT entries in RoleRightType enum to include them in *** session rights.

Kamo·7mo ago
Featurekamo-internal

Granular role editing, label swapping, and Team Members support

- Add isAllowEditTitle and isAllowEditSecurity to SecurityRole interface - Allow editing security settings on Members/Team Members roles (previously fully locke...

kamo·7mo ago
FeatureInitializerService

Migrate Everyone role to Members and create Team Members role

- Rename ROLE_EVERYONE_ID column to ROLE_MEMBER_ID - Rename existing "Everyone (Applies To All)" roles to "Members" - Set **************** flags on existing sys...

Kamo·7mo ago
FeatureSecurityService

Enforce role protection flags and add parent label support to session

- Enforce isAllowEditSecurity in SecurityRoleController update endpoint - Add parentMemberTitlePlural and parentTeamMemberTitlePlural to *** session - Resolve p...

Kamo·7mo ago
Featurekamo-shared-library

Add granular role protection flags and Team Members system role

- Add isAllowEditTitle and isAllowEditSecurity flags to OrgRole entity - Rename roleEveryoneID to roleMemberID on Organization, add roleTeamMemberID - Rename "E...

Kamo·7mo ago
Fixkamo-internal

Add error display when topic creation fails

Shows API error message in the dialog instead of silently failing.

kamo·7mo ago
Fixkamo-internal

Fix department loading in TopicManager

Send X-***-Token header (matching DepartmentManager pattern) and extract departments from data.departments response shape.

kamo·7mo ago
Fixkamo-internal

Add Array.isArray guards on API responses to prevent .map errors

API may return error objects instead of arrays when backend tables don't exist yet. Guard all array operations with Array.isArray checks.

kamo·7mo ago
FixDaemonService

Enable redirect following for MaxMind download

MaxMind returns 302 redirect to the actual file. HttpClient wasn't following it, causing the sync to fail with HTTP 302.

Kamo·7mo ago
Featurekamo-internal

Add Support section to settings page

Adds Topics, Notifications, and Status & Response Times cards that link to /support?tab=settings.

kamo·7mo ago
FixDaemonService

Add SecurityConfig to permit daemon trigger and actuator endpoints

Spring Security defaults blocked all endpoints with 401. Added explicit config to permit /api/daemon/** and /actuator/** without authentication.

Kamo·7mo ago
Otherkamo-internal

Allow 6 settings cards per row on xl screens and hide Club House nav item

Settings page grids now scale to 6 columns at xl breakpoint. Club House menu item commented out in NavPri.

kamo·7mo ago
Fixkamo-internal

Update ticket popup tool window to use light theme matching chatColors

Replace dark theme (dark backgrounds, white text, amber accents) with the light color scheme used by all other popup tool windows in the app.

kamo·7mo ago
Fixkamo-internal

Remove MANAGE_SUPPORT conditional from settings/analytics tabs, enable NavPri slide-out

All tabs now always visible. Removed disablePanel from NavPri Support entry so the slide-out panel works on hover.

kamo·7mo ago
Fixkamo-internal

Make description textarea fill remaining popup window height

Removed minRows/maxRows constraints and set flex layout on the input root so the textarea expands to fill all available vertical space.

kamo·7mo ago
FeatureDaemonService

Add manual job trigger controller with duplicate execution guard

POST /api/daemon/trigger/{jobName} triggers any Quartz job immediately. Returns 409 if the job is already executing. GET /api/daemon/trigger/status returns runn...

Kamo·7mo ago
CIDaemonService

Temporarily set geolite sync cron to every 2 minutes for testing

Will revert to weekly Sunday 3 AM after confirming sync works.

Kamo·7mo ago
Fixkamo-shared-library

Correct MediaObjImgDownload FK to use MediaObjImg UUID PK instead of composite key

The composite FK (OBJ_ID, IMG_ID) referenced non-PK columns causing a type mismatch (uuid vs int). Changed to single FK on OBJ_IMG_ID referencing MediaObjImg.ID...

Kamo·7mo ago
Fixkamo-shared-library

Use native query for avg resolution time to avoid Hibernate EXTRACT(EPOCH) limitation

Hibernate 6 cannot apply EXTRACT(EPOCH FROM ...) to a timestamp subtraction (produces Duration type, not TEMPORAL). Switched to a native SQL query that Cockroac...

Kamo·7mo ago
Featurekamo-internal

Remove old help system, add support nav items

Delete app/help/ and app/components/help/ directories. Add SupportButton to NavTop toolbar and Support menu item to NavPri sidebar navigation.

kamo·7mo ago
Featurekamo-internal

Add frontend types and API proxy routes

TypeScript interfaces for all support DTOs and 13 API proxy routes forwarding to MediaService for topics, tickets, and reporting endpoints.

kamo·7mo ago
FeatureMediaService

Add support ticket services, REST controllers, and STOMP relay

Implements the MediaService backend for the support ticket system: - SupportTopicService: CRUD for org-scoped support topics - SupportAssignmentService: round-r...

Kamo·7mo ago
Featurekamo-shared-library

Add support ticket repositories and DTOs

Kamo·7mo ago
Featurekamo-shared-library

Add support ticket JPA entities

Kamo·7mo ago
Fixkamo-internal

Redesign AI processing toggle as labeled switch with Assistant icon

Replace icon button with a toggle switch using the MUI Assistant icon, labeled "Train AI With This Note". Moved to the left of the save button. Renamed "Create"...

kamo·7mo ago
March 23, 2026
Featurekamo-internal

Add deep-linking support to notes page via query param

Support /notes?id={noteId} URL pattern so AI chat source links can navigate directly to a specific note. Opens the note in edit view when the page loads with an...

kamo·7mo ago
FeatureAIService

Include clickable source links in RAG context for AI chat

Update RagClient to embed markdown links in the context sent to the AI model. KB articles link to /kb/{guid}, notes link to /notes?id={noteId}. Instructs the mo...

Kamo·7mo ago
Featurekamo-internal

Add AI processing toggle to notes UI

Add aiProcessingEnabled field to Note types and toggle button in NoteEditor toolbar. Members can enable/disable AI processing per note, which controls whether n...

kamo·7mo ago
RefactorSecurityService

Remove notes code, moved to KBService

Notes management (controller, service, encryption) has been relocated to KBService where it better aligns with knowledge and content management responsibilities...

Kamo·7mo ago
FeatureAPIService

Route /api/notes to KBService instead of SecurityService

Notes management has been moved from SecurityService to KBService.

Kamo·7mo ago
FeatureAIService

Pass memberId to RAG for note-aware AI chat

Add extractMemberId to SessionHelper. Update RagClient to send memberId in search requests so RAG returns both org KB articles and the member's own AI-enabled n...

Kamo·7mo ago
FeatureRAGService

Add note embedding support to RAG pipeline

Add NoteEventConsumer for NOTE_EVENTS NATS stream and NoteEmbeddingPipelineService for processing notes. Update Qdrant to store sourceType, memberId, noteId. Se...

Kamo·7mo ago
FeatureKBService

Add notes management with RAG integration

Move notes CRUD from SecurityService to KBService. Add note encryption, NATS event publishing for RAG pipeline, and AI processing toggle support. Notes with AI ...

Kamo·7mo ago
FeatureInitializerService

Add AI processing column and note embedding records table

Add AI_PROCESSING_ENABLED column to notes table and create NOTE_EMBEDDING_RECORDS table for tracking note RAG vectorization.

Kamo·7mo ago
Featurekamo-shared-library

Add AI processing support to notes data model

Add aiProcessingEnabled field to Note entity, DTOs, and requests. Create NoteEmbeddingRecord entity and repository for tracking note vectorization in the RAG pi...

Kamo·7mo ago
Fixkamo-internal

Add filter toggle button to notes header

The sidebar collapse button was hidden behind the app's left nav bar. Replaced it with a filter icon toggle in the NotesHeader that is always accessible regardl...

kamo·7mo ago
FixSecurityService

Transparent server-side encryption with stable master key

- Add permanent notes.master-encryption-key to ConfigMap (was generating a random key on each pod restart, making old notes undecryptable) - Always encrypt ...

Kamo·7mo ago
FixSecurityService

Clear undecryptable note content and disable encryption flag

When server-side decryption fails (corrupted data or key mismatch), clear the content and set isEncrypted=false on the entity so the note stops showing cipherte...

Kamo·7mo ago
FixSecurityService

Decrypt encrypted notes in getAllNotes and searchNotes responses

getAllNotes and searchNotes were returning raw encrypted content for notes with isEncrypted=true. Now decrypts content server-side before returning, matching th...

Kamo·7mo ago
Featurekamo-internal

Use sized avatar variants — medium for profiles/emails, small for nav/lists

Add size parameter to fetchMemberAvatar (defaults to 'sm'). Email signatures, email sending, profile headers, posts, comments, and hex heads now request the med...

kamo·7mo ago
Fixkamo-internal

Extract plain text from Lexical JSON for note card previews

The note content is now Lexical JSON, not HTML. The preview function was falling back to stripHtml which dumped raw JSON as the preview. Now parses Lexical JSON...

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