What changed in vuetify from 3 to 4
8 releases numbered after v3.13.3 up to and including v4.2.0, stable releases only. v3.13.3 and v4.2.0 are the newest stable releases of 3 and 4 we track; this page follows them as new ones ship.
60 changes across 8 releases
- Add open-on-focus prop to inputs with VMenu
- Promote rules feature from labs to core framework
- Consume @vuetify/v0 utilities in core
- Add close-on-input-click prop to VAutocomplete and VCombobox
- Add size prop to VBtnGroup to align with standalone buttons
- Add trim-values prop to VCombobox
- Auto-fill separators while typing in VDateInput
- Add placeholder support to VFileInput
- Unify dragging effect between VFileInput and VFileUpload
- Support percentage width in VNavigationDrawer
- Add duration control for value transition in VProgress, VProgressLinear, and VProgressCircular
- Add reveal prop to VProgressLinear
- Enable v-model to work normally in VRadio without VRadioGroup
- Allow persistent menu in VSelect, VAutocomplete, and VCombobox
- Add new events for multi-selection in VSelect, VAutocomplete, and VCombobox
- Add chip-group type to VSkeletonLoader
- Add types prop to VSkeletonLoader and reintroduce table-cell
- Emit event when VSlideGroup reaches an edge
- Add slide function to VSlideGroup
- Add scroll-snap and scroll-distance props to VSlideGroup
- Replace map-deep-get with builtin map.get in styles
- VCalendar show border for outside days when calendar has events
- VMenu focus selected item when opening with arrow keys
- Update translation keys for Arabic locale
- Correct mistranslations and russianisms in Ukrainian locale
- Update translations for VOtpInput aria-label
- Use the resolved position in VOverlay to align with new target
- Apply round-bar with reverse and buffer in VProgressLinear
- prevent flash for every `to` component on page refresh in useLink
- restore `dense` to 8px gutter in VRow
- fix dividers skewing virtual offsets estimation in VVirtualScroll
- fix scrollToIndex retries locking manual scroll in VVirtualScroll
- VDataTable: key cells to prevent slot reuse
- VDatePicker: restore the hover preview for range selection
- VDialog: avoid error when unmounted while closing
- VNumberInput: snap to min/max when using buttons and value is out of range
- VOverlay: reliably return focus to activator when eager
- VProgressLinear: restore left/right animation in split variant
- VProgressLinear: keep indeterminate bars visible in Firefox
- VTreeviewItem: only attach click handler when interactive
- VBtn: do not render the value attribute on a link
- VDivider: drop redundant role attribute from hr
- VImg: omit the root aria-label when alt is empty
- Restore classes for side/corner values containing 0 in rounded
- Consistently validate cleared fields in validation
- Fix height accounting when expanding multiple rows in VDataTableVirtual
- Focus correct item after opening with keyboard in VSelect with Shadow DOM
- Ignore zero-height items when estimating spacer in VVirtualScroll
- Accept Vue 3.6 prereleases in the vue peer range
- Correct color-scheme for light theme
- Avoid SSR hydration mismatch on empty file list in VFileUpload
- Strip grouping separator before parsing number in VNumberInput
- Resolve ownership from the activator instead of aria-owns in VOverlay
- Correct viewport size for desktop view on Android in VOverlay
- The hover-elevation prop should not require elevation to be set
- Camelize item props for prepend icon and avatar in VAutocomplete and VCombobox
- Avoid Vite v8 dropping transition timing in VProgressLinear and VIconBtn
- Remove unnecessary error color applied to step content in VStepperVerticalItem
- Guard against double teardown in VStepperWindow and VTouch
- Respect hide-details="auto" with counter in VTextField
Original release notes, newest first
The list above is our reading of these notes; the originals from vuetifyjs are here, one fold per release.
v4.2.0
[!IMPORTANT] Vuetify Needs Your Support! The OpenCollective funds are running low. The team needed to scale down and is barely able to compensate the contributors for their work on the framework and the ecosystem tools.
If Vuetify is part of your stack, please consider sponsoring the project so we can continue delivering updates and fixes.
Every contribution helps us keep Vuetify alive and signals to maintainers that their effort is appreciated.
Thank you.
The following components have been promoted to the core framework from labs:
:rocket: Features
- inputs: add open-on-focus to inputs with VMenu (#23126) (44e789f), closes #22934
- rules: promote from labs (2871f71)
- util: consume @vuetify/v0 utilities in core (#23039) (94b72d5)
- VAutocomplete,VCombobox: add
close-on-input-clickprop (#23023) (5dfeb32), closes #23021 - VBtnGroup: add
sizeprop to align with standalone buttons (9b46baa), closes #16054 - VCombobox: add
trim-valuesprop (#22895) (2614f43), closes #14874 - VDateInput: auto-fill separators while typing (#23052) (6225a83), closes #23051
- VFileInput: add placeholder support (#23048) (988ffd1), closes #19837
- VFileInput,VFileUpload: unify dragging effect (#22909) (0440f63), closes #20576
- VNavigationDrawer: support percentage width (8f8def5), closes #16150
- VProgress,+Linear,+Circular: add duration control for value transition (9d4da1b), closes #22442
- VProgressLinear: add
revealprop (7764b49) - VRadio: v-model should work normally without VRadioGroup (92643be), closes #16245
- VSelect/VAutocomplete/VCombobox: allow persistent menu (#23008) (71d38a6), closes #20590
- VSelect/VAutocomplete/VCombobox: new events for multi-selection (#23038) (45079af), closes #4054 #5682
- VSkeletonLoader: add
chip-grouptype (06cbc10), closes #20695 - VSkeletonLoader: add
typesprop & reintroducetable-cell(#23037) (b5d380b), closes #20942 #17506 - VSlideGroup: emit when reaching an edge (62dbe20), closes #11364
- VSlideGroup: add
slidefunction (c3d2ce2), closes #21250 - VSlideGroup: add
scroll-snapandscroll-distanceprops (3f24ffe), closes #15916 - VVirtualScroll: add optional position parameter to scrollTo method (#18574) (405cd92)
:wrench: Bug Fixes
- defaults: let user defaults override hardcoded subcomponent props (#23108) (bb09f8b), closes #21279 #21420 #21490
- defaults: avoid parent config leaking into menu and dialog content (#23016) (fc3e32e), closes #18123
- v-tooltip: correctly handle
trueandundefined(cef88bf), closes #20463 - v-touch: ignore scroll within (19ee74e), closes #21888
- v-touch: react to binding value changes (937a471)
- variant: clip underlay and overlay with overflow (#22992) (10d0b28), closes #22868
- VAutocomplete,VCombobox,VSelect: improvements for native form submissions (#23022) (2c51006), closes #21938 #22270
- VBtn: no letter-spacing for RTL locales (3956c08), closes #19627
- VBtnGroup: correct height for x-large size (b2294cd)
- VIconBtn: align default color with VBtn (1695a49), closes #23085
- VDatePicker: correct range selection background for RTL (5448a61)
- VInput: do not animate details when mounting the whole field (c55238f), closes #23049
- VInput: consistent transitions of details/messages/counter (#23049) (9d7e741)
- VMenu: submenu a11y/navigation improvements (#22904) (e2a12c1)
- VMenu: avoid close cascading through non-menu overlays (e30eb47), closes #20468
- VMenu: custom overlays and tooltips should not prevent closing (#22993) (d01d4ac)
- VSelect/VAutocomplete/VCombobox: stable focus navigation in the virtual window (aae8fc4)
- VSelect/VAutocomplete/VCombobox: resilient navigation when seaching (#23031) (7a33ea9), closes #18383 #22770
- VSliderGroup: reliably select partially visible items (55d8e80), closes #21806
- VTextField: keep caret/selection when changing field type (47c9cc1), closes #16109
- VTreeview: improved open state when searching (#22983) (53afa91), closes #22035 #22392
- VTreeview: more aria attributes and correct keyboard navigation (#22903) (bad201d), closes #10796 #21585
:test_tube: Labs
Other Commits
v4.1.13
v4.1.12
:wrench: Bug Fixes
- locale: update translation keys for Arabic (f61c453)
- locale: correct mistranslations and russianisms in uk.ts (#23139) (f40d0d6)
- VOtpInput: update translations for aria-label (8912406)
- VOverlay: use the resolved position to align with new target (63cccbb), closes #23138
- VProgressLinear: apply round-bar with reverse and buffer (55fed01), closes #23143
v4.1.11
:wrench: Bug Fixes
v4.1.10
:wrench: Bug Fixes
- VDataTable: key cells to prevent slot reuse (#23124) (a9528b5), closes #23123
- VDatePicker: restore the hover preview for range selection (6c1dee2)
- VDialog: avoid error when unmounted while closing (#23054) (8293f4c), closes #23053
- VNumberInput: snap to min/max when using buttons and value is out of range (#23109) (a35ab72), closes #23098
- VOverlay: reliably return focus to activator when eager (c879795)
- VProgressLinear: restore
left/rightanimation in split variant (537a5f7) - VProgressLinear: keep indeterminate bars visible in Firefox (694fcdb), closes #23125
- VTreeviewItem: only attach click handler when interactive (#23118) (a4297d1), closes #23117
:microscope: Fixes for audit tools
v4.1.9
:wrench: Bug Fixes
- rounded: restore classes for side/corner values containing 0 (27962f3), closes #23090
- validation: consistently validate cleared fields (58b5537), closes #23084
- VDataTableVirtual: height accounting when expanding multiple rows (6f5f04b), closes #23014
- VSelect: focus correct item after opening with keyboard (Shadow DOM) (#23102) (8d15390), closes #23101
- VVirtualScroll: ignore zero-height items when estimating spacer (abe744e)
v4.1.8
:wrench: Bug Fixes
- accept Vue 3.6 prereleases in the vue peer range (#23040) (831fb2d)
- theme: correct color-scheme for light theme (#23071) (9df2c71), closes #22119
- VFileUpload: avoid SSR hydration mismatch on empty file list (4cd5288), closes #23086
- VNumberInput: strip grouping separator before parsing number (94e94a9), closes #23050
- VOverlay: resolve ownership from the activator instead of aria-owns (a57ec6e), closes #23056
- VOverlay: correct viewport size for "desktop view" on Android (8849b6b), closes #22124
v4.1.7
:wrench: Bug Fixes
- elevation:
hover-elevationprop should not requireelevation(378f593) - VAutocomplete,VCombobox: camelize item props for prepend icon and avatar (8a20623), closes #20989
- VProgressLinear,VIconBtn: avoid Vite v8 dropping transition timing (f23af8a), closes #23046
- VStepperVerticalItem: unnecessary error color to step content (fce4eaa), closes #23032
- VStepperWindow/VTouch: guard against double teardown (#23030) (54a2b6a)
- VTextField: respect
hide-details="auto"with counter (#22620) (a94efe4), closes #19998