Replace all email addresses with contact form links and add support ticket submission
Seed support topics and website-contact system member for KamoCRM org
Add public contact support - DTO, repo query methods for topic and member lookup
Add icons to Login, Demo, and Start Free nav buttons
Login gets LogIn icon, Demo gets Play icon, Start Free gets Rocket icon. Applied to both desktop CTA buttons and mobile menu buttons.
Add prelaunch discount code 18DOFF with offer page and nav promo badges
- Create /offer page with: hero card showing $18/user discount on Business plan, copy-to-clipboard code block, price comparison (monthly/annual), countdown ...
Fully refactor calculator page to support new tier-based pricing model
Complete rewrite of the cost calculator to align with the 4-tier pricing model: - Plan selection: Starter ($29/$24) and Business ($64/$53) with visual cards - ...
Build comprehensive pricing page with 4-tier model, add-ons, bundles, and legal terms
Replaces the basic 2-tier pricing with a full 4-tier model (Free, Starter $29/mo, Business $59/mo, Enterprise custom) with annual billing toggle (17% savings), ...
Add FIPS 140-2 compliance to security page
Added FIPS 140-2 (Federal cryptographic module standards) to the compliance frameworks section. Updated grid to 3 columns.
Shared navigation with dropdowns, homepage Jump To sub-nav bar
SharedNavigation (used by both homepage and sub-pages): - Primary links: Home, Features (dropdown: All Features, Security, Roadmap), Pricing, Company (dropdow...
Add HTML sitemap page, JSON sitemap API, dynamic KB articles in XML sitemap
New pages and endpoints: - /site-map — styled HTML sitemap with all static pages organized by category, plus dynamically loaded KB articles from Help Center, ...
Independent nav and footer for secondary pages, category landing pages
Replace homepage Navigation/Footer on sub-pages with fully independent SubNavigation and SubFooter components built entirely with inline styles to eliminate any...
Add public article query methods to KbArticleRepository
Add three new repository methods for fetching published articles with aiVisibleToPublic=true, used by the new KBService public endpoints: - **************** - *...
Add unauthenticated public endpoints for KB articles
Add KbPublicArticleController with endpoints for the marketing site to fetch published articles where aiVisibleToPublic=true, without requiring OTK authenticati...
Add 17 sub-pages, KB integration, tool replacement section, SEO, and UX improvements
Major additions: - Shared sub-page layout with PageHero, breadcrumbs, and consistent nav/footer - About, Contact, Features, Pricing, Roadmap, Security/Infrastru...
Remove stepper, overlay loading bar, persistent controls panel, font replacement toggle
Layout: - Removed step indicator (Select Area / Remove Background / Review) for more room - Loading bar now overlays on top of the preview image, hidden when co...
Side-by-side review layout with compact controls and auto-reprocess
Review step: - Preview on left, scrollable controls panel on right (240px) - Controls scroll independently while preview stays visible - No need to scroll below...
User-friendly vector conversion flow with auto-convert for vector formats
UX improvements: - Replaced all "SVG" terminology with "vector" for non-technical users - Added educational guidance explaining why conversion is needed - Steps...
Add 8 draggable resize handles on crop selection edges and corners
- 4 corner handles (tl, tr, bl, br) with diagonal resize coders - 4 edge midpoint handles (tc, bc, ml, mr) with horizontal/vertical coders - Handles are draggab...
Replace react-easy-crop with freeform drag-to-select rectangle tool
react-easy-crop forced square/fixed-aspect selections. New canvas-based tool lets users click and drag any rectangle at any aspect ratio. Shows dimmed overlay o...
Add background color picker step and improve SVG conversion UX
- Added "Pick Background" step between Crop and Process - Users click on the image to select the background color to remove - Shows selected color swatch with R...
Add image-to-SVG conversion pipeline with reusable modal component
- New ImageToSVGConverter modal component with 3-step flow: Crop → Process → Review - WebSocket hook (useImagePipeline) for streaming pipeline communication - C...
Add date/time scheduler to Start Meeting dialog
Adds a Now/Schedule pill toggle to the meeting creation dialog. When Schedule is selected, an MUI DateTimePicker slides in with 15-minute intervals and a format...
Include org static background images in meet virtual backgrounds
Fetch backgroundImageCount from the org's theme config.json and generate URLs for /img/bg/{n}.webp so org-level static backgrounds appear alongside meet-specifi...
Add first name, last name, and avatar hash to *** session
Include memberFirstName, memberLastName, and memberAvatarUrl in Redis session data so cross-domain services like KamoMeet can display proper user identity witho...
Add public config and backgrounds endpoints for sidecar consumption
GET /api/meet/public-config?domain= returns org meet config by domain. GET **************** returns combined virtual backgrounds. Both endpoints are unauthentic...
Add config CRUD, background management, and org-theme endpoints
All endpoints enforce MANAGE_MEET_SETTINGS privilege. Config auto-creates with defaults on first access per org. Background uploads go to MinIO with SHA-256 has...
Add org theme backgrounds to meets settings and remove deprecated fields
- Add GET route for org theme backgrounds **************** - Update meetApi.ts: remove whoCanCreate and emailInvitesEnabled from MeetConfig, add OrgThemeBackgro...
Drop deprecated who_can_create and email_invites_enabled columns
Add org-scoped theme background query for meets virtual backgrounds
Remove whoCanCreate and emailInvitesEnabled from OrgMeetConfig
Add typing indicator to AI chat while waiting for response
The streaming bubble only showed when content was already being streamed, leaving no visual feedback during the REST wait. Added bouncing dots indicator that di...
Implement chat WebSocket and email invite sending for meetings
MeetController now reads sendChatInvite, sendEmailInvite, and customMessage from the create request body and triggers async invite sending. MeetService.sendInv...
Pass availableMembers to all MeetingDialog instances and self-fetch when not provided
- MemberList passes availableMembers to each MemberItem - MemberItem passes availableMembers to its MeetingDialog - MeetingDialog self-fetches members from ****...
Add GET /api/meet/exists/{roomName} endpoint for anonymous room validation
Add findByRoomNameAndStatusIn query to MeetingRecordRepository
Add custom message textarea to MeetingDialog for chat/email invitations
Shows a multiline text input when at least one notification option is enabled, allowing the meeting creator to add a personal note to the invitation. Hidden whe...
Configure Prosody, Jicofo, and secrets for Jibri recording support
Enable recording in Prosody, add Jibri XMPP passwords to secrets, and configure Jicofo brewery MUC for Jibri instance discovery.
Add Jibri deployment manifests for Meet meeting recording
Kubernetes deployment, service, and configmap for Jibri (Meet Broadcasting Infrastructure) to enable meeting recording with MinIO storage integration.
Add /settings/features/meets page with 5 tabs for org-level video conferencing config
New settings page with General, Security & Access, Recording, Branding, and Notifications tabs. Includes meetApi client, MediaService proxy routes, logo variant...
Add MeetConfigController and MeetConfigService for org-level meet settings
REST endpoints for CRUD on OrgMeetConfig and MeetBackground entities. Supports config get/update, background upload/delete/reorder via MinIO storage.
Add OrgMeetConfig entity, MeetBackground entity, MEET_RECORDING ImageAssocType, and meet permissions
Adds org-level video conferencing configuration with defaults for lobby, guest access, recording, branding, and notifications. New permissions: RECORD_MEETINGS ...
Add MeetController and MeetService for meeting creation and invite management
Restore full meeting flow with backend creation, invites, and OTK window opening
Add Start Meeting button to Interaction Center and per-member meeting icon
Add Meet button to chat toolbar and MeetingCard rendering in messages
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.
