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
November 26, 2025
OtherSecurityService

Add detailed logging to avatar URL generation for debugging

- Log when avatar URLs are generated, what URLs are created - Log when avatars are missing or URLs are null - This will help identify why avatars aren't showing...

snadjafinia·10mo ago
FixSecurityService

Determine active avatar by checking user.getAvatar() instead of RecordState

- Backend now correctly marks which avatar is active by comparing to user.getAvatar() - This ensures the isActive flag in the API response reflects the actual a...

snadjafinia·10mo ago
OtherSecurityService

Add avatar URLs to members by-department endpoint with override mechanism

- Include avatar URL in each member response from **************** - Respect override mechanism: member avatar (if exists) → user avatar (default) - Frontend ...

snadjafinia·10mo ago
November 25, 2025
FixSecurityService

Handle ISO date format and improve avatarId type parsing

- Added support for ISO date format (YYYY-MM-DD) in addition to M/d/yyyy - Improved avatarId parsing to handle Number types (Double, BigDecimal, etc.) from JSON...

snadjafinia·10mo ago
FixSecurityService

Add better error handling and logging for user/member save operations

- Added try-catch around user save operation with detailed error logging - Added try-catch around member save operation with detailed error logging - Improved d...

snadjafinia·10mo ago
FixSecurityService

Improve avatarId parsing to handle string, integer, and long types

- Added support for parsing avatarId from String type - Better error handling for invalid avatarId formats - Added logging for avatar assignment and errors

snadjafinia·10mo ago
FixSecurityService

Add detailed logging to updateMemberProfile for debugging

- Added logging at start of updateMemberProfile method - Added logging before and after saving user and member - Improved error response to include error detail...

snadjafinia·10mo ago
FixSecurityService

Add support for updating user name fields and dateOfBirth in member profile

- Added UserRepository to MemberController - Updated updateMemberProfile to handle namePrefix, nameFirst, nameMiddle, nameLast, nameSuffix, nameFirstAKA, nameLa...

snadjafinia·10mo ago
FeatureSecurityService

Store avatar hash and extension in *** session data

- Added updateSession method to KSessionService for updating session fields - Updated setActiveAvatar to store userAvatarHash and userAvatarExtension in session...

snadjafinia·10mo ago
FeatureSecurityService

Include avatar URLs in member profile response

- Added helper methods to generate avatar URLs (getThemeDomain, getPublicBucketName, generateFileHash, getPublicBucketUrl, generateAvatarUrl) - Updated getMembe...

snadjafinia·10mo ago
FixSecurityService

Use correct bucket and object path structure for MinIO uploads

- Change bucket name from domain-based to 'public' bucket - Include domain path (e.g., kamocrm-com) as part of object name, not bucket name - Fix object path st...

snadjafinia·10mo ago
FixSecurityService

Properly handle MinIO upload failures for avatars

- Remove silent exception swallowing in Avatar Creator avatar creation - Add proper error handling and rollback for failed uploads - Delete database record if f...

snadjafinia·10mo ago
RefactorSecurityService

Remove ID-based fallback code, use only hash-based naming

- Remove all try-catch fallback logic for missing fileHash column - Remove ID-based file naming fallbacks - Code now exclusively uses hash-based file storage - ...

snadjafinia·10mo ago
FixSecurityService

Handle missing fileHash column gracefully

- Add try-catch around fileHash access to handle missing database column - Fall back to ID-based file naming if fileHash column doesn't exist yet - Allows code ...

snadjafinia·10mo ago
FeatureSecurityService

Implement hash-based file storage for avatars

- Generate SHA-256 hash from avatar ID after persistence - Store hash in database fileHash field - Upload files to MinIO using hash-based naming: {hash}.{fileEx...

snadjafinia·10mo ago
FixSecurityService

Ensure theme domain URL includes https:// protocol

snadjafinia·10mo ago
FixSecurityService

Remove transformAvatarUrl - use URLs directly from backend

snadjafinia·10mo ago
FixSecurityService

Complete switch to public bucket for all avatar operations

snadjafinia·10mo ago
FixSecurityService

Use theme domain for presigned URLs in AvatarController

snadjafinia·10mo ago
November 24, 2025
FixSecurityService

Return objectPath instead of presigned URLs for avatars

snadjafinia·10mo ago
ChoreSecurityService

Add build arg to Dockerfile for cache invalidation

snadjafinia·10mo ago
FixSecurityService

Complete presigned URL generation for all avatar endpoints

snadjafinia·10mo 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