Changelog
What's new.
Every improvement to the platform, as it ships.
· kamo-login
Add playful ROFL letter animations on password error for lighthearted user feedback
· kamo-login
Add particle burst, haptic feedback, and warning icon to password error animation
· kamo-internal
Add tooltip to Security Role save button with validation requirements - Added Tooltip component to Save Role button - Shows 'Please enter a role name to continue' when title is empty - Shows 'Ready to save security role' when validation passes - Uses span wrapper to enable tooltip on disabled buttons - Consistent with Department and Job Title tooltips for better UX
· kamo-internal
Add tooltips to save buttons with validation requirements - Added Tooltip components to Save Department and Save Job Title buttons - Shows 'Please enter a [name] to continue' when title is empty - Shows 'Ready to save [item]' when validation passes - Uses span wrapper to enable tooltip on disabled buttons - Improves UX by informing users what's required before saving
· kamo-internal
Enforce Everyone role requirement in Departments and Job Titles - Everyone role checkbox now always checked and disabled - Added (Required) label to Everyone role in role selection - Prevent toggling Everyone role in handleRoleToggle - Enforce Everyone role inclusion on save (both create and update) - Pre-select Everyone role when creating new departments/job titles - Visual feedback with reduced opacity for disabled state - Ensures all departments and job titles always have Everyone role associ...
· SecurityService
Add backend validation to block Everyone role modifications
- Added protection check in updateRole endpoint - Added protection check in deleteRole endpoint - Returns 403 Forbidden when attempting to modify protected roles - Checks isAllowDelete field before allowing operations - Clear error messages in response - Logs all attempted violations for security monitoring - Prevents any backdoor modification of Everyone role
· kamo-internal
Protect Everyone role from modifications in UI
- Edit button shows 'Protected' and is disabled for Everyone role - Delete button is disabled and grayed out for Everyone role - Both buttons have reduced opacity (0.5) when disabled - Clear error messages if user somehow clicks - Everyone role remains visible but cannot be modified - System chip badge indicates protected roles
· kamo-internal
Add 3-letter day names to all date displays
- Main display: 'Mon 10/15/25 6:00PM' (was '10/15/25 6:00PM') - Your Time in tooltip: 'Monday, October 15, 2025' (full day name) - Other timezones: All include 3-letter day prefix - Increased fixed width to 210px to accommodate day names - Maintains stable layout with no shifting - Provides better temporal context at a glance
· kamo-internal
Add full month name display under Your Time in tooltip
- Added full date with month name (e.g., 'October 15, 2025') - Positioned between compact time and timezone abbreviation - Slightly larger font size (0.75rem) for readability - Subtle white color (75% opacity) for hierarchy - Enhanced font weight (500) for emphasis - Provides context without cluttering the design
· kamo-internal
Use compact date format without leading zeros (m/d/yy h:mmAM/PM)
- Changed from 'Oct 15, 2025, 6:00 PM' to '10/15/25 6:00PM' - Removed leading zeros from single-digit months, days, and hours - Compact AM/PM without space (6:00PM instead of 06:00 PM) - Two-digit year format (25 instead of 2025) - Much more space-efficient display - Maintains timezone awareness and all other features
· kamo-internal
Make elapsed timer truly live and add elegant hover transformation
- Timer now updates every second for recent timestamps (truly live) - Hover over date transforms it to elapsed time (1M 18S, 27D 4H, etc) - Smooth animated transition between date and elapsed time - Color shifts from primary to secondary on hover - Font changes to monospace with increased weight on hover - Tooltip still shows full date/time context - Forced re-renders ensure timer updates are visible - Smart interval adjustment for performance (1s to 1hr based on age)
· kamo-internal
Add live animated elapsed time timer to DateTimeDisplay tooltip
- Real-time updating timer showing time elapsed since timestamp - Smart formatting based on scale (1M 18S, 27D 4H, 2M 7D, etc) - Updates every second for recent times, less frequently for older dates - Positioned in tooltip header with secondary color gradient badge - Monospace font for digital timer aesthetic - Auto-adjusts update interval based on time scale for efficiency - Clean interval cleanup on unmount
· kamo-internal
Apply sophisticated nav bar gradient styling to DateTimeDisplay
- Tooltip background uses same gradient as NavPri (primary color mix with black) - Header and footer use subtle primary color gradients - Hover effects with primary color transitions - Text colors use primary color mixing for consistency - Borders use primary-light color mix - Enhanced shadows and inset highlights - Smooth transitions matching navigation components - Complete visual harmony with the app's design system
· kamo-internal
Add sophisticated DateTimeDisplay component with timezone support and global time tooltip
- Created reusable DateTimeDisplay component - Displays dates in user's timezone from *** session - Beautiful glassmorphic tooltip showing 8 relevant global timezones - Highlighted user's timezone in tooltip - Shows GMT, NY, LA, London, Paris, Tokyo, Sydney times - ISO timestamp footer for technical reference - Smooth hover transitions and modern styling - Integrated into SecurityRoleManager for addedAt/updatedAt display
· SecurityService
Add timezone to *** session data and user info endpoint
· kamo-shared-library
Add timezone field to User entity with GMT default
· kamo-login
Enhance password error animation with modern spring physics and multi-axis effects
· kamo-internal
Add modern form validation to all three settings tabs
- Added inline validation with error states and helper text - Required field validation with minimum/maximum length checks - Real-time error clearing as user types - Disabled save button when form is invalid - Clear validation error messages displayed below fields - Added red asterisk for required fields - Modern, polished UX with immediate visual feedback
· kamo-internal
Complete Department and JobTitle managers with full rights management system
· SecurityService
Update controllers to handle direct rights for departments and job titles
· kamo-shared-library
Add direct rights management support for Departments and JobTitles
· kamo-internal
Complete Department and JobTitle managers with full CRUD and role association
· kamo-internal
Add API routes for departments and job titles
· SecurityService
Add DepartmentController and JobTitleController with full CRUD endpoints
· kamo-shared-library
Add DTOs and services for Department and JobTitle with role associations
· SecurityService
Update SecurityRoleController to use SessionUtilityService for efficient Redis session caching
· kamo-shared-library
Add SessionData utility and SessionUtilityService for efficient Redis session caching
· kamo-internal
Add getRoleById API method and update handleEdit to fetch fresh role data
· SecurityService
Add GET /api/security/roles/{id} endpoint to fetch single role with rights
· kamo-internal
Auto-redirect to /logout on 401 Unauthorized responses

Your universe is waiting.
Start free in minutes. Add products whenever you are ready — no migration, no new logins.
Free forever — no credit card required