Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time
3558 lines (3212 sloc) 212 KB

Changelog - previous commits

This changelog file contains all previous commits. For the latest changes, refer to the current CHANGELOG file.


Released: 2019-08-12

This release is expected to be the last RC release. Next release (hopefully) will be v2.0.0 stable.

Bug Fixes v2.0.0-rc.28

  • b-modal: prevent page scroll when tabbing to bottom of modal + better tab containment in enforceFocus (closes #3842) (#3846) (ed99f9c)
  • b-carousel: reset touchDeltaX to prevent click transformed in swipe (#3734) (0e54839)
  • b-table: better detection of active text selection during click events (#3763) (1a9c688)
  • b-tabs: fix nav item id and aria-controls on tab buttons (#3832) (06c6119)

Features v2.0.0-rc.28

  • form controls: add support for control sizing of b-form-file, b-form-checkbox, and b-form-radio (closes #3745) (#3794) (18c3957)
  • b-form-file, b-form-checkbox, b-form-radio: make input element inherit non-prop attributes (addresses #3752) (#3754) (722f9db)
  • b-table: allow users to specify top-level keys to be ignored or included when filtering, plus add option to filter based on formatted value (closes #3749) (#3786) (142b31b)
  • b-table: make sorting by formated value opt-in per field + add TypeScript declarations for locale options (#3778) (9716850)
  • b-table: programmatic row selection (closes #3064, #3370) (#3844) (9a4fe24)
  • b-table-simple: new <table> wrapper component that allows users to render their own <thead>, <tfoot>, <body> (#3799) (998bd4f)
  • b-table, b-table-lite: new field scoped slot naming convention + new fallback scoped slots, deprecated old field slot convention (closes #3731) (#3741) (f53360d)
  • b-table, b-table-lite: place <tfoot> after <tbody> element per HTML5 spec (#3807) (e885d6d)
  • tables: add sticky header support (closes #2085) (#3831) (a5f7266)
  • tables: create table child element helper components, plus new sort-null-last and table-variant props. (#3808) (981114b)
  • tables: add support for sticky columns (#3847) (5b5f2b8)
  • b-toast: add SCSS variable for default toast background opacity + standardize a few BootstrapVue SCSS variable names (#3775) (5799075)
  • config: defaults for all size properties (closes #3805) (#3841) (1389efa)
  • docs: updates to the theming reference section (#3790) (e080bf7)

Potential breaking changes v2.0.0-rc.28

  • b-table: based on user feedback, sorting by formatted value is now opt-in per field. This is a change from the default sorting by formatted value behaviour of versions 2.0.0-rc.25 through rc.27. Sorting by formatted value was introduced in 2.0.0-rc.25.

Deprecation notes v2.0.0-rc.28

  • b-table and b-table-lite field scoped slot naming syntax (for custom data and header/footer formatting) has been changed in this version to use a new square bracketed syntax. While the previous naming syntax still works, it has been deprecated in favour of the newer naming convention (which prevents potential slot-name conflicts with fields named default and other table slots). Users are encouraged to switch to the new table field slot name syntax, as the old slot name syntax will be removed in 2.0.0 stable release!

  • Users should switch to the simplified import syntax (introduced in v2.0.0-rc.22) when importing individual plugins, components, and/or directives. Importing from the es/ build directory has been deprecated and will be removed in 2.0.0 stable release!


Released: 2019-07-21

Bug Fixes v2.0.0-rc.27

  • b-modal: ensure header is read for accessibility with JAWS (closes #3712) (#3713) (6a9d0ce)
  • b-nav-item-dropdown: clicking toggle a second time should close menu (closes #3707) (#3706) (629951e)
  • b-table: IE 11 edge case where custom inputs were not clickable in clickable/sortable cells (fixes #3693) (#3697) (fce8b5b)
  • tooltip, popover: handle case where tooltips are applied to dropdown root elements (closes #3703) (#3704) (39df4f1)

Features v2.0.0-rc.27

  • b-dropdown: new split-button-type prop to specify split button type (closes #3694) (#3695) (1157589)
  • b-modal: for accessibility, read only modal title and not whole header + additional A11Y options (addresses #3712) (#3715) (1ce8c6d)
  • b-tabs: new named slot tabs-start for prepending tab buttons, deprecates tabs slot in favour of tabs-end (closes #3678) (#3679) (0b5f552)
  • minor code improvements (#3682) (2fb5ce8)

Notes v2.0.0-rc.27

Users should switch to the simplified import syntax (introduced in v2.0.0-rc.22) when importing individual plugins, components, and/or directives. Importing from the es/ build directory has been deprecated and will be removed in 2.0.0 stable release!


Released 2019-07-09

Bug Fixes v2.0.0-rc.26

  • b-collapse: fix memory leak from $root listener (fixes #3607) (#3608) (10cb3a9)
  • b-carousel-slide: do not render carousel-caption wrapper if no content (#3662) (615a719)
  • b-table: add clearfix to table cells in case label wraps in stacked mode (#3652) (3115dae)
  • docs: correct polyfilling suggestions (#3605) (35806e7)
  • playground: fix undefined variable error in IE 11 (#3606) (b3f7053)

Features v2.0.0-rc.26

  • b-dropdown, b-nav-item-dropdown: add new lazy prop (addresses #3634) (#3639) (f742a8a)
  • tooltip, popover: add support for contextual variants and custom class (closes #1983, #2075) (#3644) (695edae)
  • tooltip: add in SCSS support for specifying tooltip variant background color level (#3653) (d7cb071)
  • docs: add home and playground links to sidebar navigation (#3654) (e5eb9fc)
  • types: add noCloseButton property to BvToastOptions type declaration (#3636) (5aa9211)

Performance v2.0.0-rc.26

  • b-link: convert from functional component to regular component (#3637) (d3641ba)
  • remove default array and object polyfills (#3641) (8b34bf2)

Notes v2.0.0-rc.26

Users should switch to the simplified import syntax (introduced in v2.0.0-rc.22) when importing individual plugins, components, and/or directives. Importing from the es/ build directory has been deprecated and will be removed in 2.0.0 stable release!


Released 2019-06-30

Bug Fixes v2.0.0-rc.25

  • b-input-group: fix kebab-case prop names for prepend-html and append-html (fixes #3565) (#3567 e48d3dc)
  • b-table: adjustments to sort icon positioning SCSS (closes #3563) (#3568 5c572e8)

Features v2.0.0-rc.25

  • b-table: sort fields by formatted value for fields that have a formatter function + support for optional localCompare options and locale (closes #3178, #1173) (#3585 c0ca1fd)
  • b-table, b-table-lite: don't render thead or tfoot if no detected fields for accessibility reasons (closes #3547) (#3553 a924889)
  • b-tabs: emit new changed event whenever tabs are added, removed or re-ordered (closes #3575) (#3577 841419a)
  • tooltips, popovers: remove need for route watcher, preventing open tooltip/popover from automatically closing if child route changes and trigger element is still in document (#3583 98844b4)

Notes v2.0.0-rc.25

Users should switch to the simplified import syntax (introduced in v2.0.0-rc.22) when importing individual plugins, components, and/or directives. Importing from the es/ build directory has been deprecated and will be removed in 2.0.0 stable release.


Released 2019-06-17

Bug Fixes v2.0.0-rc.24


Released 2019-06-13

Bug Fixes v2.0.0-rc.23

  • b-dropdown: close when clicking on nested elements inside items with to prop (#3476 8ec2eb1)
  • b-form-input, b-form-textarea: handle case where input has been removed from document (closes #3498) (#3501 9a62e44)
  • b-modal: ensure ignoreBackdropClick flag is cleared in clickOutHandler (#3488 afb4680)
  • b-modal: fix IE 11 issue with copy/paste from modal into MS Word (fixes #3457) (#3489 16dbdf1)
  • b-modal: properly render *-html props if provided (closes #3491) (#3492 c1ada9f)
  • b-pagination-nav: fix incorrect name in component package.json file (closes #3458) (#3459 ef252df)
  • b-pagination-nav: attempt to auto-detect current page when pages array or number of pages changes (closes #3443) (#3444 88b95c6)
  • b-table: ensure provider is refreshed when filter is an object (closes #3428) (#3429 b95c614)
  • b-tabs: improve child b-tab detection routine and fix bug with IDs (closes #3260) (#3442 4a54e8d)
  • types: add missing BInputGroup to TypeScript definitions (#3487 b4ac081)
  • utils/get: handle edge case with inherited object getters (fixes #3463) (#3465 e2c8cb1)

Features v2.0.0-rc.23

  • b-table-lite: new <b-table-lite> light-weight table component (#3447 0477941)
  • improved tree-shaking when importing individual components (#3462 2df1ab9)

Deprecation v2.0.0-rc.23

Users should switch to the simplified import syntax (introduced in v2.0.0-rc.22) when importing individual plugins, components, and/or directives. Importing from the es/ build directory has been deprecated and will be removed in 2.0.0 stable release.


Released 2019-05-31

Notable Changes v2.0.0-rc.22

  • Improved/shortened method for importing of plugins, components, and directives, as top-level named exports. The ESM and CJS builds now both include these top level named exports:
    • Default export is still the BootstrapVue plugin
    • Simplified import format for importing components, directives, plugins:
      import { ModalPlugin, CardPlugin, BAlert, BRow, BCol, VBScrollspyPlugin } from 'bootstrap-vue'
    • New esm/ modular build with top-level named exports (tree shakeable)
    • New dist/bootstrap-vue.esm.js esm bundle with top-level named exports
    • New dist/bootstrap-vue.common.js cjs bundle with top-level named exports
    • No need to cherry-pick from sub directories for plugins/components/directives
    • Most package bundlers will pick the appropriate build automatically
  • Nuxt module:
    • Improved tree shaking using the new import syntax
    • Automatically adds transformAssetUrls settings for BootstrapVue component props.
  • Reverted the es/ build directory back to mini-commonjs modules (from true ES modules introduced in v2.0.0-rc.21) due to issues with Nuxt.js and some webpack builds expecting CJS format when cherry-picking individual components, directives and plugins from sub-directories.
  • DEPRECATION: The es/ build has been deprecated in favour of the newer esm build and cjs bundle, which allow for importing individual components, directives and plugins from top-level named exports. Users are encouraged to convert their existing imports to the new syntax.

Bug Fixes v2.0.0-rc.22

  • b-modal: use safeId() when comparing id received by hide/show handler (closes #3389 (#3394 fae3d25)
  • b-tabs: fix regression with dynamically added tabs (fixes #3395) (#3396 f254f90)
  • form controls: handle autofocus inside modal or when inside a transition (#3386 c4a8edb)
  • es: revert to tranforming es/ modules into CJS, and simplify main build with top-level named import/exports (closes #3397, #3393, #3323) (#3404 6c386d3)
  • nuxt: use new bundle for development mode (closes #3397) (#3399 f43097e, #3404 6c386d3)
  • types: fix typing error for BvComponent and BvPlugin (closes #3390) (#3391 6f0f3fd)

Features v2.0.0-rc.22

  • b-button: add new squared prop for making buttons with square corners (#3387 004963d)
  • b-tooltip, b-popover: allow global delay customization via config (#3426 2aaec76)
  • nuxt: handle edge cases where component, directive and plugin names are passed as camelCase or kebab-case and convert to new PascalCase names (#3418 ce3ba73)
  • nuxt module: alias esm/ and es/ to src/ for Nuxt prod mode (#3423 ae2040b)
  • add "source": "src/index.js" entry in package.json for Parcel bundler (#3422 0878ca6)


Released 2019-05-26

Note: this version introduced a bug when using BootstrapVue with Nuxt.js module in dev mode. Please use version v2.0.0-rc.22 or newer.

Bug Fixes v2.0.0-rc.21

  • b-alert: handle case where dismiss countdown changes to a boolean value (closes #3346) (#3347 14ad833)
  • b-dropdown: delay show of dropdown when calling show() (closes #3366) (#3367 1604022)
  • b-input-group: fix issue with slots (closes #3284) (#3288 5639e8f)
  • b-input-group: use same input-group-prepend/append for both props and slots (#3321 fb7386e)
  • b-modal: delay initially open modal via nextTick when using v-model or visible prop (#3320 6f3010a)
  • b-table: don't use css grid for stacked table SCSS - for IE 11 compatibility (closes #3307) (#3383 ce19fc7)
  • b-tabs: fix regression of tabs in lazy modals - use DOM query for probing tabs after mount (closes: #3361) (#3375 2b188a2)
  • b-toast: accessibility - prevent duplicate toast announcements for screen readers (closes #3322) (#3329 d44fba5)
  • b-toaster: CSS fix for IE 11 support (fixes #3327) (#3328 88b1cfd)
  • docs: correct modal directive name (#3335 d4dcc35)
  • docs: correct Vuelidate validation example and some minor tweaks (#3332 d5c22a8)
  • docs: b-progress-bar label HTML support examples (closes #3333) (#3336 526f274)
  • types: fix msxBoxConfirm typo (#3280 8027e5a)
  • use installFactory for main BootstrapVue plugin (closes #3338) (#3340 4c0c445)

Features v2.0.0-rc.21

  • b-img-lazy: add support for IntersectionObserver (closes #3276) (#3279 5cf71cf)
  • b-modal: improved portaling - retaining parent-child hierarchy (addresses #3312) (#3326 3728892)
  • b-tooltip, b-popover: add fallback-placement prop (closes #3348) (#3349 ab42b4c)
  • es build: don't transpile import/export statements to require/exports, for better tree shaking (closes #3323) (#3358 3c1866d)
  • form controls: add autofocus prop to all b-form-* controls (#3341 e7eb1b4)
  • nuxt module: optimize imports into single import statements (#3325 ef71a3b)
  • types: better type declarations (closes #1976) (#3283 a42abd0)
  • don't warn about multiple Vue instances when testing in JSDOM (closes #3303) (#3315 0caa29b)


Released 2019-05-12

Bug Fixes v2.0.0-rc.20

  • $bvToast,$bvModal: ensure values passed to slots are arrays for Vue.js 2.5.x compatibility (closes #3174) (#3252 f46b5d8)
  • b-nav-item-dropdown: fix disabled state (fixes #3264) (#3266 10d4c4d)
  • b-collapse: is-nav link click behaviour - check if collapse has display: block !important before attempting to close collapse (#3199 b0729cc)
  • b-form-input: properly handle out-of-sync values (closes #2657) (#3172 976f9c1)
  • b-modal: exclude document.body when determining return focus element (#3228 092ab2d)
  • b-modal: prevent duplicate key when sending to portal-target (#3235) (5204ad7)
  • b-modal: return focus edge case bug in IE 11 (fixes #3206) (#3207 7ef36c2)
  • b-pagination: use unicode escape sequence for default bookend button text (#3186 dfb6af7)
  • b-toast: use appendChild instead of append for IE 11 support (#3160 be118a9)

Features v2.0.0-rc.20

  • b-dropdown & b-nav-item-dropdown: pass optional scope to default slot & fixes keyboard nav with dropdown forms (#3242 3d1d777)
  • b-button: add prop pill for pill style buttons (#3214 c26298b)
  • config: add option in config to set global tooltip and popover boundary (#3229 00e4fc9)
  • b-dropdown: additional semantic markup optimizations for A11Y (#3196 91d893e)
  • b-modal: use PortalVue for modal placement (#3157 6325528)
  • b-table: make table sort icons configurable via SCSS variables (#3156 a72f134)
  • b-toast: add additional options to global default config (closes #3169) (#3170 b01e01c)
  • v-b-toggle: make targets reactive to updates (closes #3165) (#3167 6eff6d9)
  • console warn if multiple instances of Vue detected (addresses #3040) (#3220 41db3e2)
  • make more component appearance prop defaults globally configurable (closes #3173) (#3175 f7cf28c)
  • types: create more typescript typings, and simplify component/directive/plugin imports. (#3209 50bbe6a)


Released 2019-04-21

Bug Fixes v2.0.0-rc.19

  • b-link: ensure href prop is not passed to router-links (fixes #3066) (#3084 f679c11)
  • b-col, b-form-group: implement self overwriting lazy props getter (fixes: #3080) (#3125 92756bd)
  • b-form-textarea: improve auto-row height calculation timing (closes #3103) (#3105 dfc662e)
  • b-modal: clear internal return_focus after modal closes (fixes #3067) (#3068 971556f)
  • b-modal: ensure that v-model is updated when show or hide is canceled (#3131 6726a33)
  • b-modal: fix close on click-out for IE 11 (#3117 9b09e52)
  • b-modal: handle HMR when defining property on Vue prototype (#3123 a4e7f21)
  • b-tab: don't use aria-expanded on the panel (#3143 381eacf)
  • b-table: prevent hover style on busy/empty row (closes #3079) (#3086 c53ffd4)
  • utils: improve dom, env, inspect and test utils (#3085 bd85049)
  • nuxt module: ensure that css and transpile are arrays (fixes: #3141) (#3142 239da77)
  • docs: improve <b-modal> prevent closing example (#3054 f609316)
  • docs: improve code highlighting + table styles (#3078 d4b9895)
  • docs: overall improvements (#3129 be53376)

Features v2.0.0-rc.19

  • b-dropdown: use semantic <ul> and <li> markup (closes #3072) (#3087 58ad66b)
  • b-form-checkbox, b-form-radio: add aria-labelledby prop (closes: #3139) (#3140 f82f566)
  • b-form-group: make aria-live attribute on feedback configurable (closes #3057) (#3058 6161b8a)
  • b-modal: support for optionally scoped slots and new Vue.prototype.$bvModal helper (#3056 b647830)
  • b-table: add new prop table-class for applying classes to table root element (closes #3138) (#3148 5deb5db)
  • b-tabs: add fill, justified and active-class props (closes #3053, #2518) (#3061 b6557ad)
  • b-toast: add Bootstrap v4.3 Toasts (#3093 c31b4ff)
  • b-toast: updates to toaster SCSS and structure and enable hover-pause (#3135 263f206)
  • docs/playground: add support for exporting to CodePen and CodeSandbox (#3071 ccb1614)

Notes v2.0.0-rc.19

  • Removed built in polyfills (hack) for Mutation Observer. IE 11 users should include the appropriate polyfills as mentioned in the getting started docs page.


Released 2019-04-08

Bug Fixes v2.0.0-rc.18

Features v2.0.0-rc.18


Released 2019-04-07

Bug Fixes v2.0.0-rc.17

  • breadcrumb-item: remove attribute role="presentation" for better ARIA support (#2991) (e84c4a7)
  • docs: add back missing leading slash to search urls (#2947) (fff8795)
  • docs: fix component plugin's included plugins and directives (#2966) (cbf24c3)
  • docs: fix issue with table docs page (closes #2939) (#2940) (c6abfd0)
  • env: check for undefined on process (closes #2958) (#2959) (0c3a7b0)
  • form-group: don't render aria-labelledby on group when label-for provided (fixes #2933) (#2936) (8058c03)
  • form-textarea: improved computedHeight calculation when in auto resize mode (#3012) (0043b92)
  • link: support handling multiple click event listeners (fixes #2938) (#2943) (97e8ece)
  • modal: prevent close on backdrop when click initiated inside modal content (fixes #3025) (#3029) (ad57e8c)
  • modal: prevent page scroll as modal opens (#2963) (3bf3622)
  • modal: improve stacked modal z-index calculations (closes #3015) (#3017) (891e8cc)
  • pagination: reset to page 1 when total-rows or per-page changes (closes #2987) (#2993) (df2e77a)
  • pagination-nav: better current page detection in IE (#3006) (f742aa9)
  • tooltip/popover: prevent double show/shown event emits when .sync modifier used (fixes #1637) (#3001) (0d3599a)
  • utils/get: handle case when nested value is falsy (#2982) (40f6cb7)
  • v-b-toggle/b-collapse: ensure toggle remains in sync with collapse (Closes #3020) (#3021) (6b36d0d)

Features v2.0.0-rc.17

  • docs: algolia powered search (#2952) (0417f7b)
  • modal: auto return focus to trigger element using previous document.activeElement if no return focus element provided (#3033) (e5c0aa5)
  • modal: subclass BvEvent as BvModalEvent for modal specific properties (#3024) (502eba9)
  • table: add TypeScript definitions for table fields (#2867) (436e8c1)
  • v-b-scrollspy: support when vue-router is in hash based route mode (closes #2722) (#2953) (a713dd4)


Released 2019-03-28

Bug Fixes v2.0.0-rc.16

  • collapse/toggle: persist toggle state on element and prevent multiple state emits (closes #2923) (#2924) (6f899fc)
  • docs: drop self-closing tags + build system improvements (fixes #2882) (#2893) (310c7dc)
  • dropdown: fix no-caret prop when dropleft (fixes #2909) (#2910) (3bef981)
  • table: fix broken aria-labels for sortable columns + break out code into additional mixins + tests (#2884) (ddc2006)
  • table: fix range selection (#2865) (da49558)
  • table: fix SSR mismatch errors (#2897) (6c1940d)
  • utils/dom: update closest routine to support SVG (#2901) (9d4408d)

Features v2.0.0-rc.16

  • add BOOTSTRAP_VUE_NO_WARN environment variable to hide warnings (#2826) (44d0351)
  • alert: remove need for custom CSS for fade transition (#2925) (0910b22)
  • carousel: add no-hover-pause prop (#2888) (8a503ec)
  • core: create configurable base global configuration (#2905) (8018bdf)
  • form-checkbox/radio: allow no label in plain mode (fixes #2911) (#2912) (6f38d9d)
  • form-file: add in prop and scoped slot for formatting selected file names (#2902) (f53b5f8)
  • forms: new b-form-datalist helper component (#2899) (e9a8e85)
  • table: add basic keyboard nav when table has row-clicked handler or is selectable (closes #2869) (#2870) (ddcd66a)


Released: 2019-03-18

Bug Fixes v2.0.0-rc.15

  • carousel: fix touchmove handler to re-enable swipe gestures (#2844) (a067f8c)
  • form-radio/form-checkbox: ensure required prop propagated in group mode (fixes #2839) (#2842) (fc24589)
  • pagination-nav: fix race condition with clicking prev/next buttons (#2834) (42f14e1)
  • table: allow string for pagination prop types (#2824) (31d2044)
  • table: don't emit row-clicked when user is selecting text (Closes #2791) (ecf0689)
  • util/loose-equal: handle comparing sparse arrays (#2813) (6ac8ade)
  • utils/get: handle cases when field value is not array or object (closes #2807) (#2808) (c656fa3)
  • utils/observeDom: make sure to check for browser environment (#2838) (8471f31)

Features v2.0.0-rc.15

  • docs: get recommended Vue.js and Bootstrap version from package.json (#2840) (3a6702e)
  • pagination-nav: auto-detect current page based on $route/URL. Add support array of links (#2836) (65e12f8)
  • table: new option to disable footer sorting (#2802) (bc443a3)


Released: 2019-03-08

Bug Fixes v2.0.0-rc.14

  • docs: correct and validate component meta information (#2665) (#2650) (29147ca)
  • dom-utils: check for el.classList existence (#2713) (#2714) (4ff8b05)
  • form-file: fix v-model update watcher (#2695) (abf9d6e)
  • form-input: allow number type for form-inputs via form-text mixin (#2738) (ec91788)
  • modal: modal stacking position fix (#2677) (#2681) (ff4c4c9)
  • nav-item: move listeners to link element (#2755) (40b19a7)
  • nuxt-module: fix default inclusion of CSS files (#2629) (#2701) (afbb650)
  • pagination: avoid using domProps innerText (#2744) (#2757) (d10f804)
  • pagination: correct pagination props/slots/event docs and fix ellipsis slot (#2699) (25e04e1)
  • radio/check group: remove redundant size class from the group container (#2743) (#2761) (0639588)
  • tabs: fix initial value handling (#2656) (#2661) (2708c74)
  • tabs: prevent double input event on mount, and add additional tests (#2748) (c462e0a)
  • util/html: ensure argument is a string (#2770) (#2775) (356247f)
  • utils: add back array notation support to get() util (#2689) (9e824a5)
  • utils: make looseEqual() util compliant with Vue.js spec (#2651) (1b6a994)

Features v2.0.0-rc.14

  • card-img-lazy: new card-img-lazy sub-component (#2647) (d2e1f8a)
  • docs: add heading anchor links (#2698) (fd6cbef)
  • form-checkbox/radio: code improvements, test suites, and docs update (#2718) (#2721) (285a2e1)
  • form-input: Added support for datalists to text form-inputs (#2781) (0339ad8)
  • form-textarea: add noAutoShrink prop (#2664) (#2666) (a29c40c)
  • modal: add modal-backdrop slot (#2688) (ce18ffd)
  • modal: add toggle method and root event (#2708) (#2709) (f67218e)
  • modal: add variant prop for header close button (#2765) (b7e95d9)
  • nuxt-module: add tree-shaking support to Nuxt module (#2654) (9aaf32f)
  • table: add IDs to tbody > tr elements if primary-key provided (#2693) (#2694) (3d72404)
  • table: added thead-top slot to table (#2489) (#2653) (fbb549c)
  • table: better default rendering of unformatted object values (#2733) (ee84672)
  • table: make some slots available either as scoped or unscoped (#2740) (ab7937e)
  • util/get, table: handle edge case where user has dot in actual item data field key (Closes (#2762) (#2764) (ee52844)

Performance Improvements v2.0.0-rc.14

  • table: minor tweaks to primary key usage (#2741) (d083385)


Released: 2019-02-18

Bug Fixes v2.0.0-rc.13

Features v2.0.0-rc.13

  • forms: add state prop to invalid and valid feedback + docs update (#2611) (9df8dac)
  • nuxt: module improvements (#2593) (0795fea)
  • table: add support for scoped empty slots (#2641) (7917557)
  • table: don't show empty row slot if table busy and busy slot provided (#2565) (#2572) (6fd31a4)


Released: (2019-02-14)

Bug Fixes v2.0.0-rc.12

Features v2.0.0-rc.12

  • breadcrumb-link: support html (#2522) (c2ee63e)
  • build: replace uglify-es with terser (#2238) (bd95ad8)
  • button: Make button tag configurable (#1929) (afcadd9)
  • card: include custom styles for card-img-left and card-img-right (#2292) (a72d494)
  • card: new helper sub-components (#2375) (ff25314)
  • card: support left and right image placement (#1981) (66194a6)
  • carousel: add support for swipe on touch screens (#2409) (46a6763)
  • carousel: support crossfade animation (#2406) (15d8a2c)
  • carousel: use provide and inject for sub-component communication (#2407) (7f92318)
  • css: create SCSS versions of CSS (#2218) (d6ba6db)
  • css: Add SCSS support (#2201) (#2221) (f8326a2)
  • docs: Allow sub-components to show reference info for slots and events (#2132) (52c960b)
  • docs: conditionally load babel-standalone only on browsers that need transpilation (#2294) (1578732)
  • docs: Improve code example markup and prettier integration (#2440) (74ad932)
  • docs: Prettify with prettier (#2427) (9463138)
  • docs: use babel-standalone in playground/v-play to support IE (#2286) (46f8d4b)
  • dropdown: support 'href', 'to' and 'variant' in split button mode (#1960) (#2301) (31b7d19)
  • dropdown: support for form controls and free flow text (#2434) (7e8a2d5)
  • dropdown: use provide and inject (#2431) (3df90ea)
  • dropdown: Add dropright and dropleft direction support (#2117) (#2108 (e186639)
  • form-checkbox: support custom switch styling (#2293) (3508ea2)
  • form-file: reset file input when value set to null or empty string (#2170) (ab44375)
  • form-group: Add multiple breakpoint support for label (#2230) (#2258) (5e453f9)
  • form-input: initial SCSS file (#2217) (923d20b)
  • form-input: support custom-range input + validation and input styles (#2120) (013a737)
  • form-input: Use new form-text mixin and add trim and number modifiers (#2204) (3c9936e)
  • form-radio-check: migrate to using provide/inject, add inline props (#2241) (c0a68d5)
  • form-select: Expose focus and blur methods (#2237) (#2257) (ded7679)
  • forms: add form prop to all inputs (#2154) (#2172) (6009d72)
  • forms: add support for tooltip-style feedback text (#2188) (5203436)
  • link: Add support for nuxt-link (#2384) (4bd462a)
  • list-group: support horizontal layout (#2536) (10fa210)
  • modal: add 'aria-modal="true"' to modal when open (#2314) (dbf4920)
  • modal: Add dialogClass prop (#2465) (34ae267)
  • modal: add support for scrollable modal dialog content (#2535) (5c01faf)
  • modal: Make stackable optional (#2259) (2322044)
  • modal: Support multiple modals open at once (#2164) (2709902)
  • pagination: added slots for first, prev, next, last, and ellipsis (#1870) (#1980) (1b7e7de)
  • popover/tooltip: Add boundaryPadding prop to override Popper.js default padding (#2475) (c8ad487)
  • security: Strip HTML script tags before inserting content into DOM (#1974) (#1665) (#2129) (#2134) (#1931) (6dde0cb) (ba6f3f8)
  • security: strip html tags (#2479) (3c6ba3e)
  • spinner: Support Bootstrap v4.2 spinner component (#2306) (bf3994f)
  • table: "Debounce" providerFunction and refresh methods (#2393) (d5f0462)
  • table: add borderless prop (#2300) (dabe150)
  • table: Add row-unhovered event (#1874) (a87cad1)
  • table: add support for transitions on tbody element (#1821) (#2450) (91514af)
  • table: add table row middle click (auxclicked) event (#2425) (23250a2)
  • table: Add table-busy slot for loading status (#1859) (#2196) (a654a61)
  • table: create initial SCSS file (#2216) (db0b483)
  • switch to PascalCase name for all components (#2305) (6179e61)
  • table: pass sortDesc to user provided sortCompare routine (#1994) (a8e4103)
  • table: Remove need to add click.stop on inputs/links/buttons inside rows (#2214) (7d8662b)
  • table: Add support for selectable rows (#1790) (#2260) (5b1cb90)
  • table: Split computedItems into multiple methods (#1893) (bb1c550)
  • table: Support contextmenu event binding for table rows (#2064) (1eced46)
  • table: Support sorting on nested object properties (#1868) (b699e4b)

Performance Improvements v2.0.0-rc.12

  • events: use passive event listeners where possible (#2435) (a01dee4)
  • modal: Get scrollbar width just before modal opens rather than mount (#1800) (#2165) (e1729b4)
  • modal: optimize model.resetScrollbar (#1831) (#1837) (a622358)
  • pkg: remove lodash dependency from src (#2523) (b34ada3)
  • progress: use provide and inject for inter component communication (#2540) (80b7e5f)
  • utils/dom: use passive event listeners where possible (#2419) (78fe776)
  • only call vueUse in main index.js entrypoint (#2542) (c0d469b)


Released: 2018-05-20

Bug Fixes v2.0.0-rc.11

  • form-input: force update formatted value (#1845) (497cc6e)


Released: 2018-05-17

Bug Fixes v2.0.0-rc.10

Features v2.0.0-rc.10


Released: 2018-04-27

Bug Fixes v2.0.0-rc.9

Features v2.0.0-rc.9

  • table: support custom attributes per table cell in a column (#1760) (fc083e5)


Released: 2018-04-17

Bug Fixes v2.0.0-rc.8

  • docs: fix table refresh event name (#1692) (01e223c)
  • default export in TypeScript definitions (cd7e310)


Released: 2018-04-16

Bug Fixes v2.0.0-rc.7

Features v2.0.0-rc.7

  • add basic typescript declarations (#1721) (3c040f0)
  • form-input: add step, min and max props for use with number type (40ff380)
  • table: support custom classes per table cell in a column (d05d6b6)
  • tabs: add key nav prop like button toolbar has (#1733) (bc3b82b)
  • tabs/noNavStyle: added related prop and check (91c7257)


Released: 2018-04-02

Bug Fixes v2.0.0-rc.6


Released: 2018-04-02

Bug Fixes v2.0.0-rc.5

NOTE Vue 2.5.15 has known issues with card slots. Please upgrade to 2.5.16 or newer versions.


Released: 2018-04-01

Bug Fixes v2.0.0-rc.4

  • build: don't exclude lodash.get (543c3c2)
  • card: pass children instead of default prop to sub-components (63b35e3)

Features v2.0.0-rc.4

  • test: test against multi versions of vue (25d0b13)

Performance Improvements v2.0.0-rc.4

  • docs: only import debounce from lodash (a6abd6d)


Released: 2018-04-01

Bug Fixes v2.0.0-rc.3

  • contributing: Improve the commit guidelines (c506280)
  • modal: Correct the internal btn variable names (301f2e4), closes #1650
  • select: Fix issues with form-select (#1673) (e3336c5), closes #1658
  • table: import lodash.get from "dependencies" (#1697) (4d620a5)

Features v2.0.0-rc.3

  • dropdown, nav-item-dropdown: support menuClass and extraMenuClasses (#1683) (3da5f18)
  • modal: add modalClass property to bModal (#1682) (c7a10ef)
  • table: add field to the table column data cell slots (#1705) (e013d59)

Performance Improvements v2.0.0-rc.3

  • docs: lodash dependency (a02f10d)


Released: 2018-03-06

Features v2.0.0-rc.2

  • popovers / tooltips: Accept an HTMLElement as a valid target (a375452)
  • tab: add title slot (#1586) (724b453)
  • table: Use object's property as a key (#1614) (4464f0a)
  • tooltip: Allow a function as a tooltip target attribute (#1493) (048c3d4)

Bug Fixes v2.0.0-rc.2

  • modal: fix v-b-modal directive unbinding (#1617) (3f6a86a)
  • table: avoid HTML injection in table data (63d8097)
  • table: allow empty labels (5ee0923)
  • table: Ignore BV keys when auto-discovering table fields (#1641) (f56f3e8)
  • select: Always pass selectSize to selects (#1640) (2c725f6)
  • docs: use "prepend" and "append" for input-group (#1593) (5b7ee09)
  • docs: fix splash button styling (11484b3)
  • docs: fix typo in docs (#1555) (c927377)
  • docs: spelling correction in comment (#1568) (e0e4006)
  • polyfill HTMLElement for SSR (d4dd9b3)


Released: 2018-01-25

Bug Fixes v2.0.0-rc.1

  • call removeEventListener on the right element (#1557) (cf2bfca), closes #1391
  • form-group: replace .col-form-legend with .col-form-label (ac2d4dd)
  • input-group: fix dropdown rounded corners. closes #1560. (7df01ff)
  • modal: hide dropdown on click. (#1528) (3ad8a9a)

Performance Improvements v2.0.0-rc.1

  • id mixin: make localId_ a computed field (873b0e7)


Released: 2018-01-23

Full change list

With v2.0.0 release, BootstrapVue is compatible with final stable release of Bootstrap v4.0.0 and beyond.

  • If you are using any custom theme which was based on Bootstrap beta, there may be minor problems to be fixed. Please ensure to review migrate guide.
  • With this release, we have removed majority of CSS fixes. If you are using ES builds, you may have to add a css-loader to make it working probably.
  • input-group-addon API has been changed and left/right changed into prepend/append. Please refer to the docs for more information.

v1.5.0 (2018-01-23)

Features v1.5.0

  • dropdown: add toggleClass prop (#1485) (da16cc0)
  • nav-item-dropdown: add extra-toggle-classes prop with tests and docs. closes #1550. (#1555) (7967018)

v1.4.1 (2018-01-14)

Bug Fixes v1.4.1

  • alert: import button-close in alert with a name matching tag. (#1523) fixes #1522. (51b527f)
  • docs play: prevent duplicate key errors in console output (#1476) (68deee1)
  • dropdown: fix condition for when position-static is applied (#1477) (1717edb)
  • dropdown: fixed aria-labelledby for non-split dropdowns (d597dbc)
  • dropdown: prevent toggle click from closing in collapsed navbar (#1475) (24ef1e6), closes #1474
  • id: fixed check for _uid in client side id generator (#1499) (f3fe0f4)

Performance Improvements v1.4.1


Released: 2017-12-15

Bug Fixes v1.4.0

  • button: allow custom size classes to be passed to the size prop (#1389) (41a46b2)
  • carousel: clear timers on beforeDestroy (fa1c083)
  • carousel: remove un-needed aria- attribute on slides (#1448) (260919f)
  • carousel: uncaught TypeError on empty slides. (#1401) (cadae79)
  • dropdown: use class position-static instead of inline style (#1451) (fc49325)
  • dropdowns: prevent memory leak on destroy (#1392) (839418e), closes #1391
  • form-group: import b-form-row directly from layout (8dcce39)
  • form-radio-group: prepare for Bootstrap v4.beta.3 (39eb237)
  • form-radio-group: prepare for Bootstrap v4.beta.3 (5b659d1)
  • id mixin: set prop type to String (9a6eaa5)
  • list-group: disabled button items (#1444) (c037b38)
  • modal: rounded-top class no longer needed when header variant applied (#1433) (ecf1bf5)
  • modal: update centered modal margins to align with Bootstrap v4.beta.3 update (f7e80a8)
  • table: better custom css specificity for when nesting tables (7acccb9)
  • table: correct fixed-top row scoped slot properties (debf8e2)
  • table: initial busy of true always makes table busy (#1400) (029e4d0), closes #1398
  • detach clickout listener in beforeDestroy (b290cad)
  • table: use stable sort algorithm to prevent SSR issues (#1399) (21b33f2)
  • tooltip+popover: auto-append to .modal-content instead of .modal (#1465) (b53715c), closes #1464
  • remove listenOnRoot handlers in beforeDestroy (e594490)
  • SFC transpilation in es build (#1410) (3ef9572)

Features v1.4.0

  • dropdowns: add boundary prop for controlling placement constraint (#1440) (01498cb)
  • form-group: new label-size prop (b8311e5)
  • form-group: new label-size prop (#1422) (dcffb5c)
  • form-group: new prop for label-class, deprecate prop feedback in favor of invalid-feedback (#1412) (44f13a5)
  • form-group: render label element if prop label-for set + horizontal layout optimizations (#1423) (ce164bf)
  • form-group: set aria-describedby attribute on input if label-for provided (#1431) (6bd12bb)
  • modal: new props for adding classes to header, body and footer (#1462) (bc67a2d)
  • pagination+pagination-nav: remove need for custom active focus style (#1384) (ecd9b6a)
  • table: add responsive stacked table option (#1407) (26c35ba)
  • table: add toggleDetails method to scoped item slots (#1404) (e02fa49)
  • tabs: add name to helper component for better debugging (51ef9e3)
  • tabs: add no-body prop to b-tab (#1385) (af36c0e)
  • tooltip+popover: add boundary element config option (positioning constraint) (#1439) (08fd7ce)
  • tooltip+popover: programmatically disable/enable tooltip or popover (#1387) (c83e0d5)
  • v-b-modal: set role="button" if trigger element is not a button (aa45d3e)
  • v-b-toggle: add role 'button' when trigger is not a button (c2dd2d0)

Performance Improvements v1.4.0

  • dropdowns: use non reactive property to store popper.js instance (#1416) (379d9a8)
  • evaluate slots() once in functional component render functions (#1438) (3c42477)


Released: 2017-11-29

Bug Fixes v1.3.0

  • button: allow custom size classes to be passed to the size prop (#1389) (96fb934)
  • carousel: clear timers on beforeDestroy (53ea1b4)
  • carousel: uncaught TypeError on empty slides (#1401) (a2ee9b6)
  • dropdowns: prevent memory leak on destroy (#1392) (05a5c50), closes #1391
  • form-group: import b-form-row directly from layout (b43d7c8)
  • id mixin: set prop type to String (37ab5cb)
  • table: better custom css specificity for when nesting tables (4a2d121)
  • table: correct fixed-top row scoped slot properties (7e042f1)
  • table: initial busy of true always makes table busy (#1400) (5daa0df), closes #1398
  • table: use stable sort algorithm to prevent SSR issues (#1399) (552c438)
  • detach clickout listener in beforeDestroy (89618de)
  • detach listenOnRoot handlers in beforeDestroy (7f7eba1)
  • SFC transpilation in es build (#1410) (ce80809)

Features v1.3.0

  • form-group: new prop for label-class, deprecate prop feedback in favor of invalid-feedback (#1412) (7d61cb4)
  • pagination+pagination-nav: remove need for custom active focus style (#1384) (1e1b099)
  • table: add responsive stacked table option (#1407) (df23115)
  • table: add toggleDetails method to scoped item slots (#1404) (a9c4b7d)
  • tabs: add name to helper component for better debugging (51ef9e3)
  • tabs: add no-body prop to b-tab (#1385) (ef3ff06)
  • tooltip+popover: programmatically disable/enable tooltip or popover (#1387) (8104cb4)


Released: 2017-11-20

Bug Fixes v1.2.0

  • ci: auto deploy docs from master branch (22e432d)
  • form-file: invalid/valid feedback display for plain file input missing in Bootstrap v4 (#1373) (85ab0d0)
  • form-textarea: initial value population (#1370) (a08a46e), closes #1368
  • table: fix outlined table (e81b107)
  • tabs: lazy prop regression (#1372) (844cd81), closes #1371

Features v1.2.0

  • modal: fix for overflowing centered modal to scroll (#1363) (3b3ba32)
  • pagination+pagination-nav: disabled styling now works in Bootstrap v4.beta.2 (#1381) (d51349f)
  • tabs: vertical tabs + new props for adding classes to inner elements (#1362) (51d0e03)
  • tooltip+popover: ability to programmatically show and hide tooltip and popover (#1366) (360b337)


Released: 2017-11-18

Bug Fixes v1.1.0

  • button-close: switch to slots() from children (#1345) (9c997b7)
  • form-check+radio mixin: pull state from parent group (6845014)
  • form-checkbox: apply form state class to hidden inputs (710369c)
  • form-radio: apply form state to hidden input element (3074ecc)
  • form-textarea: monitor localValue instead of value when calculating lines (9f3439f)
  • input-group: correct input-group right addon via prop (#1317) (061abc5)
  • link: take link out of tab sequence if disabled (#1347) (360588a)
  • link: restore original tabindex when not disabled (cfdf0b9)
  • modal: modal-open body class lost when switching between modals (#1327) (99e146f), closes #1325
  • popover+tooltip: content not restored after hiding all popovers with 'bv::hide::popover' (#1323) (94488c6), closes #1322
  • popover+tooltip: improve blur trigger handling (c08b815)

Features v1.1.0

  • eslint: update settings to remove editor errors (#792) (c33d1d4)
  • form-file: Use label as wrapper element + name-spaced custom CSS (#1353) (e2bc891)
  • form-group: add valid feedback support (#1360) (7f3535b)
  • nuxt: add bvCSS option. resolves #1351. (3a7517f)
  • package: add lint by default for tests (f1ca71e)
  • package: use es build by default (142d517)
  • table: add outlined option (#1355) (7ba183e)
  • table: caption positioning prop (#1341) (7c86e66)

Performance Improvements v1.1.0

  • alert: convert template to render function (#1308) (8b0c7cd)
  • build: reduce minified code size (#1337) (9d0ae3e)
  • button-toolbar: convert template to render function (#1315) (765bfe3)
  • carousel: convert templates to render functions (#1339) (13f429f)
  • collapse: convert template to render function (#1316) (722ea12)
  • dropdowns: convert templates to render functions (#1314) (3168e93)
  • form-checkboxes: convert templates to render functions (#1338) (49bc50b)
  • form-file: convert template to render function (#1329) (ec96f82)
  • form-group: convert template to render function (#1332) (f409392)
  • form-input: convert template to render function (#1330) (12f0423)
  • form-radios: convert templates to render functions (#1336) (3a2aa0a)
  • form-select: convert template to render function (#1333) (9adfc12)
  • add event KeyCode constants in utils (#1346) (714d748)
  • form-textarea: convert template to render function (#1331) (5293e71)
  • img-lazy: convert template to render function (#1309) (1736eb9)
  • modal: convert template to render function (#1340) (bb7ec04)
  • navbar-toggle: convert template to render function (#1313) (88657fb)
  • pagination+pagination-nav: convert templates to render function (#1348) (e04291f)
  • popover: convert template to render function (#1311) (de24eec)
  • progress: convert template to render function (#1312) (20d7d0b)
  • table: convert template to render function (#1350) (6a1ef4f)
  • tabs: convert templates to render functions (#1319) (b45f550)
  • tooltip: convert template to render function (#1310) (c812cb0)


Released: 2017-11-07

Bug Fixes v1.0.2

  • form-file: control size not supported in Bootstrap v4 (#1305) (e9a26cf) Reverts #1304


Released: 2017-11-07

Bug Fixes v1.0.1

  • build: use esm bundle. resolves #1296. (06d40a5)
  • nuxt module: wrong relative path to package.json (#1298) (e766e75)
  • form-file missing formSizeMixin (#1304)


Released: 2017-11-05

Version v1.0.0 marks BootstrapVue's departure from the beta development phase.

BootstrapVue v1.0.0 is based on the latest Bootstrap v4.0.0-beta.2 CSS, although it should work without major changes when Bootstrap v4.0.0-beta.3 is released.

Notable changes:

  • Support for Bootstrap v4.0.0-beta.2
  • New modularized build structure
  • Dist code now available in es format for simpler importing of individual components
  • Component groups and directives are now importable as Vue plugins
  • <b-table> enhancements
  • <b-modal> improvements and features
  • Tooltip and popover fixes and new positioning options
  • Form invalid-feedback fixes (via new Bootstrap v4.beta.2 CSS)
  • Various fixes/improvements to form controls
  • ARIA improvements
  • Expanded documentation and examples

Breaking Changes v1.0.0

v1.0.0 introduces a new source code structure. For those users that are importing individual components, the path to the individual components has changed. Please reference the GitHub repo and documentation for the new structure and information on importing.

Bug Fixes v1.0.0

  • remove spacing between stacked buttons (554e54a)
  • button: don't overwrite user supplied tabindex if not disabled (#1120) (18f5129)
  • button-close: hardcode &times; character to prevent SSR bailing (b0dd1ba)
  • button-group: Bootstrap v4.beta.2 CSS changes (1b4618f)
  • carousel: minor adjustments to focusout/mouseout event handler (#1239) (330b70b)
  • dom utils: use getBoundingClientRect() to determine element visibility (#1203) (6e2fff4)
  • dropdown: Bootstrap v4.beta.2 now has better hover/focus styling (#1224) (0b8bc67)
  • form-checkbox-group: support changes to button styles (431eb02)
  • form-checkbox-group: import b-form-checkbox (09187ea)
  • form-file: focus styling tweaks (c3bc583)
  • form-input: Bootstrap v4.beta.2 is missing width:100% on readonly plaintext (#1225) (c37cef4)
  • form-options: handle object special cases (#1099) (1b17df3)
  • form-radio-group: add support for Boolean value (4cafb27)
  • form-radio-group: allow number type for checked (#1089) (8eccdbc) CLoses #1088
  • form-radio-group: support changes to button styles (063e9d8)
  • form-radio-group: fix missing import of b-form-radio (82bb078) Closes #1201
  • form-select: custom select now supports multiple attribute in v4.beta.2 CSS (#1223) (3a4262d)
  • img-lazy: alt tag was being removed when image loaded (f2fb99c) Closes #1179
  • input-group: Bootstrap v4.beta CSS no longer has the has-${state} classes (#1155) (9f4df16)
  • link: Only set attribute aria-disabled when actually disabled (fe2c340)
  • modal: add outer wrapper div, so lazy modals will still have a $ref when hidden (7f7e6a7) Closes #1186
  • modal: ensure body scrollbar is removed if modal destroyed before being closed (#1168) (e0a4444) Closes #1167
  • modal: modal jumps when dialog height changes (#1182) (126fe95)
  • nav-item-dropdown: fix disabled in toggleClasses (#1123) (aabc54d) vue/bootstrap-vue/issues/1228)) (87cfab4)
  • pagination-nav: ARIA tabing control (92d0810)
  • progress: apply height style correctly (675c1c9)
  • progress: Bootstrap v4.beta.2 CSS height prop change (#1217) (a963ea3), closes #1216
  • progress: Bootstrap v4.beta.2 missing progress bar transition (1f1064f)
  • table: don't startcase field label when label explicitly given (76a511f) Closes #1142
  • tabs: apply small class to parent ul.nav (#1248) (42f8a78)
  • tooltip: emit correct $root event name (87e5eb2) Closes #1094
  • tooltip+popover: prevent orphaned tooltip/popover div's (f8cdf26) Closes #1208
  • package.json: move Bootstrap back to devDep and update popper.js version ([#1228](

Features v1.0.0

  • make components & directives available as Vue plugins (13d9a42)
  • new file structure and es build (6cfcd54)
  • badge: support actionable (link) badges (#1226) (ba2b5b4)
  • card: add prop body-class (#1250) (23fc3be) Closes 1249
  • col: column offsets are now back with the release Bootstrap v4.0-.0-beta.2
  • docs: various expanded examples and additions
  • dropdown: optionally hide the dropdown toggle caret (#1197) (960877c)
  • dropdown: allow space and cursor down to trigger opening of menus (#1159) (1249f51)
  • form-group: switch to fieldset + legend for better semantic markup and ARIA support (#1129) (7a62b75)
  • form-radio + form-checkbox: prep for Bootstrap v4.beta.3 plain checkbox/radio validation styling (81989ab)
  • form-select: emit change event on user interaction (3cc0f05) Closes #959
  • modal: add Bootstrap v4 anticipated vertically centered modal (#1246) (4a8ce2c)
  • navbar-nav: new b-navbar-nav component (#1231) (4bdba0e)
  • packaging: add nuxt module (4c58c80)
  • pagination: better keyboard tab support + focus styling (42b31da)
  • pagination-nav: better tab/focus management (adf8dcc)
  • table: allow custom attributes in table cell (td) (#1193) (485adbf)
  • table: Bootstrap v4.beta.2 new responsive breakpoints and table-dark class (#1222) (febdfd1)
  • table: pass computed fields array to details scoped slot (0745ae8)
  • tabs: new props for adding classes to nav tab (c6d3642) Closes #1265
  • tooltip popover: don't close if focus moves between trigger element and tooltip/popover (#1093) (87ffb4f)
  • tooltip+popover: allow delay to be specified as object in component versions (#1131) (1a47c87) Closes #1130

Documentation v1.0.0

  • various typo fixes in docs
  • link: Document the <b-link> component (7e4dd97)

Performance v1.0.0

  • move repetitive plugin code to plugin.js utility (6ba8c46)
  • dom-utils: improve DOM utils code for speed, minification & tree-shaking (e1e701b)
  • input-group: convert to functional component (bd4c3c3)
  • navbar-toggle: remove unused code (1e95383)


Released: 2017-09-21


Released: 2017-09-21

Breaking Changes v1.0.0-beta.8

v1.0.0-beta.8 introduces many improvements to form controls, but introduces a breaking change to radio inputs. <b-form-radio> now only generates a single radio input. Use <b-form-radio-group> to generate a series of radio inputs.

Bug Fixes v1.0.0-beta.8

  • b-col: handle bool style prop for sm,md,lg,xl (#1042) (3e7e17d), closes #1041
  • carousel: Prevent reflow trigger from being optimized out (#995) (d765976)
  • docs: Adjust source link if component is a functional component (9cc07a7)
  • docs: b-img fluid-grow example (fe32515)
  • docs: Fix modal-cancel slot name in meta.json (a8772ac)
  • docs: Fix reference to modal-cancel slot in modal docs (5747c6d)
  • dropdown: remove custom hover styling (9c9c3bb)
  • embed: Validate type prop (993116b)
  • form-file: Selected file name(s) not always showing (565b0ab)
  • form-group: Not applying label-for prop value (#1000) (56a4e5e)
  • form-textarea: correct CSS value for no resize (b9bff5e)
  • form-textarea: Set width to 100% if in plaintext mode (01735e6)
  • jumbotron: Accept string or number for header-level (ff223a8)
  • form-group: Missing return in target ID selection (3323531)
  • link: clear router-link/href collision and remove old link mixin (#1016) (ed381f4), closes #940
  • link: working href with router-link on ssr (8a6f243)
  • modal: Fix aria hidden attr and observeDom target element (f099ac7)
  • modal: fix issue with lazy loading (7557f52)
  • modal: Minor bug fixes (6cfc682)
  • nav-item-dropdown: remove custom hover styling (c794fef)
  • nav-toggle: Use new namespaced collapse events (6f87c23)
  • object mixin: Add polyfill for IE (beed2c3)
  • observe-dom: Adjustments to mutation type detection (75e92d3)
  • observe-dom: Callback not being called for changes other than childList changes (#1025) (88cfaef)
  • observe-dom: Callback not being called for changes other than node insert/remove (92ef7eb)
  • popover: getting title from title attribute (685de6a)
  • popover: remove deprecated target-id prop (472fa79)
  • popover+tooltip: Allow individual component imports (#999) (dcc7504)
  • radios checkboxes: Parent group should emit change event (#1071) (ac7c506)
  • scrollspy: fixes for various bugs (#1063) (97fccdd)
  • scrollspy: Handle .nav-link inside .nav-item active state (6db094d)
  • scrollspy: Handle nested nav-links when inside nav-item (#1068) (f4e017c)
  • scrollspy: Minor updates (ce15b69)
  • scrollspy: Minor updates (95f0840)
  • scrollspy: Trigger refresh on transitionend event (947b5e0)
  • scrollspy: typo (ec36379)
  • scrollspy: Use new offset and position dom utilities (dc68eef)
  • tabs: Remove aria-expanded in favor of aria-selected (5790b39)
  • tooltip: remove deprecated target-id prop (a06d5a6)
  • Add lodash.startcase to dependencies (febecfc)
  • tooltip popover: illegal invocation errors when tooltip inside v-if elements (#1057) (c1353a7), closes #1032
  • tooltip-popover: Click not triggered for elements with inner HTML elements in Chrome (#1006) (39caf8a)
  • tooltip+popover: Check if trigger element is in DOM during visibility check (55c4ff0)
  • tooltip+popover: Remove relatedTarget on hidden event object (8af36ba)

Features v1.0.0-beta.8

  • docs: Add a new reference section (#1050) (7984117)
  • docs: Add aria roles to collapse accordion example (2a34407)
  • docs: Add TOC section in right hand column (#1077) (b9d15f8)
  • docs: Expanded alert docs and examples (f1730ee)
  • docs: Hide TOC sub-sections when not active (9d5a626)
  • docs: New reference section wrt project relative urls and image based BootstrapVue components (#1072) (7809fb2)
  • docs: search support (7916981)
  • docs: starter examples (#1061) (dfc615f)
  • docs: TOC add scroll into view support (d72f87a)
  • docs: Updated b-img examples (3ec187a)
  • dom util: new reflow, getBoundingClientRect, eventOn, eventOff methods (#1052) (346112d)
  • Use dom utils (#1017) (5ca9fe3)
  • dom utils: Add getById method (d73ff01)
  • dom utils: Add offset and position methods (baf15ca)
  • dropdowns: Add hide() and show() methods (#1012) (a2a9bc4)
  • embed: New component b-embed for responsive video embeds (#985) (e29c429)
  • form-file: Add focus styling for custom-file input (#1033) (72ffba9)
  • form-input: emit input event when lazy-formatter is true (#1086) (016591c)
  • forms: New handling of form-select, form-radios and form-checkboxes (#994) (0a50398), closes #940 #940
  • modal: Add lazy loaded modal support (#1046) (7afcf81)
  • modal: Add props to change the variant of the default modal buttons (#1004) (36acf4e)
  • modal: Improve modal transitions, padding adjustments, and additional features (#1024) (dd5ddb0)
  • nav-item-dropdown: Add shorter aliases (8986543)
  • popover: Add deactivated hook to component to hide popover (4a70215)
  • popover+tooltip: Add hide event listener on $root (#1003) (6b12629)
  • table: Allow fields to be an array of objects (#1075) (e2f90ff)
  • table: New fixed prop, allow disable localSort, emit context-changed event, and style tweaks (#1076) (4447c7c)
  • table: Refactor field formatter support + optimized sort-compare handling (#991) (b66f994)
  • tooltip: Add deactivated hook to component (ae605d3)
  • tooltip popover: Better DOM change observation in component versions (f723807)
  • tooltip+popover: Add container prop to component versions (#983) (860cb3c)
  • tooltip+popover: Create mixin for common props and methods (#1021) (edc7b20)
  • tooltip+popover: Eight new placement options (#1081) (dae7855)
  • dom utility methods (#1013) (7ed199d)
  • use babel (5e653e6)

Performance Improvements v1.0.0-beta.8


Released: 2017-09-01

Bug Fixes v1.0.0-beta.7

  • docs: Fix examples in b-img (7607a00)
  • docs: Fix multiple collapse example (65ba276)
  • dropdowns: Minor code update & comments (54a2546)
  • form-textarea: Max rows not respected if rows specified (4762471)
  • nav-dropdown: Fix right alignment in (#962) (9598763)
  • scrollspy: Undefined value during bind() (#967) (5c35e07)
  • tooltip+popover: Hide original element title attribute (#970) (82e46e6)
  • tooltip: ToolTip.fixTransition undefined value (#960) (3c457e7), closes #956
  • tooltip: visibility check (df4a015)
  • tooltip+popover: Hide tooltip/popover when $route changes (#965) (e403225)
  • this is not defined in props (fe4ff06)
  • tooltip+popover components: Delay instantiation on mounted() (#969) (4fc18ec)
  • tooltip+popover components: Emit events and minor adjustments (#972) (cf7c538)

Features v1.0.0-beta.7

  • b-img-lazy: Lazy loaded image component (#943) (68138cb)
  • docs: Add accessibility information for popovers (099b1b6)
  • docs: Additional tooltip component usage docs (d8bf486)
  • docs: expanded popover component docs (9f5dd75)
  • docs: Expanded popover component docs (ccd1c7c)
  • docs: Tooltip component documentation update (c6b04a6)
  • docs: Update tooltip directive example (72a37b3)
  • docs: Updated popover directive examples (3adbcb5)
  • jumbotron: Add support for variants (#973) (bd9bb7c)
  • popover: Add ability to disable fade animation in component version (7161b5f)
  • tooltip: Add ability to disable fade animation in component version (36c428a)
  • tooltip+popover: Allow element and component reference for target (#980) (8785066)
  • tooltips+popovers: Add special blur "exit" trigger (#974) (785b7a6)
  • tooltips+popovers: Automatically hide when trigger element is no longer visible (#978) (09eaaa2)


Released: 2017-08-30

Bug Fixes v1.0.0-beta.6

  • alert: show dismiss button when dismissible is true (590cead)
  • docs: feedback doc in form group (#934) (45881bb)
  • docs: Side bar navigation not accessible on small screens (#946) (4666b37)
  • dropdown: hover/focus shading for active items (b2b6ad9)
  • dropdowns: Allow graceful fallback if Popper.js not defined (#920) (41b5947)
  • dropdowns: Migration to popper.js positioning (#913) (116cb3e)
  • form-textarea: Fix value reactivity (aeb11be)
  • nav-item-dropdown: hover/focus shading for active items (5bd2b23)
  • popover: tooltip import (8a75d10)
  • popover: Remove old tether popover mixin (#947) (e500836)
  • progress-bar: aria-valuenow fix (f0b486e)
  • progress-bar: Minor adjustment to style calculation (14819ef)
  • progress-bar: remove unnecessary this in template (c04df8c)
  • scrollspy: Make work with new nav-link functional component (#909) (2ebba5d)
  • tabs: minor logic update (add0fb6)
  • tabs: Show first tab when set to active (#912) (d920b1c)

Features v1.0.0-beta.6

  • b-col: restore .offset-* col classes + new b-container and b-row components 🍾🍻🎉 (#929) (023f078)
  • b-img: New component (#933) (c4358e0)
  • carousel: Use b-img component and id Mixin (#945) (d95321b)
  • col: Bootstrap v4 column component (#906) (9de80f8)
  • docs: Improved collapse examples and documentation (541fada)
  • img: Add 'block' prop to set display mode to block (6be7390)
  • jumbotron: Convert to functional component (#932) (5f2df53)
  • layout: alignment utilities 🛠 (#941) (3435ac5)
  • popover: import fix (b24764f)
  • readme: add package quality badge (#907) (6bd9f52)
  • New popper.js based tooltip/popover directives and components (#923) (33c4cab)
  • table: easier usage (019f8fa)
  • table: Scoped slots for fixed top/bottom rows (#908) (3c761e2)
  • table: use computedFields for easier usage (b9980f0)


Released: 2017-08-21

Bug Fixes v1.0.0-beta.5

  • alert: Emit dismiss-count-down at 0 seconds (#839) (8dc90bb)
  • alert: Fix auto-dismissing alert "bug" (#897) (eccd63e)
  • badge: badge default variant (1403ec4)
  • badge: Default variant changed (8d3be9e)
  • badge: Default variant no longer exists in v4.beta (#875) (5fc14d2)
  • card: change prop no-block to no-body (#826) (664bc98)
  • card: Fix classes, variants, borders [v4-beta] (#815) (fc26811)
  • carousel: boolean typo (6a95410)
  • carousel: Detect transitionend event name (fa07949)
  • carousel: Ensure slideshow restarts when reaching the end (e175c36)
  • carousel: ESLint (8222222)
  • carousel: Handle older opera oTransitionEnd event (#899) (5afb591)
  • carousel: minor fixes (6b4f497)
  • carousel: oldVal! (3ae2e2e)
  • carousel: Typo (4c80576)
  • carousel: Typo in transition (9693872)
  • carousel: Ensure minimum interval of 1 second (467ec27)
  • docs: Minor update to navbar example (4a62e1b)
  • dropdown: Fix focus/hover custom CSS (0cbbfb5)
  • dropdown: focus on first item on show (40a1347)
  • dropdown: twbs/bootstrap#23329 (fab5d22)
  • dropdown.js: import clickout as a mixin (#896) (1ba47e5)
  • dropdowns: Focus dropdown item on hover (#823) (2e863d9)
  • form-control-static: change class to form-control-plaintext (66eda01)
  • form-group: use new prop labelCols over old computedLabelCols (#878) (b6aa317)
  • form-input: Fix reactivity (issue #817) (88e2dbb)
  • form-input: use :value instead of v-model (fcff25d)
  • form-textarea: not respecting rows when max-rows provided (e8bf4b3)
  • forms: Adjustments to form-textarea and form-input (#880) (79a7aa8)
  • forms: Bootstrap v4.beta form/input validation styles & components (#847) (00e2b6f)
  • link: default href to null (716ce45)
  • link: ensure target is vue component before #emit (200f31b)
  • link: if nothing is provided default href to # (86533fa)
  • nav-item-dropdown: add show class (921dac5)
  • nav-item-dropdown: Fix focus/hover custom CSS (e38576c)
  • navbar: breakpoint control (72cd58d)
  • navbar: breakpoint not working (42ca902)
  • navbar-brand: fix pluckProps call for link (9dadfbc)
  • pagination: Change classes from .hidden-_ to .d-_ (#840) (0f543a1)
  • pagination-nav: Fix link-gen and page-gen (6746cb1)
  • pagination-nav: Update v-model on click (188adea)
  • progress: make progress-bar respect parent show-* props (9fc726d)
  • table: filtered event not firing when filter cleared (issue #859) (#863) (8ff2623)
  • table: fix for row-hovered event (2448666)
  • table: Sorting directions & arrows (de1de97)
  • table: workaround for Vue 2.4 SSR rendering bug (dc8d238)
  • tabs: Better handling of active tab and transitions (#903) (d5b81dd)
  • tabs: update to use card-block (d881c37)

Features v1.0.0-beta.5

  • addEventListenerOnce: add to utils (0869ffd)
  • addEventListenerOnce: New utility function (6b4efdf)
  • badge: functional component (#820) (8c172c1)
  • btn-group: functional component for button-group (#822) (6891e9f)
  • button: set light as default variant (2a72576)
  • card: add card-body functional component & card-img fixes (#843) (f88ab23)
  • card: change card-block to card-body (30d35a7)
  • card: functional components for card (#827) (2089252)
  • carousel: Add img slot to carousel-slide (#879) (9d789e7)
  • carousel: Transition event with setTimeout fallback (8e6fc42)
  • carousel: Use transitionend event instead of setTimeout (192dfb8)
  • docs: prepare for 1.0.0-beta (8e46552)
  • dropdown: Add auto ID generation (#888) (25a20f2)
  • dropdowns: functional dropdown sub-components and testing (#848) (2bd562b)
  • form: Switch to functional component (#865) (c9f054d)
  • form-file: Propagate capture attribute to file input (d7e4f8a)
  • form-row: New functional component (#844) (1e0f313)
  • form-select: add key for v-for (299a2ea)
  • form-text: New functional component (#846) (2ed7470)
  • forms: Auto ID generation client side if no id prop provided (#882) (da39b86)
  • input-group: Add prop tag to change root element type (800add6)
  • list-group: new list-group functional components (#861) (c516d89)
  • media: new functional media components (#872) (91ff681)
  • nav: new functional nav components (#864) (ecec23d)
  • navbar: change navbar-toggleable to navbar-expand-* (1fab033)
  • pagination-nav: New navigation pagination component (#816) (3a4272c)
  • progress: Add height prop (#837) (8a52b93)
  • progress: Support for multiple progress bars (#889) (76c613c)
  • table: Include native event object with row-_ and head-_ events (#892) (92d2794)
  • link, breadcrumb, & button functional components (#830) (cdbef2d)


Released: 2017-08-11

Bug Fixes v0.20.2

  • carousel: Handle changes in slide content (#809) (6949e5f)
  • collapse: Close collapse when clicked in navbar (#803) (3fdfbff)
  • docs: button update example (#804) (fb375aa)
  • form-checkbox: Better focus handling in button mode (06e1c7b)
  • form-radio: Better focus handling in button mode (#801) (a9bfbde)
  • navbar-brand: Removed erroneous this in template (#806) (0842043)
  • table: workaround for Vue 2.4 SSR rendering bug (ab7767f)
  • v-play: disable vue global errorHandler (9a7bdaf)


Released: 2017-08-10


Released: 2017-08-10

Bug Fixes v0.20.0

  • carousel: Unable to reach last slide (3628bcb)
  • docs: broken setup page (9d60069)
  • docs: Minor update to file-input example (763a35a)
  • docs: myToggle0 (a0ef988)
  • docs: serve fonts on https (51209dd)
  • form-input: isTextArea variable name correction (#785) (cb44652)
  • form-radio: Add missing classes in button mode (#779) (ed4f4ef)
  • tabs: Tabs not clickable issue #789) (#790) (c234580)
  • tests: Set jest max workers to 1 (f16fd8d)

Features v0.20.0

  • alert: Hide dismiss button for auto-dismissing alerts (#791) (080bb20)
  • docs: changelog page (b2482cb)
  • table: Add row-dblclicked event (#780) (1aaf915)


Released: 2017-08-09

Bug Fixes v0.19.0

  • alert: add missing colon for binding aria-label (#768) (93b009f)
  • alert: Event args array in meta.json (c9e3fd2)
  • alert: use v-model to update show value (#721) (9b380d0)
  • button: Minor code update (378b932)
  • carousel: Prevent going to slide if transitioning (issue #764) (#765) (a2ab664)
  • collapse: reference to this.$el (eb01295)
  • componentdoc: Typo in required prop (762d088)
  • docs: Adjust header tags CSS specificity (issue #753) (#755) (25280ae)
  • docs: conform args and fix spelling (#659) (ed9906a)
  • docs: fix invalid JSON trailing commas (a635176)
  • docs: Fix typo in _component.vue (b90e92a)
  • docs: typo in button docs (8cd3ea1)
  • docs: update for Bootstrap version (#692) (5165531)
  • docs.vue: Fix link to edit setup doc (#641) (836db33), closes #639
  • dropdown: Clear leftover active state on menu open (fixes #664) (80c1ceb)
  • dropdown: Emit shown and hidden events (issue #757) (814e94c)
  • dropdowns: Change how dropdown items are highlighted (#717) (a02270e)
  • form fieldset: 'label for' prop not being applied to label - ARIA (#669) (aafea81)
  • form-radio: extra this in template (cc4a442)
  • modal: Event args list in meta.json (7b8ce01)
  • modal: meta.json property order consistency (3d204a4)
  • navbar-brand: Refactored component logic (#759) (c752fc8)
  • pagination: Added missing href & ARIA adjustments (#693) (7091262)
  • pagination: Improved ARIA roles and attributes (#741) (b12b06e)
  • popover.js: destroy check for trigger & classes (issue #735) (30fa778)
  • root-listeners: apply listen-on-root mixin to other components (#684) (f2b7b44)
  • scrollspy: Adjust throttle default (3d6eb98)
  • scrollspy: Adjustments to the resizeThrottle scheduler (#640) (bfaef7d)
  • table: aria-labelledby set to header element (e13e093)
  • table: Remove redundant ARIA roles from b-table (#662) (6919cc5)
  • tabs: Default current tab to null (issue #687) (#701) (bc7ca26)
  • toggle: Remove $root listener on unbind (Issue #680) (#698) (ec5000c)

Features v0.19.0

  • button: Add pressed prop to place button in active state (#715) (61a104f)
  • button: refactor toggle button focus handler (#730) (3ab3d89)
  • carousel: Add v-model support (issue #743) (#744) (028eb5f)
  • checkbox: Add indeterminate state prop (#720) (2271e7a)
  • collapse: apply Bootstrap classes during transition stages (issue #565) (#707) (947d253)
  • collapse: Close navbar collapse when clicked in nav/navbar (issue #712) (#714) (f104dc0)
  • Event: standard evt obj emulates native Event (#726) (919344b)
  • form-checkbox: Support button style checkbox (#729) (740d7cb)
  • form-input: Add autocomplete prop (#750) (d686787)
  • form-input: Pass input element to formatter (issue #772) (#773) (da77f15)
  • form-radio: ARIA - Add IDs to individual radios (#663) (1de785e)
  • form-radio: Support button style radios (#728) (c7c150f)
  • form-select: Add multiple select support (issue #619) (#731) (19bf2f5)
  • form-select: Allow selectSize to be set when not in multiple mode (Issue #761) (#762) (6f04090)
  • listen-on-root: Use a constant for private property name (#700) (26c8a3e)
  • modal: Make enforceFocus configurable (#706) (f1ab80b)
  • navbar-brand: New component (#710) (721292c)
  • pagination: Add alignment prop (#745) (a8e83a7)
  • readme: add david dep badge (#724) (435a857)
  • table: add field data formatter prop (#739) (9da94a6)
  • table: Add syncable sort-by and sort-desc props (#742) (c8ad5a3)
  • table: Emit event when local filtering changes number of result items - issue #650 (#652) (1b2a36a)
  • toggle directives: allow simple elements to use directive (#651) (3361911)
  • utils: transpiler friendly polyfills and methods (#658) (2ee9ed6)
  • utils: wrap-up as ES6 module (#656) (b5f7cfc)


Released: 2017-07-04

Bug Fixes v0.18.0

  • docs: Collapse meta.jso typo fix (6191bed)
  • Remove usage of es2015 Array.prototype.includes (#589) (b3fc095)
  • button-toolbar: keynav better element visibility test (5c33b8e)
  • button-toolbar: Typo on property keyNav (#600) (60b1fd8)
  • docs: add root wrapper to templates (ff6432d)
  • docs: Fix ScrollSpy example (0365208)
  • docs: form-radio typo fix (db6d5d7)
  • docs: form-select docs typo fix (630e02f)
  • docs: table example markup (d3d7437)
  • form: Emit native submit on component (#636) (0ba6f94), closes #588
  • form controls: Apply only required props & classes (#609) (c773f79)
  • form-checkbox: Remove duplicate computed prop (f47ab79)
  • form-file: remove inputClass (2415617)
  • form-options: pull out custom text field for object notation (#625) (83cec54), closes #622
  • form-radio: isChecked to work with arrays & non-arrays. (#629) (578d451), closes #623
  • form-radio, form-checkbox: Set autocomplete off (#616) (e127313)
  • modal: use listenOnRoot mixin (#593) (531a6ab)
  • nav-toggle: typo in method name (5e0bb2a)
  • table demo.html: remove deprecated fieldset prop (#630) (18e8547)

Features v0.18.0

  • docs: live demo (#602) (843057e)
  • docs: Native event capturing docs (#605) (c2c200b)
  • dropdowns: Various optimizations for dropdown components (#627) (56d29b0)
  • form controls: Add required attribute and related ARIA support (#613) (3db70a4)
  • form controls: Optimize props (#604) (35a5db6)
  • form-fieldset: Add alias of b-form-group (eebe36d)
  • form-fieldset: label, description, and feedback slots, deprecate label-size (#598) (e253dae)
  • form-input: support aria-invalid attribute (#610) (d676d8f)
  • form-radio: Add support for aria-invalid (#612) (69e449f)
  • form-select: Add aria-invalid support (#611) (1d20f8a)
  • mixin: Automate event registration & removal on root vm (#581) (be5f834)


Released: 2017-06-30

Bug Fixes v0.17.1

  • tooltip: inline-block element for wrappers (#572) (4b680ee)