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 27, 2025
Otherkamo-login

Add logging for rememberMe value and type conversion

- Add type conversion for rememberMe to handle string/boolean/number - Add detailed logging to trace cookie setting logic - Log rememberMe value and type to deb...

snadjafinia·10mo ago
Otherkamo-login

Add comprehensive logging for USERNAME and REMEMBER_ME cookie operations

- Add detailed logging for cookie reading on page load - Add logging to verify cookies are set after login response - Add Set-Cookie header logging in login API...

snadjafinia·10mo ago
Featurekamo-internal

Preserve USERNAME and REMEMBER_ME cookies on logout and forward to kamo-login

- Exclude USERNAME and REMEMBER_ME cookies from deletion on logout - Forward logout request to kamo-login logout endpoint after clearing cookies

snadjafinia·10mo ago
Featurekamo-login

Add USERNAME and REMEMBER_ME cookies with domain-specific settings

- Set USERNAME cookie when remember me is checked on successful login (1 year expiration) - Clear USERNAME cookie when remember me is unchecked on any login att...

snadjafinia·10mo ago
November 26, 2025
Otherkamo-login

Update hidden username field to use formKey for remount

- Add key to hidden username input to force remount after logout - Ensures all username-related fields are completely fresh after logout

snadjafinia·10mo ago
Otherkamo-login

Force form remount after logout to prevent browser autofill

- Add formKey state that changes after logout to force component remount - Change TextField key to include formKey - Change motion.div key to include formKey - ...

snadjafinia·10mo ago
Otherkamo-login

Use randomized field names to prevent browser autofill recognition

- Generate random suffix for username field names on each page load - Prevents browser from recognizing field as same one across page loads - Combined with auto...

snadjafinia·10mo ago
Otherkamo-login

Prevent browser autofill from restoring old username after logout

- Change autocomplete from 'username' to 'off' on username field - Change form autocomplete from 'on' to 'off' - Clear username and password state when coming f...

snadjafinia·10mo ago
Otherkamo-login

Delete ALL cookies indiscriminately during logout

- Delete all cookies on kamo-login logout page (client-side) - Delete all cookies on kamo-login logout API (server-side) - Clear localStorage and sessionStorage...

snadjafinia·10mo ago
Otherkamo-internal

Delete ALL cookies indiscriminately during logout

- Delete all cookies on kamo-internal logout page (client-side) - Delete all cookies on kamo-internal logout API (server-side) - Clear localStorage and sessionS...

snadjafinia·10mo ago
Otherkamo-internal

Invalidate existing session before validating OTK

