Skip to content

Changelog

Important Notice

To avoid redundant maintenance and reduce costs.

From v4.9.0, Vant's changelog will be published on GitHub's Releases Page. This page will no longer be updated.

The current document contains the changelog for Vant v4.0.0 ~ v4.9.0. For other versions, please refer to:

Intro

Vant follows Semantic Versioning 2.0.0.

Release Schedule

  • Patch version:Typically released every 1 to 2 weeks, including new features and bug fixes.
  • Minor version:Typically released every 1 to 2 months, including new components or significant feature updates, with backward compatibility.
  • Major version:No fixed release time, includes breaking changes and major feature updates.

Details

v4.9.0

2024-05-02

New Features 🎉

Bug Fixes 🐞

  • fix(cli): Vue SFC style binding failure by @zoy-l in #12799
  • fix(ImagePreview): swipeItem may be undefined by @inottn in #12818
  • fix(Highlight): render correctly when keywords is empty by @Jungzl in #12829
  • fix(IndexBar): render active anchor correctly when passing sticky & stickyOffsetTop by @Jungzl in #12837

Document 📖

Other Changes

New Contributors

v4.8.11

2024-04-14

New Features 🎉

Bug Fixes 🐞

Document 📖

Other Changes

New Contributors

v4.8.10

2024-04-06

New Features 🎉

Other Changes

New Contributors

v4.8.9

2024-04-06

Invalid version, please do not use it.

v4.8.8

2024-03-31

New Features 🎉

Bug Fixes 🐞

  • fix(floating-bubble): update offset when the value changed by @chouchouji in #12730
  • fix(vant-cli): support defineOptions named by @wChenonly in #12734
  • fix(PickerGroup): rendering correctly when using v-for by @inottn in #12732
  • fix(TextEllipsis): should recalculate the ellipsis state when the component is activated by @inottn in #12741

Document 📖

Other Changes

New Contributors

v4.8.7

2024-03-18

Other Changes

v4.8.6

2024-03-17

New Features 🎉

Bug Fixes 🐞

  • fix(ImagePreview): allow user to swipe to next image when the current image is moved to the edge by @inottn in #12666
  • fix(ActionSheet): icon class name by @chenjiahan in #12701

Document 📖

Other Changes

New Contributors

v4.8.5

2024-02-25

New Features 🎉

  • feat(Image): add crossorigin & referrerpolicy props by @Jungzl in #12641

Bug Fixes 🐞

  • fix(NumberKeyboard): render delete slot correctly when theme is custom by @TPORL in #12624

Document 📖

Other Changes

New Contributors

v4.8.4

2024-02-03

New Features 🎉

Bug Fixes 🐞

  • fix(Sticky): initial sticky position by @nemo-shen in #12601
  • fix(DropdownMenu): fix recursive update when passing object literal to title-class by @inottn in #12614

Document 📖

Other Changes

v4.8.3

2024-01-20

New Features 🎉

Bug Fixes 🐞

  • fix(Tab): tab(with sticky prop) loss 'fixed' classname after switch tab by @nemo-shen in #12547
  • fix(Image): ImagePosition type is not exported before by @Jungzl in #12549
  • fix(Tabs): van-border-radius-sm to van-radius-sm by @edram in #12576

Document 📖

  • docs(Lazyload): fix preLoad type error and spelling mistakes by @RSS1102 in #12554
  • docs(home): update heading level by @inottn in #12577

Other Changes

New Contributors

v4.8.2

2024-01-03

New Features 🎉

Performance 🚀

Bug Fixes 🐞

  • fix(ci): eslint on windows by @Jungzl in #12516
  • fix(ImagePreview): double-scale and close-on-click-overlay may not work in certain scenarios by @inottn in #12521

Other Changes

v4.8.1

2023-12-17

New Features 🎉

Performance 🚀

Bug Fixes 🐞

Document 📖

Other Changes

New Contributors

v4.8.0

2023-11-19

New Component 🎉

New Features

  • feat(ImagePreview): expose resetScale method by @inottn in #12426
  • feat(Checker): add checked and disabled params to the default slot by @inottn in #12436
  • feat(Row): gutter support vertical space by @cc-hearts in #12439

