Want to take a look at our new docs? Our
new docs
are now in beta. Have fun!
Release Notes
v2.14.12
Released on🐛 Hot Fixes
- #8494 Fix issues with URL handling (resolves #8497, #8493, #8458, #8457)
How to upgrade?
Use yarn upgrade nuxt
or npm up nuxt
v2.14.11
Released on🐛 Hot Fixes
- #8462 Add url-polyfill to fix IE11 issue (URL is not a constructor) (resolves #8458)
- #8462 Update ufo to preserve relative links (resolves #8457, #8459)
v2.14.10
Released on🐛 Hot Fixes
- Normalize routes and decode resolved query (#8430) (resolves #8429, #8442)
@nuxt/components
v1.2.2 (notes)
v2.14.9
Released on🐛 Hot Fixes
- #8421 Only encode non dynamic path params
v2.14.8
Released on🐛 Bug Fixes
webpack
- #8205 Allow transpiling packages in nested
node_modules
- #8205 Allow transpiling packages in nested
general
- #8325 Handle route encodings and update
vue-router
- #8325 Handle route encodings and update
vue-router
- #8394 Force chidren to be required if default child is present (resolves #7823)
cli
- #8398 Respect
router.trailingSlash
when serving static files (resolves #8350) - #8337 Handle
generate.cache.ignore
as a function inensureBuild
- #8398 Respect
generator
- #8237 Nested route missing trailingSlash (resolves #8165)
- #8344 Respect publicPath for static assets (resolves #7923, #7815)
csp
- #8352 Apply right csp header when status code is 304 (resolves #8353)
vue-app
- #8314 Handle missing payloads on full static (resolves #7717)
- #8348 Warn if promises and functions are in fetch state (resolves #8338)
- #8225 TriggerScroll when transitions is disabled
- #8289 Use nuxt globalName correctly in
nuxt-link
and fetch mixin (resolves #8118) - #8280 Prevent redirection loop with URI-encoded path (resolves #8116)
types
- #8362 Correct vue.config types
- #8349 Add missing
isFetching
and nbFetching toNuxtApp
interface - #8319
NuxtOptionsHead
can be a function - #8302 Add missing
ssrContext
andnext
typings toContext
(resolves #8296)
server
- #8313 Redirect if
router.base
specified in development
- #8313 Redirect if
💅 Refactors
general
- #8210 Use nuxt everywhere
cli
- #8219 Grammatical errors (resolves #8217)
👓 Tests
general
- #8282 Fix redirect tests
💖 Thanks to
- Ahad Birang (@farnabaz)
- Audrius Jakumavicius (@aj-dev)
- Cain Hall (@cain)
- Daniel Roe (@danielroe)
- Mathieu TUDISCO (@mathieutu)
- Orkhan Alikhanov (@OrkhanAlikhanov)
- Steve Perkins (@steveperkins)
- @Zuckjet
- @padinko
v2.14.7
Released on🐛 Bug Fixes
babel-preset-app
- #8203 Always transpile optional chaining and nullish-coalescing for server
cli
- #8200 Rebuild if
process.env
changes innuxt.config
- #8194 Avoid error about
nuxt-edge
if installed in parentnode_modules
- #8134 Mode deprecation with explicit spa or universal flag
- #8200 Rebuild if
vue-app
- #8170 Use getter to provide
this.$nuxt
- #8055 ScrollRestoration hasn't set
- #8170 Use getter to provide
types
- #8182 Add type for
serverMiddleware
object format - #8169 Make
NuxtConfig
an interface
- #8182 Add type for
generator
- #8166 Handle when no
routes.json
defined
- #8166 Handle when no
general
- #8206 Add better logs for DX with target option
💖 Thanks to
- Daniel Roe (@danielroe)
- Dmitriy (@Kolobok12309)
v2.14.6
Released on🐛 Bug Fixes
babel-preset-app
- #8085 Allow to specify
corejs.version
as string
- #8085 Allow to specify
vue-app
- #8067 Always import error layout (resolves #8066, #8093)
- #8053 Mock
$fetch
function for SSR with static target (resolves #8043)
💖 Thanks to
- Daniel Roe (@danielroe)
- Dmitriy (@Kolobok12309)
- Yihao Gao (@Yihao-G)
v2.14.5
Released on🐛 Bug Fixes
vue-app
- #8016 Missing layout in error page with
splittedChunks.layout
(resolves #7654, #7658 and #7014)
- #8016 Missing layout in error page with
utils
- #8038 Allow chaining functions with promise (resolves #8037)
general
- #8012 Remove name from production js chunks (resolves #7994 and #7882)
config
- #8013 Don't interpolate environment variables with
undefined
value (resolves #7990 and #8013) - #8014 Avoid recursion when interpolating environment variables
- #8030 Normalize
build.indicator: true
to default value
- #8013 Don't interpolate environment variables with
💅 Refactors
config
- #8044 Deprecate
mode
option
- #8044 Deprecate
🇹 Types
general
- #7985 Expose
Inject
type
- #7985 Expose
💖 Thanks to
- Dmitriy (@Kolobok12309)
- Florent Catiau-Tristant (@Kapcash)
- @remigermain
v2.14.4
Released on🐛 Bug Fixes
vue-renderer
- #7954 Add
crossorigin
for styles (resolves #7953)
- #7954 Add
cjs
- #7938 Fix HMR issue with mongoose (resolves #7917)
- #7966 Protect
clearRequireCache
against infinite recursion
cli
- #7948 Handle
nuxt generate
with--fail-on-error
forstatic
target (resolves #7947)
- #7948 Handle
vue-app
- #7939 Fix variable names shadowing in chrome debugger (resolves #7731)
webpack
- #7967 No module scripts in spa modern client mode (resolves #7562)
🏡 Chore
general
- #7961 Add
avif
format as image
- #7961 Add
💖 Thanks to
- Ahad Birang (@farnabaz)
- Florent Catiau-Tristant (@Kapcash)
- Per Anders Ljusbäck (@perljusback)
- @sho-zy
- @netkin-paris
v2.14.3
Released on🐛 Bug Fixes
vue-renderer
- #7928 Apply
nomodule
to legacy chunks
- #7928 Apply
💖 Thanks to
- Daniel Roe (@danielroe)
v2.14.2
Released on🐛 Bug Fixes
webpack
- #7906 Avoid using
node_modules
for chunk names (resolves #7901)
- #7906 Avoid using
modern
- #7919 Missing
nomodule
on legacy modules (resolves #7918)
- #7919 Missing
vue-app
- #7877 Use anchor to
/
if route is undefined in error page (resolves #7841) - #7920 Fix
vue-router@2.14
regression withscrollToTop
- #7916 Prevent router.registerModule reallocation (resolves #7915)
- #7877 Use anchor to
router
- #7912 Use updated error codes to fix redirect errors
cli
- #7860 Improve project dir detection for external commands
👕 Types
general
- #7902 Improve definitions for component transition property
💖 Thanks to
- Ahad Birang (@farnabaz)
- Matthew Gamble (@mwgamble)
v2.14.1
Released on🐛 Bug Fixes
router
- #7843 Optional dynamic routing in children routes (resolves #7571)
- #7845 Remove optional params in routes ending with
index
(resolves #5874)
vue-app
- #7801 Handle server-side router errors (resolves #7798)
core, config
- #7839 Disabe esm cache (resolves #7838)
builder
- #7789, #7849 Add types for
build.corejs
option
- #7789, #7849 Add types for
crawler
- #7806 Skip external links with no schema (resolves #7805)
webpack
- #7808 Avoid grouping with default name (resolves #7795)
cli
- #7802 Generate still runs when cache disabled
- #7796 Normalize win32 paths for
nuxt generate
cache (resolves #7792)
📝 Examples
tailwindcss-purgecss
- #7800 Update tailwindcss from
0.6
to1.6
using purgecss
- #7800 Update tailwindcss from
🏡 Chore
stale
- #7828, #7844 Ignore feature request issues
💖 Thanks to
- Ahad Birang (@farnabaz)
- @ChangJoo-Park
- Matthieu Sieben (@matthieusieben)
- Rafał Chłodnicki (@rchl)
- @lihbr
v2.14.0
Released on⭐ Highlights
- Static target improvements
- Auto detecting
core-js
version for project - Official support for Nuxt.js with webstorm 2020.2
- New Guides section in documentation
🚀 Features
webpack
- #7785 Auto detect
core-js
version
- #7785 Auto detect
builder
- #7754 Support async
extendRoutes
- #7754 Support async
general
- #7712 Static target improvements
vue-renderer
- #7633 Add
vue-renderer:spa:prepareContext
hook
- #7633 Add
vue-app
- #7611 Add
web-types.json
for better code insight inWebStorm
- #7611 Add
🐛 Bug Fixes
webpack
- #7787 ensure loaders are first searched from
@nuxt/webpack
- #7763
font-family
hex issue - #7667 Fallback for empty chunk name
- #7787 ensure loaders are first searched from
vue-app
- #7766
nuxt-link
prefetch error on fallback page - #7718 Handle fallback on generated page
- #7723 Don't fetch payload for store mutation for preview and spa fallback
- #7766
generator
- #7776 Avoid duplicate slashes for routes ending with hash
cli
- #7775 Don't use absolute path of
.cache/nuxt
as transpilation pattern
- #7775 Don't use absolute path of
utils
- #7761 Include routes with children for generation
vue-renderer
- #7752 Read
target
from class instead ofserverContext
- #7752 Read
router
- #6594 Show default child if trailingSlash is false
🖤 Refactors
server
- 5272a4 Rename
externalsWhitelist
toexternalsAllowlist
- 5272a4 Rename
📝 Examples
vuetify
- #7767 Use
@nuxtjs/vuetify
module
- #7767 Use
👕 Types
general
- #7670 Fix module options type
- #7709 Add cross-origin property to
NuxtOptionsRender
- #7670 Fix module options type
💖 Thanks to
- Ahad Birang (@farnabaz)
- Daniel Roe (@danielroe)
- Harlan Wilton (@loonpwn)
- @IKKO-Ohta
- Martin Novák (@MartinN3)
- Matthieu Sieben (@matthieusieben)
- Piotr Tomiak (@piotrtomiak)
- Simon Tretter (@simllll)
- Timothy R. Chavez (@timrchavez)
- Yaroslav Vorobev (@Zekfad)
v2.13.3
Released on🐛 Bug Fixes
vue-app
- #7656 Check plugin key on
Vue.prototype
instead ofVue
- #6745 Sanitize path with trailing slash in
getLocation
(resolves #6744) - #7654 Handle layout on client error (resolves #7567)
- #7657 Don't fetch payload on first spa fallback render (resolves #7648)
- #7656 Check plugin key on
webpack
- #7635 Modern build should wait for legacy assets (resolves #7562, resolves #7628)
- #7639 Use compact name for concatenated modules (resolves #7625)
cli
- #7647 Handle nuxt static command 👀
💅 Refactors
csp
- #7659 Remove unsafe-eval in dev mode
📝 Examples
with-sockets
- #7650 Deprecated callback and use cjs
with-vuetify
- #7638 Use
v-main
instead ofv-content
- #7638 Use
👕 Types
general
- #7626 Import types for
@nuxt/telemetry
and@nuxt/components
- #7626 Import types for
💖 Thanks to
- Ben Read (@ReadB)
- Daniel Roe (@danielroe)
- Denis Karabaza (@simplesmiler)
- Kawacrepe (@Kawacrepe)
- Konstantin Barabanov (@crutch12)
v2.13.2
Released on🐛 Bug Fixes
webpack
- #7613 Explicitly pass
outputFileSystem
towebpackDevMiddleware
(resolves nuxt/typescript#145) - #7603 Chunk name normalization for catch-all pages and windows
- #7613 Explicitly pass
core
- #7605 Avoid breaking change for duplicate modules (resolves #7605)
cli
- #7608 Listen to a random port for export and generate (resolves #7597)
vue-app
- #7614 Remove hash from payload path
- #7606 Fix wrong layout when redirecting from error page (resolves #7567)
utils
- #7604 Flat routes if child routes have absolute paths
Dependencies
- consola: Improve spam detection
@nuxt-telemetry
: Stability improvements and supporttelemetry: true
💖 Thanks to
- Denis Karabaza (@simplesmiler)
- Konstantin Barabanov (@crutch12)
- Michał Kędrzyński (@kedrzu)
v2.13.1
Released on🐛 Bug Fixes
vue-app
- #7591 Always import
resolveRouteComponents
(#7587, nuxt/content#123) - 6332a Check correct layout when navigating from error (#7567)
- #7591 Always import
👕 Types
- #7590 Fix module and typescript compatibility (nuxt-community/sentry-module#195)
- #7590 Add missing crawler config (#7585)
v2.13.0
Released onWhat's new?
- New
target: static
and full static usingnuxt export
- Built-in
.env
support andruntimeConfig
- Auto components discovery with nuxt/components
- Nuxt Telemetry
Also don't miss nuxt/content and nuxt-composition-api ;)
🚀 Features
general
- #7476
createRequire
option and disable esm for jest - #7463 Improve production debugging DX
- #7408 Experimental nuxt telemetry
- #7374 Builtin Components
- Runtime config and built-in dotenv support (#7312, #7420, #7421)
- Full static target (#6159, #7332, #7334, #7336, #7350, #7399, #7400, #7401, #7431, #7486, #7523, #7518)
- #7476
cli
- Improve banner DX (#7532, #7537)
generator
- #7455 Allow excluding exported pages using
export:page
hook - #7422
export:route
hook andsetPayload
- #7455 Allow excluding exported pages using
webpack
- #7443 Allow babel plugins to be defined by function
- #7178 Add
mjs
tobabel-loader
config
- #7430 Support
.nuxtrc
- #7420 Improved runtimeConfig
- #7263 Add configOverrides for loadNuxt and loadNuxtConfig
- #7430 Support
ssr
- #7383 Add non async split chunk to preload scripts
server
- #7469 Add new
render:beforeResponse
hook - #7358 Add unload method support for serverMiddleware
- #7307 Support csp
report-uri
- #7214 Add custom HTTP headers into error response
- #7469 Add new
modern
- #7306 Remove inlined safari fix in csp mode
vue-app
- #7212 Inject into plugins context in addition to app context
vue-renderer
- #7170 Add head
<base>
meta for spa - #7168 Pass
renderContext
tovue-renderer:ssr:templateParams
hook
- #7170 Add head
babel-preset-app
- #7144 Add
bugfixes
option
- #7144 Add
builder
- #7132 Ignore option to function the same as
.nuxtignore
- #7132 Ignore option to function the same as
🐛 Bug Fixes
core
- #7267 Improve module not found error
- #7131 Join with os native sep in resolver
general
- #7286 Use different port for loading-screen SSE
- #7377, #7378 Set build indicator icon height for ie11
webpack
- #7462, #7464 Reduce false negatives in nodeExternals
- #7318 Allow HMR client path to be set
- #7305 Use non-eval sourcemap with csp and
unsafe-eval
script policy
vue-app
- #5703, #7442 Prevent double layout execution
redirect
no longer strips trailing slash from URL (#7475, #7533)- #7162 Allow background customization for default loading template
- #7271
sanitizeComponent
import regression with features disabled - #7139 Sanitize layouts after resolve for
splitChunks.layout
generator
- #7335 Improve error handling when build does not exists
modern
- #7498 Modulepreload not work in generate
- #7382 Wrong assets mapping in ssr client modern mode
vue-renderer
- #7439 Fix meta injection when ssr renderer generates a spa page
- #7376 Base tag should be before any link or script tag
generator, builder
- #7361 Empty build and dist directories instead of remove
babel
- #7297 Not override presets if babelrc is true
server
- #7146 HMR for sub-app serverMiddleware without path
💅 Refactors
general
- #7452 Ad-hoc modules
config
- #7187 Move
build.crossorigin
torender.crossorigin
- #7187 Move
📝 Examples
with-buefy
- #7381 Update github icon name
🏡 Chore
cli
- #6031, #7460 Enhance generate no-build description
general
- #7458 Fix minor issues in build scripts
- #7228 Add ls-lint
- #7219 Fix typos
renovate
- Ignore
@types/terser-webpack-plugin
- Ignore
pkg
- #7373 Update rollup and dependencies
dep
- #7119 Upgrade
html-webpack-plugin
to v4
- #7119 Upgrade
test
- #7321 Upgrade
vue-test-utils
to v1
- #7321 Upgrade
benchmark
- #7205 Fix
package.json
scripts
- #7205 Fix
example
- #7211 Update vue-chartjs
👓 Tests
general
- #7319 Update
jest
to v26 - #7252 Add test for inject in context
- #7319 Update
💙 Types
-
general
- #7432 Move
@nuxt/types
to nuxt mono-repo
- #7432 Move
💖 Thanks to
- Ahad Birang (@farnabaz)
- Bogdan Gradinariu (@gion)
- Daniel Roe (@danielroe)
- Deniz Temizer (@dtmzr)
- Eunjae Lee (@eunjae-lee)
- @IWANABETHATGUY
- Jimmy (@Geminii)
- Johannes Lamberts (@JohannesLamberts)
- Jt Whissel (@Phara0h)
- Lucas Löffel (@loeffel-io)
- Mathieu TUDISCO (@mathieutu)
- Nicolas PENNEC (@NicoPennec)
- Sibbngheid (@sibbngheid)
- Tim van den Eijnden (@TimvdEijnden)
- Yugo Ogura (@Spice-Z)
- xingo xu (@xingoxu)
v2.12.2
Released on🐛 Bug Fixes
server
- #7146 HMR for sub-app
serverMiddleware
without path
- #7146 HMR for sub-app
vue-app
- #7139 Sanitize layouts after resolve for
splitChunks.layout
- #7139 Sanitize layouts after resolve for
core
- #7131 Join with os native sep in the resolver
v2.12.1
Released on🐛 Bug Fixes
vue-app
- #7129 Avoid multiple
$fetch
calls - #7103 Use
globals.nuxt
for fetch client mixin - #7128 Set default name to layout to avoid multi mounted calls
- #7129 Avoid multiple
builder
- #7097 Ensure entry is in the graph for HMR
🏡 Chore
readme
- #7092 Simplify readme and add gitpod in contributing section
examples
- #7098 Avoid warning with legacy
postcss.config.js
- #7098 Avoid warning with legacy
💖 Thanks to
- Adam (@mercs600)
- Aster (@asterd)
- Sean Hellum (@JesterOrNot)
- @daniluk4000
- @olddeda
v2.12.0
Released on🚀 Features
general
- #6950 Support
crossorigin
attribute in SSR script andpreload
tags - #6868 Improve programmatic usage (see docs)
- #7029 Expose webpack config
- #6272 Allow disabling loading-screen
- #6950 Support
webpack
- #6987 Support
@import
using~assets
in css files - #6272 Allow disabling loading-screen
- #6987 Support
vue-app
- #6880 New fetch syntax (see docs)
- #6939 Pass error as param to
nuxt-loading
fail method - #6244 Trigger
watchParam
when param is changed in same route
cli
- #6855 Pass context when
nuxt.config
exports a function
- #6855 Pass context when
👌 DX
builder
- #6924 Analyze mode warning rewording
general
- #6881, #6896 HMR support for server middleware
generator
- #6882 Log message or full error for unhandled error without stack trace
cli
- #6904 Display listening URLs after build
vue-app
- #7032 Improve missing inject value error message
- #6775 Middleware not executing on double browser back navigation
core
- #7079 Better module not found handling
🔥 Performance
vue-renderer
- #6973 Early return
render
when redirect happens - #6846 Don't serialize session when
injectScripts
is false
- #6973 Early return
🐛 Bug Fixes
core
- #7002 Deprecated
render:context
andrender:routeContext
hooks was not being called
- #7002 Deprecated
babel-preset-app
- #7070 TypeError when import cjs in webpack building
vue-app
- #6946 Use child transition name when navigating to parent
- #6854 Add fallback context for errors
- #6803 Resolve leave transition on child routes
- #6807 Move head to the index to avoid global state
webpack
- #6864 Provide global
URL
andURLSearchParams
- #6864 Provide global
💅 Refactors
general
- #6954 Use scope variable memo for modern utils
utils
- #6953 Eliminate side effect from modern utils
📝 Examples
cached-components
- #6997 Remove non-existing link
🏡 Chore
general
- #6816 Simplifies Code Contributions & Reviews
ci
- #6857 Support Github actions
👓 Tests
general
- Fix socket-hang-up test
- Separate dev and unit test
- Avoid unexpected outside stderr assertion count
- Fix uncompressed resource size
- Wrap error test with consola to make output clear
💖 Thanks to
- 404-NOTFOUND (@404-NF)
- HG (@husayt)
- James George (@jamesgeorge007)
- Jason Poindexter (@jsonpoindexter)
- Mark Honeychurch (@markhoney)
- Matteo Rigon (@matteo-rigon)
- Sand Of Vega (@sandofvega)
- Sean Hellum (@JesterOrNot)
- Vladlen (@negezor)
- @wppd
v2.11.0
Released on🐛 Bug Fixes
utils
- #6777 Add catch statement to non function block in
serializeFunction
- #6791 Fix
flatRoutes
regex for nested routes with trailing slash enabled
- #6777 Add catch statement to non function block in
vue-app
- #6658 Pass router mode to
getLocation
- #6683 Apply path-to-regexp options to
tokensToFunction
- #6650 Layout in
error.vue
not work for Vue.extend component - #6623 Add
prefetched
class to<nuxt-link>
after chunk loaded
- #6658 Pass router mode to
general
- #6685
context.route
issue in plugins andsplitChunks.pages === false
- #6590 Collapsed SSR log
- #6685
webpack
- #6495 Enable devtool for dev mode
- #6566 Normalize devtool for terser compatibility
config
- #6583 Typo in
unsafeInlineCompatibility
name
- #6583 Typo in
🚀 Features
vue-app
- #6722 Upgrade
vue-router
to3.1.x
- #6722 Upgrade
general
- #6149 Optionally strip non-client or non-server code
vue-renderer
- #6505 Support evaluation in templates
config
- #6597 Add
ignoreOptions
fornode-ignore
- #6597 Add
💅 Refactors
server
- #6771 Only append not empty allowed sources to csp
🔥 Performance
webpack
- #6632 Prefer using
contenthash
- #6632 Prefer using
📝 Examples
with-sockets
- #6586 Fix cannot read property 'app' of undefined on nuxt build
🏡 Chore
general
- #6732 Update
@nuxtjs/eslint-config
to v2 and fix lint errors - #6686 Fix typo in middleware readme
- #6649 Limit stale bot to only issues
- #6637 Remove unused dependencies
- #6630 Use
.github/config.yml
for issue template
- #6732 Update
docs
- #6719 Update code-of-conduct
ci
- #6739 Remove coverage collection in fixtures
- #6747 Use LTS Node.js instead of latest
- #6737 Separate dev test and unit test
github
- #6657 Add chinese translation for issue template
👓 Tests
general
- #6752 Pass array to allowedSources
- #6740 Use
got
instead ofrequest
- #6638 Fix chrome detection in macOS Catalina
- #6596 SSR log
💖 Thanks to
- Ahad Birang (@farnabaz)
- Cain Hall (@cain)
- Daniel Roe (@danielroe)
- Dennis Herzberg (@dennis47528)
- Harry Trần (@jetaimefrc)
- Mohammad M. Shahbazi (@mshahbazi)
- @PedroD
- Stephan Besser (@reskume)
- Rafał Chłodnicki (@rchl)
- Vanessa A (@Vinesse)
- @crutch12
v2.10.2
Released on🐛 Bug Fixes
webpack
- #6495 Enable devtool for dev mode
- #6566 Normalize devtool for terser compatibility
config
- #6583 Typo in
unsafeInlineCompatibility
name
- #6583 Typo in
vue-app
- #6590 Fix collapsed SSR log
📝 Examples
with-sockets
- #6586 Fix cannot read property 'app' of undefined on nuxt build
💖 Thanks to
- @PedroD
- Stephan Besser (@reskume)
v2.10.1
Released on🐞 Fixes
vue-app, webpack
- #6504 Remove consola from client
utils
- #6515 Fix error when
router.trailingSlash
isfalse
- #6515 Fix error when
generator
- #6362 Remove trailing slash when no subFolders are used
webpack
- #6520
chunkhash
andcontenthash
not work withextractCSS
- #6520
cli
- #6525 Enable server for
nuxt build
when pages should be generated
- #6525 Enable server for
🏡 Chore
readme
- #6511 Remove deprecated starter template
⚓ Dependency Upgrades
vue-meta
: Upgraded tov2.3
which fixes duplicated tags in SPA mode
💖 Thanks to
- Dennis Herzberg (@dennis47528)
- Yuki Terashima (@y-temp4)
v2.10.0
Released on🌟Highlights
- Support for improved typescript runtime
- Experimental support for feature toggling for SUPER slim builds!
- Mitigate problems with nuxt server stocking during development
- Fix issues with internet-explorer in development mode
- Upgrade to terser webpack plugin v2
- Improved stability of
loading-screen
. No more endless loops (nuxt/loading-screen#44) and show fatal errors (nuxt/loading-screen#45) for the initial build
🐛 Bug Fixes
core
- #6490 Clear resolver cache for project files dev mode
vue-app
- #6479 Error page layout not correctly applied in client-side rendering
- #6473 Pass
vm
as arg to supportdata()
with arrow function - #6433 Fix
asyncData
hydration whenfeatures.transition
isfalse
- #6430 Clear idle callback
- #6217 Prevent looping on error during render of error page
webpack
- #6298 Fix
consola
IE compatibility - Revert
pause/resume
- #6460 Correct sass options for
sass-loader@8
- #6448 Don't push to
compilersWatching
in callback
- #6298 Fix
cli
- #6441 Server should not be initialized in nuxt build
babel-preset-app
- #6435 Use loose mode for babel class plugin
vue-renderer
- #6429 Dont mutate
options.head
- #6429 Dont mutate
config
- #6371 Enable total timing by default when
server.timing
is enabled
- #6371 Enable total timing by default when
config, vue-app
- #6379 Add module declaration for
config
andvue-app
- #6379 Add module declaration for
🚀 Features
cli, config
- #6399
cli.bannerColor
option
- #6399
config
- #6414
serverMiddleware
as a simple key/value object
- #6414
builder
- #6368
followSymlinks
option to allow for symlinks - #6285
extendPlugins
option andbuilder:extendPlugins
hook - #6329 Add
builder:prepared
hook - #6342 Support adding custom middleware
- #6368
cli
- #6475 Catch build errors with
cli:buildError
hook
- #6475 Catch build errors with
webpack
- #6477 Use
vue-meta
browser build for client bundle - #6398 Upgrade
terser-webpack-plugin
tov2
- #6350 Add
webpack:config
hook
- #6477 Use
server
- #6438 Add config option to define
etag
hash function
- #6438 Add config option to define
vue-app
- #6292 Add
prefetch
prop to<nuxt-link>
- #6287 Support configurable features
- #6297 Function watchQuery
- #6292 Add
general
- #6432 Support setting (non-essential)
vue-meta
options by user
- #6432 Support setting (non-essential)
utils
- #6277 Export sort routes
builder, router
- #6331 Enforce uniform trailing slash handling
💅 Refactors
cli
- #6353 Call setup hook in run command with more args
builder
- #6352 Await
build.createRoutes
to allow async functions inside it
- #6352 Await
babel-preset-app
- #6087 Simplify babel preset config
📝 Examples
with-sockets
- #6396 Create server inside the export function
🏡 Chore
general
- Fix example in
babel-preset-app
readme - #6390 Lint
vue-app
templates - #6363 Rename setup hook to
run:before
- Fix example in
💖 Thanks to
- Louis-Marie Michelin (@lmichelin)
- Daniel Roe (@danielroe)
- Snir Shechter (@SnirShechter)
- @radimhornicek
- @xxRockOnxx
v2.9.2
Released on🐛 Bug Fixes
general
- #6257 Improve watching experience for generated files
builder
- #6283 fix(builder): apply overrides from app dir only
server
- #6265 Treat
https: null
ashttps: undefined
- #6265 Treat
nuxt-start
- #6267 Add missing
vue-client-only
dependency
- #6267 Add missing
vue-app
- #6264 Only overwrite leave listener when none provided or without done arg
- #6255 Enforce default css when used with frameworks
config
- #6258 Provide typescript backward compatibility
💅 Refactors
core
- #6271 Use hable
v2.9.1
Released on🐛 Bug Fixes
vue-app
- #6252 Provide typescript backward compatibility
loading-screen
- nuxt/loading-screen#38 set
Content-Type
for index page
- nuxt/loading-screen#38 set
📝 Examples
CoffeeScript
- #6248 Update module for using
additionalExtensions
- #6248 Update module for using
💖 Thanks to
- Artyom Bogomolov (@DevArtyom)
- Rafał Chłodnicki (@rchl)
v2.9.0
Released on⚠️ Important Notes
- 👉 Minimum required node version is
8.9.0
- 👉 Typescript support is now externalized. Refer to official docs and migration guide.
- 👉
vue-meta
upgraded to 2.0.0. Please refer to the changelog to review notable changes. - 👉
scrollBehavior
option is deprecated in favor ofapp/router.scrollBehavior.js
(#6055) - 👉
devModules
option is deprecated in favor ofbuildModules
(#6203)
🐛 Bug Fixes
general
- #6118 Fix
modulepreload
warnings - #6075 Throw error when building failed in quiet mode
- #6070 Support babel corejs config for modern mode
- #6021 Babel polyfill can not be disabled
- #6118 Fix
renderer
- #6033 Correctly load
nomodule
scripts in safari 10
- #6033 Correctly load
cli
- #6020 Prevent both
nuxt
&nuxt-edge
being installed
- #6020 Prevent both
vue-app
- #6012 Emit
triggerScroll
to support hash navigation - #5920 Fix font-size and make width bigger
- #5891 Always finish
transition.leave
asynchronously - #5890 Fix position of the build indicator when page scrolled
- #6012 Emit
vue-renderer
- #6223 Call
render:resourcesLoaded
hook beforecreateRenderer
- #5964 Clone SPA meta to prevent cache modification
- #6223 Call
webpack
- #5906 Extract css breaks hmr and source-maps
🚀 Features
cli
- #6206 Export options
server
- #6178 Allow passing
loadingTimeout
and other arguments torenderAndGetWindow
- #6178 Allow passing
webpack
- #6120 Allow function entries for
build.transpile
- #6120 Allow function entries for
vue-app
- #6194 Add
$nuxt.refresh
- #6186 Use EventSource instead of WebSocket for build indicator
- #6055 Support
app/router.scrollBehavior.js
and deprecatescrollBehavior
- #5941 Add
<client-only
> alias for<no-ssr>
- #5844 Allow customizing loading indicator
- #6194 Add
$nuxt.refresh()
method or refresh the actual pageasyncData
andfetch
- #6231 Export router options
- #6222 Support functional
watchQuery
- #6194 Add
vue-renderer
- #5975 Add csp option for csp v1 compatibility
- #6134 Support prepend/append body tags during ssr for all allowed tag types
typescript
- #5858 Externalize typescript support
💅 Refactors
config
- #6203 Rename
devModules
tobuildModules
- #6203 Rename
babel-preset-app
- #6197 Remove
babel-plugin-dynamic-import-node
- #6197 Remove
webpack
- #6179 Simplify transpile normalization
general
- Refactor to adhere to @nuxt/eslint-config v1
🏡 Chore
general
- #6065 Fix typo
- #5990 Inverse wording of error message
- #5910 Update opencollective infos
- #5869 Rename backers -> nuxters
babel-preset-app
- #5897 Fix typo in babel-preset readme
⚓ Dependency Upgrades
- file-loader@4
- url-loader@2
- cache-loader@4
- css-loader@3
- vue-meta@2
- fs-extra@8
💖 Thanks to
- 719media (@719media)
- Anthony Fu (@antfu)
- Farzad Soltani (@farzadso)
- François Hodierne (@znarf)
- Josh Deltener (@hecktarzuli)
- Rafał Chłodnicki (@rchl)
- Ricardo Gobbo de Souza (@ricardogobbosouza)
- Ustun Ozgur (@ustun)
- William Chong (@williamchong007)
- bluelovers (@bluelovers)
- orblazer (@orblazer)
- yutanoma (@yutanoma)
- Dzmitry Bachko (@dbachko)
v2.8.1
Released on🐛 Bug Fixes
vue-renderer
- #5867 Fix exception on property access of undefined object
- #5863 Prevent "can't set headers after they are sent" error in modern server mode
vue-app
- #5864 Reduce consola direct access and don't override browser
console.log
- #5864 Reduce consola direct access and don't override browser
cli
- #5865 Don't mutate options export to prevent ESM regression with nuxt.config in mixed (cjs + esm) mode (TIP: never mix them as is non-standard and may be unsupported in any future version)
💅 Refactors
typescript
- #5854 Prepare for external typescript support
💖 Thanks to
- Rafał Chłodnicki (@rchl)
v2.8.0
Released on😎 Developer Experience
- #5770 Add a group for SSR logs to avoid polluting the browser console
- #5810 Fancier browser logs with consola
- #5820, #5832, #5834 Show build indicator in the browser when rebuilding code:
- #5753 Watch for
pages/
creation when default page displayed - #5812 Only listen for file changes for supported extensions
- #5753 Re-use the same port when randomly assigned when restarting in dev mode
🐛 Bug Fixes
vue-renderer
- #5807 Add
User-Agent
toVary
header in modern server mode - #5764 Safe format SSR logs
- #5807 Add
server
- #5793 Preserve random port when restarting
- Return listener when calling listen
builder
- #5753 Watch for
pages/
creation when default page displayed - #2812 Only listen for file changes for supported extensions
- #5753 Watch for
generator
- #5791 Minify spa fallback
types
- #5785 Add type definition for functional
babel.presets
- #5785 Add type definition for functional
vue-app
- #5757 Reuse page component with
watchQuery
- #5746 Remove trailing slash in vue-router non-strict mode
- #5752 Don't attach catch handler to already loaded component
- #5824
fixPrepatch
in-out transition fix (issue #5797)
- #5757 Reuse page component with
utils
- #5754 Handle
serializeFunction
edge case
- #5754 Handle
🚀 Features
vue-renderer
- #5745 Add
render.injectScripts
option - #5784 Support
render.ssrLog
for controlling SSR logs
- #5745 Add
💅 Refactors
core
- #5796 Use
require.resolve
instead ofModule
internals
- #5796 Use
builder
- #5792 Pass nuxt options to template as
nuxtOptions
- #5792 Pass nuxt options to template as
vue-app
- #5770 Add a group for SSR logs
- #5826 simplify mount error log
general
- #5748 Small readability improvements
📝 Examples
auth-jwt
- #5775 Use named store export to prevent warning
typescript
- #5742 Add missing ts-node dependency
🏡 Chore
ci
- #5802 Upload test report to CircleCI and Azure
- Add flags for codecov
- Enable audit
general
- Remove unused dependency cross-env
- Add FUNDING.md
- Improve links in readme
♻️ Tests
general
- #5790 Add unit tests for
core/resolver.js
- #5782 Remove duplicate unit tests in
packages/core/test/resolver
- #5790 Add unit tests for
⚓ Dependency upgrades
💖 Thanks to
- @aaronransley
- @alexandreDavid
- @Elevista
- @utatti
- @rchl
- @maunier
- @cuixiaorui
- @Globegitter
v2.7.1
Released onFixes
- builder: use warn only for mismatched dependencies (#5723)
- webpack: correctly resolve consola for the client bundle (#5729)
Dependency Upgrades
- postcss-import-resolver: prefer
style
property when resolving (jsless/postcss-import-resolver#2)
Thanks to
- Blake Kostner (@btkostner)