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 19, 2026
Performancekamo-marketing

Seven sections stop hydrating

Step B. TrustBar, WhatReplacesWhat, HowItWorks, UseCases, Features, CTAStrip and Pricing are server components now. They render to HTML and ship no JavaScript. ...

Kamo·1mo ago
Performancekamo-marketing

Take the animation runtime off the homepage entirely

Step A of the hydration work. Framer Motion is gone from the homepage's eager bundle: 798,723 -> 687,593 bytes raw, 245,367 -> 209,422 gzip. That is 35,945 fewe...

Kamo·1mo ago
Performancekamo-marketing

Stop rendering eight off-screen sections before the hero can paint

LCP was 4.4 s, and its breakdown said where: 120 ms to first byte, 290 ms of load delay, 390 ms actually downloading the image — and then 1,810 ms of "element r...

Kamo·1mo ago
Performancekamo-marketing

Undo the two changes that cost 380ms of blocking time, and quiet the phone

The last two rounds took the score from 87 to 67. Total Blocking Time went from 80 ms to 460 ms and LCP from 3.9 s to 4.4 s. Two of my own changes did that, and...

Kamo·1mo ago
Performancekamo-marketing

Move the headline sweep onto the compositor, and the chat widget off load

Two things left over from the last round, both flagged rather than done because each trades something. Doing them now. THE HEADLINE'S LIGHT PASS. It was a seco...

Kamo·1mo ago
Fixkamo-marketing

Render themed imagery server-side, and keep brand text readable

Every background on the homepage was being downloaded TWICE. The components rendered the local `/img/bg/N.webp`, then an effect resolved the org's theme path on...

Kamo·1mo ago
Performancekamo-marketing

Inline the stylesheet, and drop polyfills nothing can reach

Two Lighthouse findings, both of which stayed open after the last round because I had concluded they were not addressable. They were; I had not looked hard enou...

Kamo·1mo ago
Fixkamo-marketing

Name the controls that had no name, and lift the text under 4.5:1

Three separate defects, all of them invisible to the build, the type check, the lint run and both existing guards. UNNAMED CONTROLS — the phone layout's naviga...

Kamo·1mo ago
Performancekamo-marketing

Stop shipping 1.8 MB of unresized backgrounds after hydration

ThemedBackground was the most expensive thing left on the homepage, and none of it looked like a bug. It rendered a raw <img> straight at the theme bucket, so t...

Kamo·1mo ago
Performancekamo-marketing

Stop the fold waiting on hydration, and clear the load window

The homepage shipped its whole fold invisible. Framer Motion serialises an `initial` prop into the prerendered HTML as an inline style, so the markup arrived wi...

Kamo·1mo ago
Chorekamo-marketing

Remove the navigation timing probe

It did its job. The question it was added to answer — whether the remaining delay was network, script or paint — turned out to have a fourth answer the probe fo...

Kamo·1mo ago
Performancekamo-marketing

Stop the analytics tracker hijacking every link but Home

Every page except the homepage took seconds to open, and the reason was never in this app's own navigation path: the server prerenders, prefetch payloads are co...

Kamo·1mo ago
Fixkamo-marketing

Every route change was animating a scroll back to the top

<html> carried Tailwind's `scroll-smooth` and nothing else. Next suppresses smooth scrolling while it scrolls to a new route, but only for pages that declare it...

Kamo·1mo ago
Stylekamo-marketing

Move the video controls to the top right

They sat bottom-left only because the frame used to bleed off the right edge of the viewport, which would have put a control anchored there off screen. The reel...

Kamo·1mo ago
Chorekamo-marketing

Measure real navigations and cold loads, not just flagged sessions

Five rounds of fixes have each removed a real defect and none has fixed what is actually being felt, because every diagnosis so far has been inference from outs...

Kamo·1mo ago
Performancekamo-marketing

Drop the sitewide loading boundary that only secondary pages paid for