Bug Fixes 🐞

Document 📖

Other Changes

New Contributors

v4.7.3

2023-10-29

New Features 🎉

Bug Fixes 🐞

  • fix(ConfigProvider): export missing theme vars by @inottn in #12371
  • fix(AddressEdit): area field validate error when showArea is false by @zhousg in #12393
  • fix(@vant/area-data): add exports types by @Alkaidcc in #12397
  • fix(Search): fix search style when has error message by @johnsonwong666 in #12385
  • fix(PickerGroup): only filter Comment vnode by @zhousg in #12402

Document 📖

Other Changes

  • chore(Field): required label css will active when rules contain required by @morance in #12376
  • test(ImagePreview): fix incorrect onClose test case by @chenjiahan in #12386
  • chore: forked repo, skip CI running by @yoyo837 in #12410

New Contributors

v4.7.2

2023-10-15

New Features 🎉

Bug Fixes 🐞

  • fix(Icons): compatible with the browser range of Vant 2 by @chenjiahan in #12356
  • fix(Uploader): multiple reupload only choose one & cancel chose problem by @zhousg in #12359

Other Changes

New Contributors

v4.7.1

2023-10-06

New Features 🎉

Bug Fixes 🐞

Document 📖

Other Changes

New Contributors

v4.7.0

2023-09-24

🍭 Icon Updates

  • Icon: add new user icon
  • Icon: add new notes icon
  • Icon: add new newspaper icon
  • Icon: add new list-switch icon
  • Icon: add new list-switching icon
  • Icon: add a filled records icon
  • Icon: add a filled contact icon
  • Icon: add a filled discount icon
  • Icon: add a filled completed icon
  • Icon: add a filled description icon
  • Icon: add a filled cash-back-record icon
  • Icon: rename the previous records icon to records-o
  • Icon: rename the previous contact icon to contact-o
  • Icon: rename the previous discount icon to discount-o
  • Icon: rename the previous completed icon to completed-o
  • Icon: rename the previous description icon to description-o
  • Icon: rename the previous cash-back-record icon to cash-back-record-o

New Features 🎉

Bug Fixes 🐞

  • fix(Picker): fix bug the content of the popup window is not consistent with the Chinese version under the English version by @lllomh in #12300
  • fix(Signature): fix checking if canvas is empty when backgroundColor is set by @sywyyhykkk in #12304
  • fix(FloatingPanel): dragging down causes the page to move by @zhousg in #12314

Document 📖

Other Changes

New Contributors

v4.6.8

2023-09-10

New Features 🎉

  • feat(Cell): add CSS vars to customize font size of the value by @inottn in #12260
  • feat(ConfigProvider): supplement the type declaration of ConfigProviderThemeVars by @xieyezi in #12264
  • feat(NavBar): add leftDisabled and rightDisabled prop by @m-xlsea in #12258

Bug Fixes 🐞

  • fix(ConfigProvider): failed to set some basic theme vars by @chenjiahan in #12272
  • fix(ConfigProvider): ConfigProviderThemeVars fontSizeXs hump by @xieyezi in #12267

Document 📖

Other Changes

New Contributors

v4.6.7

2023-09-04

New Features 🎉

Bug Fixes 🐞

  • fix(auto-import-resolver): type mismatch in TS projects by @chenjiahan in #12243
  • fix(eslint): using ignorePatterns to replace .eslintignore by @MrXwq in #12237

Document 📖

Other Changes

v4.6.6

2023-08-20

New Features 🎉

Bug Fixes 🐞

  • fix(FloatingBubble): drag should not trigger click on child elements by @zhousg in #12201
  • fix(FloatingBubble): does not update state while hidden by @zhousg in #12207

Other Changes

v4.6.5

2023-08-16

New Features 🎉

Bug Fixes 🐞

  • fix(FloatingPanel): Lag caused by scrollbar and panel movement #12146 by @yue1123 in #12161
  • fix(FloatingPanel): change the default value of lock-scroll to false by @inottn in #12162
  • fix(cli): should escape curly brackets in markdown by @chenjiahan in #12188

