packages/docs/src/pages/en/blog/june-2026-update.md
June was a stabilization month. v4.1.0 shipped on June 2, with two patch releases after that. Most of the work went into the new overlay location strategy, fixing the placement bugs that only turned up once people were using VDialog in fullscreen mode. June was also when a security incident cost us our Discord server. No package, release, or user data was touched, but the community lost its home for a couple of weeks, and getting it back was a big part of the month. One small thing did come out of the drama — pkg-diff, a fast in-browser tool for diffing NPM packages (more on that below).
{ height=112 }
🖊️ Jacek Czarniecki • 📅 July 8th, 2026
<PromotedEntry />Where May was a feature sprint, June was about making that work solid. 52 commits, two dozen fixes, and four releases, with the stable v4.1.0 at the center. The new viewport/static location strategy that shipped with the minor turned out to be the month's main character — real-world usage surfaced a string of placement edge cases (iOS keyboards, calc() sizes, percentage boundaries, closing animations), and the two follow-up patches worked through them one by one. Meanwhile Vuetify0 settled into the beta announced June 2, with its public API frozen and the road to v1 opening up.
We shipped four framework releases. v4.0.9 (June 2) was a small patch on the stable v4.0 line — an SSR fix for VProgressLinear, a VNumberInput control-state fix, and a focus-trap scroll fix. The same day, v4.1.0 went stable, finalizing the VSwitch MD3 work and folding in the late-May fixes. From there the month was patches: v4.1.1 (June 8) and v4.1.2 (June 16), each a round of fixes led by the overlay location strategy.
size prop, and a square nobody asked for, 😂 LOL, quite a mixinterval-highlight for subtle row tint on mouse hover (#22885)hover prop to opt-out of the hover effect (#22827)calc()/min()/vw support for sizingVHeatmap and VHighlight now render correctly for people relying on forced high-contrast overrideView the complete list of changes in the Full Changelog.
Details:
May opened v4.1.0 in beta; on June 2 it went stable. The release brought us four new components (VHeatmap, VHighlight, VMonthPicker, VDateRangePicker), already covered in the previous blog post and a broad wave of feature props across data tables, pickers, and overlays.
Details:
This month was deliberately feature-light — the team waited for feedback from users adopting latest version for new features and improvements.
The overlay location strategy introduced in v4.1 was the month's dominant fix theme. It's a powerful feature, and putting it in front of real layouts surfaced the placement edge cases you'd expect — most of them now closed.
| Component | Fix | Version | PR / commit |
|---|---|---|---|
| VProgressLinear | Avoid opacity:NaN when rendering with SSR | v4.0.9 | #22880 |
| VNumberInput | Keep both controls enabled when empty | v4.0.9 | e0133c2 |
| focusTrap | Prevent page scroll when capturing focus | v4.0.9 | 451e7c3 |
| VSelect | Close menu when click lands inside host overlay | v4.1.1 | 7ed9a54 |
| VSnackbar | More reliable progress bar | v4.1.1 | 5e6fe60 |
| VNumberInput | Emit change when using controls and arrows | v4.1.1 | 2ab2509 |
| VTooltip | Avoid stealing focus | v4.1.1 | 77d1a8a |
| VTable | Apply background and border for fixed-footer | v4.1.1 | ecabcc5 |
| VMenu | Prevent focus change during IME input | v4.1.1 | #21008 |
| VHeatmap | Keep legend bar visible in forced-colors mode | v4.1.1 | 58e3e7d |
| VHighlight | Support forced-colors mode | v4.1.1 | 067228c |
| VOverlay | Static location should snap to edges using CSS | v4.1.2 | #22921 |
| VOverlay | Keep overlay attached with iOS keyboard open | v4.1.2 | #22923 |
| VOverlay | Resolve calc/min/vw sizes to pixels | v4.1.2 | bf105bf |
| VDialog | Clear inline styles when enabling fullscreen | v4.1.2 | ea29378 |
| VTreeview | Apply hide-actions to group nodes | v4.1.2 | e5555ae |
| VPagination | Predictable length behavior in flex container | v4.1.2 | #22912 |
| theme | Async transition should return a Promise | v4.1.2 | 904f949 |
Deferred to v4.2 — keeping v4.1 tight meant several in-flight initiatives slipped past the minor and now sit against the v4.2.0 milestone. Most are feature PRs that were already open before v4.1 went stable:
pill variant to match MD3 (#22699)If you somehow missed the deep dive into the incident, a long story short is that Discord failed us by shipping insecure client (2FA is a joke) and having no backup, no "security cooldown" nor tools to recover the server after the takeover. After a shaky two weeks, we had set up a new one and get things back on track. All community members are welcome to re-join.
No Vuetify package, source, release, CI pipeline, or user data was affected. But the team still took the opportunity to rotate the security tokens and strenghten the internal policies. One interesting side-effect of "what if" planning was a new project pkg-diff. It appears despite constant problems around NPM packages security, we had not found even one decent tool to diff packages - some were slow, other limited, so we created our own and since it is computing everything in-browser - arguably better than what NPMX shipped lately, everyone is free to use it :)
June was Vuetify0's first month in beta. The beta was announced on June 2 with the public API frozen, so the work shifted from adding primitives to refining the ones that shipped — edge cases, documentation, and the road to v1.0 in July. With a frozen target now in place, the theme, locale, and date v0 migrations inside the framework have something stable to build against.
<AppFigure :src="v0img" alt="Vuetify0 Progress" title="Vuetify0 June Progress" />::: success
Adopting Vuetify0 for your business? Teams building production design systems, internal tooling, or product UI on top of v0 can reach out to talk through adoption, partnership, and roadmap input.
:::
Details:
The docs picked up a round of housekeeping in June — SEO length limits enforced on page meta titles and descriptions, unified CDN links, and a corrected MD2 typography snippet in the upgrade guide. The Discord invite link across the docs was updated to point at the new community server.
The Nuxt Module continued its march toward a stable v1, with Andrei Elkin keeping up the package-resolution and reliability work carried over from May.
July finishes the year's first arc. Vuetify0 reaches v1.0, ending the beta and giving the framework a stable foundation to migrate onto. Vuetify 4.1 continues its patch cadence, with the rules promotion and more overlay and treeview polish already queued. And with a v0 v1 in hand, the theme, locale, and date migrations move from planning to real work.
The theme for the rest of the year hasn't changed: finishing what we started.
A clean finish for labs: our roadmap commitments for the remainder of 2026 stay narrowed to one outcome — by November 1st, 2026, labs will be drained. Every component still incubating will either graduate into core or be retired; nothing will be left in an "unfinished" state. June's rules promotion is one more step down that list.
A community-driven issue board: we're building a curated view into the issue board where the community can surface and vote on what matters most, opening a direct line into what we tackle next. More as it takes shape.
A modernized docs experience (later this year): we're planning a significant UX upgrade to the Vuetify docs, porting over features introduced first to the Vuetify0 documentation. For a preview of where we're headed, spend some time in the v0 docs — the navigation, search, and interactive code samples are an early taste of what's coming.
::: warning
Vuetify needs your support. OpenCollective trend slowly picks up and we appreciate every contribution and support for ongoing work on the framework and ecosystem tools. If your team relies on Vuetify, please educate your boss about importance of sponsoring OSS projects like Vuetify. You can point them to Open Collective or GitHub Sponsors. Every contribution keeps Vuetify afloat.
:::
Vuetify is and always will be free and open source. If your team builds on the framework, the v0 beta, the MCP, the CLI, the Nuxt module, the ESLint plugin, or any of the design systems coming behind them, your support directly funds continued development. Vuetify One and GitHub Sponsors are the most direct ways to help.
To everyone who checked in, shared the verified invite, and helped us rebuild the community server after this month's incident — thank you. It meant a lot.
Thank you for being part of the Vuetify community. See you in July!
Stay connected with Vuetify updates through our GitHub repository, Discord community, and follow @vuetifyjs for the latest announcements. The best is yet to come!