Skip to content

Releases: unjs/nitro

v2.0.0

24 Jan 16:36
@pi0 pi0
Compare
Choose a tag to compare

compare changes

👀 Highlights

  • Rewrite external tracker with multi-version and hoisting support (#782)
  • Upgrade rollup to v3 (#580)
  • Enable auto imports from utils/ dir (#866)

🚀 Enhancements

  • ⚠️ Upgrade rollup to 3.x (#580)
  • types: Correctly type $fetch based on the method (#686)
  • cli: prepare command (#774)
  • cache: Allow setting custom getKey for defineCachedEventHandler (#744)
  • dev: Support for /_vfs.json (#809)
  • netlify: Use esm entrypoint (#833)
  • ⚠️ Rewrite external copy with multi version hoisting support (#782)
  • Add shouldInvalidateCache option to cache utils (#746)
  • edgio preset (replacing layer0) (#858)
  • Support maxAge for public assets (#860)
  • Support staleMaxAge: -1 to always respond stale value (#857)
  • externals: Apply production condition to package.exports (#867)
  • Enable auto imports from utils dir (#866)

🩹 Fixes

  • GitHub template (#712)
  • deno: Implement readAsset (#694)
  • Normalize nitro plugin paths to URL in development (#732)
  • Use file urls for auto-imports in development (#733)
  • Initialise imports.imports (#737)
  • Allow optional output property in user rollup config (#751)
  • Accept both upper/lower-case methods (#752)
  • prerender: Check each segment length is less than 255 chars and the whole path 1024 (#757)
  • Include only compressible mime types (#761)
  • Remove base url before calculating route rules (#767)
  • netlify, vercel: Order route rules from most specific + avoid double-rendering root (#768)
  • build: Correctly formatted fs tree (#778)
  • prerender: Decode urls to allow comma in the x-nitro-prerender header (#799)
  • build: Do not override publicAssets (#817)
  • dev: Improve vfs ui (#802)
  • Resolve and include scanDirs within node_modules for auto import (#812)
  • netlify, vercel: Explicit server rendering with disabled cache/swr (#829)
  • prerender: Check link's pathname only for extensions (#791)
  • rumtime: Disable server-timing header via options.timing (#823)
  • Avoid using file URLs for normalized paths in options (7517293)
  • Rollup treeshake is dump (2ce4edb)
  • externals: Normalize inline and external windows paths (0638f64)
  • netlify, aws: Omit cookies from v1 response (#834)
  • Filter unique scanned handlers (#807)
  • Resolve server asset dirs relative to srcDir (#825)
  • public-assets: Mock readAsset promise properly (#851)
  • externals: Avoid recursive package links (b77735e)
  • prerender: Update preview command to serve matching routes (#864)
  • externals: Support orphan files in node_modules (#865)
  • Avoid hiding original rollup error message (a5586f8)
  • cache: Only update cache in storage once per pending request (#861)
  • Add node16 compatible type declaration (#868)
  • externals: Improve multi version handling (#871)

💅 Refactors

  • Upgrade and reduce the usage of fs-extra (cfbd029)
  • Update event. to event.node. (#828)

📖 Documentation

  • Fix url in auto-imports guide (#683)
  • Fix spelling of cluster (#720)
  • Wording change (#724)
  • Fix readme grammar (#813)
  • Fix deprecated function in routing example (#816)
  • Add new render deployment example & steps (#811)
  • Fix typo in code block (#830)
  • Add cache base option example & description (#781)

🏡 Chore

  • Lint repository with eslint config and format with prettier (#739)
  • Lint with eslint --cache and improve types in .eslintrc (#863)

✅ Tests

  • Add tests for dev server and proxy (#644)

🤖 CI

  • Run tests against windows as well (#837)

❤️ Contributors

v0.6.0

18 Oct 18:08
@pi0 pi0
Compare
Choose a tag to compare

⚠️ Breaking Changes

  • H3 updated to to 0.8x [Release Notes]
  • Experimental routes is renamed to routeRules (#593)

🚀 Enhancements

  • Support redirect, headers, and cors route rules (#538)
  • netlify: Incremental static regeneration + swr (#540)
  • Add debugger option to debug hooks (#577)
  • Allow matching multiple route rules (#582)
  • Normalize route options and shortcuts (#583)
  • cleavr: Add cleavr preset (#523)
  • cleavr: Auto detect preset (d5bbdeb)
  • Allow disabling public dir generation using noPublicDir (00a304a)
  • cache: Mock res.end, res.write and res.writeHead (673fe8e)
  • cache: Support headersOnly cache mode (4e6dda1)
  • Allow cache: false route rule to override cache options (91f8300)

🩹 Fixes

  • Fully resolve internal paths for autoimports (#543)
  • Retry writing traced files if there are conflicts (#537)
  • externals: Rewrite traced file paths to latest semver-minor version (#578)
  • Workaround rollup issue (b884d0c)
  • Handle output dirs set to empty string (#584)
  • azure: Raw body no longer returns parsed json (#589)
  • Default workspaceDir to rootDir (#594)
  • renderer: Directly return body to allow caching (859a984)
  • cache: Only spy on end/write for string chunks (bd0b1ed)
  • error: Do not assign default statusMessage for errors (cbe0e91)
  • cache: Use lowercase headers (9eb5769)
  • cache: Abort cache handler for error status codes (ba21751)
  • cache: Skip error status codes by invalidating cache (4fd164f)
  • deps: Ensure radix3 version is expected (245ed70)
  • cache: Invalidate entries with undefined body (e9285da)
  • app: Only apply cache rules ro routes (not middleware) (4603279)

💅 Refactors

  • ⚠️ Rename routeOptions to routeRules (#593)

📖 Documentation

  • Add quotes to string (#547)
  • Fix link to cloudflare-pages preset (#564)
  • Add note about cache options for route options (221c747)

🏡 Chore

  • ci: Bump edge version acording to changelog (8b7740e)

🤖 CI

  • Fetch tags for proper version bump (6d4b416)

❤️ Contributors

  • Anish Ghimire
  • Christopher Lis
  • Daniel Roe
  • Louis Haftmann
  • Pooya Parsa
  • Tobias Diez
  • Wolfgang Ziegler

v0.5.0

01 Sep 16:29
@pi0 pi0
Compare
Choose a tag to compare

🚀 Enhancements

  • Add cloudflare-pages preset [experimental] (#210)
  • Support prerendering binary files (#320)
  • Opt-in option to compress public assets using gzip and br (#449)
  • Allow specifying wasm plugin options (#450)
  • Allow using extends alongside with preset (6a43985)

🩹 Fixes

  • azure: Fix route name (#430)
  • Add resolved side-effect for node-fetch-native (#435)
  • aws-lambda: Join cookies with semicolon (#356)
  • aws-lambda: Fix normalizeIncomingHeaders (#418)
  • aws-lambda: Return outgoing cookies on response objects (#357)
  • aws-lambda: Add multiValueQueryStringParameters to aws preset (#398)
  • ⚠️ Update unenv to 0.6.x (#438)
  • Add code location and code frame for rollup errors (#406)
  • prerender: Allow updating route contents (#452)
  • externals: ⚠️ Fall back to mlly resolver in more cases (#431)
  • ⚠️ NITRO_PRESET should have the highest priority (92d711f)

💅 Refactors

  • ⚠️ Rename options autoImport to imports (#433)
  • Utilize knitwork to generate safe variable names (#447)

📖 Documentation

  • Migrate to docus (#365)
  • Simplify deploy index route (a1d7b17)
  • storage: Fix typo (#424)

🏡 Chore

  • Remove unused @types/jsdom from dependencies (#429)

📦 Build

  • Expose /package.json subpath export (d0029c0)
  • Use changelogen to bump edge and generate chagelog (679e356)

⚠️ Breaking Changes

  • ⚠️ Update unenv to 0.6.x (#438)
  • externals: ⚠️ Fall back to mlly resolver in more cases (#431)
  • ⚠️ NITRO_PRESET should have highest periority (92d711f)
  • ⚠️ Rename options autoImport to imports (#433)

❤️ Contributors

  • Ahad Birang
  • Alexander Lichter
  • Anthony Fu
  • Daniel Roe
  • Dániel Földi
  • Eckhardt (Kaizen) Dreyer
  • Julien Huang
  • Pooya Parsa
  • Sören Schwert
  • Tobias Diez
  • Yaël Guilloux

v0.4.0

05 May 21:34
@pi0 pi0
Compare
Choose a tag to compare

🐛 Fixes

Handlers

  • 89da30a Respect default value for lazy

General

  • #179 Improve bundled storage
  • 247cfca Enable lazy only when explicitly set (enable for api and rotues by default)

Prerender

  • #190 Allow all extensions (resolves )
  • 970286d Support relative urls

Rollup

  • 2b7209a Set NODE_ENV to prerender when prerendering
  • 43b1d02 Respect rollupConfig options to override default config
  • 32f598a Enable preferBuiltins only for node targets

Worker

  • 6c8cae7 Use iife format by default

Cache

  • #189 Preserve event context (resolves )

🚀 Features

General

  • #173 Expose all assets to nitro.vfs and /_vfs endpoint (resolves )
  • #181 Universal import.meta (resolves )
  • e1c234e nitro.storage
  • 233e024 Named wildcard params
  • 04e2f26 Update unenv
  • 23d8cde Allow explicit middleware handlers
  • #115 Extend prerender links from X-Nitro-Prerender (resolves )
  • 11e732b Add X-Nitro-Prerender header to detect prerendering

Cache

  • ⚠️ 7e72b8f Only accept event handler for defineCachedEventHandler

Prerender

  • ⚠️ #166 Write html files to subfolder (resolves )

Rollup

  • #187 Allow edit of commonJs plugin options
  • ff2dd44 Fail build when externals are not allowed and cannot resolve id

💅 Refactors

General

  • #180 Improve esbuild.target option handling
  • 45f48a3 Hide .map files from output tree

Rollup

  • d7da0fe Use built-in dynamic virtual plugin

📖 Documentation

General

  • #197 Add render setup configuration

Cloudflare

🏡 Chore

Release

⚠️ Breaking Changes

  • ⚠️ 7e72b8f Only accept event handler for defineCachedEventHandler
  • ⚠️ #166 Write html files to subfolder (resolves )

❤️ Contributors

  • Julien Huang