Document 📖

Other Changes

New Contributors

v4.6.4

2023-08-06

New Features 🎉

Bug Fixes 🐞

  • fix(TextEllipsis): dots repeated by @muzaisimao in #12120
  • fix(TextEllipsis): fix the logic of calculating the position of ellipsis by @inottn in #12137

Document 📖

  • docs: move PR title format to contribution guide by @chenjiahan in #12114
  • docs(Radio): add document description for the css var '--van-radio-dot-size' by @wjw-gavin in #12152

Other Changes

New Contributors

v4.6.3

2023-07-23

Feature

  • AddressList: add show-add-button prop #12090
  • CheckboxGroup: add shape prop #12092
  • RadioGroup: add shape prop #12092

Bug Fixes

  • FloatingBubble: fix global component type #12101
  • Tab: fix incorrect import path #12103

v4.6.2

2023-07-09

Feature

  • Field: add autocapitalize, autocorrect and spellcheck props #12065
  • FloatingBubble: add CSS vars to override border radius #12070
  • Radio: add dot shape #12057
  • TextEllipsis: add position prop, contributed by cxybd ❤️ #12058

Bug Fixes

  • FloatingBubble: fix wrong value of boundary #12067
  • Pagination: display the border correctly #12062

v4.6.1

2023-07-02

Feature

  • ellipsis: improve break lines of Chinese, Japanese, or Korean text #12030

Bug Fixes

  • FloatingBubble: floatingBubbleBackground type should be optional #12029
  • SubmitBar: remove redundant theme types #12031
  • Uploader: render objectUrl to avoid perf issue #12051

v4.6.0

2023-06-24

New Component

Feature

  • Rate: add clearable prop #11969

Bug Fixes

  • DropdownMenu: fix missing exported type #11979
  • Field: should not set for attr to label when using input slot #11966
  • FloatingPanel: fix missing floatingPanelProps export #11978
  • FloatingPanel: remove passive event warning #11992
  • Picker: optimize the animation effect of sliding multiple columns simultaneously #11945
  • Rate: should change value when half icon is touchmoved #12002

v4.5.0

2023-06-11

New Component

  • add new FloatingPanel component, contributed by @zhousg ❤️ #11832

Feature

  • AddressList: add new right-icon props #11959
  • DropdownMenu: add close method #11921
  • Slider: add dragging param for button slot #11946
  • TimePicker: add min-time and max-time prop #11887
  • TimePicker: add values param for filter method #11916
  • CI: add issue helper #11963

Bug Fixes

  • BackTop: should hide when deactivated #11938

v4.4.1

2023-05-28

Feature

  • Popover: add actions-direction prop #11888

Bug Fixes

  • ImagePreview: stop animation during initialization #11897
  • Popup: opened event is emitted twice when duration is 0 #11902
  • Slider: should update startValue when the slider is clicked #11904
  • Tab: maximum recursive updates exceeded in Tabs #11898

v4.4.0

2023-05-21

New Component

Feature

  • Cascader: scroll the selected option into view when switching tabs #11869
  • Divider: add vertical prop #11883
  • Document: sync mobile position on anchor click #11879
  • ImagePreview: optimize the preview effect of long images #11857
  • Signature: improve signature clarity by devicePixelRatio #11835
  • Uploader: add reupload prop #11854

Bug Fixes

  • AddressEdit: should hide border of the last cell #11872
  • Area: areaProps omit allow-html show-toolbar #11871
  • BackTop: use the closest parent scroll element as target #11858
  • ContactList: increase right icon size and optimize styles #11873
  • DatePicker: should display correctly when modelValue is updated from external #11839
  • Dialog: fix the rounded corners of shadow when button is clicked #11863

v4.3.2

2023-05-14

Feature

  • ImagePreview: use the touched point as the center of zooming #11848
  • PickerGroup: the tab of PickerGroup supports controlled mode #11771
  • Checkbox: disabled unchecked options when the limit is exceeded #11814

Bug Fixes

  • Filed: onclick label execute twice #11838
  • Steps: fix the style that occurs when there is only one step #11822
  • SubmitBar: Unused CSS variables #11845
  • Tab: should cancel raf before the next scroll #11819

