Skip to content

Releases: unjs/nitro

v2.7.1

26 Oct 22:23
@pi0 pi0
55d60b8
Compare
Choose a tag to compare

compare changes

🩹 Fixes

  • Recursively simplify returned objects (#1847)
  • cache: Fix etag and last-modified values (#1855)
  • cache: Invalidate wrongly cached handler entities (#1857)

❤️ Contributors

v2.7.0

19 Oct 12:58
@pi0 pi0
Compare
Choose a tag to compare

🚀 Enhancements

  • vercel: Support bypassToken for on-demand static reganaration (#1723)
  • prerender: Support retry and retryDelay (#1534)
  • Allow disabling compressed size calculation (#1756)

🔥 Performance

  • Use native fetch for node >= 18 to reduce %40 of bundle size! (#1724)

🩹 Fixes

  • Sort dependencies in .output/package.json (#1708)
  • Add application/javascript mime type in lambda utils (#1737)
  • renderer: Allow all h3 handled body types (#1755)
  • dev: Safe error message override (#1712)
  • azure: Fix cookie format normalization (#1753)
  • Exclude undefined from hook types (#1769)
  • iis-node: Pass PORT as NITRO_UNIX_SOCKET (#1783)
  • aws-lambda: Handle event.isBase64Encoded (#1779)
  • cache: Allow overriding integrity (#1791)
  • cache: Write SWR and update errors to the console (#1794)
  • cache: Only return validated stale value (#1795)
  • cache: Only invalidate if validate returns false (#1796)
  • Watch plugins directory (#1800)
  • cache: Allow setting multiple set-cookie headers (bad practice!) (#1838)
  • prerender: Decode HTML entities in rendered links (#1824)
  • storage: Validate and skip invalid mounts (#1805)
  • cache: Validate entry.value to have value for cached handlers (84559382)
  • cache: Fix event handler integrity hash generation (#1820)
  • cache: Set cache item before returning response on first request (#1813)

💅 Refactors

  • iis: Improve preset and docs (#1784)

📖 Documentation

  • Update prerender options (11a24124)
  • Fix typo (#1722)
  • Register error handler using hook instead of hookOnce (#1743)
  • Update lock file (#1750)
  • Fix typo (#1759)
  • Fix configuration file name of the custom preset (#1760)
  • Typo in word "legacy" in Configuration docs (#1780)
  • cloudflare: Add local dev section (#1772)

🏡 Chore

  • Add .devcontainer (#1633)
  • Update vitest to 1.0.0-beta (#1776)
  • Use pnpm shell-emulator for Windows local development (#1828)
  • Use nitropack-nightly for the nightly release channel (#1841)

🤖 CI

  • Run tests against Node.js 18 (#1713)

❤️ Contributors

v2.6.3

07 Sep 16:50
@pi0 pi0
5639f5b
Compare
Choose a tag to compare

compare changes

🩹 Fixes

  • firebase: Apply region for gen2 deployments (#1657)
  • cloudflare-pages: Autodetect static preset (#1659)
  • Resolve output dirs relative to rootDir (#1666)
  • prerender: Allow disabling html sub-folders (#1676)
  • firebase: Use correct key when importing firebase httpsOptions (#1663)
  • Await on send() calls (#1701)
  • Bun dev compatibility (#1702)
  • aws-lambda,netlify-lambda: Binary body v2 and cookies v1 (#1683)
  • iis: Merge web.config (#1658)

📖 Documentation

  • render-com: Add note about node version (#1693)
  • Add instructions for using Nuxt edge release channel (#1688)
  • Add instructions for bun (#1672)

✅ Tests

  • Update test for bun headers (#1684)

❤️ Contributors

v2.6.2

27 Aug 19:55
@pi0 pi0
Compare
Choose a tag to compare

compare changes

🩹 Fixes

  • Use new h3 generics for defineCachedEventHandler (#1640)
  • aws-lambda, netlify: Add isBase64Encoded response field (#1645)
  • Exclude typed body from cachedEventHandler (#1647)
  • static: Send immediate empty responses for 304 handling (#1639)

🏡 Chore

✅ Tests

  • Add test for prerender ignored data: URLs (#1431)

❤️ Contributors

v2.6.1

25 Aug 22:04
@pi0 pi0
Compare
Choose a tag to compare

compare changes

🩹 Fixes

  • Correctly mark middleware: false for scanned routes (#1631)
  • Pass relative ignore paths when scanning public assets (#1632)

❤️ Contributors

v2.6.0

23 Aug 04:02
@pi0 pi0
Compare
Choose a tag to compare

note
📰 Release article coming soon!

compare changes

🚀 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 and prerender:done hooks (#1519)
  • cache: Support cached event handlers with varies (#1184)
  • app: Support request, beforeResponse and afterResponse 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 for build (#1621)
  • cli: Add listhen options for dev command (#1622)
  • Handle stream and Uint8Array for lambda presets (#1624)

🔥 Performance

  • Use fsLite driver for production data: 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. with process. (#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 of event.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 when cache: 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 of publish (#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 to unjs/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 of eventHandler (#1442)
  • Remove auto-imported defineNitroConfig (#1441)
  • Add utils/ directory (#1451)
  • storage: Add runtime storage configuration examples ([#1456](https://github.com/unjs/nitro/pull/...
Read more

v2.5.2

28 Jun 13:43
@pi0 pi0
Compare
Choose a tag to compare

compare changes

🩹 Fixes

  • Add envPrefix to runtimeConfig.nitro types (#1336)
  • prerender: Allow to fetch static files (#1340)
  • options: Default target to static when static override is set (#1342)
  • Correct default node-server target (7976318)
  • vercel, netlify: Always check nativeSWR future flag (ccebe4e)
  • vercel, netlify: Handle boolean values for route rule deprecation (dfd8bbd)
  • Dedup unstorage dependency and use subpath alias (#1164)
  • dev: Ensure socket path is accessible (#1115)
  • Type event.$fetch and event.fetch (#1343)
  • Allow configuring esbuild transform plugin (#1347)

📖 Documentation

  • Add a reference to install Azure functions core tools to the swa section (#1339)

❤️ Contributors

v2.5.1

22 Jun 09:05
@pi0 pi0
b926dd0
Compare
Choose a tag to compare

compare changes

📖 Documentation

  • Fix typo in Flightcontrol deployment option (#1332)

📦 Build

  • Avoid doubly-bundling runtime types (#1334)

🌊 Types

  • Avoid overriding app runtime config namespace (#1333)

❤️ Contributors

v2.5.0

21 Jun 15:32
@pi0 pi0
dbf7a90
Compare
Choose a tag to compare

compare changes

⭐ What is new?

  • Type generics supported for useStorage and useRuntimeConfig and lots of more type safety enhancements across ecosystem
  • UnJS ecosystem packages upgraded to the latest versions with lots of bug fixes and enhancements
  • With h3@1.7.0 we are now experimenting response streaming support (Demo).

🚀 Enhancements

  • Allow customising generated tsConfig (#1266)
  • Type useRuntimeConfig with NitroRuntimeConfig (#1311)
  • Type nitro app runtime hooks (#1316)
  • Add cloudflare-pages-static preset (#1310)
  • Add experimental deno-server preset (#592)
  • Add flightcontrol preset (#970, #1250)
  • Support jsx and tsx out of the box (#1303)
  • Add support for failOnError (#1294)
  • Generic type support for useStorage (#1279)
  • Provide static process.* and import.meta.* build flags (#1331)

🩹 Fixes

  • bun: Resolve internal dependencies with bun export condition (#1313)
  • deno: Support environment variables (88b4e11)
  • Respect static flag when auto-detecting preset (#1321)
  • prerenderer: Don't inherit static config (#1324)
  • vercel: Add check for index route rule (#1290)
  • Use event.handled guard before sending direct responses (#1326)
  • Import NitroRuntimeHooks from runtime dir (#1328)
  • Generate types for #imports (#1329)

📖 Documentation

  • Update docus version (848c86a)
  • Update cloudflare-pages preset (#1304)
  • Add an example for devHandlers config (#1295)

❤️ Contributors

v2.4.1

16 May 23:06
@pi0 pi0
Compare
Choose a tag to compare

compare changes

⬆️ How to Upgrade?

  • Make sure to recreate the lock file as well in order to receive all UnJS ecosystem updates.
  • If you are using Nitro via Nuxt, simply use npx nuxi@latest upgrade --force.

🩹 Fixes

  • pkg: Add http-proxy types to deps (#1213)
  • vercel-edge: Use platform provided process shim (392ce64)
  • netlify-edge: Update output format (41a4a6a)
  • netlify-edge: Support environment variables (5c85c14)
  • netlify-edge: Handle static asset urls (116874f)
  • netlify-edge: Fix body handling (4c825b6)
  • vercel-edge: Fix body handling (c75c2f1)
  • deno, lagon, sw: Fix request body handling (1c88e5e)
  • netlify-edge: Polyfill missing x-forwarded-proto header (4e5f46e)

🏡 Chore

❤️ Contributors