Skip to content

v2.16.0

Compare
Choose a tag to compare
@danielroe danielroe released this 03 Feb 12:53
· 5713 commits to main since this release
6dc6cef

Nuxt 2.16.0 is the first minor release since Feb 15, 2021. The focus is mostly on releasing the latest fixes and enhancements that have been present in nuxt-edge for some time.

✨ Highlights

⚠️ Breaking changes

  • In this PR we only support Node 14+. This is mostly an issue for dependencies, which we need to keep updated for security reasons. Going forward until its own EOL, Nuxt 2 will only officially support Node versions that have not reached their EOL.

  • New postcss options format. See #9671 for full details.

  • Dependency upgrades. A number of dependencies have dropped support for earlier node versions. dotenv has changed how it parses .env files in a number of edge cases. glob now requires / instead of \ on windows machines. There may also be other changes that affect your usage, so please do upgrade with care.

  • Vue 2.7 upgrade. Although you can use Vue 2.7 with any release of Nuxt 2, 2.16.0 for the first time includes it as a dependency, which means that you may well encounter some issues associated with upgrading Vue 2.6 -> Vue 2.7.

    This may be a good time to consider using the composition API utilities provided by https://github.com/nuxt/bridge instead, which mirror Nuxt 3's more precisely than @nuxtjs/composition-api. (You can opt-in to just these utilities by disabling the other bridge modules individually.)

Changelog

compare changes

🚀 Enhancements

  • config: Support nuxtrc in dist directory (#9280)
  • generator: Add ignoreEnv generate option during ensureBuild(cmd) (#8955)
  • server: Allow disabling serve-static middleware (#9365)
  • types: Add asyncData return types to component instance type (#9239)
  • vue-app: context.beforeSerialize method (#9332)
  • vue-app: Pass store to createRouter (#9629)
  • Default to core-js version 3 (#9987)
  • webpack: ⚠️ Update postcss to v8 (#9671)

🩹 Fixes

  • vue-app: Respect scroll-margin-top when navigating with hash (#9187)
  • webpack: Use javascript/auto for js rule (#9180)
  • server: Unregister error event listener (#9245)
  • babel-preset-app: Respect explicit options.targets for modern preset (#9337)
  • types: Add nuxt.config alias type (#9424)
  • vue-app: Check whether route exists within nuxt app before replacing (#9431)
  • vue-renderer: Decode route path for payload.js (#9494)
  • vue-app: Don't normalise route path if it's valid (#9460)
  • vue-app: Redirect to external url replaces current history entry (#9500)
  • utils: trailingSlash causes error with dynamic nuxt-child routes (#9505)
  • types: Add onNuxtLoaded and onNuxtReady types (#9510)
  • vue-app: Re-register components construtor in HMR (#9539)
  • types: Add typing for build.stats options (#9555)
  • babel: Loose option for babel private-property-in-object (#9631)
  • vue-app: Serialize route meta to allow functions (#9634)
  • vue-app: null check for $root access (#9150)
  • generator: Allow passing builder to getGenerator (#9574)
  • generator: Throw an error when Builder is missing (#9663)
  • vue-app: Use correct $config for finding basePath (#9706)
  • vue-renderer: Ensure custom build indicator preserves some whitespace (#9705)
  • 'npm run test' fails because the last command lacks 'yarn' (#9761)
  • generator: Decode path with ufo (#9739)
  • cli: Ensure nuxt instance is closed when skipping build (3e9d7e3)
  • Nuxt-child-key in web-types.json (#9792)
  • types: Return type of $fetch (#9854)
  • deps: Update ua-parser-js to 1.x (#9979)
  • deps: Update ya-parser-js to latest 0.7.x (#9979)
  • vue-app: Call ssrContext.unsetMutationObserver only if it exists (#10132)
  • webpack: Allow files with .cjs extension to be transpiled (#10340)
  • vue-app: Preview mode fetch (#10489)
  • webpack: Resolve .wasm extension with lower priority (#10676)
  • vue-app: Clear hide timeout when calling clear() (#10086)

📦 Build

  • Use 7 digit edge hashes (0501a42)
  • Upgrade to rollup v3 (#18686)

🌊 Types

  • Add prefetchPayloads to router options (#9715)

🏡 Chore

  • release: V2.15.6 (a53fd32)
  • pkg: Build for es2019 target (#9328)
  • types: Add types for new false option for render.static (#9372)
  • Update error tests (d4e5998)
  • test: Revert jest and babel-jest to 26 (#9377)
  • Ignore audit 1754,1755 (39f7859)
  • Fix vetur extension syntax for GitPod (#9572)
  • Ignore globby > 12 upgrade as needs native esm (e0968a3)
  • Update rollup plugins (5614399)
  • Fix code formatting (17bbb21)
  • utils: Improve stripWhitespace utility (#9668)
  • Update license year to present (#9682)
  • Add separate file with security disclosure info (#9738)
  • Update logo (#9796)
  • doc: Fix link to contribution guide (#9815)
  • test: Fix external redirect link (#9816)
  • Update funding.yml (1f85137)
  • Update lockfile (7614360)
  • Update audit list (6f73c36)
  • Update lockfile and audit (1878b26)
  • Update issue template with nuxt 3 (#9948)
  • Enable blank issues (54542c1)
  • radme: Fix browserstack and saucelabs icons (#10068)
  • Update dependencies (#10510)
  • Update repo (773d292)
  • Ignore vue and vuex major updates (bafc814)
  • Update README.md (#10831)
  • Update pull request template (0db7e7b)
  • Update issue templates (f36fb9c)
  • Rename 2.x bug template (ba966cf)
  • Move nuxt 2 report to bottom (ce7b1a9)
  • Bump ua-parser-js version (1cedad5)
  • Bump test/dev dependencies (#18672)
  • Upgrade unjs dependencies (#18670)
  • Use named export from defu (#18679)

✅ Tests

🤖 CI

⚠️ Breaking Changes

  • webpack: ⚠️ Update postcss to v8 (#9671)

❤️ Contributors