- Check for existing *** cookie in validate request - Clear and delete any existing session before validating OTK - Verify session data is not empty JSON (clear...

snadjafinia·10mo ago
OtherSecurityService

Invalidate existing session before creating new one during login

- Check for existing *** cookie in login request - Delete/invalidate existing session before creating new one - Prevents reusing old session cookies when loggin...

snadjafinia·10mo ago
Otherkamo-internal

Disable activity tracking and session extension during logout

- Add disableClientActivityTracker() function to stop activity tracking - Stop session monitor when logout is initiated - Prevent screen movement/activity from ...

snadjafinia·10mo ago
Otherkamo-login

Clear session data before deleting key in logout endpoint

- Set session data to empty JSON before deleting the key - Ensures session is unusable even if deletion fails or there's replication lag - Add error handling wi...

snadjafinia·10mo ago
Otherkamo-internal

Clear session data before deleting key in logout endpoint

- Set session data to empty JSON before deleting the key - Ensures session is unusable even if deletion fails or there's replication lag - Add error handling wi...

snadjafinia·10mo ago
OtherSecurityService

Clear session data before deleting key to ensure session is unusable

- Set session data to empty JSON ({}) before deleting the key - Ensures session is unusable even if deletion fails or there's replication lag - Add error handli...

snadjafinia·10mo ago
OtherSecurityService

Improve logout cookie clearing - clear cookies across all domain/path combinations

- Clear cookies with base domain (e.g., .kamocrm.com) to cover all subdomains - Clear cookies for current hostname without domain attribute - Clear cookies unre...

snadjafinia·10mo ago
Otherkamo-internal

Clear existing *** cookies before setting new one during validate

- Clear all possible *** cookie variations before setting new cookie - Prevents reusing old session cookies from previous logins - Ensures validate always uses ...

snadjafinia·10mo ago
Otherkamo-login

Clear existing *** cookies before setting new one during login

- Clear all possible *** cookie variations (base domain, hostname, no domain) - Prevents reusing old session cookies from previous logins - Ensures new login al...

snadjafinia·10mo ago
Otherkamo-login

Fix logout: call SecurityService logout endpoint to fully invalidate session

- Call SecurityService /api/security/logout to properly invalidate session on Java backend - This ensures session is deleted, CSRF tokens are removed, and sessi...

snadjafinia·10mo ago
Otherkamo-internal

Fix logout: call SecurityService logout endpoint to fully invalidate session

- Call SecurityService /api/security/logout to properly invalidate session on Java backend - This ensures session is deleted, CSRF tokens are removed, and sessi...

snadjafinia·10mo ago
Otherkamo-login

Fix logout flow: clear cookies but still attempt auto-login

- Remove skipAutoLogin logic (auto-login should always work) - Add clearCookies param to logout redirect - Login page clears cookies when clearCookies=true, the...

snadjafinia·10mo ago
Otherkamo-login

Fix logout issue: prevent auto-login after logout

- Add skipAutoLogin query parameter to logout redirect - Skip auto-login check when skipAutoLogin=true is present - Enhanced cookie clearing on logout (multiple...

snadjafinia·10mo ago
Otherkamo-internal

Replace PersonIcon with user avatar in NavTop My Account link

- Fetch member avatar using fetchMemberAvatar utility - Display Avatar component with user's image or initials fallback - Matches design pattern used in other c...

snadjafinia·10mo ago
Otherkamo-shared-library

Add avatarType field to Avatar entity for simple type checking

- Add TYPE column to store 'photo' or 'Avatar Creator' - Remove duplicate constructors that conflicted with Lombok @NoArgsConstructor - Set avatarType when crea...

snadjafinia·10mo ago
OtherSecurityService

Use avatarType field instead of complex proxy detection

- Check avatarType field directly for simple type checking - Set avatarType when creating new avatars - Much simpler and more performant approach

snadjafinia·10mo ago
Otherkamo-shared-library

Add avatarType field to Avatar entity for simple type checking

- Add TYPE column to store 'photo' or 'Avatar Creator' - Set in constructors automatically - Avoids need for instanceof checks and proxy issues

snadjafinia·10mo ago
FixSecurityService

Query all user avatars to get real entity instead of proxy

- Get userId from avatar, then query findByUserId (returns real entities) - Find matching avatar from list and check instanceof - This avoids proxy issues that ...

snadjafinia·10mo ago
OtherSecurityService

Use simple filter to check if avatar is photo or Avatar Creator

- Remove complex proxy detection logic - Simply filter findById result to check if it's AvatarPhoto - If not photo, default to Avatar Creator - Much simpler app...

snadjafinia·10mo ago
FixSecurityService

Use Hibernate LazyInitializer to get actual entity class from proxy

- Access HibernateProxy's LazyInitializer to get persistent class - Check if persistent class is AvatarPhoto or AvatarAvatar Creator - Force initialization usin...

snadjafinia·10mo ago
FixSecurityService

Suppress unused variable warnings in avatar type detection

snadjafinia·10mo ago
FixSecurityService

Use direct cast to determine avatar type instead of reflection

- Try casting to AvatarPhoto first to force proxy initialization - Access getFileExtension() directly after cast - Fall back to AvatarAvatar Creator cast if pho...

snadjafinia·10mo ago
FixSecurityService

Improve proxy type detection by catching InvocationTargetException

- Handle ClassCastException when invoking methods on proxy to determine actual type - Try getFileExtension first (photo), then getStyle (Avatar Creator) - Bette...

snadjafinia·10mo ago
FixSecurityService

Improve Hibernate proxy handling for avatar type detection

- Search class hierarchy and interfaces for getFileExtension method - Use reflection to detect AvatarPhoto vs AvatarAvatar Creator when instanceof fails - Add f...

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