Release Notes

v2.15.4

Released on

🐛 Bug Fixes

  • vue-app
    • #8978 Reload page once after loading chunk error (resolves #3389)
    • #9008 Fallback to global nuxt instance of $root is not available (resolves #8995)
    • #9010 Use app.context.route to match components in server (resolves #9009)
    • #9024 Serialize redirect functions in routes (resolves #8979)
    • #9026 Re-call $fetch if data is missing in payload (resolves #9016)
    • #9050 Use app.context.route for resolving components (resolves #9049)
    • #9075 Move internal app runtime config to _app namespace (resolves #9074)
  • config
    • #9014 Set compileType to icss for css-loader v4
  • server
    • #9034 Avoid caching .js assets in development to fix HMR in safari (resolves #3828)
  • cli

👕 Types

  • #9078 Inline @types/terser-webpack-plugin
  • #9086 Use options from sass-loader rather than sass (resolves #9085)
  • #9053 Css-loader v4 type definitions
  • #9018 Don't require all csp policies as keys (resolves #9017)
  • #9059 Add stub entrypoint to allow node resolution of @nuxt/types (resolves #9030)

💖 Thanks to

  • ChangJoo Park (박창주) (@ChangJoo-Park)
  • Evan Ma (@EvanMaFYH)
  • Thomas Beduneau (@enwin)
  • @rinu
  • @zzzmisa

v2.15.3

Released on

🐛 Bug Fixes

  • types
    • #8953 Export interface for NuxtConfig instead of type
  • webpack
    • #8951 Update hmr option for extract-css-chunks-webpack-plugin
  • general
    • #8936 Allow force overriding resolve paths
    • #8935 Allow relative public paths
    • #8887 Update @babel/preset-env to 2.13.x
  • vue-renderer
    • #8912 Respect injectScripts for static target

💖 Thanks to

  • Hannes Küttner (@hanneskuettner)

v2.15.2

Released on

🐛 Bug Fixes

  • babel-preset-app
    • #8882 Pin @babel/preset-env to ~7.12
    • #8883 Avoid relying on preset-env internal utils

💖 Thanks to

  • Huáng Jùnliàng (@JLHwung)

v2.15.1

Released on

