Skip to content
KAMOUniverse

Changelog

What's new.

Every improvement to the platform, as it ships.

  1. · kamo-marketing

    Integration logos + accurate /integrations metadata

    Integration pages and hub now display vendor logos (reusing the existing **************** assets that the homepage TechStackBanner already uses). Removed stale marketing language from the /integrations subtitle, OG image, and metadata descriptions. Changes: 1. Integration type gains an optional logoPath: string field. 2. All 30 integration data files populate logoPath pointing at the appropriate /public SVG (google-workspace uses the existing google-gmail.svg; all others match the slug). 3. IntegrationPageClient renders the vendor logo in a framed tile right under the hero CTAs. 4. IntegrationsHubClient renders a small logo tile on each integration card (fallback: generic Plug icon for any integration without a logo, e.g. Stripe which has no asset in /public/logos today). 5. Hub categories now render in the authored CATEGORY_DISPLAY_ORDER (voice → sms → email → ai → ecommerce → payment → ...) instead of insertion order. Subtitle / metadata fixes (the whole point of the audit): - Dropped "15+ native integrations plus Zapier and Make for 6,000+ apps" — Zapier and Make apps don't exist. Replaced with honest "30 native integrations across voice, SMS, email, AI, and ecommerce". - Dropped keyword references to Slack / Teams / QuickBooks / Xero / Zapier — none of which are built. - OG image subtitle updated to match. - i18n integrationsHub.pageSubtitle rewritten across all 22 locales (translator will retranslate en on next CI pass).

  2. · kamo-marketing

    Expand /integrations to all homepage-listed providers

    Aligns the /integrations page with the actual integrations exposed by the homepage (TechStackBanner). Adds 28 new integration pages matching what the product actually provides: Voice & Phone: - RingCentral (existing, recategorized to voice) - FreePBX (coming soon, request-driven) SMS: - Twilio - Vonage - Sinch - Infobip Email (Google Workspace + M365 recategorized to email): - Google Workspace - Microsoft 365 - Zoho Mail - Microsoft Exchange (on-premises / hybrid via EWS) - IceWarp AI / LLM providers: - Mistral - Cohere - OpenRouter - DeepSeek - xAI (Grok) - Meta (Llama) - Perplexity - Hugging Face Ecommerce: - WooCommerce - BigCommerce - Magento (Adobe Commerce) - Squarespace - PrestaShop - Wix - OpenCart - Ecwid - Shift4Shop Retained: Stripe (payment). Each integration page is scoped to reality — bring-your-own-credentials model for AI providers and SMS senders (confirmed in kamo-internal settings UIs), OAuth for Workspace/M365/Zoho Mail/Squarespace/Wix, API-key for **************** FreePBX marked as coming-soon per its current UI state. Changes: - IntegrationCategory type expanded: sms, voice, email, ai, ecommerce - CATEGORY_LABELS now covers all new categories - New CATEGORY_DISPLAY_ORDER for hub page section ordering - Hub page will auto-group new integrations by category Total integrations now: 30 (up from 4). Every entry corresponds to a settings UI or OAuth handler in kamo-internal — no fabrications.

  3. · kamo-marketing

    Add Home Mortgage Brokers industry page

    New industry solution page at /solutions/mortgage-brokers for mortgage brokerages and loan originators. Follows the honest platform framing: core CRM + comms + docs + AI applied to the borrower and referral-partner relationship layer, with mortgage-specific functionality (LOS integration, credit pulls, rate-sheet automation, TRID/RESPA-aligned call recording, loan-milestone pipeline templates, refi-opportunity alerts) positioned as requestable features through the feature request system. Added to the "Service & High-Touch B2B" category on the /solutions hub.

  4. · kamo-marketing

    Add 92 SEO pages — industries, integrations, glossary

    Implements Tier 1 of the SEO content expansion plan: three new content subsystems with a total of 92 new crawlable URLs plus 3 hub pages. 1. /solutions — 36 industry landing pages Real estate, agencies, professional services, financial services, legal, insurance, fitness studios, salons & spas, home services, cleaning services, landscaping, auto repair, SaaS, ecommerce, tech startups, MSP, property management, short-term rental, construction, nonprofits, associations, clubs, churches, education, online courses, tutoring, hotels, restaurants, event planners, wedding planners, manufacturing, wholesale/distribution, logistics, recruiting, franchise, martial arts. Each: hero, 4 pain points, 4-5 narrative sections (~1200-2000 words), key features, 6-8 FAQs with FAQPage schema, final CTA. 2. /integrations — 15 integration pages Slack, Microsoft Teams, Google Workspace, Microsoft 365, Stripe, QuickBooks, Xero, Zapier, Make, Mailchimp, Gmail, Outlook, Zoom, GitHub, Jira. Each: overview, use cases, setup steps, data synced, FAQs with FAQPage schema. 3. /glossary — 40+ CRM/sales/business terms Each term: definition, key points, example, related terms, DefinedTerm schema. Covers sales (MQL/SQL/ARR/MRR/ACV/pipeline velocity/win rate/ forecasting/cadences), marketing (lead scoring/nurturing/drip/UTMs/ attribution/ICP/persona), CS **************** expansion), support **************** finance (dunning/ rev rec/usage billing/AR aging), analytics (cohort/funnel conversion). Architecture mirrors /alternatives: typed data model in **************** with per-entity data files, shared client templates, dynamic routes with generateStaticParams for build-time SSG, hub pages with category grouping and (glossary) client-side search. SEO: - Full metadata + OG/Twitter cards per page - JSON-LD: FAQPage, DefinedTerm / DefinedTermSet, ItemList, BreadcrumbList - Dynamic opengraph-image per route - Updated sitemap.ts with 22-locale hreflang alternates - Updated /api/sitemap JSON endpoint - Updated /site-map page with all three new sections Nav: - New "Solutions" top-level category with 7 featured industries + "All" - "Integrations" added to Features dropdown - "Glossary" added to Resources dropdown - Footer: Solutions + Integrations + Compare in Product section; Glossary in Resources section - i18n: industries, solutionsHub, integrations, integrationsHub, glossary, glossaryHub namespaces added to all 22 locales (English fallback values; translator CI will render them per locale on next run) - **************** keys added to all locales - **************** keys added to all locales

  5. · KlusterServices

    Add geo-database-url to analytics-secret for CockroachDB geolite lookup

    Kamo Analytics uses this URL to look up visitor IP→country/region/city from the **************** tables. Uses kamo user with password auth and sslmode=require (CockroachDB rejects insecure connections).

  6. · kamo-nowww

    Scope kamo-nowww to kamocrm.com on websecure only

  7. · kamo-nowww

    Add Forgejo CI/CD workflow for kamo-nowww

  8. · kamo-nowww

    Add k8s manifests for kamo-nowww (catch-all IngressRoute, priority 1)

  9. · kamo-nowww

    Add kamo-nowww Dockerfile (multi-stage, standalone output)

  10. · kamo-nowww

    Add kamo-nowww redirect middleware (apex/unknown→www, ACME pass-through, 308)

  11. · kamo-nowww

    Add build-time alias fetcher

  12. · kamo-internal

    Remove homes/apps/corporate/insight from required DNS aliases

  13. · SecurityService

    Remove homes/apps/corporate/insight from required DNS aliases

  14. · kamo-internal

    Add 'meet' to required DNS aliases list

  15. · SecurityService

    Add 'meet' as a required DNS alias

  16. · SecurityService

    Add public known-aliases endpoint for kamo-nowww build-time bake-in

  17. · kamo-register

    Add subtle KamoCRM backlink to registration pages

    Mirrors the PoweredByKamo badge shipped in kamo-login. Since kamo-register is served on each white-label client's domain, this creates a stable dofollow backlink from every client's registration flow URLs pointing at www.kamocrm.com — the same SEO pattern Shopify/WordPress.com/Intercom use. Component: **************** (identical API to kamo-login). Per-page variant assignment (anchor-text diversity across URLs, each URL stable so there's no cloaking risk): - / home "Powered by KamoCRM" -> www.kamocrm.com/ - /member product "Built on KamoCRM" -> www.kamocrm.com/product - /team features "Running on KamoCRM" -> www.kamocrm.com/features - /org product "Built on KamoCRM" -> www.kamocrm.com/product - /validate features "Running on KamoCRM" -> www.kamocrm.com/features Scope excludes /sorry (negative experience) and /logout (ephemeral). Visual: fixed bottom-right, 12px text, ~36% opacity at rest, 72% on hover with a subtle ↗ glyph. Uses color-mix against currentColor so it adapts to each client's theme. Hidden below 480px viewports.

  18. · kamo-login

    Add subtle KamoCRM backlink to auth pages

    Adds a small "Powered by KamoCRM" style footer badge to the three user- facing auth surfaces (login, recover, validate). Since kamo-login is the shared white-label auth app every client's domain serves, this becomes a stable dofollow backlink from thousands of unique URLs across client domains pointing at kamocrm.com — the SEO pattern Shopify, WordPress.com, and Intercom use to build domain authority. Component: **************** Three variants, each with a stable (deterministic, not randomized) destination + anchor text — anchor-text diversity at scale without cloaking risk: - variant="home" "Powered by KamoCRM" -> kamocrm.com/ (login page) - variant="product" "Built on KamoCRM" -> kamocrm.com/product (validate page) - variant="features" "Running on KamoCRM" -> kamocrm.com/features (recover page) Visual design: fixed bottom-right, 12px text, low opacity (~36%) at rest, lifts to 72% on hover with a subtle ↗ glyph appearing. Hidden on viewports below 480px to avoid cluttering mobile auth UX. Uses color-mix against currentColor so it adapts to whatever text color the white-label theme sets, never clashing with client branding. Crawlability: plain <a href>, same-tab navigation (no target="_blank"), no rel="nofollow" (we want the dofollow signal). aria-label provides a descriptive long-tail phrase for screen readers without skewing the visible anchor text ratio. Scope: login (/), recover, and validate only — not error, logout, valid (cookie-debug page), or invoices, per the agreed trade-off between SEO reach and white-label politeness.

  19. · kamo-marketing

    Add /alternatives hub + 9 competitor comparison pages for SEO

    Adds a full competitor comparison suite targeting "X alternative" search queries. Each page includes deep narrative (2500+ words), 20-25 row feature matrix, pricing breakdown, migration guide, and 8-10 FAQs (with FAQPage structured data). Routes: - /alternatives hub page with all 9 comparisons + master matrix - /alternatives/[slug] per-competitor deep-dive (SSG via generateStaticParams) - /vs/[slug] 301 permanent redirect to /alternatives/[slug] (canonical direction so Google consolidates link equity on one URL) Competitors: GoHighLevel, HubSpot, Salesforce, Pipedrive, monday.com, Zoho CRM, Zoho One, Vendasta, Microsoft Dynamics 365. Data model: single Competitor typed interface in app/lib/competitors/, one file per competitor, shared AlternativePageClient template renders every page from the data. SEO: - Full metadata + OG/Twitter cards per page - BreadcrumbJsonLd, ProductJsonLd, FAQPage JSON-LD - ItemList JSON-LD on the hub - Dynamic opengraph-image for each route - Added to Next.js sitemap.ts (with hreflang alternates across all locales) - Added to /api/sitemap JSON endpoint - Added to /site-map page's visible link list Nav: - New "Compare" link under Pricing dropdown - New "Compare" link in Footer's Product section - nav.compare / footer.compare translation keys added to all 22 locales - alternatives / alternativesHub i18n namespaces added to all 22 locales (English content per the hybrid i18n decision — competitor names and feature descriptions are English globally)

  20. · KlusterServices

    Add iframe-compatible middleware chain for kamo-analytics

    Add security-headers-allow-iframe (no X-Frame-Options) and kamo-middlewares-allow-iframe chain so analytics can be embedded in iframes from internal.kamocrm.com. The CSP frame-ancestors directive in the app itself controls which origins are allowed.

  21. · kamo-internal

    Add analytics icon to navtop with OTK-authenticated iframe

    Adds a BarChart icon to NavTop gated to Team Members of the top-level org (no parent). Clicking navigates to /analytics which generates an OTK and loads analytics.{domain} in a full-page iframe. The generate-otk route now supports purpose=analytics with the longer 60s TTL.

  22. · SecurityService

    Add analytics → analytics text replacement in changelog sanitization

  23. · KlusterServices

    Move kamo-analytics to own repo, keep only postgres in KlusterServices

    - Remove analytics deployment, service, and nginx-configmap (now owned by kamo-analytics project with its own CI/CD pipeline) - Remove analytics-ingressroute (now in **************** - Keep postgres StatefulSet, service, and secret — data is preserved - Rename deploy step to "Kamo Analytics PostgreSQL"

  24. · SecurityService

    Redact tokens ≥32 chars in changelog sanitization

    Any word (run of non-whitespace) that is 32 characters or longer is replaced with **************** before titles and descriptions are sent to the translation service, catching hashes, keys, and secrets that aren't covered by the named-secret list.

  25. · kamo-internal

    Replace separate call/text icons in navtop with unified VoipButton dropdown

  26. · KlusterServices

    Rebrand analytics analytics UI with Kamo logo, title, and favicon

    Adds nginx sidecar proxy that injects CSS to replace the analytics logo with KamoCRM logo, changes the page title to "Kamo Analytics", and overrides the favicon.

  27. · kamo-marketing

    Replace Google Analytics with analytics, add event tracking across site

    - Remove Google Analytics (gtag.js) from layout - Add analyticsAnalytics component: consent-aware script loading via cookie preferences, data-do-not-track, domain-restricted to kamocrm.com - CookieConsentBanner: dispatch cookie-consent-changed event on save so analyticsAnalytics loads/unloads reactively - Navigation: track nav-click, cta-login, cta-start-free - Footer: track social-click, footer-link, cookie-settings-reset - CTAStrip: track cta-start-free and cta-view-pricing - PricingClient: track billing toggle, plan selection with plan+cycle - ContactClient: track contact-form-submit with topic on success - DemoClient: track demo-step-complete and demo-booked - SignupSection: track signup-form-submit and social-auth-click - ExitIntentModal: track exit-intent-shown and exit-intent-cta

  28. · KlusterServices

    Add analytics analytics deployment and analytics.kamocrm.com routing

    - New analytics/ directory: PostgreSQL StatefulSet + analytics deployment, services, and secret template - **************** routes analytics.kamocrm.com → analytics on websecure - auto-cert: add STATIC_DOMAINS list and seed_static_domains() so analytics.kamocrm.com cert is provisioned at startup without needing traffic

  29. · kamo-marketing

    Add legal fine print to footer across all locales

    Adds protective legal disclaimers to the bottom of every page covering platform liability, AI/eSignature disclaimers, translation authority, terms agreement, and trademark notice. Fine print kept in English across all 22 locales as the authoritative legal text.

  30. · kamo-marketing

    Integrate Google Analytics (G-W9K0Z7FYRV) via Next.js Script component

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