Releases: nitrojs/nitro
Releases · nitrojs/nitro
v2.3.0
🚀 Enhancements
- vercel: Add functions config (#976)
- Add support for
sourceMap
valueshidden
andinline
(#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
📖 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
- Pooya Parsa (@pi0)
- Daniel Roe [email protected]
- Felix De Montis [email protected]
- Sébastien Chopin (@Atinux)
- Hannes Küttner [email protected]
- Julie Saia
- Ted De Koning
- Jan Johansen [email protected]
- Tobias Diez [email protected]
- Elian ☕️ [email protected]
- Mahdi Boomeri [email protected]
- Anthony Fu [email protected]
- Tom Lienard (@QuiiBz)
- Alex Korytskyi (@alex-key)
- Shohei Maeda
v2.2.3
🚀 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 outputpackage.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
❤️ Contributors
- Pooya Parsa (@pi0)
- Daniel Roe [email protected]
- Jan-Henrik Damaschke [email protected]
- Bogdan Kostyuk [email protected]
- Hminghe (@hminghe)
- Alexander Lichter (@manniL)
v2.2.2
🩹 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
- Pooya Parsa [email protected]
- Daniel Roe [email protected]
v2.2.1
🩹 Fixes
- static: Remove
cache-control
headers 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:
cacheControl
support for public assets with withmaxAge
(#922) - cloudflare: Expose
event.context.cf
(#927) - firebase: Use nodejs 18 as default runtime (#925)
- Support
event.fetch
andevent.$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:
prepare
command (#774) - cache: Allow setting custom
getKey
fordefineCachedEventHandler
(#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 (replacinglayer0
) (#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
andexternal
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
📖 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
- 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
routes
is renamed torouteRules
(#593)
🚀 Enhancements
- Support
redirect
,headers
, andcors
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
andres.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
torootDir
(#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
🚀 Enhancements
- Add
cloudflare-pages
preset [experimental] (#210) - Support prerendering binary files (#320)
- Opt-in option to compress public assets using
gzip
andbr
(#449) - Allow specifying wasm plugin options (#450)
- Allow using
extends
alongside 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
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 tomlly
resolver in more cases (#431) ⚠️ NITRO_PRESET
should have the highest priority (92d711f)
💅 Refactors
⚠️ Rename optionsautoImport
toimports
(#433)- Utilize knitwork to generate safe variable names (#447)
📖 Documentation
🏡 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 tomlly
resolver in more cases (#431) ⚠️ NITRO_PRESET
should have highest periority (92d711f)⚠️ Rename optionsautoImport
toimports
(#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_ENV
toprerender
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 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