Add subscription DTOs, SubscriptionService, and fix legacy CommerceService
38 new DTOs for plan config, orders, subscriptions, invoices, promotions, and agreements. 2000+ line SubscriptionService with full business logic for plan manag...
Add subscription API endpoints to POSController (50+ endpoints)
Add complete enterprise subscription management endpoints covering plans, prices, features, add-ons, bundles, volume discounts, catalog, orders, subscriptions, ...
Add complete subscription commerce entity model with 24 entities and repositories
Add complete subscription commerce entity model
24 JPA entities, 12 enums, 21 repositories, and 20 new permission rights for the enterprise subscription POS system. Includes plan configuration (plans, prices,...
Set PUBLIC_CHAT_API_KEY and API_SERVICE_URL in K8s configmap
Configures the public chat API key and internal API service URL for the chat widget to communicate with backend services in production.
Add /api/media/** route mapping to MediaService for public chat key management
Add ***-authenticated API key management endpoints for public chat
Adds /api/media/public-chat-keys CRUD endpoints for managing PublicChatApiKey shown once at creation. Uses same *** auth pattern as SupportController.
Add hybrid popup chat widget with AI Chat and Live Support modes
Adds a production-quality chat widget that auto-opens for new visitors with two modes: AI Chat (REST-based with RAG integration) and Live Support (WebSocket rea...
Add public chat API key management to security settings
Adds PublicChatKeyManager tab under Settings > Security for creating and managing public chat API keys. Keys are shown once at creation, stored hashed, and supp...
Add public AI chat endpoints with RAG integration for anonymous visitors
Adds /api/ai/public/sessions endpoints for anonymous AI chat on marketing sites. Bypasses OTK auth filter for public paths. Uses public-facing system prompt and...
Add public chat support endpoints with anonymous visitor sessions and WebSocket auth
Adds REST endpoints for public chat session creation, messaging, and visitor management. Includes PublicChatWebSocketInterceptor for token-based WebSocket auth ...
Add public chat gateway with API key validation, rate limiting, and WebSocket proxy
Adds public chat endpoints at /api/public-chat/** for anonymous website chat. Includes API key validation (SHA-256 hashed, Redis-cached), per-key and per-IP rat...
Add PublicChatVisitor and PublicChatApiKey entities for public chat widget
Adds entities, repositories, and DTOs to support anonymous public chat sessions on marketing sites. PublicChatVisitor captures visitor context (headers, IP, nam...
Default contact form to Unspecified topic and link footer email icon to contact page
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...
Derive display name from first/last name and construct avatar URL from session
Use memberFirstName and memberLastName from *** session to build proper display names instead of falling back to usernameAlias. Construct full avatar URL from t...
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...
Integrate org-level settings into Meet config and branding
Sidecar fetches OrgMeetConfig from backend and maps all settings: - Audio/video mute defaults - Lobby/waiting room mode - Guest access and display name requirem...
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
Preserve original room name (no capitalization/spaces), add copyable meeting URL field
1. Disabled safeStartCase() which was converting 'myroom123' to 'Myroom 123' with capitalization and random spaces. Room names now display exactly as ente...
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.