🐛 Bug Fixes

  • renderer
    • Deep merge runtime config for server (resolves #8820)
  • webpack
    • #8846 Transpile ufo (resolves #8838)
  • cli
    • #8841 Don't early return when a dependency isn't installed
  • types
    • #8835 build.html.minify can be false
  • builder
    • #8832 Use path.resolve for pages dir

💖 Thanks to

  • Harlan Wilton (@loonpwn)
  • Kenny (@kn3ny)

v2.15.0

Released on

💡 Highlights

⚠️This release introduces behavior changes. Update with caution ⚠️

  • Minimum supported Node.js version is 12.0.0 (See https://github.com/nuxt/nuxt.js/issues/8327 for why)

  • Using jiti as new require engine with typescript support

  • Plug and play works out of the box

  • Allow opting-in to use postcss@8 (See https://github.com/nuxt/nuxt.js/issues/8546)

    NOTE: postcss-preset-env is disabled in v8 config as it doesn't support postcss v8 for now, so please install all below dependencies explicitly.

    yarn add --dev css-loader@^5.0.0 postcss@^8.1.10 postcss-import@^13.0.0 postcss-loader@^4.1.0 postcss-url@^10.1.1
    # or
    npm i --save-dev css-loader@^5.0.0 postcss@^8.1.10 postcss-import@^13.0.0 postcss-loader@^4.1.0 postcss-url@^10.1.1
    
  • Several encoding issues resolved by consistently using ufo

  • Components updated to v2 (please read migration guide)

  • [Modules] When matching a webpack loader by name or query, should use includes instead of exact match (example)

🐛 Bug Fixes

  • general
    • #8794 Ignore trailing slash in static payloads manifest
    • #8738 Encoding issues with payload paths
    • #8423 trailingSlash and child routes not working
  • config
    • #8778 Prevent invalid css filenames in webpack output
  • utils
    • #8780 serializeFunction fails with certain functions
  • vue-app
    • #8759 Enable dynamic publicPath on server-side
    • #8701 Static payload fetching bugfixes
    • #8612 Check for Page.options before looking within
    • #8611 Don't remove req, res and query from context unless in full static mode
    • #8608 Ensure link.__prefetch exists before calling it
    • #8596 Add missing id attribute to noopApp
    • #8557 Scroll-to-top on route changes only
    • #8523 Set push on router instance rather than prototype
    • #8486 Do not preserve state when registering client-side dynamic module
    • #8802 Add leading slash for payload hydration
  • server, vue-app
    • #8748 Address encoding issues with query params
  • dev
    • #8697 Clearnup vue installed plugins from server in dev mode
    • #8556 Resolve module required by create-require in jiti
  • cli
    • #8683 Disable parallel build behaviour when generating
  • webpack
    • #8555 Can't resolve absolute url in css
  • server
    • #8593 Fix HMR issue with serverMiddleware when router.base is set
  • babel
    • #8545 Enable polyfilling of proposal core-js features
  • vue-app, vue-renderer, utils
    • #8489 Respect trailingSlash setting for payloads
  • generator
    • #8474 Ensure static manifest dir exists
    • #8803 Normalize trailing slashes before extendRoutes

🚀 Features

  • cli
    • #8792 Warn if incompatible node and package versions detected
  • postcss
    • #8546 Support postcss v8 with explict postcss installation
  • config, vue-app, vue-renderer
    • #8520 Support dynamic base and publicPath
  • general
    • #8389 Support plug-and-play, typescript runtime and native modules
    • #8346 Update all dependencies that require node 10.x
  • vue-app
    • #8466 Support custom fetchKey for full static generation
  • vue-renderer
    • #8347 Allow adding async attribute to <script> tags

💅 Refactors

  • utils, vue-app
    • #8765 Use ufo to parse queries and join urls
  • vue-app
    • #8621 Simplify scrollToTop checking
  • general
    • Consistent behavior for resolveModule

🏡 Chore

  • general
    • #8440 Fix router base handling with dev-middleware (closes )
    • #8408 Pin css-loader to 4.x
    • #8808 Simplify contributors
  • cli
    • #8674 Fix typo
  • types
    • #8630 Lint types
  • builder
    • Remove validateTemplate check (ed6e8cd307ea21d9f314a88b6d7603b8e40769ea)
  • readme
    • #8436 Fix invalid links

🇹 Types

  • #8784 Add missing ssr option to config types
  • #8767 vue.config types should be optional
  • #8530 Add missing redirect overload to Context interface
  • #8638 Add enablePreview to context
  • #8648 Add missing loadingScreen type definition

💖 Thanks to

  • Alexander Lichter (@manniL)
  • Ahad Birang (@farnabaz)
  • Beorn Facchini (@beornf)
  • Flo Edelmann (@FloEdelmann)
  • @gekkedev
  • @GeopJr
  • @LKHO
  • Maarten Van Hoof (@vanhoofmaarten)
  • Paulo Amosse Cuambe (@paulocuambe)
  • Rafał Chłodnicki (@rchl)

And all nuxters helping everyday with valuable feedbacks 💚

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
  • general
    • #8325 Handle route encodings and update vue-router
  • 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 in ensureBuild
  • 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 to NuxtApp interface
    • #8319 NuxtOptionsHead can be a function
    • #8302 Add missing ssrContext and next typings to Context (resolves #8296)
  • server
    • #8313 Redirect if router.base specified in development

💅 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 in nuxt.config
    • #8194 Avoid error about nuxt-edge if installed in parent node_modules
    • #8134 Mode deprecation with explicit spa or universal flag
  • vue-app
    • #8170 Use getter to provide this.$nuxt
    • #8055 ScrollRestoration hasn't set
  • types
    • #8182 Add type for serverMiddleware object format
    • #8169 Make NuxtConfig an interface
  • generator
    • #8166 Handle when no routes.json defined
  • 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
  • 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)
  • 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

💅 Refactors

  • config
    • #8044 Deprecate mode option

🇹 Types

  • general
    • #7985 Expose Inject type

💖 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)
  • cjs
    • #7938 Fix HMR issue with mongoose (resolves #7917)
    • #7966 Protect clearRequireCache against infinite recursion
  • cli
    • #7948 Handle nuxt generate with --fail-on-error for static target (resolves #7947)
  • 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

💖 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

💖 Thanks to

  • Daniel Roe (@danielroe)

v2.14.2

Released on

🐛 Bug Fixes

  • webpack
    • #7906 Avoid using node_modules for chunk names (resolves #7901)
  • modern
    • #7919 Missing nomodule on legacy modules (resolves #7918)
  • vue-app
    • #7877 Use anchor to / if route is undefined in error page (resolves #7841)
    • #7920 Fix vue-router@2.14 regression with scrollToTop
    • #7916 Prevent router.registerModule reallocation (resolves #7915)
  • 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
  • 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 to 1.6 using purgecss

🏡 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

🚀 Features

  • webpack
    • #7785 Auto detect core-js version
  • builder
    • #7754 Support async extendRoutes
  • general
    • #7712 Static target improvements
  • vue-renderer
    • #7633 Add vue-renderer:spa:prepareContext hook
  • vue-app
    • #7611 Add web-types.json for better code insight in WebStorm

🐛 Bug Fixes

  • webpack
    • #7787 ensure loaders are first searched from @nuxt/webpack
    • #7763 font-family hex issue
    • #7667 Fallback for empty chunk name
  • 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
  • generator
    • #7776 Avoid duplicate slashes for routes ending with hash
  • cli
    • #7775 Don't use absolute path of .cache/nuxt as transpilation pattern
  • utils
    • #7761 Include routes with children for generation
  • vue-renderer
    • #7752 Read target from class instead of serverContext
  • router
    • #6594 Show default child if trailingSlash is false

🖤 Refactors

  • server
    • 5272a4 Rename externalsWhitelist to externalsAllowlist

📝 Examples

  • vuetify
    • #7767 Use@nuxtjs/vuetify module

👕 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 of Vue
    • #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)
  • 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 of v-content

👕 Types

  • general
    • #7626 Import types for @nuxt/telemetry and @nuxt/components

💖 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 to webpackDevMiddleware (resolves nuxt/typescript#145)
    • #7603 Chunk name normalization for catch-all pages and windows
  • 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

💖 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)

👕 Types

  • #7590 Fix module and typescript compatibility (nuxt-community/sentry-module#195)
  • #7590 Add missing crawler config (#7585)

v2.13.0

Released on

What's new?

  • New target: static and full static using nuxt export
  • Built-in .env support and runtimeConfig
  • 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)
  • cli
    • Improve banner DX (#7532, #7537)
  • generator
    • #7455 Allow excluding exported pages using export:page hook
    • #7422 export:route hook and setPayload
  • webpack
    • #7443 Allow babel plugins to be defined by function
    • #7178 Add mjs to babel-loader
  • config
    • #7430 Support .nuxtrc
    • #7420 Improved runtimeConfig
    • #7263 Add configOverrides for loadNuxt and loadNuxtConfig
  • 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
  • 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 to vue-renderer:ssr:templateParams hook
  • babel-preset-app
    • #7144 Add bugfixes option
  • builder
    • #7132 Ignore option to function the same as .nuxtignore

🐛 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 to render.crossorigin

📝 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
  • pkg
    • #7373 Update rollup and dependencies
  • dep
    • #7119 Upgrade html-webpack-plugin to v4
  • test
    • #7321 Upgrade vue-test-utils to v1
  • benchmark
    • #7205 Fix package.json scripts
  • example
    • #7211 Update vue-chartjs

👓 Tests

  • general
    • #7319 Update jest to v26
    • #7252 Add test for inject in context

💙 Types

  • general

    • #7432 Move @nuxt/types to nuxt mono-repo

💖 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
  • vue-app
    • #7139 Sanitize layouts after resolve for splitChunks.layout
  • 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
  • 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

💖 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 and preload tags
    • #6868 Improve programmatic usage (see docs)
    • #7029 Expose webpack config
    • #6272 Allow disabling loading-screen
  • webpack
    • #6987 Support @import using ~assets in css files
    • #6272 Allow disabling loading-screen
  • 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

👌 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

🐛 Bug Fixes

  • core
    • #7002 Deprecated render:context and render:routeContext hooks was not being called
  • 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 and URLSearchParams

💅 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
  • 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
  • general
    • #6685 context.route issue in plugins and splitChunks.pages === false
    • #6590 Collapsed SSR log
  • webpack
    • #6495 Enable devtool for dev mode
    • #6566 Normalize devtool for terser compatibility
  • config
    • #6583 Typo in unsafeInlineCompatibility name

🚀 Features

  • vue-app
    • #6722 Upgrade vue-router to 3.1.x
  • general
    • #6149 Optionally strip non-client or non-server code
  • vue-renderer
    • #6505 Support evaluation in templates
  • config
    • #6597 Add ignoreOptions for node-ignore

💅 Refactors

  • server
    • #6771 Only append not empty allowed sources to csp

🔥 Performance

  • webpack
    • #6632 Prefer using contenthash

📝 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
  • 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 of request
    • #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
  • 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 is false
  • generator
    • #6362 Remove trailing slash when no subFolders are used
  • webpack
    • #6520 chunkhash and contenthash not work with extractCSS
  • cli
    • #6525 Enable server for nuxt build when pages should be generated

🏡 Chore

  • readme
    • #6511 Remove deprecated starter template

⚓ Dependency Upgrades

  • vue-meta: Upgraded to v2.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 support data() with arrow function
    • #6433 Fix asyncData hydration when features.transition is false
    • #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
  • 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
  • config
    • #6371 Enable total timing by default when server.timing is enabled
  • config, vue-app
    • #6379 Add module declaration for config and vue-app

🚀 Features

  • cli, config
    • #6399 cli.bannerColor option
  • config
    • #6414 serverMiddleware as a simple key/value object
  • builder
    • #6368 followSymlinks option to allow for symlinks
    • #6285 extendPlugins option and builder:extendPlugins hook
    • #6329 Add builder:prepared hook
    • #6342 Support adding custom middleware
  • cli
    • #6475 Catch build errors with cli:buildError hook
  • webpack
    • #6477 Use vue-meta browser build for client bundle
    • #6398 Upgrade terser-webpack-plugin to v2
    • #6350 Add webpack:config hook
  • server
    • #6438 Add config option to define etag hash function
  • vue-app
    • #6292 Add prefetch prop to <nuxt-link>
    • #6287 Support configurable features
    • #6297 Function watchQuery
  • general
    • #6432 Support setting (non-essential) vue-meta options by user
  • 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
  • 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

💖 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 as https: undefined
  • nuxt-start
    • #6267 Add missing vue-client-only dependency
  • 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

Platinum Sponsors

StoryblokMoovwebShip Shape Support Us