Releases: nuxt/bridge
v3.0.0-rc.1
v3.0.0-rc.1
Bridge is a forward-compatibility layer that allows you to experience many of the new Nuxt 3 features by simply installing and enabling a Nuxt module.
Using Nuxt Bridge, you can make sure your project is (almost) ready for Nuxt 3 and have the best developer experience without needing a major rewrite or risk breaking changes.
⚠️ Note: Nuxt Bridge provides identical features to Nuxt 3 (Nuxt 3 docs) but there are some limitations.
🏛️ Background
Since we first introduced Nuxt Bridge, it's been a long process, with considerable instability as we've backported features from Nuxt 3 and released each commit via the edge channel.
At this point, we're excited to announce the release of Nuxt Bridge v3.0.0-rc.1, which marks a significant milestone in the development of Nuxt 3. With this release, we've ironed out many of the remaining issues and have made significant progress in bringing Nuxt 3 features to Nuxt Bridge. Some of the notable improvements in this release include better TypeScript support, improved performance (particularly with Nitro and Vite integrations), and enhanced stability.
🚧 Roadmap
Moving to RC status is the first step in adopting a more stable release schedule, meaning regular releases with a stable upgrade path.
We plan to continue working on Nuxt Bridge to ensure basic feature parity with Nuxt 3 as part of our plan to help users migrate from Nuxt 2 to Nuxt 3, as well as working on documentation and tooling to help users migrate from Bridge to Nuxt 3.
🚨 Nuxt 2 EOL
Finally, in view of the delay in Bridge release, we will be extending the Nuxt 2 EOL date to June 30, 2024.
❤️ Thank you
This first release candidate is thanks to the hard work of many users, both in raising issues and putting the time in to triage and submit pull requests.
👉 Changelog
🚀 Enhancements
- Nuxt bridge (#459)
- bridge: Enable composition-api (#551)
- bridge: Add useNuxtApp and defineNuxtPlugin composables (#576)
- bridge: Add support for legacy composition api helpers (#584)
- bridge: Better resolution within wp4 (with fallback) (#608)
- bridge, nuxt3: Expose equivalent useRoute and useRouter com… (#615)
- Use native esm for all packages (#539)
- bridge: Enable automatic global imports for nuxt2 (#609)
- kit, bridge: Version constraint utils and checks (#442)
- nuxt3, bridge: UseRuntimeConfig (#625)
- Export defineNuxtConfig from nuxt3 and @nuxt/bridge (#669)
- bridge: Use useMeta in bridge projects (#664)
- bridge: Add support for <script setup> (#678)
- nitro: Automatically type middleware/api routes (#708)
- useState composable (#719)
- nuxt3: useFetch (#721)
- bridge: Init function for useState (#773)
- auto-imports: Allow extending with config and hooks (#1167)
⚠️ Add engines.node field and node.js version check (#1197)- nitro: Update dependencies for node-fetch 3.x support (#1373)
- Define nitro #storage and #assets types (#1377)
- bridge: Allow accessing injections from useNuxtApp (#1623)
- bridge: Add useNuxt2Meta() composable (#1789)
- bridge, nuxt3: Mock vue-demi (#1849)
- nuxt3, bridge: Add lazy helpers (useLazyAsyncData and useLazyFetch) (#1861)
- nuxt3, bridge: useCookie universal composable (#2085)
- bridge: Generate components declarations (#2174)
- bridge: Allow user-defined scriptSetup options (#2185)
- deps: Update all non-major dependencies (#2252)
- nuxt: Add wrapped useRoute and useRouter composables (#2406)
- nuxt3, bridge: useReqHeaders composable (#2173)
- kit, schema:
⚠️ Finalize nuxt 3 module spec and utils (#2275) - nuxt3, bridge: Add vue:setup hook (#2408)
- bridge: Upgrade unplugin-vue2-script-setup (#2687)
- Improve base url options (#2655)
- kit:
⚠️ Expose resolvePath (#3110) - nuxt3,bridge: Add automatic schema augmentation declaration (#3096)
- bridge: Add support for useNuxt2Meta in plugins (#3187)
- bridge: Support addRouteMiddleware, navigateTo and abortNavigation (#3193)
- Shared logger and silent test logs (#3259)
- nuxt3: Expose /app export paths (#3323)
- nuxt3: Add universal routing utilities (#3274)
- bridge: Auto-inject based on provide key from plugins (#3536)
- nuxt3: Auto generate runtime config type declarations (#3573)
- nitro, nuxt3: Allow handling otherwise unhandled runtime errors (#3464)
- router: Add proper server side redirection to navigateTo (#3684)
- nuxt3: useFetch with dynamic reactive request (#3731)
- refreshNuxtData function and app:data:refresh hook (#3929)
- vite: Upgrade to vite 2.9.0 (#3974)
⚠️ Migrate to nitropack (#3956)⚠️ Use vue 2.7 to provide composition api (#378)⚠️ Upgrade to vue-bundle-renderer 0.4 (#476)⚠️ Use native vue-router composables (#533)- Use new nitropack render response (#548)
⚠️ Migrate to vite 3 (#480)⚠️ Upgrade to new major nitropack/h3 (#589)- Add ssr routeRule (#593)
- Add error composables from nuxt 3 (#588)
⚠️ Upgrade to stable nuxt and server dependencies (#648)- Backport navigateTo updates from v3 (#666)
- Upgrade core nuxt dependencies to v3.3.2 (#719)
- deps: Update dependency vite to v4 (#724)
- Update error handler to latest upstream version (#761)
- Allow setting a global errorHandler (#783)
- Port upstream vite-node dev server implementation (#779)
- Replace @vueuse/head with @unhead/vue (#804)
- Generate middleware types (#796)
- Add addRouteMiddleware test (#827)
- Generate tsconfig.json when not using nuxt/cli (#889)
🔥 Performance
- bridge: Allow skipping legacy composition api support (#2388)
- ssr: Disable vite's pre-trasnfroming to improve perf (#2574)
🩹 Fixes
- bridge: Set webpack as implicit external (62a11d0)
- bridge: Generate dist/runtime (901896d)
- bridge: Handle ssr: false (#489)
- bridge: Add implicit dependencies (f38267b)
- bridge: Downgrade estree-walker dependency (#600)
- bridge: Add additional vue composition-api resolutions (#614)
- bridge: Import nuxt3 src from relative path (806169d)
- Add main entrypoints for packages (#629)
- bridge: Resolve browser condition above main for client (#641)
- bridge: Emit types for module (#660)
- bridge: Do...