KamoCRM

Live Change Log

Every feature, fix and improvement, posted as it ships. Nothing is held back for a launch.

15,120
Total Changes
5,169
Features
4,935
Fixes
30
Projects
Filter by project
All Projects15,120AIService197APIService161BillingService143ConversionService107DaemonService129DocsService215ESigService88EmailService518InitializerService318KBService105KlusterServices697MCPGatewayService85MediaService546RAGService71SecurityService1,658TranslateService55VOIPService205VectorService11kamo-apps25kamo-asterisk-support24kamo-capcha17kamo-capcha-widget4kamo-internal6,937kamo-login330kamo-marketing625kamo-nowww20kamo-register213kamo-shared-library1,455kamo-signer-monorepo53kamolos108
Filter by type
All TypesBuild11CI523Chore738Docs2,167Feature5,169Fix4,935Other986Performance157Refactor274Revert23Style42Test94Upgrade1
August 12, 2026
Fixkamo-marketing

Stop canonicalizing 21 translated locales into English

Every non-English page carried a hardcoded canonical to its /en twin — `export const metadata` is module-level, so it could not vary by locale and 28 pages ship...

Kamo·1mo ago
August 11, 2026
Fixkamo-marketing

Derive the add-on unit from the catalog, and correct stale prices

The storage add-on advertised as "+$4 /user/month" for a pool the same page called organization-wide. Cause: mapAddOns matched addonCode "additional_storage" wh...

Kamo·1mo ago
August 8, 2026
Fixkamo-marketing

Render Contact sales for add-ons with no list price

PageAddOn.price was typed number and built with Number(addon.pricePerUnit), so an add-on with no list price — the enterprise-negotiated origination systems — re...

Kamo·1mo ago
Fixkamo-marketing

Stop the runtime theme sheet whitening the canvas on light-mode machines

