Releases: nitrojs/nitro
Releases · nitrojs/nitro
v2.2.1
🩹 Fixes
- static: Remove
cache-controlheaders when asset is not found (e3d57fc) - Avoid circular imports (#936)
🏡 Chore
- Update changelog (8dde296)
❤️ Contributors
- Pooya Parsa [email protected]
v2.2.0
⭐ 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:
cacheControlsupport for public assets with withmaxAge(#922) - cloudflare: Expose
event.context.cf(#927) - firebase: Use nodejs 18 as default runtime (#925)
- Support
event.fetchandevent.$fetch(#930) - vercel: Auto-detect runtime version (#879)
🩹 Fixes
❤️ Contributors
- Pooya Parsa [email protected]
- Shohei Maeda
- Luke Nelson [email protected]
- Oleg Khalin
- Daniel Roe [email protected]
v2.1.0
v2.0.0
👀 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:
preparecommand (#774) - cache: Allow setting custom
getKeyfordefineCachedEventHandler(#744) - dev: Support for
/_vfs.json(#809) - netlify: Use esm entrypoint (#833)
⚠️ Rewrite external copy with multi version hoisting support (#782)- Add
shouldInvalidateCacheoption to cache utils (#746) edgiopreset (replacinglayer0) (#858)- Support
maxAgefor public assets (#860) - Support
staleMaxAge: -1to always respond stale value (#857) - externals: Apply
productioncondition to package.exports (#867) - Enable auto imports from
utilsdir (#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
outputproperty 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-prerenderheader (#799) - build: Do not override publicAssets (#817)
- dev: Improve vfs ui (#802)
- Resolve and include scanDirs within
node_modulesfor 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
inlineandexternalwindows 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
📖 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 --cacheand improve types in.eslintrc(#863)
✅ Tests
- Add tests for dev server and proxy (#644)
🤖 CI
- Run tests against windows as well (#837)
❤️ Contributors
- Pooya Parsa [email protected]
- Daniel Roe [email protected]
- Yasser Lahbibi [email protected]
- O-az [email protected]
- Harlan Wilton [email protected]
- Christian Preston [email protected]
- Louis Haftmann
- Xin Du (Clark) [email protected]
- Jonas Thelemann [email protected]
- Shoubhit Dash [email protected]
- Anthony Fu [email protected]
- Chambers
- Patrick Schnyder
- Alvar Lagerlöf
- Pascal
- Eduardo San Martin Morote
- Johann Schopplich [email protected]
- Nathan Chase [email protected]
- Dany Sluijk [email protected]
- Alexander Lichter [email protected]
- Nobody5050
- Ʀᴀʏ [email protected]
- Nozomu Ikuta
- James Ray [email protected]
- SerKo
v0.6.0
⚠️ Breaking Changes
- H3 updated to to 0.8x [Release Notes]
- Experimental
routesis renamed torouteRules(#593)
🚀 Enhancements
- Support
redirect,headers, andcorsroute rules (#538) - netlify: Incremental static regeneration + swr (#540)
- Add
debuggeroption 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.writeandres.writeHead(673fe8e) - cache: Support
headersOnlycache mode (4e6dda1) - Allow
cache: falseroute 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
workspaceDirtorootDir(#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
cacheoptions 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
🚀 Enhancements
- Add
cloudflare-pagespreset [experimental] (#210) - Support prerendering binary files (#320)
- Opt-in option to compress public assets using
gzipandbr(#449) - Allow specifying wasm plugin options (#450)
- Allow using
extendsalongside withpreset(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
multiValueQueryStringParametersto 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 tomllyresolver in more cases (#431) ⚠️ NITRO_PRESETshould have the highest priority (92d711f)
💅 Refactors
⚠️ Rename optionsautoImporttoimports(#433)- Utilize knitwork to generate safe variable names (#447)
📖 Documentation
🏡 Chore
- Remove unused
@types/jsdomfrom dependencies (#429)
📦 Build
- Expose
/package.jsonsubpath export (d0029c0) - Use changelogen to bump edge and generate chagelog (679e356)
⚠️ Breaking Changes
⚠️ Update unenv to 0.6.x (#438)- externals:
⚠️ Fall back tomllyresolver in more cases (#431) ⚠️ NITRO_PRESETshould have highest periority (92d711f)⚠️ Rename optionsautoImporttoimports(#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
🐛 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
Rollup
- 2b7209a Set
NODE_ENVtoprerenderwhen prerendering - 43b1d02 Respect
rollupConfigoptions to override default config - 32f598a Enable
preferBuiltinsonly for node targets
Worker
- 6c8cae7 Use
iifeformat by default
Cache
- #189 Preserve event context (resolves )
🚀 Features
General
- #173 Expose all assets to
nitro.vfsand/_vfsendpoint (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-Prerenderheader to detect prerendering
Cache
⚠️ 7e72b8f Only accept event handler fordefineCachedEventHandler
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
Rollup
- d7da0fe Use built-in dynamic virtual plugin
📖 Documentation
General
- #197 Add render setup configuration
Cloudflare
- 91f5339 Update
wrangler.toml
🏡 Chore
Release
- 6e1a0e7 0.4.0
⚠️ Breaking Changes
⚠️ 7e72b8f Only accept event handler fordefineCachedEventHandler⚠️ #166 Write html files to subfolder (resolves )
❤️ Contributors
- Julien Huang