From 2b9aa32bde5c30e6c51ac89fb5b514685e927897 Mon Sep 17 00:00:00 2001 From: Nitheesh D R Date: Tue, 8 Sep 2026 00:20:45 +0530 Subject: [PATCH 1/2] docs: catch up the public changelog through Sept 8 Entries for everything shipped since the last changelog update (Sept 1): the Lite plan, the snapshot-caching fix that makes large stores load noticeably faster, the About/Terms/Privacy pages, the magic-link sign-in fix, the order-confirmation payment-gating fix, the broadcast media fix, and the changelog page itself. Left out on purpose, matching this file's own stated policy: internal Jira-workflow documentation and the WhatsApp Cloud API pilot page (neither is part of the product a customer sees). Co-Authored-By: Claude Sonnet 5 --- src/lib/marketing/changelog.ts | 50 ++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/src/lib/marketing/changelog.ts b/src/lib/marketing/changelog.ts index 19f4b13..cd2657b 100644 --- a/src/lib/marketing/changelog.ts +++ b/src/lib/marketing/changelog.ts @@ -30,6 +30,56 @@ export interface ChangelogRelease { } export const CHANGELOG: ChangelogRelease[] = [ + { + date: "2026-09-08", + title: "A Lite plan", + changes: [ + { + kind: "new", + text: "Lite (₹1,999/mo): every analytics module, no WhatsApp. For a store that wants the numbers without the messaging — upgrade to Go or Plus any time campaigns, flows or a shared inbox become worth it.", + }, + ], + }, + { + date: "2026-09-07", + changes: [ + { + kind: "improved", + text: "The dashboard, inbox and product picker load meaningfully faster for stores with a large order history — the caching that already sped up smaller stores wasn't actually taking effect once a store grew past a certain size.", + }, + ], + }, + { + date: "2026-09-03", + title: "About, Terms & Privacy", + changes: [ + { + kind: "new", + text: "About, Terms of Service and Privacy Policy pages, linked from the footer.", + }, + { + kind: "fixed", + text: "A magic sign-in link from email now signs you in correctly, instead of silently landing on the home page.", + }, + { + kind: "fixed", + text: "The WhatsApp order-confirmation message now waits for a payment to actually go through before sending, instead of firing the instant checkout is submitted — a pending UPI or card order no longer gets a \"thank you\" before it's actually paid for.", + }, + { + kind: "fixed", + text: "A campaign sending a photo or video over WhatsApp no longer fails silently for every recipient.", + }, + ], + }, + { + date: "2026-09-02", + changes: [ + { + kind: "new", + text: "A public changelog page, linked from the footer.", + }, + ], + }, { date: "2026-09-01", title: "A 14-day free trial", From 0bd1d7b50992f8735f0ef732ee9a014bfd1817ee Mon Sep 17 00:00:00 2001 From: Nitheesh D R Date: Tue, 8 Sep 2026 00:22:03 +0530 Subject: [PATCH 2/2] PUL-25: require a changelog entry in the same PR as a visible change Five real shipped changes this week landed across five separate PRs with none of them touching src/lib/marketing/changelog.ts -- it took a dedicated catch-up pass (this PR) to notice and close the gap. Same failure shape as README.md's stale "Vercel Cron" claim: drifts silently until someone happens to check. CLAUDE.md is just `@AGENTS.md` (an include, nothing else in the file), so this is the only file that needs the rule. Co-Authored-By: Claude Sonnet 5 --- AGENTS.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 777bff2..1557403 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -125,6 +125,28 @@ your own Atlassian account, and export it in your own shell/agent config your tooling) — never use someone else's token on their behalf, and never paste a token into a commit, a PR description, or a file this repo tracks. +## Update the changelog in the same PR, not after + +`src/lib/marketing/changelog.ts` feeds the public `/changelog` page, and it +drifts the same way `README.md`'s "Vercel Cron" claim did — quietly, until +someone notices it's stale. It went unmaintained for a week in practice: five +real shipped changes (a new plan, a reliability fix, three new pages, several +bug fixes) landed across five separate PRs with none of them touching this +file, and it took a dedicated catch-up pass to close the gap. Don't leave that +for someone else to notice later. + +**If a PR changes what a signed-in customer or a visitor can see or do, add a +changelog entry in that same PR** — new pages, new plans or pricing, a +customer-visible bug fix, a real behavior change. Follow the file's own doc +comment for what to leave out (internal refactors with no visible effect, +abandoned experiments) and match its existing voice: product language, not +engineering language ("A campaign sending a photo or video over WhatsApp no +longer fails silently", not "fixed BulkMessageContentDto schema mismatch"). +Group under today's real date; add a new date block at the top of the array +rather than editing an old one. This is the same discipline as +`src/lib/openapi.ts` — new routes documented in the commit that adds them, not +backfilled in a batch later. + ## Where to look first - `src/proxy.ts` — the single auth chokepoint (Next 16's replacement for