Every page except the homepage felt slow, which points straight at the (pages) subtree — and at something I put there. When 4fae924 added (pages)/loading.tsx ev...

Kamo·1mo ago
Performancekamo-marketing

Prerender the changelog count, refresh it on publish instead of on visit

Every visitor was fetching this number themselves. PreviewBanner lives in the shared layout, so on every page it hit /api/changelog/today after hydration, waite...

Kamo·1mo ago
Performancekamo-marketing

Stop prefetching a megabyte per page, and stop calling the backend for free

Two costs that were paid on every page, both found by following the reporter's own hunch about i18n and needless backend calls. PREFETCH VOLUME — a regression ...

Kamo·1mo ago
Chorekamo-marketing

Add an opt-in navigation timing probe behind ?perf=1

Page switches still feel slow on production, and the server has been ruled out from the reporter's own machine: 55-122ms responses, x-nextjs-cache HIT, prefetch...

Kamo·1mo ago
Fixkamo-marketing

Survive a retried image pull, and stop deploying twice per push

The 013faf1 deploy failed on `exceeded its progress deadline` while the rollout itself was fine — the pod came up healthy about 90s in, and prod has been servin...

Kamo·1mo ago
Performancekamo-marketing

Stop every page switch waiting on a redirect and a 2s fade-in

The prerendering work in 4fae924 fixed the server and the router, and the site still felt like it took 1-2 seconds to change pages. It was never the network. Tw...

Kamo·1mo ago
Performancekamo-marketing

Prerender the routes again and give a navigation something to paint

The locale layout resolved its messages with a bare getMessages(), which reads request headers and so opted the ENTIRE app out of static rendering. With no load...

Kamo·1mo ago
Fixkamo-marketing

Carry the heading contrast fix to pricing, security, about and offer

Same defect as the home page, same nine remaining spots: section headings opened on `--color-primary`, which measures 2.61:1 against a mid-green background — un...

Kamo·1mo ago
Fixkamo-marketing

Raise section-heading contrast off the green end of the ramp

Every section heading's second line ran `--color-primary` -> `--color-primary-light` -> `--color-secondary`, so it STARTED in the brand green. Measured against ...

Kamo·1mo ago
Featurekamo-marketing

Play the kamo13 reel

Points the hero at the new reel's ladder, MP4 fallback and poster. The source is spec-identical to the one it replaces (H.264 720p24, 66s, ~30 MB), so nothing a...

Kamo·1mo ago
Fixkamo-marketing

Move the grid out of styled-jsx; drop two dead components

