Vue Updates
114 subscribers
695 photos
842 links
Channel for automatic notifications about updates in the Vue ecosystem.

Watching: vue, nuxt, vuetify, vue-i18n-next, vue-router, pinia and vite

Contacts: @Black_Yuzia

Our channels:
@Vue_Courses
@Vue_Updates
@frontendmasters_courses
Download Telegram
Vite
v5.0.8

#vite

Please refer to CHANGELOG.md for details.
Vite
v5.0.9

#vite

Please refer to CHANGELOG.md for details.
Vite
v5.0.10

#vite

Please refer to CHANGELOG.md for details.
#admin

yay! I broke fix thing that I broke, so it work now again πŸ‘€
vite-plugin-vue
[email protected]

#vite #vite_plugin_vue

Please refer to CHANGELOG.md for details.
Vue 3
v3.4.0-beta.1

#vue #vue3

Please refer to CHANGELOG.md for details.
Vue 3
v3.4.0-beta.2

#vue #vue3

Please refer to CHANGELOG.md for details.
Vue 3
v3.3.12

#vue #vue3

Please refer to CHANGELOG.md for details.
Vue 3
v3.4.0-beta.3

#vue #vue3

Please refer to CHANGELOG.md for details.
Vue 3
v3.3.13

#vue #vue3

Please refer to CHANGELOG.md for details.
Vue 3
v3.4.0-beta.4

#vue #vue3

Please refer to CHANGELOG.md for details.
Vuetify
v3.4.7

#vuetify

πŸ”§ Bug Fixes

