Changelog
What's new.
Every improvement to the platform, as it ships.
· kamo-login
Integrate Capcha proof-of-work *** widget into login and recovery pages
· SecurityService
Replace Google re*** with Capcha *** verification
Remove Re***Service and all Google re*** configuration. Add CapchaVerificationService that verifies *** payloads via kamo-capcha service's /api/verify endpoint. Update LoginRequest bean and SecurityController to use ***Payload field.
· KlusterServices
Add capcha subdomain to auto-cert monitoring
· kamo-capcha
Add Forgejo CI/CD workflow for dual-cluster build and deploy
· kamo-capcha
Add Dockerfile and K8s manifests for capcha.{domain} deployment
· kamo-capcha
Scaffold kamo-capcha API service with challenge and verify endpoints
· kamo-marketing
Auto-flatten 3D scroll elements when user stops scrolling
Adds scroll-idle detection so perspective-rotated elements animate to flat after 300ms of no scrolling, instead of staying tilted. Once flat, they stay flat until scrolled out of view, then reset for the next scroll-in.
· kamo-internal
Add minimum advance booking field to webinar settings UI
Adds a number input for configuring how far in advance a slot must be to allow reservations, with helper text explaining the field.
· MediaService
Enforce minimum advance booking when filtering available slots
Filters out slots that fall within the configured minAdvanceBookingMinutes window, and persists the field on create/update of webinar types.
· kamo-shared-library
Add minimum advance booking field to webinar type
Adds minAdvanceBookingMinutes to WebinarType entity and DTOs, allowing admins to require slots be booked a minimum time in advance (e.g., 24 hours). Slots closer than this threshold are excluded from availability.
· kamo-internal
Add PUBLIC_WEBINAR scope toggle to API key management UI
Adds the Public Webinar scope option with VideoCall icon to the API Access settings page, allowing admins to enable webinar API access per key.
· APIService
Enforce PUBLIC_WEBINAR scope on public webinar endpoints
Adds scope validation check before forwarding public webinar requests to MediaService, returning 403 if the API key lacks PUBLIC_WEBINAR scope.
· kamo-shared-library
Add PUBLIC_WEBINAR scope to API key system
Adds a new ApiKeyScope.PUBLIC_WEBINAR enum value to gate access to public webinar scheduling, joining, and cancellation endpoints.
· kamo-marketing
Redesign demo page with webinar scheduling integration
Replaces the placeholder demo form with a three-phase booking flow: 1. Lead capture form (creates lead with KamoCRM Platform market) 2. Webinar scheduling (join existing or schedule new demo) 3. Booking confirmation with email/calendar details Integrates with the public webinar API for slot availability and scheduling with automatic lead-webinar association.
· kamo-internal
Add webinar scheduling UI with admin settings and member views
Implements the full webinar frontend in kamo-internal: - WebinarSettingsTab: admin CRUD for webinar types, presenter pools, reminder intervals, availability slots, and child org restrictions - MyWebinarsTab: member view of upcoming/past webinars with join meeting, 3-step scheduling modal, and presenter management - LeadWebinarsSection: webinar associations on lead detail page - API proxy route and TypeScript type definitions - Wired into settings/features/support and support page tabs
· DaemonService
Add webinar reminder job with NATS event publishing
Adds WebinarReminderJob (runs every minute) that checks for due webinar reminders based on configured intervals, publishes daemon.webinar.reminder events via NATS, and tracks sent reminders via WebinarReminderLog.
· APIService
Add webinar gateway routes for authenticated and public endpoints
Routes /api/webinar/** to MediaService for authenticated webinar operations and /api/public/webinar/** with API key validation for public scheduling and cancellation flows.
· MediaService
Implement webinar scheduling backend with full business logic
Adds the core webinar scheduling system to MediaService: - WebinarService: CRUD for **************** presenter assignment **************** calendar conflict checking, MeetingRecord creation, email notifications, auto-cleanup - PublicWebinarService: public scheduling with lead creation, cancellation via token, webinar-lead association - WebinarController: authenticated endpoints for admin setup, member scheduling, and "my webinars" view - PublicWebinarController: API-key-authenticated endpoints for marketing site integration and public cancellation flow
· InitializerService
Add webinar type and lead market seed data for KamoCRM demo
Adds seed data initialization for the webinar scheduling system: - "KamoCRM Software Introduction Demo" webinar type (45min, PRIORITY strategy) - Reminder intervals at 24 hours and 30 minutes before - "KamoCRM Platform" lead market with SERVICE sale type
· kamo-shared-library
Add webinar scheduling system entities, repositories, DTOs, and enums
Introduces the complete data model for the webinar scheduling system: - 9 JPA entities: WebinarType, WebinarPresenter, WebinarReminder, WebinarAvailabilitySlot, WebinarChildOrgRestriction, ScheduledWebinar, WebinarAttendee, WebinarLeadAssociation, WebinarReminderLog - 9 Spring Data repositories with custom queries - 13 DTOs for API responses and requests - 3 enums: WebinarStatusType, WebinarAttendeeStatusType, ****************
· kamo-internal
Add dynamic Help & Tips panel and webhook URLs to provider integrations
- CommerceProviderSetup now uses HelpTipsOverrideContext to show contextual help that changes based on the current view (list, selector, or per-provider) - Config dialog shows webhook URL with click-to-copy for providers that support real-time webhooks (Shopify, BigCommerce, Wix, Squarespace, Ecwid, WooCommerce) - Rewrote all 10 help components with plain, non-technical language explaining what gets synced, how to connect, and how real-time updates work
· kamo-internal
Add download SVG button to logo vector converter for mid-process export
· kamo-internal
Build complete provider integrations tab for retail e-commerce sync
Add full UI for managing 10 e-commerce provider integrations (Shopify, BigCommerce, WooCommerce, Wix, Ecwid, Squarespace, Magento, Shift4Shop, PrestaShop, OpenCart). Includes provider selector, config forms, sync dashboard, capability matrix, market association dropdown, and per-provider help documentation.
· DaemonService
Add RetailProviderSyncJob for scheduled e-commerce provider polling
· APIService
Add commerce webhook forwarding endpoint for retail provider integrations
· SecurityService
Add retail provider integration endpoints for connection testing, sync, capabilities, and webhooks
· kamo-shared-library
Implement complete retail provider integration system with 10 e-commerce providers
Add full adapter implementations for Shopify, BigCommerce, WooCommerce, Wix, Ecwid, Squarespace, Magento, Shift4Shop, PrestaShop, and OpenCart. Includes HTTP clients, **************** sync adapters, capability classes, auto-registrar, sync orchestrator, webhook processor, and displayName support.
· kamo-internal
Create account page at /account/new with minimal form
Asks only essential fields: first name, last name, email, phone, company, account type, and optional market association. On submit creates account via accountsApi and redirects to /account/view/{uid}. Also wires the "New Account" button onClick on the account browser page.
· SecurityService
Enhance POST /customers to accept contact info and lookup user by email
Create account now accepts email, contactName, phone, acceptsMarketing, taxExempt. If email is provided and matches an existing user, auto-sets as masterAccountHolder.
· kamo-shared-library
Add UserRepository.findByEmailEmail for account creation email lookup

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