Skip to content

Releases: nitrojs/nitro

v2.3.0

13 Mar 19:21
@pi0 pi0
Compare
Choose a tag to compare

compare changes

🚀 Enhancements

  • vercel: Add functions config (#976)
  • Add support for sourceMap values hidden and inline (#998)
  • lagon: Write .lagon/config.json on build (#996)
  • types: Type $fetch to match json serialization output (#1002)
  • Support base in useStorage(base?: string) and improve docs (#1012)
  • cloudflare-pages: Rewrite with module syntax (#1004)
  • Allow customising generated tsconfig path (#1021)
  • Support app config (#1022)

🩹 Fixes

  • cloudflare-pages: Only allow 100 rules combined (#973)
  • Only mock debug in production (#990)
  • Scan middleware and print tree list in ascending alphabetical order (#981)
  • externals: Correctly specify multiple external dependencies in package.json (#1013)
  • static: Use correct format for last modified (#1017)
  • cache: Remove rejected cache promise from pending list. (#995)
  • Expose useStorage with types (#1026)
  • prerender: Allow spaces in href value regex (#1030)
  • cache: Use stale value by default when swr is enabled (#1038)
  • Resolve types relative to custom tsconfig path (#1041)
  • Remove duplicate import in generated code (#1043)
  • types: Exclude non serializable options from route rules (#1047)

💅 Refactors

  • Use unimport built-in type gen for dirs (#994)
  • Split out api types (#1027)

📖 Documentation

  • Update to latest docus and various improvements (#975)
  • Up docus and add back ellipsis (38b1f34)
  • Remove tailwind module (b3b7e87)
  • lock: Update (7efa31f)
  • More improvements (#985)
  • Remove fluid layout (d83f2b6)
  • Update color (18674c5)
  • Add unjs icon in footer (6d36ceb)
  • Update docus (5fcc127)
  • Add button to open on CodeSandBox (ad120ac)
  • Update deployment example for configuration (#972)
  • Update dependencies (c923fed)
  • cache: Improve documentation and cachedFunction default options (#1011)
  • Improve readme and getting started (94d95fa)
  • Fix on mobile long path (1d2f57e)
  • Improvements (f78619f)
  • Add prerender.ignore description (#1032)
  • Improve configuration page (554b358)
  • Improve plugins section (f36a6e0)
  • Update readme (c58a764)
  • Update homepage hero (b848e5a)
  • Update meta tags (70f00e5)
  • More improvements (#1039)
  • Update docus version (f31240b)
  • Upgrade docus (a6ce587)
  • deploy/workers: Fix typo of bundle (#1046)

🏡 Chore

  • readme: Various improvements (#1009)
  • Fix tests (#1014)
  • docs: Use pnpm (39f117a)
  • Add autofix-ci action (8f9c3e2)
  • Remove old docs commands (#1042)
  • Update dependencies (02c48f2)
  • Maintain lockfile (ac81602)
  • Use single undici version for testing (00743bc)

❤️ Contributors

v2.2.3

01 Mar 23:28
@pi0 pi0
Compare
Choose a tag to compare

compare changes

🚀 Enhancements

  • Add lagon preset (#964)

🩹 Fixes

  • node-cluster: Default number of workers (#963)
  • cloudflare-pages: Exclude assets from function call (#965)
  • cloudflare-pages: Handle assets only for get requests (#968)
  • Render json errors for cors requests (#969)
  • Use json response for errors in /api/ routes (#971)

💅 Refactors

  • externals: Sort bundledDependencies keys in output package.json (#967)

📖 Documentation

  • cloudflare: Add info regarding runtimeConfig and environment variables (#958)
  • Prevent ellipsis overflow on small screens (#956)
  • deploy: Add workers page for edge limitations (#953)

🏡 Chore

  • cli: Mention prepare command in usage (#959)
  • Update dependencies (2658072)

❤️ Contributors

v2.2.2

01 Mar 23:28
@pi0 pi0
Compare
Choose a tag to compare

compare changes

🩹 Fixes

  • Correct access-control-allow-methods cors header name (#944)
  • Allow overriding assets maxAge using route rules (db6e6c2)
  • rollup: Use mlly as fallback resolver when externals disabled (#948)
  • Don't render json response if url contains /api/ (#951)

🏡 Chore

✅ Tests

  • vercel: Move custom test to additional tests (fb361f8)

❤️ Contributors

v2.2.1

01 Mar 23:28
@pi0 pi0
Compare
Choose a tag to compare

compare changes

🩹 Fixes

  • static: Remove cache-control headers when asset is not found (e3d57fc)
  • Avoid circular imports (#936)

🏡 Chore

❤️ Contributors

v2.2.0

08 Feb 22:00
@pi0 pi0
Compare
Choose a tag to compare

⭐ What is new?

  • Runtime proxy support using route rules (learn more)
  • Nested fetch calls with incoming headers and context in event context (learn more)
  • Binary and Raw storage operations support (learn more)
  • [Cloudflare] Exposed event.context.cf (learn more)
  • Built-in session support (learn more)

🚀 Enhancements

  • Support runtime proxy using route rules (#926)
  • cloudflare: cacheControl support for public assets with with maxAge (#922)
  • cloudflare: Expose event.context.cf (#927)
  • firebase: Use nodejs 18 as default runtime (#925)
  • Support event.fetch and event.$fetch (#930)
  • vercel: Auto-detect runtime version (#879)

🩹 Fixes

  • Apply cached rules to overlaping wildcard patterns (#906)
  • cloudflare: Use full mime db (#933)

❤️ Contributors

v2.1.0

08 Feb 21:59
@pi0 pi0
Compare
Choose a tag to compare

Check the changelog for release information.

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