DynamicMetaLoader appends theme.<domain>/css/globals.css to <head> after our own stylesheet, and that file still carries create-next-app boilerplate: :root{--ba...

Kamo·1mo ago
August 5, 2026
Fixkamo-marketing

Submit the lead at step 1 instead of only on booking

handleFormSubmit checked the *** and advanced the step — it made no network call at all, so the contact details a visitor typed were only ever persisted if they...

Kamo·1mo ago
August 3, 2026
Fixkamo-marketing

500s on dynamic-segment pages + en fallback for missing locale keys

Removing the global force-dynamic made routes with generateStaticParams attempt static rendering for on-demand params, which throws DYNAMIC_SERVER_USAGE because...

Kamo·1mo ago
Featurekamo-marketing

Phase 3+4 — convert the traffic that already arrives

- changelog (#2 destination) gets a conversion block; careers shows the honest no-openings state - /subscribe page: post-registration plan intent lands somewher...

Kamo·1mo ago
Featurekamo-marketing

Related-content modules + signup CTA retargeting on programmatic templates

Solutions, integrations, alternatives, and glossary templates were organic dead ends: no internal related links and "Start free" CTAs pointing at /pricing inste...

Kamo·1mo ago
Featurekamo-marketing

Phase 0+1 — instrument the real funnel, unblock first paint

- forward data-* props through MagneticButton/RippleButton (events never reached the DOM) - instrument SharedNavigation, Hero, PreviewBanner, section CTAs; ?ref...

Kamo·1mo ago
Chorekamo-marketing

Commit outstanding work in progress

Staged and committed as-is so nothing is left uncommitted in the working tree. 4 files changed, 72 insertions(+)

Kamo·1mo ago
Fixkamo-marketing

Harden the kubectl download against flaky egress [skip ci]

dl.k8s.io over the runner's egress intermittently drops mid-transfer: curl: (56) OpenSSL SSL_read: decryption failed or bad record mac which fails the deploy ...

Kamo·1mo ago
July 31, 2026
Featurekamo-marketing

Starter capped at 5 users, Business at 25

Repositions the published seat caps on /pricing (and the calculator, JSON-LD offers, and llms.txt summaries) to match the subscription catalog: Starter 25 -> 5 ...

Kamo·1mo ago
July 16, 2026
Featurekamo-marketing

Replace forked chat with hosted <kamo-chat> embed; delete legacy proxy widget

Swaps the forked AI/live-support React chat (PublicChatWidget + AiChatPanel + LiveSupportPanel + the /api/chat/** server proxy routes) for the hosted, self-them...

Kamo·2mo ago
June 26, 2026
April 30, 2026
Featurekamo-marketing

Distinguish actively-translating vs queued messages

The translation queue was already sequential, but every queued bubble rendered "Translating…". Now the single in-flight message shows "Translating…" with a puls...

Kamo·5mo ago
Featurekamo-marketing

Show error icon when a message fails to translate

When the per-message translate call returns translated:false, errors out, or times out, the chat bubble now renders an AlertTriangle icon in red with tooltip "F...

Kamo·5mo ago
Featurekamo-marketing

Stream translations newest-first for visitor history

When the visitor lands on a non-English locale and the support chat has existing English messages, every bubble flagged needsTranslation by the backend now show...

Kamo·5mo ago
Featurekamo-marketing

Auto-translate visitor and agent messages

Live agent replies arriving in a language other than the visitor's URL locale now show a "Translating…" bubble while the TranslateService call resolves, then sw...

Kamo·5mo ago
April 29, 2026
Featurekamo-marketing

Move translations to kamo-translation-dictionary

All 22 locale files move to the centralized kamo-translation-dictionary repo. The CI now clones that repo and copies the kamo-marketing/ folder into messages/ b...

Kamo·5mo ago
CIkamo-marketing

Scope concurrency to build jobs, not Kubernetes deploys

Workflow-level concurrency serialized the whole pipeline (including kubectl rollouts). Move the group to the build job only so deploy jobs from different runs c...

Kamo·5mo ago
April 27, 2026
Featurekamo-marketing

Add Go logo to BUILT WITH banner

Kamo·5mo ago
April 26, 2026
Fixkamo-marketing

Periodic STOMP presence heartbeat for public support

Refresh Redis TTL for public session presence so agents see accurate online state.

Kamo·5mo ago
Chorekamo-marketing

Update locale translations and hash [skip ci]

Kamo CI·5mo ago
Featurekamo-marketing

Add Flowroute to integrations hub page

Kamo·5mo ago
Featurekamo-marketing

Add Flowroute to INTEGRATED WITH banner

Kamo·5mo ago
Featurekamo-marketing

Show active offer banner with live millisecond countdown

Fetches the active promotion server-side on the home page and renders a HeroOfferBanner between the subheadline and the free-forever callout. The banner shows t...

Kamo·5mo ago
Fixkamo-marketing

Drive minimized-tab entry through animation controls

Switching animate={...} to animate={tabControls} broke the entry animation: tabControls has no queued target on mount, so the button stayed at its initial { y: ...

Kamo·5mo ago
Featurekamo-marketing

Live unread badge + bounce on new agent message

- Keeps LiveSupportPanel mounted offscreen while the widget is minimized (only when a support session exists) so the STOMP subscription stays alive and onUn...

Kamo·5mo ago
April 25, 2026
Fixkamo-marketing

Remove SSR guard causing hydration mismatch; drop SockJS for native WebSocket

- Hero.tsx: remove typeof window check around ParticleField — ParticleField already has ssr:false so the guard produced a server/client tree mismatch (React #...

Kamo·5mo ago
Fixkamo-marketing

Use /public/{mainDomain}-{tld} path matching actual MinIO bucket layout

The getThemePath() was generating /domain/{tld}/{split}/kamosite paths that don't exist in MinIO — theme files live in the public bucket under kamocrm-com/, bad...

Kamo·5mo ago
Fixkamo-marketing

Add suppressHydrationWarning and fix broken placeholder images

suppressHydrationWarning on <html> prevents React error #418 caused by browser extensions (e.g. translate, dark mode) mutating html attributes between SSR and c...

Kamo·5mo ago
Fixkamo-marketing

Remove duplicate connectStomp call in sendMessage

When the first message creates a new session, onSessionCreated updates props which triggers useEffect to call connectStomp. The inline call in sendMessage was r...

Kamo·5mo ago
April 21, 2026
April 20, 2026
Chorekamo-marketing

Update locale translations and hash [skip ci]

Kamo CI·5mo ago
Chorekamo-marketing

Remove kamo-capcha-widget node_modules from repo

Drop tracked files under **************** so the tree matches a clean install (dependencies belong in package lock, not git).

Kamo·5mo ago
Featurekamo-marketing

Show live state with changelog link and daily count

Replace preview countdown and signup copy with a compact "Now LIVE" callout, keep the changelog link, and always show today’s change count from the API after it...

Kamo·5mo ago
Fixkamo-marketing

Render system events as friendly text in visitor support chat

NAME_CHANGED system events no longer show raw JSON in the chat bubble; they display as a centered italic pill ("Changes name to {name}"). Other system events ar...

Kamo·5mo ago
Chorekamo-marketing

Update locale translations and hash [skip ci]

Kamo CI·5mo ago
Fixkamo-marketing

Skip VISITOR_MESSAGE echoes in LiveSupportPanel STOMP handler

Visitor messages are now tagged messageType=VISITOR_MESSAGE by the backend. Skip these in the STOMP subscription so the visitor's own messages don't re-appear o...

Kamo·5mo ago
Featurekamo-marketing

Replace native WebSocket with STOMP/SockJS in LiveSupportPanel

- Add @stomp/stompjs and sockjs-client packages - Connect to media.{domain}/ws/public-chat via SockJS+STOMP instead of raw WebSocket to api.{domain} which was...

Kamo·5mo ago
Featurekamo-marketing

Add /contact-confirmed page with animated hero, timeline, and CTAs

Replace inline success message on contact form with a dedicated premium confirmation page: animated SVG checkmark with particle burst, 'What Happens Next' 3-ste...

Kamo·5mo ago
Fixkamo-marketing

Correct MEDIASERVICE_URL port from 443 to 80 for contact form

ClusterIP service only exposes port 80; using 443 with http caused a ConnectTimeoutError on every contact form submission.

Kamo·5mo ago
April 19, 2026
Chorekamo-marketing

Update locale translations and hash [skip ci]

Kamo CI·5mo ago
Featurekamo-marketing

Add API modification callout to kamo-api-reference page

Shown only on /kamo-api-reference, prompts users to submit API change requests via /requests or reach out via /contact.

Kamo·5mo ago
Fixkamo-marketing

Stabilize countdown width to prevent banner text wobble

Fixed-width monospace container with tabular-nums prevents layout shifts as countdown digits change every 50ms.

Kamo·5mo ago

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.

Start Free ForeverView Pricing