v4.3.1

2023-05-04

Bug Fixes

  • Fix failed to install Vant v4.3.0 #11815

v4.3.0

2023-05-03

New Component

Feature

  • Field: increase default icon size to 18px #11799

Bug Fixes

  • Field: disabled cursor should be not-allowed #11800
  • Image: failed to display loading when using lazy-load #11809

v4.2.1

2023-04-30

Feature

  • Pagination: add show-prev-button, show-next-button props #11780
  • Picker: add scroll-into event #11757

Bug Fixes

  • Pagination: don't show click feedback when button is disabled #11779
  • Sticky: resize or orientationchange wrapper no reset width and height #11753
  • Tabs: re-render when line-width or line-height changed #11776
  • Tabs: should scroll active tab into view after resized #11777
  • Watermark: add xlink namespace and fix blob MIME type #11762

v4.2.0

2023-04-16

New Component

Feature

  • ShareSheet: allow custom icon #11709
  • TextEllipsis: add dots prop #11745

Bug Fixes

  • Swipe: should resize after props.width and props.height changed #11747

v4.1.2

2023-03-26

Feature

  • Locale: add Khmer translations #11701

Bug Fixes

  • Field: label-align top works well with label-width #11684
  • Field: should emit blur event when readonly #11699
  • ImagePreview: long vertical images sliding up and down #11702

v4.1.1

2023-03-19

Feature

  • Uploader: support avif image format #11655

Bug Fixes

  • @vant/use: add vue as peer dependencies #11662
  • DatePicker: fix display back wrong of date-picker #11656
  • Field: fix FieldRuleFormatter typo #11674
  • TextEllipsis: fix that numbers and letters cannot display ellipses #11669

v4.1.0

2023-03-05

New Component

Feature

  • Swipe: add index param to drag-start/drag-end event #11632
  • TreeSelect: add nav-text slot #11602 #11641

Bug Fixes

  • DropdownMenu: fix dropdown-item position when expanded by default #11640
  • Field: fix label-align top not work when set label-width #11611
  • Locale: improve Ukrainian translation #11629

v4.0.11

2023-02-20

Feature

  • Add new vant-nuxt module for Nuxt #11588
  • BackTop: support css variable and prop of z-index #11582
  • Picker: expose option index to option slot #11594
  • @vant/use: support cleanup useEventListener #11540

Bug Fixes

  • PickerGroup: confirm event missing params #11566
  • PickerGroup: fix style of tab-line caused by v-show #11547
  • PickerGroup: fix slots not work #11564
  • Popover: fix the arrow position of *-start/end placements #11584
  • Popover: should update location after transition #11568
  • Space: Text is not defined in SSR #11549

v4.0.10

2023-02-02

Bug Fixes

  • DatePicker: fix the value is not updated in time of change event #11529
  • Slider: fix button does not work properly in two-thumb mode #11526 #11534

v4.0.9

2023-01-26

Feature

  • BackTop: add immediate prop #11515
  • Calendar: add month-title slot #11500
  • Cascader: add useCascaderAreaData method #11518
  • ImagePreview: allow swipe when image is moved to edge #11505
  • Locale: add Esperanto translations #11520
  • Locale: add useCurrentLang method #11517
  • Swipe: add drag-start, drag-end event #11502

Bug Fixes

  • ImagePreview: disable zoom when swiping #11504
  • Locale: fix Italian general revision #11519
  • Swipe: avoid resetting position on multi-finger touch #11503

v4.0.8

2023-01-15

Feature

  • PickerGroup: add next-step-text prop #11487

Bug Fixes

  • Picker: change confirm button color to primary color #11479
  • NumberKeyboard: change confirm button color to primary color #11479
  • Icons: add woff format to compat some special webview #11485
  • Picker: ensure title align in center #11489
  • Skeleton: fix can not register skeleton image component #11470 #11469
  • Tabs: incorrect insert position in some cases #11462

v4.0.7

2023-01-02