Finishes the styled-jsx sweep started on the preview banner. No `<style jsx>` block remains anywhere in the app. SITEMAP — the grid was an inline `display:grid...

Kamo·1mo ago
Fixkamo-marketing

Stop the banner flashing unstyled, make whole feature cards clickable

PREVIEW BANNER — its CSS lived in a `<style jsx>` block inside the component. In the App Router styled-jsx does not server-render CSS for client components, so ...

Kamo·1mo ago
Stylekamo-marketing

Centre the reel in its column instead of pushing it to the edge

Two earlier passes had the stage reaching for the page edge — first overhanging the viewport by 1.5–5rem, then sitting flush against it. Overhanging cropped a p...

Kamo·1mo ago
Featurekamo-marketing

Wire the offer banner, fix dead Learn more links and the hexagon field

Five fixes, all of them things that looked present but did nothing. OFFER BANNER — HeroOfferBanner was dead code; nothing imported it. Restored, but driven by ...

Kamo·1mo ago
Featurekamo-marketing

Rebuild the hero as an editorial split with the reel as an aperture

The reel was a centred rounded rectangle with a drop shadow — an object placed on the design rather than part of it — and it was the ONLY thing in the hero: ff0...

Kamo·1mo ago
Featurekamo-marketing

Play the reel as an adaptive HLS ladder instead of a 31.8 MB MP4

The hero pointed a bare <video src> at a single 3.9 Mbps 720p24 MP4, so a phone on a weak connection downloaded exactly the same stream as a desktop on fibre, a...

Kamo·1mo ago
Featurekamo-marketing

Polish video hero unit with modern animations and optimizations

- Add poster image for instant visual feedback during video load - Implement loading skeleton with pulsing animation - Start video muted (browser autoplay polic...

Kamo·1mo ago
August 17, 2026
Otherkamo-marketing

Update Kamo Marketing Site

Kamo·1mo ago
Otherkamo-marketing

Update Kamo Marketing Site

Kamo·1mo ago
Otherkamo-marketing

Update Kamo Marketing Site

Kamo·1mo ago
Otherkamo-marketing

Update Kamo Marketing Site

Kamo·1mo ago
Otherkamo-marketing

Update Kamo Marketing Site

Kamo·1mo ago
Featurekamo-marketing

Replace hero text unit with autoplay promo video

Swap the homepage hero copy, CTAs, and stats for a looping muted video while keeping the rotating background treatment.

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

Lift icon contrast where the mark sits on a tinted bubble

The reported case is the brand green on a tint of itself: --color-primary against rgba(107,142,58,0.15) is 3.43:1. That clears the 3:1 WCAG 1.4.11 floor for gra...

Kamo·1mo ago
Featurekamo-marketing

Add the 25-year anniversary seal

Two placements, both chosen for where the claim is already being made: Footer — 60px, beside "© 2001–<year> ... established 2025". Site-wide, ...

Kamo·1mo ago
Featurekamo-marketing

Show the 2001 copyright range and the incorporation year

Renders "© 2001–<year> KamoCRM. KamoCRM Inc. established 2025. All rights reserved." The range start is hard-coded next to the dynamic end year rather than livi...

Kamo·1mo ago
Featurekamo-marketing

Add the meeting and payroll integrations

Zoom and Microsoft Teams for meetings, and the ten payroll vendors — ADP Workforce Now, BambooHR, Dayforce, Gusto, Paychex Flex, Paycor, Paylocity, Rippling, UK...

Kamo·1mo ago
Featurekamo-marketing

Count apps and integrations separately with real numbers

"Apps & Integrations" was one tile reading 31+. It is now two, each with a figure that can be re-derived rather than estimated: Apps 64 — Forgejo pro...

Kamo·1mo ago
Stylekamo-marketing

Reset the home headline on a display face and one light pass

The h1 stacked four effects: a fade wrapper, mouse parallax on each line, per-character 3D rotation on line one, and a blue/purple/green gradient cycling across...

Kamo·1mo ago
Featurekamo-marketing

Read the org's real background count and play order

The hero probed for bg/1.webp and then hardcoded three frames, so an org with more never showed them and the rotation modulo'd by LOCAL_BGS.length regardless of...

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

Locale-correct structured data, and a robots.txt rule that matched nothing

Every BreadcrumbJsonLd and ItemList URL was hardcoded to /en, so the structured data on /fr/terms told crawlers its breadcrumb parent was the English page — 19 ...

Kamo·1mo ago
Featurekamo-marketing

Index the collection detail pages in 19 more languages

The sync finished, so the ~2,400 detail pages that were noindexed for having English body copy now have real translations and can be indexed. Measured across al...

Kamo·1mo ago
Fixkamo-marketing

Stop advertising ta as a translated alternate

Key coverage is not translation. TranslateService returns the source text when no provider supports a direction — ProviderRouter logs "No provider supports en->...

Kamo·1mo ago
Featurekamo-marketing

Localize the hub cards and stop bundling the English datasets

The four hub pages rendered client components that imported the collection modules directly and took no props, so every card — industry names, integration tagli...

Kamo·1mo ago
Featurekamo-marketing

Translate the collection pages instead of hiding them

The 2,400 noindexed detail pages were noindexed because their body copy has no translation: competitors, industries, integrations and glossary keep their prose ...

Kamo·1mo 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