reference

Changelog

Every shipped version with a short note on what changed. For the full marketing changelog with screenshots, see /changelog.

  1. v0.143ay: Help Center seed content

    2026-05-25

    ~430 rows seeded.

    Why use this

    Read this release to see exactly what's inside the auto-seeded Help Center and where the content came from.

    Benefits:

    • Know which surfaces are documented (every route, every role, every workflow) so you stop guessing where help exists.
    • Understand the provenance of each entry (areas-and-routes.md, workflow-index.md, roles.md, matrix.json, TopNav.tsx) so you can audit accuracy.
    • See the breakdown by type (glossary, overview, help, workflow, tip, FAQ, troubleshooting) and plan which to read first.

    Auto-seeded the Help Center with ~430 rows:

    • ~100 glossary entries
    • 8 role overviews
    • ~150 Help Guide entries (one per documented route)
    • ~210 step-by-step workflows
    • 8 tip sheets (one per role)
    • ~30 FAQ entries
    • ~25 troubleshooting entries
    • 10 changelog entries

    All rows machine-generated; the founder will polish post-launch. Content authored from areas-and-routes.md, workflow-index.md, roles.md, matrix.json, and TopNav.tsx.

  2. v0.143ay+1: 100% help coverage + What's-new banner + broken-link smoke

    2026-05-25

    Closed every route gap, flipped CI to hard-fail, added the per-user "updated since you last visited" banner.

    Why use this

    Read this release to know that every route in the app is now documented, that CI hard-fails on new gaps, and that you get a banner whenever a help page you've read has been updated.

    Benefits:

    • Zero documentation drift: shipping a route without a help entry now fails the build.
    • "What's new" banner surfaces edits since your last visit so you stay current without re-reading everything.
    • 17 previously-missing surfaces now have help entries — no more dead ends.
    • Broken-link smoke test catches dead related[] slugs and /help/... references before they hit users.

    Shipped May 25.

    Highlights

    • Route coverage went from ~95% to 100%. Every page in src/app/ now has a help_pages entry (or is on the EXCLUDED meta list).
    • CI hard-fail. coverage.test.ts flipped ASSERT_HARD = true. New routes that ship without a help entry now fail the build.
    • "What''s new" banner appears at the top of any features/workflows detail page that''s been updated since you last read it. Stamps your read after a 4-second dwell.
    • Broken-link smoke test scans every related[] slug + every /help/... link in body_md and flags dead refs.
    • 17 new Help Guide entries for the previously-missing surfaces: about, audio, blog, campaigns, customers, metrics, privacy, site-templates, skills/new, terms, etc.
    • 22 parent rows extended with 28 nested route children (e.g. /aeo row now also covers /aeo/[id] and /aeo/proposals/[id]).
  3. v0.143ay+2: real tsvector FTS + weekly misses digest

    2026-05-25

    Help search now uses a proper GIN-backed tsvector column. New /admin/help/misses dashboard + Monday cron.

    Why use this

    Read this release to know that help search now uses real Postgres FTS with weighted ranking, and that there's a founder dashboard for tracking missed searches.

    Benefits:

    • Help search returns the right answer first more often (title-weighted ranking beats word-soup ILIKE matches).
    • Founders can see exactly which queries return zero results and fix gaps in /admin/help/misses.
    • Weekly digest emails surface low-rated and zero-result pages so improvements happen on a regular cadence.

    Shipped May 25.

    Highlights

    • Search uses real Postgres FTS. Old .ilike fallback replaced with .textSearch() against a new tsvector column with weighted ranking: title (A) > summary (B) > tags (C) > body (D). Backfilled all 607 rows.
    • Founder misses dashboard at /admin/help/misses. Lists the top 50 zero-result help-search queries plus the 30 lowest-rated help pages. Each row has a "Draft an entry" or "Edit" shortcut.
    • Weekly cron /api/cron/help-misses-digest runs Mondays 09:00 UTC, emails OWNER_EMAIL the past-7-days digest. No-op when there''s nothing to report.
    • "Misses + low-rated" link added to the /admin/help editor header.
  4. v0.143ay+3: dashboard 500 fix

    2026-05-25

    Dashboard queried orders.total_cents which does not exist. Renamed to amount_cents.

    Why use this

    Read this release to know that the dashboard 500 error caused by a renamed column has been fixed.

    Benefits:

    • /dashboard loads again for every commerce-enabled workspace.
    • No more support tickets about the home page returning a server error.
    • Confidence that the rest of the codebase was grep-swept for the same bug pattern.

    Shipped May 25.

    Why this happened

    The v0.143an dashboard rebuild added a paid-revenue MTD tile that queried commerce.orders.total_cents. That column does not exist (it lives on commerce.invoices, a different table). Every signed-in workspace owner with commerce enabled was getting a 500 on /dashboard.

    Fix

    Renamed both call-sites to amount_cents (the column that actually exists on commerce.orders). Grep-swept the rest of the codebase to confirm no other orders queries were affected.

  5. v0.143ay+4: force-dynamic on every help route — fixes Vercel build OOM

    2026-05-25

    Static pre-render of ~600 (role, slug) help-page combos was OOM-killing the 8GB build container. Forced dynamic.

    Why use this

    Read this release to know that Vercel builds no longer OOM during help-route prerender, and to learn the operator move for poisoned build caches.

    Benefits:

    • Builds finish in 3 minutes instead of 12 (or never).
    • No more 8 GB OOM kills at the "Creating an optimized production build" step.
    • Operator note included: vercel --prod --force --yes clears poisoned cache from a prior failed build.

    Shipped May 25.

    Why this happened

    11 of the 13 /help/* routes had no dynamic export, so Next.js defaulted to auto and tried to statically enumerate every (role, slug) combination at build time. 8 roles times ~100 slugs each = 600+ pages built simultaneously, each hitting Supabase. The 8 GB Vercel container ran out of memory at the "Creating an optimized production build" step. Builds either SIGKILL''d at 12 minutes or silently stalled until timeout.

    Fix

    Added export const dynamic = 'force-dynamic' at module level on all 11 missing routes:

    • /help (home)
    • /help/[role] (role landings)
    • /help/[role]/features + /[slug]
    • /help/[role]/workflows + /[slug]
    • /help/[role]/tips
    • /help/faq, /help/troubleshooting, /help/glossary, /help/matrix

    Help content is served from Supabase per request anyway, so prerendering bought nothing. Force-dynamic skips the build-time enumeration entirely. Builds now finish in 3 minutes.

    Operator note

    When a Vercel build silently stalls at "Creating an optimized production build" with no log progress, the build cache from a prior OOM''d attempt can poison subsequent retries. Run vercel --prod --force --yes to skip the cache.

  6. v0.143j to v0.143m: Marketing surfaces

    2026-05-25

    GHL parity round 2.

    Why use this

    Read this release to see how the marketing surfaces (QR codes, Surveys, Countdown timers, Bulk CSV import) came online in round 2 of GHL parity.

    Benefits:

    • Generate trackable QR codes without leaving Looper.
    • Run surveys and countdown-driven promotions natively.
    • Bulk-import leads with a 3-step wizard and auto column mapping (no more hand-mapping every CSV).

    Round 2: marketing surfaces.

    • v0.143j QR codes.
    • v0.143k Surveys.
    • v0.143l Countdown timers.
    • v0.143m Bulk CSV lead import (3-step wizard, auto column mapping).
  7. v0.143n to v0.143q: Commerce stack

    2026-05-25

    Products through invoices.

    Why use this

    Read this release to see the full commerce stack landing in one round: Products, Payment Links, Stripe webhooks, Orders, Coupons, Invoices, Estimates.

    Benefits:

    • Sell anything (one-time, subscription, course) from inside Looper with Stripe Connect direct charges.
    • Track every order in one dashboard, fed by hardened Stripe webhook routing.
    • Issue coupons (percent or fixed) with optional cap and expiry.
    • Send estimates that convert to invoices in one click; both have a hosted public view.

    Round 3: full commerce stack.

    • v0.143n Products catalog + Payment Links (Stripe Connect direct charges).
    • v0.143o Stripe webhook routing + Orders dashboard.
    • v0.143p Coupons (percent / amount, optional cap + expiry).
    • v0.143q Invoices + Estimates (state machine, hosted public view, convert-to-invoice).
  8. v0.143r to v0.143v: Reviews, affiliates, blog, courses, reports

    2026-05-25

    Cluster of independent ships.

    Why use this

    Read this release to see a cluster of independent ships: post-purchase reviews, affiliate manager, blog, courses, attribution.

    Benefits:

    • Automate post-purchase review asks without writing a single workflow.

    • Run one affiliate program per tenant with an idempotent commission ledger (no double-counting).

    • Publish a SEO-friendly blog with markdown and override fields.

    • Sell courses with email-keyed enrollment and per-lesson progress.

    • See paid revenue rolled up by payment link, affiliate, coupon, and lead source in one report.

    • v0.143r Post-purchase review automation.

    • v0.143s Affiliate manager (one program per tenant, idempotent commission ledger).

    • v0.143t Blog with markdown body, SEO override fields, public reader.

    • v0.143u Memberships: Courses + Lessons + Email-keyed Enrollments + Per-lesson Progress.

    • v0.143v Attribution Report (paid revenue by payment link, affiliate, coupon, lead source).

  9. v0.143w to v0.143ab: Funnels through Conversation Analytics

    2026-05-25

    Phase 2 sprint.

    Why use this

    Read this release to see the phase 2 sprint: Funnels, Communities, Credentials, Client Portal, AI workflow builder, Agent folders.

    Benefits:

    • Build multi-step lead-capture funnels and scored quizzes natively.

    • Run a Skool/Circle-style community inside your workspace.

    • Auto-issue SVG completion certificates that customers can verify publicly.

    • Describe a workflow in chat and get a JSON config out (no more dragging nodes).

    • Organize agents into folders, version them, and read full run logs.

    • v0.143w Funnels (multi-step lead capture) + Quizzes (scored surveys).

    • v0.143x Communities (Skool/Circle-style channels and threads).

    • v0.143y Credentials (auto-issue SVG certs on course completion).

    • v0.143z Client Portal (white-label /portal/[tenantSlug]).

    • v0.143aa AI workflow builder (chat to workflow JSON via Claude Sonnet).

    • v0.143ab Agent folders + versioning + run logs + Reviews AI + Manual Actions queue.

  10. v0.143a to v0.143i: Foundational CRM gaps

    2026-05-25

    GHL parity round 1.

    Why use this

    Read this release to understand the foundational CRM gaps Looper closed in round 1 and why later rounds depend on them.

    Benefits:

    • See exactly which capabilities (Snippets, Trigger Links, Companies, Audit log, Custom Objects, Lead scoring, Tasks, Snapshots) shipped together so you can adopt them as a coherent stack.
    • Know which features unlock downstream rounds, so you upgrade in the right order.
    • Catch up fast if you missed the live rollout — no need to dig through Slack or git logs.

    Round 1 of the GHL gap-fill. Shipped:

    • v0.143a marketing page rewrite.
    • v0.143b Snippets.
    • v0.143c Trigger Links.
    • v0.143d Companies.
    • v0.143e Audit log viewer.
    • v0.143f Custom Objects.
    • v0.143g Lead scoring + bulk recompute.
    • v0.143h Per-lead Tasks plus global /tasks.
    • v0.143i Account Snapshots (cross-tenant config replay).

    These are the foundations. Every later round leans on them.

  11. v0.143ac to v0.143ag: Affiliate portal through Conversation Analytics

    2026-05-25

    Agency layer.

    Why use this

    Read this release to see how the agency layer (affiliate portal, listings, scheduled reports, RSS auto-import, cross-tenant rollup) came online and what it unlocks for multi-tenant operators.

    Benefits:

    • Identify which agency capabilities you can switch on today (reseller markup, template library, Conversation Analytics).

    • Know which scheduled reports exist out of the box so you stop building dashboards by hand.

    • See the GBP 10-point optimizer and Competitor ratings so you can stop guessing what to fix in local listings.

    • v0.143ac Affiliate Portal (public self-service) + Calendar advanced (Rooms / Equipment / Service Menus).

    • v0.143ad Listings + GBP 10-point optimizer + Competitor ratings.

    • v0.143ae Scheduled reports + 6 report builders (attribution / revenue / leads / call / appointment / local audit) + hourly cron with Resend dispatch.

    • v0.143af RSS auto-import (RSS 2.0 + Atom 1.0) + Evergreen Queue.

    • v0.143ag Cross-tenant AI usage rollup + Reseller markup + Template Library + University + Conversation Analytics.

  12. v0.143ah to v0.143an: Nav trim and ergonomics

    2026-05-25

    TopNav cleanup, longest-prefix matcher.

    Why use this

    Read this release to understand why the top nav feels tighter and why only one nav item lights at a time.

    Benefits:

    • Faster nav scanning: 10 primary items instead of 12, grouped by intent.

    • No more ambiguity about where you are; longest-prefix match means exactly one item is active.

    • Fewer accidental clicks on the wrong nested route.

    • v0.143ah-an Nav cleanup: split bloated Tools and Build groups into focused categories. Primary trimmed from 12 to 10. Active-state matcher upgraded to longest-prefix-match so exactly one item lights at a time.

  13. v0.143ao to v0.143as: Help Center bones + lead filters

    2026-05-25

    Help schema + lead UX.

    Why use this

    Read this release to see how the Help Center foundation and lead filters first landed.

    Benefits:

    • Understand the schema your help content sits on (useful if you're authoring entries via /admin/help).

    • Know that leads now carry a discovery_job_id FK, so you can filter your lead list to a single discovery run instead of scrolling.

    • v0.143ao Help Center schema and read model.

    • v0.143ap to ar Help Center editor surfaces.

    • v0.143as leads to discovery_job_id FK plus filter banner.

  14. v0.143at to v0.143ax: Lead pagination, atomic counters, retries

    2026-05-25

    Plumbing.

    Why use this

    Read this release to see the plumbing that makes Looper feel snappy and reliable: paginated leads, atomic webhook counters, retry-with-backoff.

    Benefits:

    • Lead lists no longer time out on accounts with thousands of leads (10-per-page + horizontal scroll).

    • Lead enrichment keeps you on the lead with a breadcrumb back, so you don't lose your place.

    • Webhook retries no longer double-count thanks to atomic counters.

    • Cron hardening means scheduled jobs are far less likely to silently fail.

    • v0.143at Help-center surface polish.

    • v0.143au Leads list pagination (10 per page) + horizontal scroll.

    • v0.143av Lead enrichment stays on the lead + breadcrumb back.

    • v0.143aw Integration retries + atomic webhook counters + cron hardening.

    • v0.143ax Supabase Edge Functions tracked in repo + stale-template-lease cleanup.