Skip to content
@pi0 pi0
Compare
Choose a tag to compare

🐛 Bug Fixes

  • vue-app
    • #9460 Don't normalise route path if it's valid
  • babel
    • #9631 Loose option for babel private-property-in-object
@pi0 pi0
Compare
Choose a tag to compare

🔰 Security advisory

Please upgrade to nuxt@^2.15.7 if using nuxt@2.15.5 or nuxt@2.15.6

🐛 Bug Fixes

  • vue-app
    • #9431 Check whether a route exists within the nuxt app before replacing
@pi0 pi0
Compare
Choose a tag to compare

🐛 Bug Fixes

  • types
    • #9270 Pin to @types/webpack-dev-middleware@4.1.2 (resolves #9268)
@pi0 pi0
Compare
Choose a tag to compare

🐛 Bug Fixes

  • babel
    • #9232 Loose option for babel class-properties and private-methods (resolves #9224)
  • vue-app
    • #9201 Use route.replace instead of router.push to trigger navigation guards (resolves #9111)
  • builder
    • #9153 Resolve aliases in build.watch paths (resolves #9045)
  • cli
    • #9152 Add warning for css-loader < 4.2 (resolves #9117)

💖 Thanks to

@pi0 pi0
Compare
Choose a tag to compare

🐛 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

@pi0 pi0
Compare
Choose a tag to compare

🐛 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

@pi0 pi0
Compare
Choose a tag to compare

🐛 Bug Fixes

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

💖 Thanks to

@pi0 pi0
Compare
Choose a tag to compare

🐛 Bug Fixes

  • renderer
    • Deep merge runtime config for server (resolves #8820)
  • webpack
  • 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)
@pi0 pi0
Compare
Choose a tag to compare

💡 Highlights

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

  • Minimum supported Node.js version is 12.0.0 (See #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 #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
  • types
  • builder
    • Remove validateTemplate check (ed6e8cd)
  • 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

And all nuxters helping everyday with valuable feedbacks 💚

@pi0 pi0
Compare
Choose a tag to compare

🐛 Hot Fixes

How to upgrade?

Use yarn upgrade nuxt or npm up nuxt