Live Change Log

See what we're building, in real-time. Every feature, fix, and improvement shipped across the platform.

17,865
Total Changes
4,581
Features
4,512
Fixes
32
Projects
Filter by project
All Projects17,865AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService348InitializerService299KBService74KlusterServices539MCPGatewayService43MediaService460RAGService61SecurityService1,519TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,553kamo-login318kamo-marketing584kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,320kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI522Chore670Docs226Feature4,581Fix4,512Other6,781Performance136Refactor273Revert23Style48Test68Upgrade1
September 11, 2026
Featurekamo-marketing

Let a reader send the seat-fee article to someone they know

A "pass it on" form at the foot of **************** reached from a chip at the top and a line after the seven questions. The reader names up to three people and...

KamoΒ·1h ago
Featurekamo-marketing

Put every page in /sitemap.xml itself, and list pages only in the languages they have

/sitemap.xml was an index, so opening it showed 79 file names rather than the site's pages. - /sitemap.xml is now one <urlset> with every page: 18,700 of them,...

KamoΒ·1h ago
Featurekamo-marketing

Public service announcement on who keeps software seat fees

New page at **************** explaining, for non-technical owners, how resold white-label platforms work: a flat agency license, per-seat fees the agency keeps,...

KamoΒ·1h ago
Featurekamo-marketing

List every page in every language it exists in, and make each page agree

/sitemap.xml listed each page once, as its English URL. The 17,843 changelog entries had no language alternates at all, and every page's own hreflang named all ...

KamoΒ·2h ago
Fixkamo-marketing

Order sitemap <url> children as the schema does, and give each chunk one address

The sitemap XSD is a sequence: loc, lastmod, changefreq, priority, then extension elements. The hreflang links were written straight after <loc>, which Google t...

KamoΒ·7h ago
Featurekamo-marketing

Generate the sitemaps per request, and give every change its own page

/sitemap.xml was a metadata file prerendered at build time, in a container that cannot reach KBService or SecurityService, so every deploy shipped a sitemap wit...

KamoΒ·7h ago
September 10, 2026
Fixkamo-marketing

Drop the remaining third-party plan and cost wording

- zoho-mail, ecwid: the FAQ answering which of the vendor's plans, free or paid, the integration needs is removed. Both items take i18nKey "<slug>-r2" so no...

KamoΒ·1d ago
Fixkamo-marketing

Quote only our own price, never another company's

The comparison pages set each competitor's list prices, add-on prices, "a typical team pays" estimates, TCO and implementation figures, and "N% cheaper" verdict...

KamoΒ·1d ago
Featurekamo-marketing

List the phone number on the English pages only

showsPhone(locale) in app/lib/phone.ts is the single rule, currently locale === "en". PhoneLink returns nothing elsewhere, which covers the header, mobile menu ...

KamoΒ·1d ago
Featurekamo-marketing

Let the logo lead home, and list the phone number where visitors decide

The header's Home entry duplicated the logo, which already links to /. It is gone from the desktop and mobile menus; in its place the logo carries a hover/focus...

KamoΒ·1d ago
Fixkamo-marketing

Draw the search icon down from the full-size mark instead of doubling the small one

The 192px icon Google lists was the 96px export with every pixel doubled. It is now downscaled from the 820px master, so its edges are drawn rather than stepped...

KamoΒ·1d ago
Fixkamo-marketing

Give Google a canonical it can read, and stop redirects outvoting it

Search Console began excluding pages as "Duplicate without user-selected canonical", "Duplicate, Google chose different canonical than user" and "Alternate page...

KamoΒ·1d ago
Fixkamo-marketing

Publish prices search engines accept, and the ones the page actually shows

Search Console's product snippet report flagged "Invalid price format" on both `price` and `priceSpecification.price`. The cause was Enterprise going out as "pr...

KamoΒ·1d ago
Featurekamo-marketing

Hand Google the green-tile mark, because it lists the largest icon we declare