Bug Fixes

  • Icons: fix delete / delete-o icon #11441
  • Icons: no longer support woff/ttf format #11442
  • ImagePreview:fix teleport prop not work #11429
  • Locale: fix typo of "Calendar" in ru-RU #11425
  • Swipe: failed to render inside keep-alive #11437

v4.0.6

2022-12-26

Bug Fixes

  • Fix missing declaration files caused by upgrading vite v4 #11423

v4.0.5

2022-12-25

Feature

  • Locale: add Dutch lang #11419
  • Locale: add Mongolian lang #11418

Bug Fixes

  • Badge: fix badge offset of different position #11400
  • Form: filter no name field's value #11410
  • Picker: picker loading color in dark theme #11405

v4.0.4

2022-12-23

Bug Fixes

  • Field: incorrect cursor position when value length exceeds maxlength or when formatter is used #11360
  • Image: load event missing params #11406

v4.0.3

2022-12-13

Bug Fixes

  • Field: failed to dynamically set empty label #11373
  • ImagePreview: fix loading when previewing images #11376

v4.0.2

2022-12-03

Bug Fixes

  • Field: incorrect cursor position when using formatter #11348
  • Image: load event not triggered in nuxt3 128972
  • NavBar: update placeholder height when window resized #11351

v4.0.1

2022-12-01

Feature

  • Picker: add selectedIndexes to the confirm event #11329

Bug Fixes

  • Field: set selection range only when focused #11333

v4.0.0

2022-11-26

Feature

  • List: add disabled prop #11307
  • BackTop: allow dynamically set target prop #11311
  • BackTop: allow using css var to custom position #11312
  • BackTop: rename visibility-height prop to offset #11309

Bug Fixes

  • Field: keep selection position after updating value #11308

v4.0.0-rc.9

2022-11-24

Bug Fixes

  • Cell: arrow-direction assignment right is invalid #11279
  • Style: body normalize not work #11287

v4.0.0-rc.8

2022-11-20

Feature

  • add new BackTop component, note that the API is not stable yet, we may change the API before 4.0 release. #11236

Bug Fixes

  • DropdownItem: should inherit attrs when using teleport #11273
  • List: incorrect initial loading value #11275
  • NumberKeyboard: should inherit attrs when using teleport #11274

v4.0.0-rc.7

2022-11-13

New Component

  • Add new SkeletonAvatar、SkeletonTitle、SkeletonImage、SkeletonParagraph components #11173

Feature

  • ImagePreview: add long-press event #11252
  • Popover: support uncontrolled mode #11244

Bug Fixes

  • ActionSheet: fix that close is invalid without title #11213
  • DatePicker: only throw error in development #11248
  • Lazyload: lazy-image h is not a function #11229
  • Picker: correct v-model when emit confirm event #11194
  • Picker: empty column will cause error #11249
  • Uploader: chooseFile is invalid when show-upload is false #11218

v4.0.0-rc.6

2022-10-23

Feature

  • Calendar: add params for subtitle slot #11168
  • Cell: add tag prop #11139
  • ImagePreview: add image slot #11133
  • Toast: add wordBreak prop #11147

Bug Fixes

  • CouponList: fix the style of coupon checkbox #11153
  • CouponList: incorrect field style #11155
  • Swipe: failed to render when inside popup #11162

v4.0.0-rc.5

2022-10-07

Feature

  • Field: support label-position top #11102
  • Loading: add icon slot #11109
  • NavBar: add clickable prop #11048
  • Stepper: add auto-fixed prop #11071

Bug Fixes

  • DatePicker: format value when exceed max date #11122
  • Tabs: incorrect nav scroll animation in some cases #11116
  • Tabs: scroll position when using nav-bottom slot #11115

v4.0.0-rc.4

2022-09-25

Feature

  • Field: add message param to 'end-validate' method #11080

Bug Fixes

  • Tabs: incorrect scroll position in some cases #11085
  • Tabs: incorrect scroll position when inited #11059

v4.0.0-rc.3

2022-09-12

Feature

  • ConfigProvider: add ConfigProviderThemeVars type #11034
  • Notify: add z-index prop #11032
  • remove popperjs to reduce install size #11030

