Add retail pipeline sub-tabs — Customers, Fulfillment, Carts & Drafts
RETAIL verticals in the Pipeline page now have 4 sub-tabs instead of a single Orders view: 1. Orders — existing PipelineOrdersTab (unchanged) 2. Customers — Ag...
Enterprise retail settings UI — 5 new/rewritten market tabs for RETAIL
Product Catalog (rewritten): 4 sub-views — Products table with search/filters, hierarchical Categories tree, Brands management, Attributes with typed values and...
Add ~90 retail API methods and 30+ TypeScript interfaces to commerceApi
Full frontend API coverage for KamoRetail: categories, brands, attributes, variants, images, tags, reviews, customers, addresses, customer groups, tax classes/z...
Add 111 retail endpoints to CommerceMarketController
All endpoints under /{marketId}/retail/... namespace covering: - Categories, brands, attributes (with values), images, variants, tags, reviews - Customers, addr...
Add RetailService (2376 lines) and 38 retail DTOs
RetailService provides full CRUD for all KamoRetail entities across 7 domains: catalog (categories, brands, attributes, variants, images, tags, reviews), custom...
Add OG image warmup job for kamocrm.com
Quartz-scheduled job that pre-fetches opengraph-image URLs daily at 4 AM to keep the marketing site's OG image cache warm. Covers 23 static routes and 7 blog po...
Add programmatic OG image generation for all routes
Uses Next.js opengraph-image.tsx convention with Satori/Resvg rendering pipeline. Each route gets a branded 1200x630 image with Inter font, dark background, gra...
Add KamoRetail enterprise data model — 109 new entities, repositories, and provider abstraction
Full retail POS data model designed for standalone KamoRetail operation and bidirectional sync with Shopify, BigCommerce, Wix, Squarespace, Shift4Shop, Ecwid, W...
Add 9 e-commerce platform logos to integrations banner
Added BigCommerce, WooCommerce, Magento, Squarespace, PrestaShop, Wix, OpenCart, Ecwid, and Shift4Shop to the "Integrates With" marquee, interleaved with existi...
Add enterprise-grade Agreement Templates tab to all market types
Reusable MarketAgreementTemplatesTab added to every commerce market with: - Two-panel layout: template list sidebar + full editor - Commerce-type-specific templ...
Refactor commerce POS settings to market-centric architecture
Major restructure of the commerce settings page: Frontend: - Replace flat tab layout (Products, Inventory, Rental Assets, Subscription Plans) with market-cen...
Expand CommerceMarketController with nested market-centric endpoints
Replace flat POS endpoints with market-scoped REST hierarchy: - Products, inventory, vendor categories under /{marketId}/products, /inventory, /vendor-categorie...
Add marketId support to retail product DTOs and CommerceService
Add marketId/marketTitle fields to RetailProductDTO, add marketId to CreateRetailProductRequest, and wire CommerceMarketRepository into CommerceService to set m...
Move department & job title from Roles tab to My Profile page
Department and job title fields now appear on the My Profile page as a SectionCard, shown only for team members. Editable via Autocomplete dropdowns when user h...
Include memberType, departmentId/Title, jobTitleId/Title in member profile GET response
Add CRM status label customization with settings UI and end-to-end wiring across leads pages
Add LeadStatusLabelController for org-level CRM status label CRUD endpoints
Add LeadStatusLabel entity, repository, service, and DTO for org-level CRM status label customization
Add department and job title selectors to member security tab
Team members can now be assigned to a department and job title via Autocomplete dropdowns in the Edit Security dialog. Summary card shows current assignments. R...
Add department and job title assignment to member security endpoint
GET now returns departmentId/Title and jobTitleId/Title for team members. PUT accepts departmentId and jobTitleId to assign/unassign department and job title, w...
Email signature field toggles, normalized social links, and Content tab reorder
- Move Content sub-tab to first position in email signature settings - Add admin-configurable contact field toggles per scope (user/department/company) with e...
Sync social links to normalized social_links table
Write member social links to both the embedded EmbSocialLinks columns (backward compat) and the new normalized social_links table. Add socialLinksNormalized to ...
Add email signature field config API
Add service and REST controller for managing email signature field visibility configuration per organization. Admins can toggle which contact fields appear in s...
Add SocialLinkEntity and EmailSignatureFieldConfigEntity
Add normalized social_links table to replace embedded social link columns, supporting both predefined platforms and custom social links with sort ordering. Add ...
Implement mailbox switcher with privilege-based access on /messages page
- Add Meet, POS, and 3 new email access privileges to frontend RoleRightType - Add ServiceType.MEET to frontend ServiceType enum - Add getAccessibleMailboxes AP...
Add accessible mailboxes endpoint with privilege-based expanded access
Add AccessibleMailboxService and GET /api/email/mailboxes/accessible endpoint that returns personal mailboxes, shared mailboxes, and privilege-gated access to d...
Add email mailbox access privileges for member, department, and job type scopes
Add ACCESS_ALL_MEMBER_MAILBOXES (104), ACCESS_ALL_DEPARTMENT_MAILBOXES (105), and ACCESS_ALL_JOB_TYPE_MAILBOXES (106) to RoleRightType for privilege-based email...
Rewrite Roles & Permissions tab as singleton security config panel
Replaces role creation dialog with DepartmentManager-style singleton config: - Associated Roles: multi-select checkboxes from existing OrgRoles - Direct Rights:...
Rewrite MemberSecurityController as singleton config with roles, direct rights, session timeout
GET returns full member security config (associated roles, direct rights, session timeout override, applied rights with sources). PUT saves the entire config as...
Add MemberRightRepository for managing member-level direct rights
Add email domain management, mailbox provisioning UI, and member mailbox assignment
- Add domainApi and mailboxProvisioningApi to providerApi.ts - Add **************** capability detection to useProviderCapabilities - Create dedicated provider ...
Add email domain management and mailbox provisioning through abstract provider layer
- Add DomainManager and MailboxProvisioner capability interfaces with sub-capability detection - Add ProviderDomain, ProviderMailbox, DnsRecord DTOs - Implement...
Add email domain, mailbox, and member-mailbox entities and repositories
Add EmailProviderDomainEntity, MailboxEntity, and MemberMailboxEntity for email provider domain management, mailbox provisioning, and member-to-mailbox assignme...
Rewrite Roles & Permissions tab with singleton role selector and applied rights
Replaces multi-role creation dialog with Autocomplete dropdown for selecting a single existing OrgRole. Shows applied rights grouped by service type with source...
Add MemberSecurityController for member role assignment and applied rights
Provides GET /member-security/{id} (assigned role, applied rights with sources, session timeout), PUT /member-security/{id}/role, and DELETE /member-security/{i...
Add MemberRoleRepository to shared library for member role assignment management
Convert support icon to dropdown menu, remove support from sidebar nav
Support icon in NavTop now opens a dropdown with two options: - "View Support Chats & Tickets" navigates to /support?tab=tickets - "Create New Support Chat/Tick...
Redesign member settings with modular tab architecture and card-based edit UI
Merge Profile and Membership & Permissions tabs into unified "My Account" tab with section-based edit-on-click cards. Extract functionality into dedicated tabs:...
Convert /pricing page from hardcoded data to live API-driven catalog
- Split pricing page into server component (data fetching) and client component (interactive UI with animations, toggles, FAQ) - Add pricing-catalog.ts utilit...
Refactor API Access UI with granular scope toggles per key
Rename "Public Chat API Keys" to "Organization API Keys". Add scope management with toggle switches per key (PUBLIC_CHAT, SUBSCRIPTION_CATALOG). Scopes shown as...
Support internal service auth for subscription catalog and promotions endpoints
Add X-Internal-Auth + X-Public-Chat-Org-Id header validation so APIService can proxy public catalog requests to the subscription endpoints. Session auth still w...
Add scopes column to PublicChatApiKey and ApiKeyScope enum
Adds a JSONB scopes column to the API key entity with default value ["PUBLIC_CHAT"]. New ApiKeyScope enum defines available scopes: PUBLIC_CHAT and SUBSCRIPTION...
Add polished MatrixCell component for feature matrix editing
New reusable MatrixCell component with modern, animated micro-interactions: Read mode: - Circular icon badges (green check / gray X) for booleans - Colored pil...
Redesign Features tab with tabbed layout and production-grade matrix
- Fix planFeatures API response key mismatch (subscriptionPlanFeatures -> planFeatures) - Split Features into two views via internal tabs: 1. Categories & Fea...
Add KamoCRMPricingLoader with full marketing pricing model
Preloads the complete KamoCRM subscription pricing structure into the KamoCRM organization, mirroring the /pricing page on kamo-marketing: - 4 plans: Free, Sta...
Enterprise subscription POS system - complete frontend rebuild
- Extended posApi.ts with 70+ subscription API methods and 28 new TypeScript interfaces - Added useSubscriptionPermissions hook for granular permission-based re...
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.