New Features
- Phase 6 — CI gating workflow
- Phase 5 — e2e smoke + Testcontainers-backed dev server
- Phase 3 — Testcontainers Postgres infrastructure
- add missing sites to brick-marquee links
- add comprehensive site list to brick-marquee
- add missing sites to brick-marquee links
- add login e2e test and CI workflow (#201)
- add /api/version endpoint with build metadata
- add query-param feature flag overrides via /api/preview
- use full shipkit.io domain in all attribution markers
- prepare create-shipkit v0.2.0 for npm publish (#178)
- complete shadcn registry with 35 blocks + sync review fixes
- add 14 new blocks — legal, changelog, contact, waitlist, admin, settings, demo, email, feedback, analytics, caching, storage, pricing, payments
- add llms.txt, JSON-LD schema, and AI meta tags (#169)
- dark/light theme via query param (#168)
- minimal header variant for blog/changelog, remove changelog footer
- add minimal header variant for blog/changelog pages
- rebuild dashboard with demo components and centralized mock data
- register 10 new components for docs/blog/changelog
- automated changelog from GitHub API
- add web haptics (Vibration API) to interactive UI components (#128)
- migrate haptics to web-haptics library
- add web haptics (Vibration API) to interactive UI components
- demo page — upload WAV, see pipeline output
- add react-grab for in-browser AI element editing
- Aura dashboard — conversations, people, speakers, knowledge views
- add shipkit CLI (create, sync, deploy) (#126)
- add repository discovery (vcs-git, meta, JSON-LD, .well-known, humans.txt) (#127)
- switch to Turbopack for Next.js 16
Bug Fixes
- reject untrusted LemonSqueezy custom_data.user_id (plan 002, #223)
- not-found page no longer crashes from WebGL background
- apply 453 prefer-nullish-coalescing fixes via scripted ESLint-driven rewrite
- cleanup after sub-agent fan-out
- repair 2 real bugs from no-non-null-asserted-optional-chain
- bring typecheck and test suite to green
- harden workflow shell injection, expand v6 action sweep
- upgrade GitHub Actions from v4 to v6 for Node 24 compatibility
- remove client sites and forks from brick-marquee
- restore premium (kit)/page.tsx, remove bones (app)/page.tsx instead
- remove duplicate (kit)/page.tsx conflicting with root (app)/page.tsx
- add missing bones_github route that broke prerendering
- use --webpack for builds and remove duplicate route files
- remove --turbo flag from build:vercel to fix Turbopack panic on deployment
- replace dead shipkit-io/shipkit upstream with lacymorrow/shipkit (#216)
- prevent orphan words in hero headings with text-wrap balance (#23) (#215)
- upgrade @c15t/nextjs to v2, patch mathjs and dompurify (#208)
- add generateMetadata to blog category pages (#214)
- add noIndex to dashboard layout (#213)
- add noIndex to auth pages to prevent indexing (#212)
- normalize OG image height to 630px in dynamic /og route (#211)
- add metadata export to shipkit home page (#210)
- uncomment sitemap directive in robots.txt (#209)
- resolve og:url mismatch with canonical on 19 pages (#207)
- address Gemini review feedback on login tests
- auto-timeout stale deployments regardless of Vercel token availability
- replace xxx placeholder in LemonSqueezy checkout URL (#200)
- wrap OAuthButtons in Suspense to prevent stuck loading state
- prevent duplicate noindex on /docs pages from cms catch-all route
- fix canonical URLs and remove noindex pages from sitemap
- use overrides.css for shipkit-specific loader gradient (#196)
- preserve shipkit's original HolyLoader gradient (#195)
- derive HolyLoader colors from CSS theme variables (#194)
- add changelog entries and index page to sitemap
- add explicit date sort in blog page component
- use build-time content manifests instead of runtime fs.readdir
- force truly dynamic rendering and add diagnostic logging
- sort posts by publishedAt descending so newest appear first
- remove temporary debug output left from stale-cache investigation
- remove unstable_cache causing stale empty results
- force dynamic rendering to prevent stale build cache
- force dynamic rendering to prevent stale build cache
- read markdown files before falling back to GitHub API
- rename /api/preview route to /api/flags to avoid CMS conflict
- address review nits for preview flag overrides
- prevent phone numbers from breaking to a second line
- fix session not loading by removing session={null} from SessionProvider
- await OAuth server action to fix redirect handling
- fix GitHub OAuth sign-in broken by PKCE (#189)
- fix GitHub sign-in PKCE error and session display (#186)
- update next-auth to beta.31 for Next.js 16 compatibility
- update @c15t/nextjs imports for v1 API changes
- resolve build errors from bones install test
- use ~/src/ prefix in target paths for src/ projects
- prefix custom deps with @shipkit/, fix next-auth version
- header positioning, star icon toggle, responsive mobile padding
- resolve typecheck errors from review suggestions
- add trustHost for Vercel OAuth callbacks (#171)
- dashboard header overlaying sidebar (#172)
- UX issues - search docs, download name, card sizing, demo nav (#170)
- UX issues from Cait (#157-#160, #162-#164, #166) (#167)
- remove raw-loader override for MDX files in turbopack config
- prevent resubmitting the same search query
- search results actually scroll now
- make search results scrollable
- AI search failure no longer nukes static results (#154)
- header blur triggers immediately on home page (was 100px delay) (#153)
- font selector now changes fonts globally on the entire page (#151)
- MDX parse error in setup-requirements docs
- font selector actually changes fonts on screen (#148)
- pass footer={null} to MainLayout in changelog to suppress default footer
- restore header/footer and fix empty entries filter
- update client scripts to 0.1.28, remove duplicate server start
- auto-start agent server in dev mode
- remove weekly grouping, filter empty entries
- replace blog layout with standalone layout and add empty state
- chart dataKey mismatch (date→month) + restore download section
- use GITHUB_ACCESS_TOKEN env var for private repo auth
- add missing revenueChartData export to mock-data
- update social, links, store, and title sections
- replace FlatCompat with direct plugin imports to fix circular JSON error
- use indent-aware regex to handle nested braces in config sections
- eliminate all template literals to fix esbuild/tsx parse errors
- make root layout static by moving auth() to dashboard layout
- fix backtick literals, email format, avatar, and readline hang
- clean up integration, fix duplicate script loading (#139)
- transpile ESM-only estree packages to fix /docs 500 on Vercel (#138)
- revert Button to server component
- address PR review feedback
- only show onboarding wizard when Vercel + GitHub integrations exist
- auto-resolve graft conflicts in create and sync
- use Vercel repository_dispatch for deployment checks
- restore Checks API for deployment health (matches working e738b53)
- remove smoke test from build:vercel
- remove secrets refs from job-level if conditions
- deployment check SHA mismatch + report on failed deployments (#134)
- deployment check SHA mismatch + report on failed deployments
- restore Checks API for deployment health (was reverted by auto-commit)
- use Checks API for deployment health reporting
- restore functions excludeFiles with correct route group path
- remove dead functions config from vercel.json
- remove vercel dep + dead functions config
- remove vercel from devDeps, fix functions config path
- fix YAML syntax errors in all workflow files
- add Vercel automation bypass to deployment check workflow
- add statuses:write permission to deployment check workflow
- remove @aws-sdk from outputFileTracingExcludes
- remove AWS SDK from serverExternalPackages (#130)
- conditionally import Payload packages in (payload) layout (#129)
- externalize AWS SDK + Payload CSS packages instead of transpiling
- guard against undefined user in API Keys page (#124)
- shorten landing page title for Ahrefs audit (#125)
- remove duplicate @layer base block in theme.css
- guard against undefined files in FileTree during SSR prerender
- bump Node from 20 to 22 in CI workflows
- resolve Vercel 500s, update deps, clean up build config
- force-bundle @aws-sdk/client-s3 to fix Vercel runtime 500
- remove @aws-sdk/client-s3 from serverExternalPackages to fix Vercel 500
- use relative imports for next.config.ts transitive deps
- update react-resizable-panels API for v4 compatibility
- resolve merge conflicts for Turbopack migration
- downgrade lucide-react to 0.460.0 to avoid useMemoCache error
- move reactCompiler to top level config (Next.js 16 requirement)
- replace isolated-vm with empty package to fix Vercel build
- enable React Compiler to fix useMemoCache runtime error
- add @octokit/rest to serverExternalPackages for ESM compatibility
- extend patch to cover @payloadcms/richtext-lexical CSS imports
- patch @payloadcms/ui to remove CSS/SCSS/asset imports for Node.js ESM compatibility
- add CSS loader for Node.js ESM and set NODE_OPTIONS on Vercel
- use webpack NormalModuleReplacementPlugin for CSS import
- resolve runtime CSS import error on Vercel
- resolve Payload CMS CSS import issue for Vercel builds
Improvements
- normalize leaf shapes, drop dead param machinery (#257)
- merge SoftwareSourceCode into existing JsonLd @graph
Documentation
- record task #24 and #25 completion in HANDOFF
- mark Phase 1 + 2 complete on main, add status table
- Phase 5 E2E coverage plan
- Phase 3 Testcontainers implementation plan
- draft CI workflow for Phase 6
- update handoff with Phase 2 progress checkpoint
- master test plan after honest baseline audit
- commit /improve audit deliverables + handoff
- add hero banner and screenshots (#193)
- add entry for /api/version build metadata endpoint
- add entry for preview flag overrides feature
- rewrite rebranding guide and update CLI/quickstart docs
- add web haptics documentation
- complete docs overhaul (phases 1-7) (#132)
- phase 7 — screenshots + image embeds
- add Vercel Deployment Checks setup guide
- phase 5+6 — CLAUDE.md env section fix, getting-started cleanup
- phase 3+4 — new docs, tighten existing features
- phase 1+2 — fix README links, rewrite index.mdx
- add overhaul plan and progress tracker
- add new feature guides and reference docs
- restructure docs/ folder and fix cross-references
- add setup requirements for downstream projects
Maintenance
- untrack gitignored Playwright auth artifact
- remove unused Cloudflare dns-analytics MCP server
- final prettier --write pass + cleanup leftover worktree dirs
- fix all 173 Biome errors (a11y, array-keys, implicit-any, etc.)
- final prettier --write pass (16 files)
- fix remaining 96 ESLint errors (entities, nullish, effects, etc.)
- fix react/no-unescaped-entities and no-unknown-property
- fix misc TS lint errors (require-await, base-to-string, etc.)
- exclude .claude/worktrees from Biome traversal
- exclude build output and demo examples from ESLint
- tame ESLint config drift
- prettier --write + eslint --fix mechanical pass
- biome auto-fix safe mechanical lint cleanup
- add doctor:react alias for react-doctor
- fix package.json repository field normalization
- correct Next version in CONTRIBUTING.md (#205)
- shipkit-flavored community files + branded social preview (#204)
- sync from bones upstream (#203)
- bump shipkit to v0.2.2
- add SEO fixes entry for LAC-1217
- remove .github/README.md overriding repo readme
- relicense to FSL-1.1-MIT
- add temporary inline diagnostic for changelog debugging
- add temporary debug output to changelog page
- add temporary debug endpoint for changelog file diagnostics
- remove temporary debug endpoint
- add temporary debug endpoint for blog file listing
- remove sweetlink integration
- install babel-plugin-react-compiler
- remove setup-upstream and patch-payload-imports from postinstall
- trigger deployment check test
- trigger vercel deployment
- add VERCEL_AUTOMATION_BYPASS_SECRET to .env.example
- add wei/pull config for downstream fork sync
- clean up merge artifacts
- rename package from ship-kit to shipkit
Testing
- add checkout-link integrity + auth/admin spec placeholders (task #25)
- characterize payment, auth, webhook surfaces
- rewrite feedback/team/deployment-action tests against real DB
- characterization suite covering create, lookup, status, and multi-provider purchase checks
- add shipkit.io regression tests for checkout, SEO, and marketing pages
- add unit tests for preview flag overrides
- align feature flag and guest auth expectations with generated NEXT_PUBLIC_FEATURE_* semantics
Changes
- Revert "Merge advisor/008-payment-service-tests-clean: characterization tests for payment-service"
- Remove subscription plans, clean up pricing for one-time purchase (#183)
- Add GitHub Sponsors badge to Support section
- Add GitHub Sponsors funding configuration
- Feat/shadcn registry blocks (#175)
- Feat/priority nav (#174)
- Remove Gemini CLI, scheduled triage, and Claude triage workflows
- Remove Gemini Automated Issue Triage workflow
- Update scripts/rebrand.ts
- Revert "Add Aura planning docs from pipeline repo"
- Revert "feat: Aura dashboard — conversations, people, speakers, knowledge views"
- Revert "feat: demo page — upload WAV, see pipeline output"
- Add Aura planning docs from pipeline repo
- Fix #55: Auth logging, route redirects, build fixes, and devtools improvements (#117)
- Lacy/devotols (#99)
- Lacy/devotols (#98)
- devtools (#97)
- Google Analytics. (#96)
- auto commit (#95)
- L/122 (#115)
- auto commit (#112)
- L/118 (#111)
- L/114 (#109)
- auto commit (#108)
- auto commit (#107)
- L/fixes6 (#106)
- auto commit (#105)
- L/deps (#104)
- turnstile (#103)
- auto commit (#102)
- auto commit (#101)
- Lacy/devotols (#99)
- Lacy/devotols (#98)
- devtools (#97)
- Google Analytics. (#96)
- auto commit (#95)