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 ...
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.
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...
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...
Support multi-size photo avatar uploads and crop endpoint
Update uploadPhotoAvatar to accept optional sized variants (fileSm, fileMd, fileLg) stored with suffix naming ({hash}_sm.png, etc). Add PUT /{id}/crop endpoint ...
Add photo crop tool with react-easy-crop and multi-size avatar storage
Replace the old PhotoCropDialog with an interactive crop tool using react-easy-crop. When uploading or editing a photo, users now select a square crop area (wit...
Load countries from CountryType enum, add flag icons to geo-blocking
Countries route now proxies to /api/security/countries (CountryType enum) instead of **************** (empty GeoLite table). Adds react-world-flags for country ...
Rewrite Access Blocks help tips for clarity
Explains all four sections (whitelist, blacklist, temp blocks, geo-blocking) in plain language. Adds a CIDR range guide with examples showing /32, /24, /16, /8 ...
Add RoleRightsSyncRunner to backfill missing role rights
When new RoleRightType entries are added to the enum, existing roles don't have OrgRoleRight entries for them. This runner checks all roles on startup and adds ...
Add access security system frontend
13 API proxy routes, access check module with CIDR matching, proxy.ts enforcement integration. Reworks AccessBlockManager (real API + geo-blocking), creates Sys...
Add GeoLite2 sync job for MaxMind IP-to-location database
Quartz-scheduled job (weekly Sunday 3 AM) that downloads MaxMind GeoLite2-City-CSV, parses IPv4/IPv6 blocks and locations, loads into staging tables, and perfor...
Add access enforcement filter for IP-based access control
Redis-backed servlet filter that evaluates whitelist/blacklist/temp-block rules on every inbound request. Adds spring-boot-starter-data-redis dependency and Red...
Add access security system backend
8 new services (AccessCacheService, GeoLiteService, GeoLiteSyncService, AccessRuleService, GeoBlockService, AccessLogService, DetectionRuleService, SuspiciousDe...
Add access security system schema migration
Creates 7 new tables (org_access_rules, org_geo_block_rules, org_suspicious_detection_rules, system_access_logs, geolite_blocks, geolite_locations, geolite_sync...
Add access security system entities, enums, and repositories
Adds JPA entities (OrgAccessRule, OrgGeoBlockRule, OrgSuspiciousDetectionRule, SystemAccessLog, GeoLiteBlock, GeoLiteLocation, GeoLiteSyncStatus), 6 new enums, ...
Add Create Document button with rich dropdown on /doc/manager
Adds a styled dropdown menu with document type options (Document, Spreadsheet, Presentation, Drawing) each with descriptive text. Removes the NewDocumentButton ...
Add AI provider logos to Integrates With marquee
DeepSeek, xAI (Grok), Meta (Llama), Perplexity, and Hugging Face.
Add Integrates With marquee for SMS, email, and VoIP provider logos
Add Not Configured option and config page navigation for bulk text providers
Add pending invite styling, conflict indicators, and organizer controls to calendar views
Add findDueReminders and markAsSent queries to CalendarEventReminderRepository
Add ICS generation for REQUEST/REPLY/CANCEL and calendar message parsing
Add method/organizerEmail to CalendarEvent, role/rsvp/lastResponseAt to CalendarEventAttendee
Add inline book creation in Add to Contacts dialog
The contact book dropdown now has a 'Create new book' option at the bottom. Clicking it reveals an inline text input with an Add button. The user can type a nam...
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.
