Note
📰 Release article coming soon!
🚀 Enhancements
- storage: Default data storage for
node
and dev presets (#1352) - Support regexps in external options (#1388)
- Support
exportConditions
and add worker default conditions (#1401) event.waitUntil
with Cloudflare integration (#1421)experimental.typescriptBundlerResolution
flag (#1384)- Support
ignore
to ignore scanned files (#1430) - Allow ignoring public assets with
ignore
options (#945) - Add
iis
server preset (#1436) - Auto capture errors with
nitroApp.captureError
(#1463) - vercel: Enable streaming support out of the box (#1514)
- Fully resolve type paths for auto-import declarations (#1528)
- Add
prerender:config
,prerender:init
andprerender:done
hooks (#1519) - cache: Support cached event handlers with varies (#1184)
- app: Support
request
,beforeResponse
andafterResponse
hooks (#1545) - Experimental composition api via
useEvent()
ans async context support (#1546) - prerenderer: Support for query links exploration (#1474)
- cloudflare-pages: Add config to customize generated
_routes.json
(#1312) - firebase: Add support for 2nd generation functions (#1500)
- externals: Resolve actual subpaths before guessing (#527)
- externals: Support aliasing traced packages (#1553)
- wasm: Support output esm imports (#1565)
- Enable
timing
in debug mode (#1577) - prerender: Preserve prerendered asset
content-type
header (#1587) - externals: Improved output
package.json
(#1607) - firebase: Support renaming exported server function (#1377)
- azure: Support custom configuration (#1344)
- node-server: Support listening to unix sockets using
NITRO_UNIX_SOCKET
(#1201) - cloudflare-module, cloudflare-pages: Experimental dynamic imports (#1172)
- cli: Support
--preset
and--minify
/--no-minify
args forbuild
(#1621) - cli: Add listhen options for
dev
command (#1622) - Handle stream and
Uint8Array
for lambda presets (#1624)
🔥 Performance
- Use
fsLite
driver for productiondata:
storage (dd290763) - Use inline
http-graceful-shoutdown
to reduce externals (8053cca0) - Remove
source-map-support
as node supports--enable-source-maps
(9ba8fe98) - Bundle runtime dependencies (#1554)
- Use local fetch for proxy route rules (#1609)
🩹 Fixes
- rollup: Replace
globalThis.process.
withprocess.
(#1360) - types: Enable
allowSyntheticDefaultImports
option by default (#1383) - cache: Try to call
event.waitUntil
(#1422) - defineCachedFunction: Properly infer function type (#1423)
- static: Safe decode path (#1459)
- Split cookie headers (#1452)
- deno-deploy: Treat all
https://
modules as external (#1438) - cache: Call
event.waitUntil
on main resolver when expired (421d6255) - prerender: Skip redirects (#1448)
- aws-lambda,netlify: Base64 encode binary responses (#1274)
- app: Enable router preemptive mode (#1504)
- vercel: Allow arbitrary function configuration (#1508)
- Use relative paths in
tsconfig.json
(#1518) - prerender: Free up memory after each route is written to the disk (#1536)
- prerender: Call
prerender:route
before freeing up memory (#1537) - prerender: Only match
href
attribute after whitespace (#1530) - externals: Absolute paths are inlined (#1429)
- openapi: Merge handlers with same route and different method (#1497)
- prerender: Exclude encoded
href
attributes from link extraction (#1485) - externals: Increase score for npm package name patterns to avoid breaking changes (#1548)
- deno-deploy: Decode static asset path before reading from filesystem (#1494)
- Remove non-standard
module
export condition (#1559) - externals: Trace externals with their commonjs / esm status (#1562)
- Use relative paths in generated tsconfig (#1572)
- app: Use
event.path
instead ofevent.url
(41a76c0f) - cache: Don't use
_originalPath
(#1576) - types: Use relative type path to nitro
#internal/nitro
(#1584) - Disable sourcemap minify for dev (e38f3586)
- Use relative source map paths and add test (#1582)
- pkg: Remove node 14 from supported
engines
(#1585) - prerender: Use decoded asset id to access prerendered asset header overrides (#1588)
- Add
consola/core
alias (#1591) - vercel,netlify: Don't deprecate
swr
whencache: false
(#1603) - build: Workaround bun's difference in
function.toString()
(#1606) - firebase: Ignore
fsevent
dependency (#1610) - Directly pass
localFetch
to route rules handler (#1611) - stormkit: Properly send buffer responses (#1616)
- Add parent
node_modules
of nitro to modules dir for pnpm compat (#1618) - deno-server: Fix injections and enable back tests (#1625)
💅 Refactors
- cloudflare: Use
wrangler deploy
instead ofpublish
(#1372) - cloudflare: Use
wrangler deploy
in more places (#1393) - prerender: Improve console formatting for failed routes (#1471)
- Reduce usage of
event.node.req
(#1511) - Reduce usage of
event.node.res
(#1513) - timing: Hide debug logs with
0ms
(8a44d19c) - firebase: Update generated
package.json
(#1608) - Migrate from
http-proxy
tounjs/httpxy
(#1623)
📖 Documentation
- vercel: Add note about top level
api/
directory (#1386) - Add nitro plugins examples (#1403)
- Add custom preset instructions (#1409)
- aws: Add note about inlining dynamic chunks (#650)
- Fixed typo of the word
discussions
(#1433) - Fix typo (#1446)
- Use
defineEventHandler
instead ofeventHandler
(#1442) - Remove auto-imported
defineNitroConfig
(#1441) - Add
utils/
directory (#1451) - storage: Add runtime storage configuration examples (#1456)
- Prefer
snake_case
for preset names (#1499) - routing: Add middleware section (#1307)
- plugins: Add runtime hooks section (#1521)
- config: Add runtime config and environment variables section (#1550)
- firebase: Improve docs (#1556)
- cloudflare: Add environment variables instructions (#1547)
✅ Tests
- Improve external modules test (#1428)
- Run tests even if not
serveStatic
(#1590) - Add tests for environment variables and runtime config overrides (#1549)