● framework: update peer dependency ranges (553f7d8), closes #18856
● Autocomplete: auto-select-first with disabled result (#18850) (fc3af53), closes #18839
● VAutocomplete: use v-model to modify search.value (#18577) (c64f19a), closes #18494
● VChip: use button element for closable button (#18571) (50e48d5), closes #18547
● VCombobox: remove item on backspace/delete (2c2b7de), closes #18833
● VCombobox/VAutocomplete: overlap selection when focused (#18817) (5fcdeb0), closes #18796
● VSelect: defined accessibility options (#18828) (27c3273), closes #18495
Vuetify
v3.4.8

#vuetify

πŸš€ Features

● calendar: add new composable (#18799) (bdbbc66)

πŸ”§ Bug Fixes

● locale: add missing CZ strings (#18902) (b047634)
● VDataTableServer: attr name for the previous ARIA label (#18866) (a6e9d16), closes #18864
● VOtpInput: exclude loader slot in VField slots (#18881) (1614bef), closes #18809
● VOverlay: memory leak involving bound listeners (#18899) (3176463), closes #18880

Other Commmits

● chore(release): publish v3.4.8 (0ac6f09)
● docs(VSwitch): add update:indeterminate api description (#18904) (260a36f)
● chore(package.json): update @vuetify/one package (40d245a)
● docs(VGrid): max-rows description (#18889) (f02570d)
● docs(npmrc): @vuetify/one is now public (5decc32)
● chore(package): update @vuetify/one package (d0765f1)
● docs: refactor auth / user store implementation (a1adfbe)
● chore(ci): add NPM_TOKEN to env (b69e8e0)
● docs(@vuetify/one): implement package (01cf534)
● docs(VBtn): add description for slim prop (#18865) (8991a37)
Vue Updates
Vuetify v3.4.8 #vuetify πŸš€ Features ● calendar: add new composable (#18799) (bdbbc66) πŸ”§ Bug Fixes ● locale: add missing CZ strings (#18902) (b047634) ● VDataTableServer: attr name for the previous ARIA label (#18866) (a6e9d16), closes #18864 ● VOtpInput:…
● docs(VList): add description for slim prop (#18867) (3ee07e2)
● docs(ThemeCard): update styling (41cfb68)
● docs(labs): update introduction (315490a)
● docs(spot): add new store (8f46962)
● docs: remove controller emojis (2676da5)
● docs(Toc): implement user.disableAds (02abae6)
● docs: skip waiting if previous worker does not respond to messages (bdbc302)
● docs(Entry): add toggle ads (82b3c15)
● docs(Search): add search history (71e4bd2)
Vue 3
v3.4.0-rc.1

#vue #vue3

Please refer to CHANGELOG.md for details.
vite-plugin-vue
[email protected]

#vite #vite_plugin_vue

Please refer to CHANGELOG.md for details.
vite-plugin-vue
[email protected]

#vite #vite_plugin_vue

Please refer to CHANGELOG.md for details.
NuxtJS
v3.9.0

#nuxt3.9.0 is the next minor release.

πŸ‘€ Highlights

A very merry Christmas to you and yours from all Nuxters involved in this release! πŸŽπŸŽ„

We have lots of features packed into v3.9.0 and can't wait for you to try them out.

⚑️ Vite 5

This release comes with Vite 5 and Rollup 4 support. Module authors may need to check to ensure that any vite plugins you're creating are compatible with these latest releases.

This comes with a whole host of great improvements and bug fixes - check out the Vite changelog for more info.

✨ Vue 3.4 ready

This release is tested with the latest Vue 3.4 release candidate, and has the necessary configuration to take advantage of new features in Vue 3.4, including debugging hydration errors in production (just set debug: true) in your Nuxt config.

πŸ‘‰ To take advantage, just update your vue version once v3.4 is released, or try out the release candidate today:
{
"dependencies": {
"nuxt": "3.9.0",
"vue": "3.4.0-rc.1",
"vue-router": "latest"
}
}
Vue Updates
NuxtJS v3.9.0 #nuxt3.9.0 is the next minor release. πŸ‘€ Highlights A very merry Christmas to you and yours from all Nuxters involved in this release! πŸŽπŸŽ„ We have lots of features packed into v3.9.0 and can't wait for you to try them out. ⚑️ Vite 5 This…
🏝️ Interactive Server Components

This is a highly-experimental update, but it's now possible to play around with interactive components within Nuxt server components. You'll need to enable this new feature additionally to component islands:
export default defineNuxtConfig({
experimental: {
componentIslands: {
selectiveClient: true
}
}
})

Now, within a server component, you can specify components to hydrate by using the nuxt-client directive:
">
<NuxtLink :to="/" nuxt-client />

We're pretty excited about this one - so do let us know how you're using it! πŸ™

πŸ”₯ Automatic Server Optimisations

We now use Vite's new AST-aware 'define' to perform more accurate replacements on server-side code, meaning code like this will no longer throw an error:
if (document) { console.log(document.querySelector('div')) } ">
<script setup lang="ts">
if (document) {
console.log(document.querySelector('div'))
}
script>

This hasn't been possible until now because we haven't wanted to run the risk of accidentally replacing normal words like document within non-JS parts of your apps. But Vite's new define functionality is powered by esbuild and is syntax-aware, so we feel confident in enabling this functionality. Nevertheless, you can opt out if you need to:
export default defineNuxtConfig({
hooks: {
'vite:extendConfig' (config) {
delete config.define!.document
}
}
})


🚦 Granular Loading API

We now have a new hook-based system for , including a useLoadingIndicator composable that lets you control/stop/start the loading state. You can also hook into page:loading:start and page:loading:end if you prefer.

You can read more in the docs and in the original PR (#24010).

🏁 Run single events in callOnce

Sometimes you only want to run code once, no matter how many times you load a page - and you don't want to run it again on the client if it ran on the server.

For this, we have a new utility: callOnce (#24787).
<script setup>
const websiteConfig = useState('config')

await callOnce(async () => {
console.log('This will only be logged once')
websiteConfig.value = await $fetch('https://my-cms.com/api/website-config')
})
script>

Note that this utility is context-aware so it must be called in component setup function or Nuxt plugin, as with other Nuxt composables.

Read more in the docs.

🚨 Error Types

For a while now, errors returned by useAsyncData and useFetch have been typed pretty generically as Error. We've significantly improved the type possibilities for them to make them more accurate in terms of what you'll actually receive. (We normalise errors with the h3 createError utility under the hood, so they can be serialised from server to client, for example.)

We've tried to implement the type change in a backwards compatible way, but you might notice that you need to update the generic if you're manually configuring the generics for these composables. See (#24396) for more information, and do let us know if you experience any issues.

πŸ”₯ Schema Performance

We've taken some time in this release to make some minor performance improvements, so you should notice some things are a bit faster. This is an ongoing project and we have ideas for improving initial load time of the Nuxt dev server.

βœ… Upgrading

As usual, our recommendation for upgrading is to run:
nuxi upgrade --force

This will refresh your lockfile as well, and ensures that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.

πŸ‘‰ Changelog

compare changes

πŸš€ Enhancements

● nuxt: Warn when page uses a layout without (#24116)
● kit: Support prepend option for addComponentsDir (#24309)
● kit: Allow customising logger options (#24243)
● nuxt: Allow readonly option for useCookie (#24503)
● nuxt: Add path to error.data when throwing 404 errors (#24674)
● kit: Load /module or /nuxt module subpath if it exists (#24707)
● nuxt: Layers support for spa loading template (#24709)
● nuxt: Expose refresh on islands and server components (#24261)
● nuxt: Add dedupe option for data fetching composables (#24564)