Search shows one icon per site and takes the largest one declared, apple-touch-icon included, so the 180px touch icons (ours and the theme's) outranked everythi...

KamoΒ·1d ago
September 9, 2026
Fixkamo-marketing

The offer countdown could not hydrate, so React threw the banner away on every load

The homepage has been throwing React #418 β€” "the server rendered text didn't match the client" β€” on every load, in production as well as locally. The mismatch i...

KamoΒ·2d ago
Featurekamo-marketing

Give the film a watch page, because Google will not index it from the homepage

Search Console reports the one video on this site as "video is not on a watch page". That is not a bug in the hero β€” it is Google saying the homepage is about t...

KamoΒ·2d ago
September 7, 2026
Fixkamo-marketing

Let a local build reach the catalogue it already has the key for

`npm run build` on a laptop died prerendering /en/alternatives/gohighlevel with "Kamo seat prices unavailable", and `npm run dev` served a homepage with no pric...

KamoΒ·4d ago
Docskamo-marketing

The Labor Day crane is fifteen lines, not nine

The cost note counted the crane before it grew a two-leg lattice mast and a triangular jib section, which is the shape it needed to stop reading as a wobbling r...

KamoΒ·4d ago
Featurekamo-marketing

Labor Day β€” a working skyline clocking off

The nineteenth scene, and the first Monday in September with the Saturday and Sunday before it. It is the one window on this calendar that cannot collide with a...

KamoΒ·4d ago
September 6, 2026
Fixkamo-marketing

One source of truth, and a build that can actually reach it

Every price on this site had a second copy in the repo, and the second copy was the one being served. kamo-prices.ts said so in its own comment: the fallback t...

KamoΒ·5d ago
Performancekamo-marketing

Stop every scene re-rasterising its sprite bank on resize

An audit of all eighteen scenes found the same defect in twelve of them, and it is the shape that degrades a tab over a minute or two and then stalls it in garb...

KamoΒ·5d ago
Fixkamo-marketing

Remove the footer picker, keep the ?holiday= parameter

The dropdown was a temporary control for the initial review of the eighteen scenes and it has served its purpose. The query parameter stays β€” it is the only way...

KamoΒ·5d ago
Fixkamo-marketing

Stop the page-rotation easter egg re-firing on every trip to the footer

The reported lockup was never the holiday scenes. It is `HiddenAnimations`, which has been in this repo the whole time, and the report described it exactly: "so...

KamoΒ·5d ago
Fixkamo-marketing

Stop the scenes hanging the tab

Reported: "after about a minute or two the page looks to animate away then animate back and its completely locked up. Browser wants to close the tab." Reproduce...

KamoΒ·5d ago
Featurekamo-marketing

Dress the site for eighteen days of the year

On ~84 days a year the marketing site now decorates itself, automatically, from the reader's own calendar. Snow falls through December and settles on the cards ...

KamoΒ·5d ago
Featurekamo-marketing

Carry the no-credit-card mark on the nav Start Free too

The hero CTA changed but the nav button kept a Rocket, so the same action wore two different marks on the same screen β€” and the nav one is the button a reader s...

KamoΒ·5d ago
Featurekamo-marketing

Swap the Start Free arrow for a no-credit-card mark

The hero CTA carried a generic ArrowRight, which told a reader nothing they did not already know from the button being a button. The objection it has to answer ...

KamoΒ·5d ago
Fixkamo-marketing

Stop losing referral attribution on the marketing site

Two ways a member's referral was being dropped, both silent. 1. Every register/login CTA was the string literal `https://register.kamocrm.com`, while this s...

KamoΒ·5d ago
September 5, 2026
Fixkamo-marketing

Prove the deploy by digest, not by tag

The preceding commit stops `set image` being a silent no-op. This asserts the outcome: after the rollout, the tag is resolved to a digest at the registry and th...

KamoΒ·6d ago
Fixkamo-marketing

A rebuild of the same commit deployed nothing and reported success

The image is tagged with the commit SHA, so rebuilding the same commit produces an identical image reference. `kubectl set image` then changes nothing, the Depl...

KamoΒ·6d ago
Featurekamo-marketing

Say what the Free plan does not charge, beside what the paid ones do

Now that Starter and Business each carry a one-time charge on the card, a Free card that says nothing about it invites exactly the wrong inference β€” the reader ...

KamoΒ·6d ago
Fixkamo-marketing

Make the startup fee findable β€” discreet is not the same as hidden

The note shipped at #8c8c8c with no spacing, wedged between the bright green term line and the plan description. That is DARKER than the body copy beneath it, s...

KamoΒ·6d ago
Fixkamo-marketing

Remove the last "$0 setup" claim, and quote the fee only where it is fixed

Rendering the calculator turned up a claim the first pass missed: its "Included Free!" panel led with "Setup & Implementation β€” $0", struck through against a co...

KamoΒ·6d ago
Featurekamo-marketing

State the startup fee, and stop claiming there isn't one

The site said "$0 setup fees" three times in the pricing page's metadata and listed "No mandatory onboarding fees" as an advantage over HubSpot. All of it is no...

KamoΒ·6d ago
Chorekamo-marketing

Rebuild β€” the previous run never produced an image

f0edd01 was pushed with the rest of the fleet-wide rollout-safety work and is the only one of that batch whose image never appeared: the deployment is still run...

KamoΒ·6d ago
September 4, 2026
Featurekamo-marketing

Drain on SIGTERM, and run two pods

Next handles SIGTERM with a bare process.exit(143), so every deploy severed whatever this pod had in flight β€” a form post, a server action, a streamed RSC paylo...

KamoΒ·1w ago
Fixkamo-marketing

Let a rollout finish what the old pod was doing

Deploys replaced the only pod of each service with nothing to catch the requests in flight. Three settings, applied across the fleet: - preStop sleeps 10s befo...

KamoΒ·1w ago
Fixkamo-marketing

25 pages titled themselves KamoCRM twice

Every page's <title> read `X | KamoCRM | KamoCRM`. The root layout sets `title.template: "%s | KamoCRM"`, and each page's own `title` already ended in the same ...

KamoΒ·1w ago
Featurekamo-marketing

A product gallery at /screenshots

A page for showing the product as it actually looks. It is built around a data module rather than markup, because more screenshots are coming and adding one sho...

KamoΒ·1w ago
September 2, 2026
Fixkamo-marketing

The summary line double-counted sections

A section page is itself one of the articles, so "291 articles, 16 areas, 29 sections" invited the reader to add up three numbers that do not add up. One number...

KamoΒ·1w ago
Featurekamo-marketing

Rebuild the index as a map of the product

It was one recursive list of all three hundred articles, indented by depth. Everything was on the page and nothing was findable, and the page weighed 3.9 MB. T...

KamoΒ·1w ago
Fixkamo-marketing

Keep made-up article paths out of the index

The canonical check already stops a wrong path rendering the article -- it serves the not-found page instead. What it cannot do is change the status code: this ...

KamoΒ·1w ago
Fixkamo-marketing

Point at the real org, keep the tree in the URL, show related articles

KB_ORG_ID was "1". The help center lives in org 1168485648209608710, so every KB read on this site missed -- /help-center rendered its empty state no matter wha...

KamoΒ·1w ago
August 31, 2026
Featurekamo-marketing

Starter base up $10 on every term

69 / 59 / 49, from 59 / 49 / 39. The commitment ladder is untouched by design β€” still exactly $10 off for a year and $20 for three β€” which is the standard every...

KamoΒ·1w ago
Fixkamo-marketing

Set "/seat/month" to the right of its own line

The price keeps the left edge and the unit takes the right, so the two bracket the card's width instead of stacking flush left β€” which left the number looking l...

KamoΒ·1w ago
Featurekamo-marketing

The offer reaches the hero and the pricing strip

The hero had a countdown ribbon already, and it had been rendering NOTHING since the catalog moved to a percentage: `pickHeroOffer` filtered on FLAT_PER_SEAT be...

KamoΒ·1w ago
Fixkamo-marketing

Put "/seat/month" under the price, not beside it

Three-figure rates and "/seat/month" do not share a line on a four-across card. Inline at 1rem the label either wrapped mid-text or squeezed the number it was d...

KamoΒ·1w ago
Fixkamo-marketing

A promotion that fails to resolve must not widen to every plan

An EMPTY applicablePlanIds means "no restriction" downstream, so a restriction that fails to TRANSLATE must not be allowed to become an empty list. A Business-o...

KamoΒ·1w ago
Fixkamo-marketing

A promo code works on its own last day

The end date is the LAST day a code works, not the first day it does not β€” SubscriptionPromotions.check reads it that way on the server, and the offer band's co...

KamoΒ·1w ago
Featurekamo-marketing

A three-term commitment rail, and a promotion the page can prove

New prices: Starter $59/$49/$39 and Business $119/$109/$99 per seat per month on monthly, yearly and three-year terms. The rail replaces the monthly/annual pair...

KamoΒ·1w ago

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing