- bunext sitemap now writes public/robots.txt (configurable via the
robots config key; robots: false or --no-robots to skip). Hand-written
robots.txt files are never overwritten without a robots config
- Large sitemaps are split into public/sitemap-chunks/sitemap-N.xml
(sitemap.chunk_size, default 10,000, max 50,000; 50MB per file) with
sitemap.xml as a sitemap index; stale chunks are cleaned up
- Export bunextGenerateRobotsTxt
- Run tests in publish.sh
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- Add generateSitemap util (exported as bunext.bunextGenerateSitemap)
that builds sitemap.xml from static pages, with exclude patterns,
additional paths (array or sync/async function), lastmod from file
mtime, trailing slash, and default changefreq/priority options
- Let page .server.ts files export a `sitemap` function to list URLs
for dynamic routes, or override a static page's entry
- Add `bunext sitemap` command reading `sitemap` from bunext.config.ts,
writing public/sitemap.xml by default, with --output/--origin flags
- Fix handle-routes test leaking a grab-router module mock into
bunext-req-handler tests; set global.BUNEXT_ROUTER instead
- Ignore /.tmp
- Document sitemap usage in README and CLAUDE.md
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- Move page cache out of the publicly served .bunext/public dir and hash cache keys
- Skip caching credentialed requests, non-2xx and Set-Cookie responses; cap entries
- Enforce API body size limit while reading; keep req body readable for handlers
- Hide error messages from clients in production
- Escape inline script JSON; strip cookies from HMR payloads
- Only trust X-Forwarded-Proto with trust_proxy config
- Fix console race in SSR, dotted page paths, middleware rewrites,
excluded path status, encoded static file names, symlinked dirs
- Upgrade vulnerable deps, remove micromatch, pin bun versions, delete dead code
Co-Authored-By: Claude Opus 5.5 <[email protected]>