Types

  • Toast: fix missing global components type #11033

v4.0.0-rc.2

2022-09-11

Breaking Changes

  • attach css variables to :root element #11026

Bug Fixes

  • Dialog: incorrect transform behavior #11028
  • Empty: fix opacity in dark mode #11027

v4.0.0-rc.1

2022-09-10

Feature

  • export props of all components #11024
  • Dialog: message-align can be justify #11014
  • Image: add block prop #11022
  • Toast: add message slot #11018

Bug Fixes

  • Picker: failed to update value in some cases #11009
  • Locale: avoid getting unexpected value #11010

v4.0.0-rc.0

2022-09-04

New Component

Bug Fixes

  • DatePicker: failed to update model value #10984
  • DatePicker: min-date prop not work correctly #10985

v4.0.0-beta.1

2022-08-24

Breaking Changes

  • Popup: improve style when position is center #10965
less
// Vant 3
.van-popup--center {
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
}

// Vant 4
.van-popup--center {
  left: 0;
  right: 0;
  width: fit-content;
  max-width: calc(100vw - var(--van-padding-md) * 2);
  margin: 0 auto;
  transform: translateY(-50%);
}

New Component

Feature

  • ConfigProvider: add z-index prop #10915
  • Form: add validateEmpty option of rule #10913
  • Popup: add role and tabindex for a11y #10894
  • TouchEmulator: support .mjs extension #10888

Feature

  • ConfigProvider: add theme-vars-dark and theme-vars-light props #10939
  • Picker: add clickOption event #10865
  • add correct passive flag to improve scroll performance #10951
  • @vant/use: improve useEventListener typing #10952

Bug Fixes

  • ConfigProvider: should remove theme class on unmount #10898
  • reduce passive event warning of touchstart event #10954
  • Tabs: resize not work for swipeable tabs #10964
  • Fix incorrect tag name in WebStorm #10946
  • Badge: should hide string zero when using show-zero prop #10921
  • Calendar: content disappeared when hiding #10910
  • Calendar: reading getFullYear error in some cases #10909
  • Empty: generate unique id to avoid render issue #10943
  • Popover: can not scroll inside popup #10949
  • PullRefresh: fix passive event warning #10938
  • Search: --van-search-input-height var not work #10911

v4.0.0-beta.0

2022-07-16

Breaking Changes

  • Toast: redesign function-call API #10804
  • Dialog: redesign function-call API #10781
  • Notify: redesign function-call API #10782
  • ImagePreview: redesign function-call API #10802

Feature

  • add @vant/compat package #10806
  • Calendar: expose getSelectedDate method 419a8e
  • remove less source file to remove bundle size #10752

Bug Fixes

  • Uploader: should not preview failed images #10790

v4.0.0-alpha.4

2022-05-31

Feature

  • using mjs extension for esmodule #10625

v4.0.0-alpha.3

2022-05-02

Feature

Bug Fixes

  • Search: style error in dark mode #10527
  • @vant/area-data: only publish dist folder to npm f927f6

v4.0.0-alpha.2

2022-04-16

  • CalendarDay: add default margin-bottom #10441
  • Empty: support set the image size separately #10465
  • Field: add enterkeyhint prop #10478
  • Form: add getValues method #10511
  • Icon: add some icons for ShareSheet #10468
  • Locale: add Danish lang #10513
  • ShareSheet: no longer rely on CDN images #10469
  • Add event arguments in web-types.json #10474

Bug Fixes

  • DatetimePicker: modeValue is inconsistent with the selected data #10448
  • Rate: support precisely selected #10500

v4.0.0-alpha.1

2022-03-19

Feature

  • @vant/area-data: update counties of NanJing #10410
  • Locale: add la-LA.ts #10388

Bug Fixes

  • Calendar: fix title color in dark mode #10403
  • Picker: fix title color in dark mode #10403
  • ConfigProvider: dark mode not work as default value #10413
  • DatePicker: failed to update model value #10415
  • Dialog: fix title and message color in dark mode #10379
  • IndexBar: allow active bottom anchor #10404

Enterprise-level mobile solution based on Vant