π Enhancements
- Add non bundlable dependencies from nf3 db (a8c8cbaa)
- vite: Use srvx loader for preview (#3999)
- Support zstd for compressPublicAssets (#3934)
- vercel: Rewrite
proxyroute rule on cdn (#4006) - tasks: Expose req and waitUntil in context (#4037)
nitro preview(#4024)nitro deploycommand (#4042)- vite: Auto-detect client entry (#4059)
- vite: Auto-detect client entry " (#4059)
- Use unjs/env-runner (#4088)
- vite: Respect vite
modefor env loading (#4082) - route-rules: Basic auth (#4049)
- vite: Support preview (#4090)
- Export http utils from
nitro(#4097)
π₯ Performance
- Optimize duplicate handler filtering (#4003)
π©Ή Fixes
- vite: Remove chunk config when
inlineDynamicImportsenabled (3c506bba) - vite: Merge bundler config first before normalize (64df4cfd)
- Use
virtual:prefix for raw plugin for vite compatibility (dfdff9e9) - Support PORT=0 for random port assignment (#4000)
- Remove deprecated
inlineDynamicImportsfrom rolldown config (bbe5a7a0) - vite: Remove
keep-aliveheader from worker (150b6f91) - vite: Set
copyPublicDir: falseby default (#4005) - vercel: Fix preview mode compat with srvx (#4011)
- RolldownConfig.output is optional (d3b1f7b3)
- Avoid adding extra additional export conditions (#4029)
- Also avoid inferring
bunanddenofrom runtime (09d6aa6d) - Preserve sourcemap mappings for chunks containing user code (#4031)
- Sync routes after scan handlers (#4033)
- prerender: Skip writing routes with
..or outside of public dir (50b3bc5b) - vite: Don't send browser full-reload for ssr-only changes (#4034)
- Escape scanned route url param names (7a5d536f)
- vite: Avoid adding duplicate nitro plugins when using
nitro build(0da93bd3) - Make error handlers consistent with h3 (#4055)
- static: Only append Vary: Accept-Encoding after a static asset match (#4075)
- vite: Run scheduled tasks during vite dev (#4076)
- config: Apply $production/$development layers when NODE_ENV is unset (#4066)
π Refactors
- Add
rolldownas dependency (#4002) - runner: Use
node:httpto fetch worker (#4004) - Improve output chunk names (#4027)
- Use
proxyFetchfrom httpxy (118e77ac) - Update worker addr types (d832f3ce)
- Use isolated declaration for runtime (d06b90b1)
- Use new httpxy features (bbf2808e)
- config: Improve builder auto-detection logic (#4058)
- Migrate to unjs/ocache (#4087)
- vite: Use
sec-websocket-protocolto detect Vite WS connection (#4098)
π Documentation
- cloudflare: Remove invalid docs and add note about wrangler env (#3978)
- Fix lifecycle link on renderer page (#3992)
- Add code splitting section (#3991)
- Add examples (#3984)
- Add Zephyr Cloud deploy docs (#4092)
- Prepare for v3 beta (#4091)
- Fix link to v2 (5ea3e153)
- cloudflare: Fix env bindings access pattern for Nitro v3 (breaking change) (#4064)
π¦ Build
- Remove rolldown from peer deps (5cb673ed)
- Update c12 and remove jiti dep (ade3568e)
- Add jiti as an optional peer dep (6135a8b8)
- Add windows backslash to regexes (9ad2aae7)
- Add
dotenvto optional peer deps (1f3e6d2d) - Add giget to optional peer deps (99f7fe3d)
- Move
hookableto dependencies and fix plugin hook docs (#4014) - Bundle docs as skill +
nitro docs(#4084)
π Types
- Mark output config as non nullable (eb8d7f7d)
Preset Changes
- vercel: Add support for node@24 (#3967)
- aws-lambda: Avoid modifying response headers in streaming mode (#3974)
- vercel: Add types and docs for
isr.exposeErrBody(f0f97cd1) - vercel: Integrate with scheduled tasks (#4030)
- vercel: Add framework info to build output config (#4032)
- cloudflare: Integrate with scheduled tasks (#4046)
- Add
zephyr(#4038)
β€οΈ Contributors
- Pooya Parsa (@pi0)
- Ruan-cat (@ruan-cat)
- NΓ©stor (@Nsttt)
- Rihan Arfan (@RihanArfan)
- Jared Grimes
- Manuel Schiller (@schiller-manuel)
- Kricsleo (@kricsleo)
- Abdelrahman Awad (@logaretm)
- Renan Tatsuo (@renantatsuo)
- Wade Fletcher (@wadefletch)
- Sandro Circi (@sandros94)
- Haruaki OTAKE (@aaharu)
- Oskar Lebuda (@OskarLebuda)
- Max
- @iiio2](https://github.com/iiio2)
- MiniDigger
- JoΓ£o Vitor (@jvitormelo)