diff --git a/.bundlewatch.config.json b/.bundlewatch.config.json new file mode 100644 index 00000000000..85681fdf15f --- /dev/null +++ b/.bundlewatch.config.json @@ -0,0 +1,71 @@ +{ + "files": [ + { + "path": "./dist/bootstrap-vue-icons.js", + "maxSize": "240 kB" + }, + { + "path": "./dist/bootstrap-vue-icons.min.js", + "maxSize": "230 kB" + }, + { + "path": "./dist/bootstrap-vue-icons.common.js", + "maxSize": "250 kB" + }, + { + "path": "./dist/bootstrap-vue-icons.common.min.js", + "maxSize": "240 kB" + }, + { + "path": "./dist/bootstrap-vue-icons.esm.js", + "maxSize": "245 kB" + }, + { + "path": "./dist/bootstrap-vue-icons.esm.min.js", + "maxSize": "235 kB" + }, + { + "path": "./dist/bootstrap-vue-icons.css", + "maxSize": "1.5 kB" + }, + { + "path": "./dist/bootstrap-vue-icons.min.css", + "maxSize": "1 kB" + }, + { + "path": "./dist/bootstrap-vue.js", + "maxSize": "240 kB" + }, + { + "path": "./dist/bootstrap-vue.min.js", + "maxSize": "105 kB" + }, + { + "path": "./dist/bootstrap-vue.common.js", + "maxSize": "455 kB" + }, + { + "path": "./dist/bootstrap-vue.common.min.js", + "maxSize": "330 kB" + }, + { + "path": "./dist/bootstrap-vue.esm.js", + "maxSize": "450 kB" + }, + { + "path": "./dist/bootstrap-vue.esm.min.js", + "maxSize": "330 kB" + }, + { + "path": "./dist/bootstrap-vue.css", + "maxSize": "15 kB" + }, + { + "path": "./dist/bootstrap-vue.min.css", + "maxSize": "15 kB" + } + ], + "ci": { + "trackBranches": ["master", "dev"] + } +} diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 68c15216797..00000000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,114 +0,0 @@ -version: 2 - -defaults: &defaults - working_directory: ~/project - docker: - - image: circleci/node:latest - environment: - NODE_ENV: test - NODE_OPTIONS: --max_old_space_size=4096 - -jobs: - # -------------------------------------------------------------------------- - # Phase 1: Setup - # -------------------------------------------------------------------------- - setup: - <<: *defaults - steps: - # Checkout repository - - checkout - - # Restore cache - - restore_cache: - key: lock-{{ checksum "yarn.lock" }} - - # Install dependencies - - run: - name: Install dependencies - command: yarn --frozen-lockfile --non-interactive - - # Save cache - - save_cache: - key: lock-{{ checksum "yarn.lock" }} - paths: - - node_modules - - # Persist workspace - - persist_to_workspace: - root: ~/project - paths: - - node_modules - - # -------------------------------------------------------------------------- - # Phase 2: Lint + Audit + Build Nuxt and fixtures - # -------------------------------------------------------------------------- - lint: - <<: *defaults - steps: - - checkout - - attach_workspace: - at: ~/project - - run: - name: Lint - command: yarn lint - - audit: - <<: *defaults - steps: - - checkout - - attach_workspace: - at: ~/project - - run: - name: Security audit - command: yarn audit - - build: - <<: *defaults - steps: - - checkout - - attach_workspace: - at: ~/project - - run: - name: Build - command: yarn build - - # -------------------------------------------------------------------------- - # Phase 3: Tests - # -------------------------------------------------------------------------- - test: - <<: *defaults - steps: - - checkout - - attach_workspace: - at: ~/project - - run: - name: Tests - command: yarn test -w=2 --coverage && yarn codecov - - # -------------------------------------------------------------------------- - # Phase 4: Publish docs (master branch only) - # -------------------------------------------------------------------------- - docs: - <<: *defaults - steps: - - checkout - - attach_workspace: - at: ~/project - - run: - name: Publish docs - command: yarn docs-publish - -# Workflow definition -workflows: - version: 2 - - # Build and test after each commit - commit: - jobs: - - setup - - lint: { requires: [setup] } - # - audit: { requires: [setup] } - - build: { requires: [setup] } - - lint: { requires: [setup] } - - test: { requires: [setup] } - - docs: { requires: [setup], filters: { branches: { only: [master] } } } diff --git a/.codesandbox/ci.json b/.codesandbox/ci.json new file mode 100644 index 00000000000..9cd66de76a0 --- /dev/null +++ b/.codesandbox/ci.json @@ -0,0 +1,3 @@ +{ + "sandboxes": ["qeu9j", "xblbj"] +} diff --git a/.eslintignore b/.eslintignore index 9348be6b01b..d4f1f0b75d8 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,7 +1,8 @@ .nuxt/ +coverage/ dist/ docs-dist/ esm/ -es/ node_modules/ nuxt/plugin.*.js +sw.js diff --git a/.eslintrc.js b/.eslintrc.js index 0222428eadc..1a064631871 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,6 +1,11 @@ module.exports = { - extends: ['standard', 'plugin:vue/recommended', 'plugin:prettier/recommended'], - plugins: ['jest', 'markdown', 'node', 'promise'], + extends: [ + 'standard', + 'plugin:vue/recommended', + 'plugin:prettier/recommended', + 'plugin:markdown/recommended' + ], + plugins: ['jest', 'node', 'promise'], parserOptions: { parser: 'babel-eslint', sourceType: 'module' @@ -10,11 +15,18 @@ module.exports = { es6: true, 'jest/globals': true }, - globals: { - Vue: true - }, rules: { + 'no-unused-vars': [ + 'error', + { + vars: 'all', + args: 'after-used', + ignoreRestSiblings: false + } + ], + 'object-shorthand': ['error', 'properties'], 'spaced-comment': 'off', // needed to ignore `/*#__PURE__*/` comments + 'vue/custom-event-name-casing': 'off', 'vue/html-self-closing': [ 'error', { @@ -26,9 +38,8 @@ module.exports = { } ], 'vue/max-attributes-per-line': ['error', { singleline: 4 }], - 'vue/no-template-shadow': 'off', - 'vue/no-use-v-if-with-v-for': 'off', 'vue/no-v-html': 'off', + 'vue/one-component-per-file': 'off', 'vue/require-default-prop': 'off', 'vue/require-prop-types': 'off', 'vue/singleline-html-element-content-newline': 'off' diff --git a/.github/ISSUE_TEMPLATE/BUG_REPORT_TEMPLATE.md b/.github/ISSUE_TEMPLATE/BUG_REPORT_TEMPLATE.md index 959612282b1..2c8a731ed4c 100644 --- a/.github/ISSUE_TEMPLATE/BUG_REPORT_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE/BUG_REPORT_TEMPLATE.md @@ -37,7 +37,7 @@ A clear and concise description of what you expected to happen. If applicable, add a minimal demo link to help explain your problem. Some options for that are [CodePen](https://codepen.io/), [CodeSandbox](https://codesandbox.io/), [JS Bin](https://jsbin.com/) or [JSFiddle](https://jsfiddle.net/). -You can also export markup from the [Online Playground](https://bootstrap-vue.js.org/play) to _CodePen_, _CodeSandbox_ or _JSFiddle_. +You can also export markup from the [Online Playground](https://bootstrap-vue.org/play) to _CodePen_, _CodeSandbox_ or _JSFiddle_. ### Additional context diff --git a/.github/ISSUE_TEMPLATE/DOCS_ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE/DOCS_ISSUE_TEMPLATE.md new file mode 100644 index 00000000000..3445bd6d8ca --- /dev/null +++ b/.github/ISSUE_TEMPLATE/DOCS_ISSUE_TEMPLATE.md @@ -0,0 +1,26 @@ +--- +name: 📖 Documentation issue +about: Help improve our docs. +--- + +### Documentation issue + + + +- [ ] Reporting a typo +- [ ] Reporting a documentation bug +- [ ] Documentation improvement +- [ ] Documentation feedback + + + +### Is there a specific documentation page you are reporting? + +Enter the URL or documentation section here. + +### Additional context or description + +Provide any additional details here as needed. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 0cf04588611..af29b8818b5 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -8,32 +8,33 @@ A clear and concise description of what the pull request does. **What kind of change does this PR introduce?** (check at least one) -- [ ] Bugfix -- [ ] Feature -- [ ] Enhancement -- [ ] ARIA accessibility -- [ ] Documentation update +- [ ] Bugfix (fixes a boo-boo in the code) - `fix(...)`, requires a patch version update +- [ ] Feature (adds a new feature to BootstrapVue) - `feat(...)`, requires a minor version update +- [ ] Enhancement (augments an existing feature) - `feat(...)`, requires a minor version update +- [ ] ARIA accessibility (fixes or improves ARIA accessibility) - `fix(...)`, requires a patch or minor version update +- [ ] Documentation update (improves documentation or typo fixes) - `chore(docs)`, requires a patch version update - [ ] Other (please describe) **Does this PR introduce a breaking change?** (check one) - [ ] No -- [ ] Yes (please describe) +- [ ] Yes (please describe since breaking changes require a minor version update) **The PR fulfills these requirements:** - [ ] It's submitted to the `dev` branch, **not** the `master` branch - [ ] When resolving a specific issue, it's referenced in the PR's title (i.e. `[...] (fixes #xxx[,#xxx])`, where "xxx" is the issue number) - [ ] It should address only one issue or feature. If adding multiple features or fixing a bug and adding a new feature, break them into separate PRs if at all possible. -- [ ] The title should follow the [**Conventional Commits**](https://www.conventionalcommits.org/) naming convention (i.e. `fix(alert): not alerting during SSR render`, `docs(badge): update pill examples`, `chore(docs): fix typo in README`, etc). **This is very important, as the `CHANGELOG` is generated from these messages.** +- [ ] The title should follow the [**Conventional Commits**](https://www.conventionalcommits.org/) naming convention (i.e. `fix(alert): not alerting during SSR render`, `docs(badge): update pill examples`, `chore(docs): fix typo in README`, etc.). **This is very important, as the `CHANGELOG` is generated from these messages, and determines the next version type (patch or minor).** **If new features/enhancement/fixes are added or changed:** -- [ ] Includes documentation updates (including updating the component's `package.json` for slot and event changes) +- [ ] Includes documentation updates +- [ ] Includes component package.json meta section updates (prop, slot and event changes/updates) - [ ] Includes any needed TypeScript declaration file updates -- [ ] New/updated tests are included and passing (if required) +- [ ] New/updated tests are included and passing (required for new features and enhancements) - [ ] Existing test suites are passing -- [ ] CodeCov for patch has met target +- [ ] CodeCov for patch has met target (all changes/updates have been tested) - [ ] The changes have not impacted the functionality of other components or directives - [ ] ARIA Accessibility has been taken into consideration (Does it affect screen reader users or keyboard only users? Clickable items should be in the tab index, etc.) diff --git a/.github/renovate.json b/.github/renovate.json deleted file mode 100644 index 9e03220db5a..00000000000 --- a/.github/renovate.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "extends": ["@nuxtjs"], - "labels": ["Type: Dependencies"], - "packageRules": [ - { - "packageNames": ["bootstrap"], - "allowedVersions": "<5.0.0" - }, - { - "packageNames": ["core-js"], - "allowedVersions": "<3.0.0" - }, - { - "packageNames": ["prettier"], - "allowedVersions": "<=1.14.3" - }, - { - "packageNames": ["@vue/test-utils"], - "allowedVersions": "<=1.0.0-beta.29" - } - ] -} diff --git a/.github/stale.yml b/.github/stale.yml new file mode 100644 index 00000000000..ae5fe2d6fcd --- /dev/null +++ b/.github/stale.yml @@ -0,0 +1,43 @@ +# Configuration for probot-stale - https://github.com/probot/stale +# Number of days of inactivity before an issue becomes stale +daysUntilStale: 90 +# Number of days of inactivity before a stale issue is closed +daysUntilClose: 7 +# Issues with these labels will never be considered stale +exemptLabels: + - "Priority: Critical" + - "Priority: High" + - "Priority: Medium" + - "Priority: Low" + - "PR: Major" + - "PR: Minor" + - "PR: Patch" + - "Status: Coming Soon" + - "Status: In Progress" + - "Status: Intend To Implement" + - "Status: On Hold" + - "Status: On Roadmap" + - "Status: Review Needed" + - "Status: WIP" + - "Type: Bug" + - "Type: Nice 1st Contribution" + - "Type: RFC" + - "Type: Security" +# Label to use when marking an issue as stale +staleLabel: "Status: Stale" +issues: + # Comment to post when marking an issue as stale + markComment: > + This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. + Thank you for your contribution. + # Comment to post when closing a stale issue + closeComment: > + Closing this issue after a prolonged period of inactivity. If this issue is still present in the latest release, please create a new issue with up-to-date information. Thank you! +pulls: + # Comment to post when marking a pull request as stale + markComment: > + This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. + Thank you for your contribution. + # Comment to post when closing a stale pull request + closeComment: > + Closing this pull request after a prolonged period of inactivity. If this issue is still present in the latest release, please ask for this pull request to be reopened. Thank you! diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000000..4668da990a1 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,58 @@ +name: Build + +on: + push: + branches: + - dev + - master + pull_request: + branches: + - dev + - master + +permissions: + contents: read + +jobs: + build: + runs-on: ${{ matrix.os }} + + strategy: + matrix: + os: [ubuntu-latest] + node: [18, 20, 22] + + steps: + - name: Clone repository + uses: actions/checkout@v4 + + - name: Set Node.js version + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node }} + + - name: Get yarn cache directory path + id: yarn-cache-dir-path + run: echo "::set-output name=dir::$(yarn cache dir)" + + - name: Cache node_modules + uses: actions/cache@v4 + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: ${{ matrix.os }}-node-v${{ matrix.node }}-yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ matrix.os }}-node-v${{ matrix.node }}-yarn- + ${{ matrix.os }}-node-v${{ matrix.node }}- + ${{ matrix.os }}- + + - name: Install dependencies + run: yarn install --check-files --frozen-lockfile --non-interactive + + - name: Build + run: yarn run build + + - name: BundleWatch + run: yarn run bundlewatch + if: matrix.node == '20' + env: + BUNDLEWATCH_GITHUB_TOKEN: "${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}" diff --git a/.github/workflows/docs-deploy.yml b/.github/workflows/docs-deploy.yml new file mode 100644 index 00000000000..0a06105cf39 --- /dev/null +++ b/.github/workflows/docs-deploy.yml @@ -0,0 +1,67 @@ +name: Deploy docs to GitHub Pages + +on: + push: + branches: + - master + - dev + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the "GITHUB_TOKEN" to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress +# and latest queued. However, do NOT cancel in-progress runs as we want to allow these +# production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Build + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: "20" + cache: "yarn" + - name: Setup Pages + uses: actions/configure-pages@v5 + - name: Restore cache + uses: actions/cache@v4 + with: + path: | + dist + .nuxt + key: ${{ runner.os }}-nuxt-build-${{ hashFiles('dist') }} + restore-keys: | + ${{ runner.os }}-nuxt-build- + - name: Install dependencies + run: yarn install --check-files --frozen-lockfile --non-interactive + - name: Static HTML export with Nuxt + run: yarn docs-gen + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./docs-dist + + # Deploy + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000000..ae4c515df2d --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,143 @@ +name: Tests + +on: + push: + branches: + - dev + - master + pull_request: + branches: + - dev + - master + +permissions: + contents: read + +jobs: + lint: + runs-on: ${{ matrix.os }} + + strategy: + matrix: + os: [ubuntu-latest] + node: [20] + + steps: + - name: Clone repository + uses: actions/checkout@v4 + + - name: Set Node.js version + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node }} + + - name: Get yarn cache directory path + id: yarn-cache-dir-path + run: echo "::set-output name=dir::$(yarn cache dir)" + + - name: Cache node_modules + uses: actions/cache@v4 + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: ${{ matrix.os }}-node-v${{ matrix.node }}-yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ matrix.os }}-node-v${{ matrix.node }}-yarn- + ${{ matrix.os }}-node-v${{ matrix.node }}- + ${{ matrix.os }}- + + - name: Install dependencies + run: yarn install --check-files --frozen-lockfile --non-interactive + + - name: Lint + run: yarn run test:lint + + audit: + runs-on: ${{ matrix.os }} + + strategy: + matrix: + os: [ubuntu-latest] + node: [20] + + steps: + - name: Clone repository + uses: actions/checkout@v4 + + - name: Set Node.js version + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node }} + + - name: Get yarn cache directory path + id: yarn-cache-dir-path + run: echo "::set-output name=dir::$(yarn cache dir)" + + - name: Cache node_modules + uses: actions/cache@v4 + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: ${{ matrix.os }}-node-v${{ matrix.node }}-yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ matrix.os }}-node-v${{ matrix.node }}-yarn- + ${{ matrix.os }}-node-v${{ matrix.node }}- + ${{ matrix.os }}- + + - name: Install dependencies + run: yarn install --check-files --frozen-lockfile --non-interactive + + - name: Audit + run: yarn run audit + + test-unit: + runs-on: ${{ matrix.os }} + + strategy: + matrix: + os: [ubuntu-latest] + node: [18, 20, 22] + + steps: + - name: Clone repository + uses: actions/checkout@v4 + + - name: Set Node.js version + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node }} + + - name: Get yarn cache directory path + id: yarn-cache-dir-path + run: echo "::set-output name=dir::$(yarn cache dir)" + + - name: Cache node_modules + uses: actions/cache@v4 + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: ${{ matrix.os }}-node-v${{ matrix.node }}-yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ matrix.os }}-node-v${{ matrix.node }}-yarn- + ${{ matrix.os }}-node-v${{ matrix.node }}- + ${{ matrix.os }}- + + - name: Install dependencies + run: yarn install --check-files --frozen-lockfile --non-interactive + + - name: Test unit + run: yarn run test:unit --coverage --maxWorkers=2 + + - name: Test unit (Vue 3) + run: yarn run test:unit --coverage --maxWorkers=2 + env: + USE_VUE3: '1' + + - name: Merge coverage + run: + npx istanbul-merge --out ./coverage-final.json coverage/coverage-final.json + coverage-vue3/coverage-final.json + + - name: CodeCov + uses: codecov/codecov-action@v5 + with: + token: ${{ secrets.CODECOV_TOKEN }} + flags: unittests + files: ./coverage-final.json diff --git a/.gitignore b/.gitignore index 25ce638276c..89258d941b5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,17 @@ -*.iml -*.log -*.swp -.DS_Store .idea/ .nuxt/ .vscode/ coverage/ +coverage-vue3/ dist/ docs-dist/ esm/ -es/ node_modules/ +*.iml +*.log +*.swp +.DS_Store +RELEASE-NOTES.md +package-lock.json sw.js workbox*.js* diff --git a/.husky/.gitignore b/.husky/.gitignore new file mode 100644 index 00000000000..31354ec1389 --- /dev/null +++ b/.husky/.gitignore @@ -0,0 +1 @@ +_ diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 00000000000..d2ae35e84b0 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +yarn lint-staged diff --git a/.prettierignore b/.prettierignore index 1b8ccc37ecc..0febdfb7bd5 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,9 +1,10 @@ .nuxt/ +coverage/ dist/ docs-dist/ esm/ -es/ node_modules/ nuxt/plugin.template.js nuxt/plugin.prod.js nuxt/plugin.dev.js +src/icons/icons.js diff --git a/.versionrc b/.versionrc new file mode 100644 index 00000000000..da7d73a2476 --- /dev/null +++ b/.versionrc @@ -0,0 +1,43 @@ +{ + "scripts": { + "postchangelog": "./node_modules/.bin/prettier --write CHANGELOG.md" + }, + "skip": { + "commit": true, + "tag": true + }, + "types": [ + { + "type": "fix", + "section": "Bug Fixes" + }, + { + "type": "feat", + "section": "Features" + }, + { + "type": "perf", + "section": "Performance" + }, + { + "type": "docs", + "hidden": true + }, + { + "type": "style", + "hidden": true + }, + { + "type": "refactor", + "hidden": true + }, + { + "type": "chore", + "hidden": true + }, + { + "type": "test", + "hidden": true + } + ] +} diff --git a/CHANGELOG-OLD.md b/CHANGELOG-OLD.md index a8b1cf9b326..dffab368223 100644 --- a/CHANGELOG-OLD.md +++ b/CHANGELOG-OLD.md @@ -3,6 +3,2000 @@ This changelog file contains all previous commits. For the latest changes, refer to the current [CHANGELOG](https://github.com/bootstrap-vue/bootstrap-vue/blob/master/CHANGELOG.md) file. + + +## [v2.0.0-rc.28](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.0.0-rc.27...v2.0.0-rc.28) + +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](https://github.com/bootstrap-vue/bootstrap-vue/issues/3842)) + ([#3846](https://github.com/bootstrap-vue/bootstrap-vue/issues/3846)) + ([ed99f9c](https://github.com/bootstrap-vue/bootstrap-vue/commit/ed99f9c)) +- **b-carousel:** reset `touchDeltaX` to prevent click transformed in swipe + ([#3734](https://github.com/bootstrap-vue/bootstrap-vue/issues/3734)) + ([0e54839](https://github.com/bootstrap-vue/bootstrap-vue/commit/0e54839)) +- **b-table:** better detection of active text selection during click events + ([#3763](https://github.com/bootstrap-vue/bootstrap-vue/issues/3763)) + ([1a9c688](https://github.com/bootstrap-vue/bootstrap-vue/commit/1a9c688)) +- **b-tabs:** fix nav item `id` and `aria-controls` on tab buttons + ([#3832](https://github.com/bootstrap-vue/bootstrap-vue/issues/3832)) + ([06c6119](https://github.com/bootstrap-vue/bootstrap-vue/commit/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](https://github.com/bootstrap-vue/bootstrap-vue/issues/3745)) + ([#3794](https://github.com/bootstrap-vue/bootstrap-vue/issues/3794)) + ([18c3957](https://github.com/bootstrap-vue/bootstrap-vue/commit/18c3957)) +- **b-form-file, b-form-checkbox, b-form-radio:** make input element inherit non-prop attributes + (addresses [#3752](https://github.com/bootstrap-vue/bootstrap-vue/issues/3752)) + ([#3754](https://github.com/bootstrap-vue/bootstrap-vue/issues/3754)) + ([722f9db](https://github.com/bootstrap-vue/bootstrap-vue/commit/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](https://github.com/bootstrap-vue/bootstrap-vue/issues/3749)) + ([#3786](https://github.com/bootstrap-vue/bootstrap-vue/issues/3786)) + ([142b31b](https://github.com/bootstrap-vue/bootstrap-vue/commit/142b31b)) +- **b-table:** make sorting by formated value opt-in per field + add TypeScript declarations for + locale options ([#3778](https://github.com/bootstrap-vue/bootstrap-vue/issues/3778)) + ([9716850](https://github.com/bootstrap-vue/bootstrap-vue/commit/9716850)) +- **b-table:** programmatic row selection (closes + [#3064](https://github.com/bootstrap-vue/bootstrap-vue/issues/3064), + [#3370](https://github.com/bootstrap-vue/bootstrap-vue/issues/3370)) + ([#3844](https://github.com/bootstrap-vue/bootstrap-vue/issues/3844)) + ([9a4fe24](https://github.com/bootstrap-vue/bootstrap-vue/commit/9a4fe24)) +- **b-table-simple:** new `` wrapper component that allows users to render their own + ``, ``, `` + ([#3799](https://github.com/bootstrap-vue/bootstrap-vue/issues/3799)) + ([998bd4f](https://github.com/bootstrap-vue/bootstrap-vue/commit/998bd4f)) +- **b-table, b-table-lite:** new field scoped slot naming convention + new fallback scoped slots, + deprecated old field slot convention (closes + [#3731](https://github.com/bootstrap-vue/bootstrap-vue/issues/3731)) + ([#3741](https://github.com/bootstrap-vue/bootstrap-vue/issues/3741)) + ([f53360d](https://github.com/bootstrap-vue/bootstrap-vue/commit/f53360d)) +- **b-table, b-table-lite:** place `` after `` element per HTML5 spec + ([#3807](https://github.com/bootstrap-vue/bootstrap-vue/issues/3807)) + ([e885d6d](https://github.com/bootstrap-vue/bootstrap-vue/commit/e885d6d)) +- **tables:** add sticky header support (closes + [#2085](https://github.com/bootstrap-vue/bootstrap-vue/issues/2085)) + ([#3831](https://github.com/bootstrap-vue/bootstrap-vue/issues/3831)) + ([a5f7266](https://github.com/bootstrap-vue/bootstrap-vue/commit/a5f7266)) +- **tables:** create table child element helper components, plus new `sort-null-last` and + `table-variant` props. ([#3808](https://github.com/bootstrap-vue/bootstrap-vue/issues/3808)) + ([981114b](https://github.com/bootstrap-vue/bootstrap-vue/commit/981114b)) +- **tables:** add support for sticky columns + ([#3847](https://github.com/bootstrap-vue/bootstrap-vue/issues/3847)) + ([5b5f2b8](https://github.com/bootstrap-vue/bootstrap-vue/commit/5b5f2b8)) +- **b-toast:** add SCSS variable for default toast background opacity + standardize a few + BootstrapVue SCSS variable names + ([#3775](https://github.com/bootstrap-vue/bootstrap-vue/issues/3775)) + ([5799075](https://github.com/bootstrap-vue/bootstrap-vue/commit/5799075)) +- **config:** defaults for all `size` properties (closes + [#3805](https://github.com/bootstrap-vue/bootstrap-vue/issues/3805)) + ([#3841](https://github.com/bootstrap-vue/bootstrap-vue/issues/3841)) + ([1389efa](https://github.com/bootstrap-vue/bootstrap-vue/commit/1389efa)) +- **docs:** updates to the theming reference section + ([#3790](https://github.com/bootstrap-vue/bootstrap-vue/issues/3790)) + ([e080bf7](https://github.com/bootstrap-vue/bootstrap-vue/commit/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!** + + + +## [v2.0.0-rc.27](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.0.0-rc.26...v2.0.0-rc.27) + +Released: 2019-07-21 + +### Bug Fixes v2.0.0-rc.27 + +- **b-modal:** ensure header is read for accessibility with JAWS (closes + [#3712](https://github.com/bootstrap-vue/bootstrap-vue/issues/3712)) + ([#3713](https://github.com/bootstrap-vue/bootstrap-vue/issues/3713)) + ([6a9d0ce](https://github.com/bootstrap-vue/bootstrap-vue/commit/6a9d0ce)) +- **b-nav-item-dropdown:** clicking toggle a second time should close menu (closes + [#3707](https://github.com/bootstrap-vue/bootstrap-vue/issues/3707)) + ([#3706](https://github.com/bootstrap-vue/bootstrap-vue/issues/3706)) + ([629951e](https://github.com/bootstrap-vue/bootstrap-vue/commit/629951e)) +- **b-table:** IE 11 edge case where custom inputs were not clickable in clickable/sortable cells + (fixes [#3693](https://github.com/bootstrap-vue/bootstrap-vue/issues/3693)) + ([#3697](https://github.com/bootstrap-vue/bootstrap-vue/issues/3697)) + ([fce8b5b](https://github.com/bootstrap-vue/bootstrap-vue/commit/fce8b5b)) +- **tooltip, popover:** handle case where tooltips are applied to dropdown root elements (closes + [#3703](https://github.com/bootstrap-vue/bootstrap-vue/issues/3703)) + ([#3704](https://github.com/bootstrap-vue/bootstrap-vue/issues/3704)) + ([39df4f1](https://github.com/bootstrap-vue/bootstrap-vue/commit/39df4f1)) + +### Features v2.0.0-rc.27 + +- **b-dropdown:** new `split-button-type` prop to specify split button type (closes + [#3694](https://github.com/bootstrap-vue/bootstrap-vue/issues/3694)) + ([#3695](https://github.com/bootstrap-vue/bootstrap-vue/issues/3695)) + ([1157589](https://github.com/bootstrap-vue/bootstrap-vue/commit/1157589)) +- **b-modal:** for accessibility, read only modal title and not whole header + additional A11Y + options (addresses [#3712](https://github.com/bootstrap-vue/bootstrap-vue/issues/3712)) + ([#3715](https://github.com/bootstrap-vue/bootstrap-vue/issues/3715)) + ([1ce8c6d](https://github.com/bootstrap-vue/bootstrap-vue/commit/1ce8c6d)) +- **b-tabs:** new named slot `tabs-start` for prepending tab buttons, deprecates `tabs` slot in + favour of `tabs-end` (closes [#3678](https://github.com/bootstrap-vue/bootstrap-vue/issues/3678)) + ([#3679](https://github.com/bootstrap-vue/bootstrap-vue/issues/3679)) + ([0b5f552](https://github.com/bootstrap-vue/bootstrap-vue/commit/0b5f552)) +- minor code improvements ([#3682](https://github.com/bootstrap-vue/bootstrap-vue/issues/3682)) + ([2fb5ce8](https://github.com/bootstrap-vue/bootstrap-vue/commit/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!** + + + +## [v2.0.0-rc.26](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.0.0-rc.25...v2.0.0-rc.26) + +Released 2019-07-09 + +### Bug Fixes v2.0.0-rc.26 + +- **b-collapse:** fix memory leak from `$root` listener (fixes + [#3607](https://github.com/bootstrap-vue/bootstrap-vue/issues/3607)) + ([#3608](https://github.com/bootstrap-vue/bootstrap-vue/issues/3608)) + ([10cb3a9](https://github.com/bootstrap-vue/bootstrap-vue/commit/10cb3a9)) +- **b-carousel-slide**: do not render `carousel-caption` wrapper if no content + ([#3662](https://github.com/bootstrap-vue/bootstrap-vue/issues/3662)) + ([615a719](https://github.com/bootstrap-vue/bootstrap-vue/commit/615a719)) +- **b-table:** add clearfix to table cells in case label wraps in stacked mode + ([#3652](https://github.com/bootstrap-vue/bootstrap-vue/issues/3652)) + ([3115dae](https://github.com/bootstrap-vue/bootstrap-vue/commit/3115dae)) +- **docs:** correct polyfilling suggestions + ([#3605](https://github.com/bootstrap-vue/bootstrap-vue/issues/3605)) + ([35806e7](https://github.com/bootstrap-vue/bootstrap-vue/commit/35806e7)) +- **playground:** fix undefined variable error in IE 11 + ([#3606](https://github.com/bootstrap-vue/bootstrap-vue/issues/3606)) + ([b3f7053](https://github.com/bootstrap-vue/bootstrap-vue/commit/b3f7053)) + +### Features v2.0.0-rc.26 + +- **b-dropdown, b-nav-item-dropdown:** add new lazy prop (addresses + [#3634](https://github.com/bootstrap-vue/bootstrap-vue/issues/3634)) + ([#3639](https://github.com/bootstrap-vue/bootstrap-vue/issues/3639)) + ([f742a8a](https://github.com/bootstrap-vue/bootstrap-vue/commit/f742a8a)) +- **tooltip, popover:** add support for contextual variants and custom class (closes + [#1983](https://github.com/bootstrap-vue/bootstrap-vue/issues/1983), + [#2075](https://github.com/bootstrap-vue/bootstrap-vue/issues/2075)) + ([#3644](https://github.com/bootstrap-vue/bootstrap-vue/issues/3644)) + ([695edae](https://github.com/bootstrap-vue/bootstrap-vue/commit/695edae)) +- **tooltip:** add in SCSS support for specifying tooltip variant background color level + ([#3653](https://github.com/bootstrap-vue/bootstrap-vue/issues/3653)) + ([d7cb071](https://github.com/bootstrap-vue/bootstrap-vue/commit/d7cb071)) +- **docs:** add home and playground links to sidebar navigation + ([#3654](https://github.com/bootstrap-vue/bootstrap-vue/issues/3654)) + ([e5eb9fc](https://github.com/bootstrap-vue/bootstrap-vue/commit/e5eb9fc)) +- **types:** add `noCloseButton` property to `BvToastOptions` type declaration + ([#3636](https://github.com/bootstrap-vue/bootstrap-vue/issues/3636)) + ([5aa9211](https://github.com/bootstrap-vue/bootstrap-vue/commit/5aa9211)) + +### Performance v2.0.0-rc.26 + +- **b-link**: convert from functional component to regular component + ([#3637](https://github.com/bootstrap-vue/bootstrap-vue/issues/3637)) + ([d3641ba](https://github.com/bootstrap-vue/bootstrap-vue/commit/d3641ba)) +- remove default array and object polyfills + ([#3641](https://github.com/bootstrap-vue/bootstrap-vue/issues/3641)) + ([8b34bf2](https://github.com/bootstrap-vue/bootstrap-vue/commit/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!** + + + +## [v2.0.0-rc.25](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.0.0-rc.24...v2.0.0-rc.25) + +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](https://github.com/bootstrap-vue/bootstrap-vue/issues/3565)) + ([#3567](https://github.com/bootstrap-vue/bootstrap-vue/issues/3567) + [e48d3dc](https://github.com/bootstrap-vue/bootstrap-vue/commit/e48d3dc)) +- **b-table:** adjustments to sort icon positioning SCSS (closes + [#3563](https://github.com/bootstrap-vue/bootstrap-vue/issues/3563)) + ([#3568](https://github.com/bootstrap-vue/bootstrap-vue/issues/3568) + [5c572e8](https://github.com/bootstrap-vue/bootstrap-vue/commit/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](https://github.com/bootstrap-vue/bootstrap-vue/issues/3178), + [#1173](https://github.com/bootstrap-vue/bootstrap-vue/issues/1173)) + ([#3585](https://github.com/bootstrap-vue/bootstrap-vue/issues/3585) + [c0ca1fd](https://github.com/bootstrap-vue/bootstrap-vue/commit/c0ca1fd)) +- **b-table, b-table-lite:** don't render `thead` or `tfoot` if no detected fields for accessibility + reasons (closes [#3547](https://github.com/bootstrap-vue/bootstrap-vue/issues/3547)) + ([#3553](https://github.com/bootstrap-vue/bootstrap-vue/issues/3553) + [a924889](https://github.com/bootstrap-vue/bootstrap-vue/commit/a924889)) +- **b-tabs:** emit new `changed` event whenever tabs are added, removed or re-ordered (closes + [#3575](https://github.com/bootstrap-vue/bootstrap-vue/issues/3575)) + ([#3577](https://github.com/bootstrap-vue/bootstrap-vue/issues/3577) + [841419a](https://github.com/bootstrap-vue/bootstrap-vue/commit/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](https://github.com/bootstrap-vue/bootstrap-vue/issues/3583) + [98844b4](https://github.com/bootstrap-vue/bootstrap-vue/commit/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.** + + + +## [v2.0.0-rc.24](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.0.0-rc.23...v2.0.0-rc.24) + +Released 2019-06-17 + +### Bug Fixes v2.0.0-rc.24 + +- **b-table:** ensure `ctx.sortBy` is an empty string when no sort key specified (closes + [#3532](https://github.com/bootstrap-vue/bootstrap-vue/issues/3532)) + ([#3534](https://github.com/bootstrap-vue/bootstrap-vue/issues/3534) + [d451687](https://github.com/bootstrap-vue/bootstrap-vue/commit/d451687)) +- **b-table-lite:** add checks to helper mixins for existence of `stopIfBusy` (fixes + [#3518](https://github.com/bootstrap-vue/bootstrap-vue/issues/3518)) + ([#3520](https://github.com/bootstrap-vue/bootstrap-vue/issues/3520)) + ([285cf94](https://github.com/bootstrap-vue/bootstrap-vue/commit/285cf94)) +- **b-tabs:** add detection of when registered tabs change order (closes + [#3506](https://github.com/bootstrap-vue/bootstrap-vue/issues/3506)) + ([#3513](https://github.com/bootstrap-vue/bootstrap-vue/issues/3513) + [130f8ff](https://github.com/bootstrap-vue/bootstrap-vue/commit/130f8ff), + [#3537](https://github.com/bootstrap-vue/bootstrap-vue/issues/3537) + [b80b2b4](https://github.com/bootstrap-vue/bootstrap-vue/commit/b80b2b4)) +- **config:** avoid using `of` operator (closes + [#3525](https://github.com/bootstrap-vue/bootstrap-vue/issues/3525)) + ([#3526](https://github.com/bootstrap-vue/bootstrap-vue/issues/3526) + [17ec8d0](https://github.com/bootstrap-vue/bootstrap-vue/commit/17ec8d0)) +- **nuxt module:** correct `transformAssetUrls` value for `b-card-img` (fixes + [#3521](https://github.com/bootstrap-vue/bootstrap-vue/issues/3521)) + ([#3523](https://github.com/bootstrap-vue/bootstrap-vue/issues/3523) + [db8c6fd](https://github.com/bootstrap-vue/bootstrap-vue/commit/db8c6fd)) + + + +## [v2.0.0-rc.23](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.0.0-rc.22...v2.0.0-rc.23) + +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](https://github.com/bootstrap-vue/bootstrap-vue/issues/3476) + [8ec2eb1](https://github.com/bootstrap-vue/bootstrap-vue/commit/8ec2eb1)) +- **b-form-input, b-form-textarea:** handle case where input has been removed from document (closes + [#3498](https://github.com/bootstrap-vue/bootstrap-vue/issues/3498)) + ([#3501](https://github.com/bootstrap-vue/bootstrap-vue/issues/3501) + [9a62e44](https://github.com/bootstrap-vue/bootstrap-vue/commit/9a62e44)) +- **b-modal:** ensure `ignoreBackdropClick` flag is cleared in `clickOutHandler` + ([#3488](https://github.com/bootstrap-vue/bootstrap-vue/issues/3488) + [afb4680](https://github.com/bootstrap-vue/bootstrap-vue/commit/afb4680)) +- **b-modal:** fix IE 11 issue with copy/paste from modal into MS Word (fixes + [#3457](https://github.com/bootstrap-vue/bootstrap-vue/issues/3457)) + ([#3489](https://github.com/bootstrap-vue/bootstrap-vue/issues/3489) + [16dbdf1](https://github.com/bootstrap-vue/bootstrap-vue/commit/16dbdf1)) +- **b-modal:** properly render `*-html` props if provided (closes + [#3491](https://github.com/bootstrap-vue/bootstrap-vue/issues/3491)) + ([#3492](https://github.com/bootstrap-vue/bootstrap-vue/issues/3492) + [c1ada9f](https://github.com/bootstrap-vue/bootstrap-vue/commit/c1ada9f)) +- **b-pagination-nav:** fix incorrect name in component package.json file (closes + [#3458](https://github.com/bootstrap-vue/bootstrap-vue/issues/3458)) + ([#3459](https://github.com/bootstrap-vue/bootstrap-vue/issues/3459) + [ef252df](https://github.com/bootstrap-vue/bootstrap-vue/commit/ef252df)) +- **b-pagination-nav:** attempt to auto-detect current page when `pages` array or `number of pages` + changes (closes [#3443](https://github.com/bootstrap-vue/bootstrap-vue/issues/3443)) + ([#3444](https://github.com/bootstrap-vue/bootstrap-vue/issues/3444) + [88b95c6](https://github.com/bootstrap-vue/bootstrap-vue/commit/88b95c6)) +- **b-table:** ensure provider is refreshed when filter is an object (closes + [#3428](https://github.com/bootstrap-vue/bootstrap-vue/issues/3428)) + ([#3429](https://github.com/bootstrap-vue/bootstrap-vue/issues/3429) + [b95c614](https://github.com/bootstrap-vue/bootstrap-vue/commit/b95c614)) +- **b-tabs:** improve child `b-tab` detection routine and fix bug with IDs (closes + [#3260](https://github.com/bootstrap-vue/bootstrap-vue/issues/3260)) + ([#3442](https://github.com/bootstrap-vue/bootstrap-vue/issues/3442) + [4a54e8d](https://github.com/bootstrap-vue/bootstrap-vue/commit/4a54e8d)) +- **types:** add missing `BInputGroup` to TypeScript definitions + ([#3487](https://github.com/bootstrap-vue/bootstrap-vue/issues/3487) + [b4ac081](https://github.com/bootstrap-vue/bootstrap-vue/commit/b4ac081)) +- **utils/get:** handle edge case with inherited object getters (fixes + [#3463](https://github.com/bootstrap-vue/bootstrap-vue/issues/3463)) + ([#3465](https://github.com/bootstrap-vue/bootstrap-vue/issues/3465) + [e2c8cb1](https://github.com/bootstrap-vue/bootstrap-vue/commit/e2c8cb1)) + +### Features v2.0.0-rc.23 + +- **b-table-lite:** new `` light-weight table component + ([#3447](https://github.com/bootstrap-vue/bootstrap-vue/issues/3447) + [0477941](https://github.com/bootstrap-vue/bootstrap-vue/commit/0477941)) +- improved tree-shaking when importing individual components + ([#3462](https://github.com/bootstrap-vue/bootstrap-vue/issues/3462) + [2df1ab9](https://github.com/bootstrap-vue/bootstrap-vue/commit/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.** + + + +## [v2.0.0-rc.22](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.0.0-rc.21...v2.0.0-rc.22) + +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](https://github.com/bootstrap-vue/bootstrap-vue/issues/3389) + ([#3394](https://github.com/bootstrap-vue/bootstrap-vue/issues/3394) + [fae3d25](https://github.com/bootstrap-vue/bootstrap-vue/commit/fae3d25)) +- **b-tabs:** fix regression with dynamically added tabs (fixes + [#3395](https://github.com/bootstrap-vue/bootstrap-vue/issues/3395)) + ([#3396](https://github.com/bootstrap-vue/bootstrap-vue/issues/3396) + [f254f90](https://github.com/bootstrap-vue/bootstrap-vue/commit/f254f90)) +- **form controls:** handle autofocus inside modal or when inside a transition + ([#3386](https://github.com/bootstrap-vue/bootstrap-vue/issues/3386) + [c4a8edb](https://github.com/bootstrap-vue/bootstrap-vue/commit/c4a8edb)) +- **es:** revert to tranforming `es/` modules into CJS, and simplify main build with top-level named + import/exports (closes [#3397](https://github.com/bootstrap-vue/bootstrap-vue/issues/3397), + [#3393](https://github.com/bootstrap-vue/bootstrap-vue/issues/3393), + [#3323](https://github.com/bootstrap-vue/bootstrap-vue/issues/3323)) + ([#3404](https://github.com/bootstrap-vue/bootstrap-vue/issues/3404) + [6c386d3](https://github.com/bootstrap-vue/bootstrap-vue/commit/6c386d3)) +- **nuxt:** use new bundle for development mode (closes + [#3397](https://github.com/bootstrap-vue/bootstrap-vue/issues/3397)) + ([#3399](https://github.com/bootstrap-vue/bootstrap-vue/issues/3399) + [f43097e](https://github.com/bootstrap-vue/bootstrap-vue/commit/f43097e), + [#3404](https://github.com/bootstrap-vue/bootstrap-vue/issues/3404) + [6c386d3](https://github.com/bootstrap-vue/bootstrap-vue/commit/6c386d3)) +- **types:** fix typing error for `BvComponent` and `BvPlugin` (closes + [#3390](https://github.com/bootstrap-vue/bootstrap-vue/issues/3390)) + ([#3391](https://github.com/bootstrap-vue/bootstrap-vue/issues/3391) + [6f0f3fd](https://github.com/bootstrap-vue/bootstrap-vue/commit/6f0f3fd)) + +### Features v2.0.0-rc.22 + +- **b-button:** add new `squared` prop for making buttons with square corners + ([#3387](https://github.com/bootstrap-vue/bootstrap-vue/issues/3387) + [004963d](https://github.com/bootstrap-vue/bootstrap-vue/commit/004963d)) +- **b-tooltip, b-popover:** allow global `delay` customization via config + ([#3426](https://github.com/bootstrap-vue/bootstrap-vue/issues/3426) + [2aaec76](https://github.com/bootstrap-vue/bootstrap-vue/commit/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](https://github.com/bootstrap-vue/bootstrap-vue/issues/3418) + [ce3ba73](https://github.com/bootstrap-vue/bootstrap-vue/commit/ce3ba73)) +- **nuxt module:** alias `esm/` and `es/` to `src/` for Nuxt prod mode + ([#3423](https://github.com/bootstrap-vue/bootstrap-vue/issues/3423) + [ae2040b](https://github.com/bootstrap-vue/bootstrap-vue/commit/ae2040b)) +- add `"source": "src/index.js"` entry in package.json for Parcel bundler + ([#3422](https://github.com/bootstrap-vue/bootstrap-vue/issues/3422) + [0878ca6](https://github.com/bootstrap-vue/bootstrap-vue/commit/0878ca6)) + + + +## [v2.0.0-rc.21](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.0.0-rc.20...v2.0.0-rc.21) + +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](https://github.com/bootstrap-vue/bootstrap-vue/issues/3346)) + ([#3347](https://github.com/bootstrap-vue/bootstrap-vue/issues/3347) + [14ad833](https://github.com/bootstrap-vue/bootstrap-vue/commit/14ad833)) +- **b-dropdown:** delay show of dropdown when calling `show()` (closes + [#3366](https://github.com/bootstrap-vue/bootstrap-vue/issues/3366)) + ([#3367](https://github.com/bootstrap-vue/bootstrap-vue/issues/3367) + [1604022](https://github.com/bootstrap-vue/bootstrap-vue/commit/1604022)) +- **b-input-group:** fix issue with slots (closes + [#3284](https://github.com/bootstrap-vue/bootstrap-vue/issues/3284)) + ([#3288](https://github.com/bootstrap-vue/bootstrap-vue/issues/3288) + [5639e8f](https://github.com/bootstrap-vue/bootstrap-vue/commit/5639e8f)) +- **b-input-group:** use same input-group-prepend/append for both props and slots + ([#3321](https://github.com/bootstrap-vue/bootstrap-vue/issues/3321) + [fb7386e](https://github.com/bootstrap-vue/bootstrap-vue/commit/fb7386e)) +- **b-modal:** delay initially open modal via nextTick when using v-model or visible prop + ([#3320](https://github.com/bootstrap-vue/bootstrap-vue/issues/3320) + [6f3010a](https://github.com/bootstrap-vue/bootstrap-vue/commit/6f3010a)) +- **b-table:** don't use css `grid` for stacked table SCSS - for IE 11 compatibility (closes + [#3307](https://github.com/bootstrap-vue/bootstrap-vue/issues/3307)) + ([#3383](https://github.com/bootstrap-vue/bootstrap-vue/issues/3383) + [ce19fc7](https://github.com/bootstrap-vue/bootstrap-vue/commit/ce19fc7)) +- **b-tabs:** fix regression of tabs in lazy modals - use DOM query for probing tabs after mount + (closes: [#3361](https://github.com/bootstrap-vue/bootstrap-vue/issues/3361)) + ([#3375](https://github.com/bootstrap-vue/bootstrap-vue/issues/3375) + [2b188a2](https://github.com/bootstrap-vue/bootstrap-vue/commit/2b188a2)) +- **b-toast:** accessibility - prevent duplicate toast announcements for screen readers (closes + [#3322](https://github.com/bootstrap-vue/bootstrap-vue/issues/3322)) + ([#3329](https://github.com/bootstrap-vue/bootstrap-vue/issues/3329) + [d44fba5](https://github.com/bootstrap-vue/bootstrap-vue/commit/d44fba5)) +- **b-toaster:** CSS fix for IE 11 support (fixes + [#3327](https://github.com/bootstrap-vue/bootstrap-vue/issues/3327)) + ([#3328](https://github.com/bootstrap-vue/bootstrap-vue/issues/3328) + [88b1cfd](https://github.com/bootstrap-vue/bootstrap-vue/commit/88b1cfd)) +- **docs:** correct modal directive name + ([#3335](https://github.com/bootstrap-vue/bootstrap-vue/issues/3335) + [d4dcc35](https://github.com/bootstrap-vue/bootstrap-vue/commit/d4dcc35)) +- **docs:** correct Vuelidate validation example and some minor tweaks + ([#3332](https://github.com/bootstrap-vue/bootstrap-vue/issues/3332) + [d5c22a8](https://github.com/bootstrap-vue/bootstrap-vue/commit/d5c22a8)) +- **docs:** `b-progress-bar` label HTML support examples (closes + [#3333](https://github.com/bootstrap-vue/bootstrap-vue/issues/3333)) + ([#3336](https://github.com/bootstrap-vue/bootstrap-vue/issues/3336) + [526f274](https://github.com/bootstrap-vue/bootstrap-vue/commit/526f274)) +- **types:** fix msxBoxConfirm typo + ([#3280](https://github.com/bootstrap-vue/bootstrap-vue/issues/3280) + [8027e5a](https://github.com/bootstrap-vue/bootstrap-vue/commit/8027e5a)) +- use `installFactory` for main `BootstrapVue` plugin (closes + [#3338](https://github.com/bootstrap-vue/bootstrap-vue/issues/3338)) + ([#3340](https://github.com/bootstrap-vue/bootstrap-vue/issues/3340) + [4c0c445](https://github.com/bootstrap-vue/bootstrap-vue/commit/4c0c445)) + +### Features v2.0.0-rc.21 + +- **b-img-lazy:** add support for IntersectionObserver (closes + [#3276](https://github.com/bootstrap-vue/bootstrap-vue/issues/3276)) + ([#3279](https://github.com/bootstrap-vue/bootstrap-vue/issues/3279) + [5cf71cf](https://github.com/bootstrap-vue/bootstrap-vue/commit/5cf71cf)) +- **b-modal:** improved portaling - retaining parent-child hierarchy (addresses + [#3312](https://github.com/bootstrap-vue/bootstrap-vue/issues/3312)) + ([#3326](https://github.com/bootstrap-vue/bootstrap-vue/issues/3326) + [3728892](https://github.com/bootstrap-vue/bootstrap-vue/commit/3728892)) +- **b-tooltip, b-popover:** add `fallback-placement` prop (closes + [#3348](https://github.com/bootstrap-vue/bootstrap-vue/issues/3348)) + ([#3349](https://github.com/bootstrap-vue/bootstrap-vue/issues/3349) + [ab42b4c](https://github.com/bootstrap-vue/bootstrap-vue/commit/ab42b4c)) +- **es build:** don't transpile import/export statements to require/exports, for better tree shaking + (closes [#3323](https://github.com/bootstrap-vue/bootstrap-vue/issues/3323)) + ([#3358](https://github.com/bootstrap-vue/bootstrap-vue/issues/3358) + [3c1866d](https://github.com/bootstrap-vue/bootstrap-vue/commit/3c1866d)) +- **form controls:** add `autofocus` prop to all `b-form-*` controls + ([#3341](https://github.com/bootstrap-vue/bootstrap-vue/issues/3341) + [e7eb1b4](https://github.com/bootstrap-vue/bootstrap-vue/commit/e7eb1b4)) +- **nuxt module:** optimize imports into single import statements + ([#3325](https://github.com/bootstrap-vue/bootstrap-vue/issues/3325) + [ef71a3b](https://github.com/bootstrap-vue/bootstrap-vue/commit/ef71a3b)) +- **types:** better type declarations (closes + [#1976](https://github.com/bootstrap-vue/bootstrap-vue/issues/1976)) + ([#3283](https://github.com/bootstrap-vue/bootstrap-vue/issues/3283) + [a42abd0](https://github.com/bootstrap-vue/bootstrap-vue/commit/a42abd0)) +- don't warn about multiple Vue instances when testing in JSDOM (closes + [#3303](https://github.com/bootstrap-vue/bootstrap-vue/issues/3303)) + ([#3315](https://github.com/bootstrap-vue/bootstrap-vue/issues/3315) + [0caa29b](https://github.com/bootstrap-vue/bootstrap-vue/commit/0caa29b)) + + + +## [v2.0.0-rc.20](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.0.0-rc.19...v2.0.0-rc.20) + +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](https://github.com/bootstrap-vue/bootstrap-vue/issues/3174)) + ([#3252](https://github.com/bootstrap-vue/bootstrap-vue/issues/3252) + [f46b5d8](https://github.com/bootstrap-vue/bootstrap-vue/commit/f46b5d8)) +- **b-nav-item-dropdown:** fix disabled state (fixes + [#3264](https://github.com/bootstrap-vue/bootstrap-vue/issues/3264)) + ([#3266](https://github.com/bootstrap-vue/bootstrap-vue/issues/3266) + [10d4c4d](https://github.com/bootstrap-vue/bootstrap-vue/commit/10d4c4d)) +- **b-collapse:** is-nav link click behaviour - check if collapse has `display: block !important` + before attempting to close collapse + ([#3199](https://github.com/bootstrap-vue/bootstrap-vue/issues/3199) + [b0729cc](https://github.com/bootstrap-vue/bootstrap-vue/commit/b0729cc)) +- **b-form-input:** properly handle out-of-sync values (closes + [#2657](https://github.com/bootstrap-vue/bootstrap-vue/issues/2657)) + ([#3172](https://github.com/bootstrap-vue/bootstrap-vue/issues/3172) + [976f9c1](https://github.com/bootstrap-vue/bootstrap-vue/commit/976f9c1)) +- **b-modal:** exclude document.body when determining return focus element + ([#3228](https://github.com/bootstrap-vue/bootstrap-vue/issues/3228) + [092ab2d](https://github.com/bootstrap-vue/bootstrap-vue/commit/092ab2d)) +- **b-modal:** prevent duplicate key when sending to portal-target + ([#3235](https://github.com/bootstrap-vue/bootstrap-vue/issues/3235)) + ([5204ad7](https://github.com/bootstrap-vue/bootstrap-vue/commit/5204ad7)) +- **b-modal:** return focus edge case bug in IE 11 (fixes + [#3206](https://github.com/bootstrap-vue/bootstrap-vue/issues/3206)) + ([#3207](https://github.com/bootstrap-vue/bootstrap-vue/issues/3207) + [7ef36c2](https://github.com/bootstrap-vue/bootstrap-vue/commit/7ef36c2)) +- **b-pagination:** use unicode escape sequence for default bookend button text + ([#3186](https://github.com/bootstrap-vue/bootstrap-vue/issues/3186) + [dfb6af7](https://github.com/bootstrap-vue/bootstrap-vue/commit/dfb6af7)) +- **b-toast:** use appendChild instead of append for IE 11 support + ([#3160](https://github.com/bootstrap-vue/bootstrap-vue/issues/3160) + [be118a9](https://github.com/bootstrap-vue/bootstrap-vue/commit/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](https://github.com/bootstrap-vue/bootstrap-vue/issues/3242) + [3d1d777](https://github.com/bootstrap-vue/bootstrap-vue/commit/3d1d777)) +- **b-button:** add prop `pill` for pill style buttons + ([#3214](https://github.com/bootstrap-vue/bootstrap-vue/issues/3214) + [c26298b](https://github.com/bootstrap-vue/bootstrap-vue/commit/c26298b)) +- **config:** add option in config to set global tooltip and popover boundary + ([#3229](https://github.com/bootstrap-vue/bootstrap-vue/issues/3229) + [00e4fc9](https://github.com/bootstrap-vue/bootstrap-vue/commit/00e4fc9)) +- **b-dropdown:** additional semantic markup optimizations for A11Y + ([#3196](https://github.com/bootstrap-vue/bootstrap-vue/issues/3196) + [91d893e](https://github.com/bootstrap-vue/bootstrap-vue/commit/91d893e)) +- **b-modal:** use PortalVue for modal placement + ([#3157](https://github.com/bootstrap-vue/bootstrap-vue/issues/3157) + [6325528](https://github.com/bootstrap-vue/bootstrap-vue/commit/6325528)) +- **b-table:** make table sort icons configurable via SCSS variables + ([#3156](https://github.com/bootstrap-vue/bootstrap-vue/issues/3156) + [a72f134](https://github.com/bootstrap-vue/bootstrap-vue/commit/a72f134)) +- **b-toast:** add additional options to global default config (closes + [#3169](https://github.com/bootstrap-vue/bootstrap-vue/issues/3169)) + ([#3170](https://github.com/bootstrap-vue/bootstrap-vue/issues/3170) + [b01e01c](https://github.com/bootstrap-vue/bootstrap-vue/commit/b01e01c)) +- **v-b-toggle:** make targets reactive to updates (closes + [#3165](https://github.com/bootstrap-vue/bootstrap-vue/issues/3165)) + ([#3167](https://github.com/bootstrap-vue/bootstrap-vue/issues/3167) + [6eff6d9](https://github.com/bootstrap-vue/bootstrap-vue/commit/6eff6d9)) +- console warn if multiple instances of Vue detected (addresses + [#3040](https://github.com/bootstrap-vue/bootstrap-vue/issues/3040)) + ([#3220](https://github.com/bootstrap-vue/bootstrap-vue/issues/3220) + [41db3e2](https://github.com/bootstrap-vue/bootstrap-vue/commit/41db3e2)) +- make more component appearance prop defaults globally configurable (closes + [#3173](https://github.com/bootstrap-vue/bootstrap-vue/issues/3173)) + ([#3175](https://github.com/bootstrap-vue/bootstrap-vue/issues/3175) + [f7cf28c](https://github.com/bootstrap-vue/bootstrap-vue/commit/f7cf28c)) +- **types:** create more typescript typings, and simplify component/directive/plugin imports. + ([#3209](https://github.com/bootstrap-vue/bootstrap-vue/issues/3209) + [50bbe6a](https://github.com/bootstrap-vue/bootstrap-vue/commit/50bbe6a)) + + + +## [v2.0.0-rc.19](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.0.0-rc.18...v2.0.0-rc.19) + +Released 2019-04-21 + +### Bug Fixes v2.0.0-rc.19 + +- **b-link:** ensure href prop is not passed to router-links (fixes + [#3066](https://github.com/bootstrap-vue/bootstrap-vue/issues/3066)) + ([#3084](https://github.com/bootstrap-vue/bootstrap-vue/issues/3084) + [f679c11](https://github.com/bootstrap-vue/bootstrap-vue/commit/f679c11)) +- **b-col, b-form-group:** implement self overwriting lazy props getter (fixes: + [#3080](https://github.com/bootstrap-vue/bootstrap-vue/issues/3080)) + ([#3125](https://github.com/bootstrap-vue/bootstrap-vue/issues/3125) + [92756bd](https://github.com/bootstrap-vue/bootstrap-vue/commit/92756bd)) +- **b-form-textarea:** improve auto-row height calculation timing (closes + [#3103](https://github.com/bootstrap-vue/bootstrap-vue/issues/3103)) + ([#3105](https://github.com/bootstrap-vue/bootstrap-vue/issues/3105) + [dfc662e](https://github.com/bootstrap-vue/bootstrap-vue/commit/dfc662e)) +- **b-modal:** clear internal return_focus after modal closes (fixes + [#3067](https://github.com/bootstrap-vue/bootstrap-vue/issues/3067)) + ([#3068](https://github.com/bootstrap-vue/bootstrap-vue/issues/3068) + [971556f](https://github.com/bootstrap-vue/bootstrap-vue/commit/971556f)) +- **b-modal:** ensure that v-model is updated when show or hide is canceled + ([#3131](https://github.com/bootstrap-vue/bootstrap-vue/issues/3131) + [6726a33](https://github.com/bootstrap-vue/bootstrap-vue/commit/6726a33)) +- **b-modal:** fix close on click-out for IE 11 + ([#3117](https://github.com/bootstrap-vue/bootstrap-vue/issues/3117) + [9b09e52](https://github.com/bootstrap-vue/bootstrap-vue/commit/9b09e52)) +- **b-modal:** handle HMR when defining property on Vue prototype + ([#3123](https://github.com/bootstrap-vue/bootstrap-vue/issues/3123) + [a4e7f21](https://github.com/bootstrap-vue/bootstrap-vue/commit/a4e7f21)) +- **b-tab:** don't use `aria-expanded` on the panel + ([#3143](https://github.com/bootstrap-vue/bootstrap-vue/issues/3143) + [381eacf](https://github.com/bootstrap-vue/bootstrap-vue/commit/381eacf)) +- **b-table:** prevent hover style on busy/empty row (closes + [#3079](https://github.com/bootstrap-vue/bootstrap-vue/issues/3079)) + ([#3086](https://github.com/bootstrap-vue/bootstrap-vue/issues/3086) + [c53ffd4](https://github.com/bootstrap-vue/bootstrap-vue/commit/c53ffd4)) +- **utils:** improve `dom`, `env`, `inspect` and test utils + ([#3085](https://github.com/bootstrap-vue/bootstrap-vue/issues/3085) + [bd85049](https://github.com/bootstrap-vue/bootstrap-vue/commit/bd85049)) +- **nuxt module:** ensure that css and transpile are arrays (fixes: + [#3141](https://github.com/bootstrap-vue/bootstrap-vue/issues/3141)) + ([#3142](https://github.com/bootstrap-vue/bootstrap-vue/issues/3142) + [239da77](https://github.com/bootstrap-vue/bootstrap-vue/commit/239da77)) +- **docs:** improve `` prevent closing example + ([#3054](https://github.com/bootstrap-vue/bootstrap-vue/issues/3054) + [f609316](https://github.com/bootstrap-vue/bootstrap-vue/commit/f609316)) +- **docs:** improve code highlighting + table styles + ([#3078](https://github.com/bootstrap-vue/bootstrap-vue/issues/3078) + [d4b9895](https://github.com/bootstrap-vue/bootstrap-vue/commit/d4b9895)) +- **docs:** overall improvements + ([#3129](https://github.com/bootstrap-vue/bootstrap-vue/issues/3129) + [be53376](https://github.com/bootstrap-vue/bootstrap-vue/commit/be53376)) + +### Features v2.0.0-rc.19 + +- **b-dropdown:** use semantic `
` wrapper component that allows users to render their own - ``, ``, `` - ([#3799](https://github.com/bootstrap-vue/bootstrap-vue/issues/3799)) - ([998bd4f](https://github.com/bootstrap-vue/bootstrap-vue/commit/998bd4f)) -- **b-table, b-table-lite:** new field scoped slot naming convention + new fallback scoped slots, - deprecated old field slot convention (closes - [#3731](https://github.com/bootstrap-vue/bootstrap-vue/issues/3731)) - ([#3741](https://github.com/bootstrap-vue/bootstrap-vue/issues/3741)) - ([f53360d](https://github.com/bootstrap-vue/bootstrap-vue/commit/f53360d)) -- **b-table, b-table-lite:** place `` after `` element per HTML5 spec - ([#3807](https://github.com/bootstrap-vue/bootstrap-vue/issues/3807)) - ([e885d6d](https://github.com/bootstrap-vue/bootstrap-vue/commit/e885d6d)) -- **tables:** add sticky header support (closes - [#2085](https://github.com/bootstrap-vue/bootstrap-vue/issues/2085)) - ([#3831](https://github.com/bootstrap-vue/bootstrap-vue/issues/3831)) - ([a5f7266](https://github.com/bootstrap-vue/bootstrap-vue/commit/a5f7266)) -- **tables:** create table child element helper components, plus new `sort-null-last` and - `table-variant` props. ([#3808](https://github.com/bootstrap-vue/bootstrap-vue/issues/3808)) - ([981114b](https://github.com/bootstrap-vue/bootstrap-vue/commit/981114b)) -- **tables:** add support for sticky columns - ([#3847](https://github.com/bootstrap-vue/bootstrap-vue/issues/3847)) - ([5b5f2b8](https://github.com/bootstrap-vue/bootstrap-vue/commit/5b5f2b8)) -- **b-toast:** add SCSS variable for default toast background opacity + standardize a few - BootstrapVue SCSS variable names - ([#3775](https://github.com/bootstrap-vue/bootstrap-vue/issues/3775)) - ([5799075](https://github.com/bootstrap-vue/bootstrap-vue/commit/5799075)) -- **config:** defaults for all `size` properties (closes - [#3805](https://github.com/bootstrap-vue/bootstrap-vue/issues/3805)) - ([#3841](https://github.com/bootstrap-vue/bootstrap-vue/issues/3841)) - ([1389efa](https://github.com/bootstrap-vue/bootstrap-vue/commit/1389efa)) -- **docs:** updates to the theming reference section - ([#3790](https://github.com/bootstrap-vue/bootstrap-vue/issues/3790)) - ([e080bf7](https://github.com/bootstrap-vue/bootstrap-vue/commit/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!** - - - -## [v2.0.0-rc.27](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.0.0-rc.26...v2.0.0-rc.27) - -Released: 2019-07-21 - -### Bug Fixes v2.0.0-rc.27 - -- **b-modal:** ensure header is read for accessibility with JAWS (closes - [#3712](https://github.com/bootstrap-vue/bootstrap-vue/issues/3712)) - ([#3713](https://github.com/bootstrap-vue/bootstrap-vue/issues/3713)) - ([6a9d0ce](https://github.com/bootstrap-vue/bootstrap-vue/commit/6a9d0ce)) -- **b-nav-item-dropdown:** clicking toggle a second time should close menu (closes - [#3707](https://github.com/bootstrap-vue/bootstrap-vue/issues/3707)) - ([#3706](https://github.com/bootstrap-vue/bootstrap-vue/issues/3706)) - ([629951e](https://github.com/bootstrap-vue/bootstrap-vue/commit/629951e)) -- **b-table:** IE11 edge case where custom inputs were not clickable in clickable/sortable cells - (fixes [#3693](https://github.com/bootstrap-vue/bootstrap-vue/issues/3693)) - ([#3697](https://github.com/bootstrap-vue/bootstrap-vue/issues/3697)) - ([fce8b5b](https://github.com/bootstrap-vue/bootstrap-vue/commit/fce8b5b)) -- **tooltip, popover:** handle case where tooltips are applied to dropdown root elements (closes - [#3703](https://github.com/bootstrap-vue/bootstrap-vue/issues/3703)) - ([#3704](https://github.com/bootstrap-vue/bootstrap-vue/issues/3704)) - ([39df4f1](https://github.com/bootstrap-vue/bootstrap-vue/commit/39df4f1)) - -### Features v2.0.0-rc.27 - -- **b-dropdown:** new `split-button-type` prop to specify split button type (closes - [#3694](https://github.com/bootstrap-vue/bootstrap-vue/issues/3694)) - ([#3695](https://github.com/bootstrap-vue/bootstrap-vue/issues/3695)) - ([1157589](https://github.com/bootstrap-vue/bootstrap-vue/commit/1157589)) -- **b-modal:** for accessibility, read only modal title and not whole header + additional A11Y - options (addresses [#3712](https://github.com/bootstrap-vue/bootstrap-vue/issues/3712)) - ([#3715](https://github.com/bootstrap-vue/bootstrap-vue/issues/3715)) - ([1ce8c6d](https://github.com/bootstrap-vue/bootstrap-vue/commit/1ce8c6d)) -- **b-tabs:** new named slot `tabs-start` for prepending tab buttons, deprecates `tabs` slot in - favour of `tabs-end` (closes [#3678](https://github.com/bootstrap-vue/bootstrap-vue/issues/3678)) - ([#3679](https://github.com/bootstrap-vue/bootstrap-vue/issues/3679)) - ([0b5f552](https://github.com/bootstrap-vue/bootstrap-vue/commit/0b5f552)) -- minor code improvements ([#3682](https://github.com/bootstrap-vue/bootstrap-vue/issues/3682)) - ([2fb5ce8](https://github.com/bootstrap-vue/bootstrap-vue/commit/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!** - - - -## [v2.0.0-rc.26](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.0.0-rc.25...v2.0.0-rc.26) - -Released 2019-07-09 - -### Bug Fixes v2.0.0-rc.26 - -- **b-collapse:** fix memory leak from `$root` listener (fixes - [#3607](https://github.com/bootstrap-vue/bootstrap-vue/issues/3607)) - ([#3608](https://github.com/bootstrap-vue/bootstrap-vue/issues/3608)) - ([10cb3a9](https://github.com/bootstrap-vue/bootstrap-vue/commit/10cb3a9)) -- **b-carousel-slide**: do not render `carousel-caption` wrapper if no content - ([#3662](https://github.com/bootstrap-vue/bootstrap-vue/issues/3662)) - ([615a719](https://github.com/bootstrap-vue/bootstrap-vue/commit/615a719)) -- **b-table:** add clearfix to table cells in case label wraps in stacked mode - ([#3652](https://github.com/bootstrap-vue/bootstrap-vue/issues/3652)) - ([3115dae](https://github.com/bootstrap-vue/bootstrap-vue/commit/3115dae)) -- **docs:** correct polyfilling suggestions - ([#3605](https://github.com/bootstrap-vue/bootstrap-vue/issues/3605)) - ([35806e7](https://github.com/bootstrap-vue/bootstrap-vue/commit/35806e7)) -- **playground:** fix undefined variable error in IE 11 - ([#3606](https://github.com/bootstrap-vue/bootstrap-vue/issues/3606)) - ([b3f7053](https://github.com/bootstrap-vue/bootstrap-vue/commit/b3f7053)) - -### Features v2.0.0-rc.26 - -- **b-dropdown, b-nav-item-dropdown:** add new lazy prop (addresses - [#3634](https://github.com/bootstrap-vue/bootstrap-vue/issues/3634)) - ([#3639](https://github.com/bootstrap-vue/bootstrap-vue/issues/3639)) - ([f742a8a](https://github.com/bootstrap-vue/bootstrap-vue/commit/f742a8a)) -- **tooltip, popover:** add support for contextual variants and custom class (closes - [#1983](https://github.com/bootstrap-vue/bootstrap-vue/issues/1983), - [#2075](https://github.com/bootstrap-vue/bootstrap-vue/issues/2075)) - ([#3644](https://github.com/bootstrap-vue/bootstrap-vue/issues/3644)) - ([695edae](https://github.com/bootstrap-vue/bootstrap-vue/commit/695edae)) -- **tooltip:** add in SCSS support for specifying tooltip variant background color level - ([#3653](https://github.com/bootstrap-vue/bootstrap-vue/issues/3653)) - ([d7cb071](https://github.com/bootstrap-vue/bootstrap-vue/commit/d7cb071)) -- **docs:** add home and playground links to sidebar navigation - ([#3654](https://github.com/bootstrap-vue/bootstrap-vue/issues/3654)) - ([e5eb9fc](https://github.com/bootstrap-vue/bootstrap-vue/commit/e5eb9fc)) -- **types:** add `noCloseButton` property to `BvToastOptions` type declaration - ([#3636](https://github.com/bootstrap-vue/bootstrap-vue/issues/3636)) - ([5aa9211](https://github.com/bootstrap-vue/bootstrap-vue/commit/5aa9211)) - -### Performance v2.0.0-rc.26 - -- **b-link**: convert from functional component to regular component - ([#3637](https://github.com/bootstrap-vue/bootstrap-vue/issues/3637)) - ([d3641ba](https://github.com/bootstrap-vue/bootstrap-vue/commit/d3641ba)) -- remove default array and object polyfills - ([#3641](https://github.com/bootstrap-vue/bootstrap-vue/issues/3641)) - ([8b34bf2](https://github.com/bootstrap-vue/bootstrap-vue/commit/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!** - - - -## [v2.0.0-rc.25](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.0.0-rc.24...v2.0.0-rc.25) - -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](https://github.com/bootstrap-vue/bootstrap-vue/issues/3565)) - ([#3567](https://github.com/bootstrap-vue/bootstrap-vue/issues/3567) - [e48d3dc](https://github.com/bootstrap-vue/bootstrap-vue/commit/e48d3dc)) -- **b-table:** adjustments to sort icon positioning SCSS (closes - [#3563](https://github.com/bootstrap-vue/bootstrap-vue/issues/3563)) - ([#3568](https://github.com/bootstrap-vue/bootstrap-vue/issues/3568) - [5c572e8](https://github.com/bootstrap-vue/bootstrap-vue/commit/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](https://github.com/bootstrap-vue/bootstrap-vue/issues/3178), - [#1173](https://github.com/bootstrap-vue/bootstrap-vue/issues/1173)) - ([#3585](https://github.com/bootstrap-vue/bootstrap-vue/issues/3585) - [c0ca1fd](https://github.com/bootstrap-vue/bootstrap-vue/commit/c0ca1fd)) -- **b-table, b-table-lite:** don't render `thead` or `tfoot` if no detected fields for accessibility - reasons (closes [#3547](https://github.com/bootstrap-vue/bootstrap-vue/issues/3547)) - ([#3553](https://github.com/bootstrap-vue/bootstrap-vue/issues/3553) - [a924889](https://github.com/bootstrap-vue/bootstrap-vue/commit/a924889)) -- **b-tabs:** emit new `changed` event whenever tabs are added, removed or re-ordered (closes - [#3575](https://github.com/bootstrap-vue/bootstrap-vue/issues/3575)) - ([#3577](https://github.com/bootstrap-vue/bootstrap-vue/issues/3577) - [841419a](https://github.com/bootstrap-vue/bootstrap-vue/commit/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](https://github.com/bootstrap-vue/bootstrap-vue/issues/3583) - [98844b4](https://github.com/bootstrap-vue/bootstrap-vue/commit/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.** - - - -## [v2.0.0-rc.24](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.0.0-rc.23...v2.0.0-rc.24) - -Released 2019-06-17 - -### Bug Fixes v2.0.0-rc.24 - -- **b-table:** ensure `ctx.sortBy` is an empty string when no sort key specified (closes - [#3532](https://github.com/bootstrap-vue/bootstrap-vue/issues/3532)) - ([#3534](https://github.com/bootstrap-vue/bootstrap-vue/issues/3534) - [d451687](https://github.com/bootstrap-vue/bootstrap-vue/commit/d451687)) -- **b-table-lite:** add checks to helper mixins for existence of `stopIfBusy` (fixes - [#3518](https://github.com/bootstrap-vue/bootstrap-vue/issues/3518)) - ([#3520](https://github.com/bootstrap-vue/bootstrap-vue/issues/3520)) - ([285cf94](https://github.com/bootstrap-vue/bootstrap-vue/commit/285cf94)) -- **b-tabs:** add detection of when registered tabs change order (closes - [#3506](https://github.com/bootstrap-vue/bootstrap-vue/issues/3506)) - ([#3513](https://github.com/bootstrap-vue/bootstrap-vue/issues/3513) - [130f8ff](https://github.com/bootstrap-vue/bootstrap-vue/commit/130f8ff), - [#3537](https://github.com/bootstrap-vue/bootstrap-vue/issues/3537) - [b80b2b4](https://github.com/bootstrap-vue/bootstrap-vue/commit/b80b2b4)) -- **config:** avoid using `of` operator (closes - [#3525](https://github.com/bootstrap-vue/bootstrap-vue/issues/3525)) - ([#3526](https://github.com/bootstrap-vue/bootstrap-vue/issues/3526) - [17ec8d0](https://github.com/bootstrap-vue/bootstrap-vue/commit/17ec8d0)) -- **nuxt module:** correct `transformAssetUrls` value for `b-card-img` (fixes - [#3521](https://github.com/bootstrap-vue/bootstrap-vue/issues/3521)) - ([#3523](https://github.com/bootstrap-vue/bootstrap-vue/issues/3523) - [db8c6fd](https://github.com/bootstrap-vue/bootstrap-vue/commit/db8c6fd)) - - - -## [v2.0.0-rc.23](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.0.0-rc.22...v2.0.0-rc.23) - -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](https://github.com/bootstrap-vue/bootstrap-vue/issues/3476) - [8ec2eb1](https://github.com/bootstrap-vue/bootstrap-vue/commit/8ec2eb1)) -- **b-form-input, b-form-textarea:** handle case where input has been removed from document (closes - [#3498](https://github.com/bootstrap-vue/bootstrap-vue/issues/3498)) - ([#3501](https://github.com/bootstrap-vue/bootstrap-vue/issues/3501) - [9a62e44](https://github.com/bootstrap-vue/bootstrap-vue/commit/9a62e44)) -- **b-modal:** ensure `ignoreBackdropClick` flag is cleared in `clickOutHandler` - ([#3488](https://github.com/bootstrap-vue/bootstrap-vue/issues/3488) - [afb4680](https://github.com/bootstrap-vue/bootstrap-vue/commit/afb4680)) -- **b-modal:** fix IE11 issue with copy/paste from modal into MS Word (fixes - [#3457](https://github.com/bootstrap-vue/bootstrap-vue/issues/3457)) - ([#3489](https://github.com/bootstrap-vue/bootstrap-vue/issues/3489) - [16dbdf1](https://github.com/bootstrap-vue/bootstrap-vue/commit/16dbdf1)) -- **b-modal:** properly render `*-html` props if provided (closes - [#3491](https://github.com/bootstrap-vue/bootstrap-vue/issues/3491)) - ([#3492](https://github.com/bootstrap-vue/bootstrap-vue/issues/3492) - [c1ada9f](https://github.com/bootstrap-vue/bootstrap-vue/commit/c1ada9f)) -- **b-pagination-nav:** fix incorrect name in component package.json file (closes - [#3458](https://github.com/bootstrap-vue/bootstrap-vue/issues/3458)) - ([#3459](https://github.com/bootstrap-vue/bootstrap-vue/issues/3459) - [ef252df](https://github.com/bootstrap-vue/bootstrap-vue/commit/ef252df)) -- **b-pagination-nav:** attempt to auto-detect current page when `pages` array or `number of pages` - changes (closes [#3443](https://github.com/bootstrap-vue/bootstrap-vue/issues/3443)) - ([#3444](https://github.com/bootstrap-vue/bootstrap-vue/issues/3444) - [88b95c6](https://github.com/bootstrap-vue/bootstrap-vue/commit/88b95c6)) -- **b-table:** ensure provider is refreshed when filter is an object (closes - [#3428](https://github.com/bootstrap-vue/bootstrap-vue/issues/3428)) - ([#3429](https://github.com/bootstrap-vue/bootstrap-vue/issues/3429) - [b95c614](https://github.com/bootstrap-vue/bootstrap-vue/commit/b95c614)) -- **b-tabs:** improve child `b-tab` detection routine and fix bug with IDs (closes - [#3260](https://github.com/bootstrap-vue/bootstrap-vue/issues/3260)) - ([#3442](https://github.com/bootstrap-vue/bootstrap-vue/issues/3442) - [4a54e8d](https://github.com/bootstrap-vue/bootstrap-vue/commit/4a54e8d)) -- **types:** add missing `BInputGroup` to TypeScript definitions - ([#3487](https://github.com/bootstrap-vue/bootstrap-vue/issues/3487) - [b4ac081](https://github.com/bootstrap-vue/bootstrap-vue/commit/b4ac081)) -- **utils/get:** handle edge case with inherited object getters (fixes - [#3463](https://github.com/bootstrap-vue/bootstrap-vue/issues/3463)) - ([#3465](https://github.com/bootstrap-vue/bootstrap-vue/issues/3465) - [e2c8cb1](https://github.com/bootstrap-vue/bootstrap-vue/commit/e2c8cb1)) - -### Features v2.0.0-rc.23 - -- **b-table-lite:** new `` light-weight table component - ([#3447](https://github.com/bootstrap-vue/bootstrap-vue/issues/3447) - [0477941](https://github.com/bootstrap-vue/bootstrap-vue/commit/0477941)) -- improved tree-shaking when importing individual components - ([#3462](https://github.com/bootstrap-vue/bootstrap-vue/issues/3462) - [2df1ab9](https://github.com/bootstrap-vue/bootstrap-vue/commit/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.** - - - -## [v2.0.0-rc.22](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.0.0-rc.21...v2.0.0-rc.22) - -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](https://github.com/bootstrap-vue/bootstrap-vue/issues/3389) - ([#3394](https://github.com/bootstrap-vue/bootstrap-vue/issues/3394) - [fae3d25](https://github.com/bootstrap-vue/bootstrap-vue/commit/fae3d25)) -- **b-tabs:** fix regression with dynamically added tabs (fixes - [#3395](https://github.com/bootstrap-vue/bootstrap-vue/issues/3395)) - ([#3396](https://github.com/bootstrap-vue/bootstrap-vue/issues/3396) - [f254f90](https://github.com/bootstrap-vue/bootstrap-vue/commit/f254f90)) -- **form controls:** handle autofocus inside modal or when inside a transition - ([#3386](https://github.com/bootstrap-vue/bootstrap-vue/issues/3386) - [c4a8edb](https://github.com/bootstrap-vue/bootstrap-vue/commit/c4a8edb)) -- **es:** revert to tranforming `es/` modules into CJS, and simplify main build with top-level named - import/exports (closes [#3397](https://github.com/bootstrap-vue/bootstrap-vue/issues/3397), - [#3393](https://github.com/bootstrap-vue/bootstrap-vue/issues/3393), - [#3323](https://github.com/bootstrap-vue/bootstrap-vue/issues/3323)) - ([#3404](https://github.com/bootstrap-vue/bootstrap-vue/issues/3404) - [6c386d3](https://github.com/bootstrap-vue/bootstrap-vue/commit/6c386d3)) -- **nuxt:** use new bundle for development mode (closes - [#3397](https://github.com/bootstrap-vue/bootstrap-vue/issues/3397)) - ([#3399](https://github.com/bootstrap-vue/bootstrap-vue/issues/3399) - [f43097e](https://github.com/bootstrap-vue/bootstrap-vue/commit/f43097e), - [#3404](https://github.com/bootstrap-vue/bootstrap-vue/issues/3404) - [6c386d3](https://github.com/bootstrap-vue/bootstrap-vue/commit/6c386d3)) -- **types:** fix typing error for `BvComponent` and `BvPlugin` (closes - [#3390](https://github.com/bootstrap-vue/bootstrap-vue/issues/3390)) - ([#3391](https://github.com/bootstrap-vue/bootstrap-vue/issues/3391) - [6f0f3fd](https://github.com/bootstrap-vue/bootstrap-vue/commit/6f0f3fd)) - -### Features v2.0.0-rc.22 - -- **b-button:** add new `squared` prop for making buttons with square corners - ([#3387](https://github.com/bootstrap-vue/bootstrap-vue/issues/3387) - [004963d](https://github.com/bootstrap-vue/bootstrap-vue/commit/004963d)) -- **b-tooltip, b-popover:** allow global `delay` customization via config - ([#3426](https://github.com/bootstrap-vue/bootstrap-vue/issues/3426) - [2aaec76](https://github.com/bootstrap-vue/bootstrap-vue/commit/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](https://github.com/bootstrap-vue/bootstrap-vue/issues/3418) - [ce3ba73](https://github.com/bootstrap-vue/bootstrap-vue/commit/ce3ba73)) -- **nuxt module:** alias `esm/` and `es/` to `src/` for Nuxt prod mode - ([#3423](https://github.com/bootstrap-vue/bootstrap-vue/issues/3423) - [ae2040b](https://github.com/bootstrap-vue/bootstrap-vue/commit/ae2040b)) -- add `"source": "src/index.js"` entry in package.json for Parcel bundler - ([#3422](https://github.com/bootstrap-vue/bootstrap-vue/issues/3422) - [0878ca6](https://github.com/bootstrap-vue/bootstrap-vue/commit/0878ca6)) - - - -## [v2.0.0-rc.21](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.0.0-rc.20...v2.0.0-rc.21) - -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](https://github.com/bootstrap-vue/bootstrap-vue/issues/3346)) - ([#3347](https://github.com/bootstrap-vue/bootstrap-vue/issues/3347) - [14ad833](https://github.com/bootstrap-vue/bootstrap-vue/commit/14ad833)) -- **b-dropdown:** delay show of dropdown when calling `show()` (closes - [#3366](https://github.com/bootstrap-vue/bootstrap-vue/issues/3366)) - ([#3367](https://github.com/bootstrap-vue/bootstrap-vue/issues/3367) - [1604022](https://github.com/bootstrap-vue/bootstrap-vue/commit/1604022)) -- **b-input-group:** fix issue with slots (closes - [#3284](https://github.com/bootstrap-vue/bootstrap-vue/issues/3284)) - ([#3288](https://github.com/bootstrap-vue/bootstrap-vue/issues/3288) - [5639e8f](https://github.com/bootstrap-vue/bootstrap-vue/commit/5639e8f)) -- **b-input-group:** use same input-group-prepend/append for both props and slots - ([#3321](https://github.com/bootstrap-vue/bootstrap-vue/issues/3321) - [fb7386e](https://github.com/bootstrap-vue/bootstrap-vue/commit/fb7386e)) -- **b-modal:** delay initially open modal via nextTick when using v-model or visible prop - ([#3320](https://github.com/bootstrap-vue/bootstrap-vue/issues/3320) - [6f3010a](https://github.com/bootstrap-vue/bootstrap-vue/commit/6f3010a)) -- **b-table:** don't use css `grid` for stacked table SCSS - for IE11 compatibility (closes - [#3307](https://github.com/bootstrap-vue/bootstrap-vue/issues/3307)) - ([#3383](https://github.com/bootstrap-vue/bootstrap-vue/issues/3383) - [ce19fc7](https://github.com/bootstrap-vue/bootstrap-vue/commit/ce19fc7)) -- **b-tabs:** fix regression of tabs in lazy modals - use DOM query for probing tabs after mount - (closes: [#3361](https://github.com/bootstrap-vue/bootstrap-vue/issues/3361)) - ([#3375](https://github.com/bootstrap-vue/bootstrap-vue/issues/3375) - [2b188a2](https://github.com/bootstrap-vue/bootstrap-vue/commit/2b188a2)) -- **b-toast:** accessibility - prevent duplicate toast announcements for screen readers (closes - [#3322](https://github.com/bootstrap-vue/bootstrap-vue/issues/3322)) - ([#3329](https://github.com/bootstrap-vue/bootstrap-vue/issues/3329) - [d44fba5](https://github.com/bootstrap-vue/bootstrap-vue/commit/d44fba5)) -- **b-toaster:** CSS fix for IE11 support (fixes - [#3327](https://github.com/bootstrap-vue/bootstrap-vue/issues/3327)) - ([#3328](https://github.com/bootstrap-vue/bootstrap-vue/issues/3328) - [88b1cfd](https://github.com/bootstrap-vue/bootstrap-vue/commit/88b1cfd)) -- **docs:** correct modal directive name - ([#3335](https://github.com/bootstrap-vue/bootstrap-vue/issues/3335) - [d4dcc35](https://github.com/bootstrap-vue/bootstrap-vue/commit/d4dcc35)) -- **docs:** correct Vuelidate validation example and some minor tweaks - ([#3332](https://github.com/bootstrap-vue/bootstrap-vue/issues/3332) - [d5c22a8](https://github.com/bootstrap-vue/bootstrap-vue/commit/d5c22a8)) -- **docs:** `b-progress-bar` label HTML support examples (closes - [#3333](https://github.com/bootstrap-vue/bootstrap-vue/issues/3333)) - ([#3336](https://github.com/bootstrap-vue/bootstrap-vue/issues/3336) - [526f274](https://github.com/bootstrap-vue/bootstrap-vue/commit/526f274)) -- **types:** fix msxBoxConfirm typo - ([#3280](https://github.com/bootstrap-vue/bootstrap-vue/issues/3280) - [8027e5a](https://github.com/bootstrap-vue/bootstrap-vue/commit/8027e5a)) -- use `installFactory` for main `BootstrapVue` plugin (closes - [#3338](https://github.com/bootstrap-vue/bootstrap-vue/issues/3338)) - ([#3340](https://github.com/bootstrap-vue/bootstrap-vue/issues/3340) - [4c0c445](https://github.com/bootstrap-vue/bootstrap-vue/commit/4c0c445)) - -### Features v2.0.0-rc.21 - -- **b-img-lazy:** add support for IntersectionObserver (closes - [#3276](https://github.com/bootstrap-vue/bootstrap-vue/issues/3276)) - ([#3279](https://github.com/bootstrap-vue/bootstrap-vue/issues/3279) - [5cf71cf](https://github.com/bootstrap-vue/bootstrap-vue/commit/5cf71cf)) -- **b-modal:** improved portaling - retaining parent-child hierarchy (addresses - [#3312](https://github.com/bootstrap-vue/bootstrap-vue/issues/3312)) - ([#3326](https://github.com/bootstrap-vue/bootstrap-vue/issues/3326) - [3728892](https://github.com/bootstrap-vue/bootstrap-vue/commit/3728892)) -- **b-tooltip, b-popover:** add `fallback-placement` prop (closes - [#3348](https://github.com/bootstrap-vue/bootstrap-vue/issues/3348)) - ([#3349](https://github.com/bootstrap-vue/bootstrap-vue/issues/3349) - [ab42b4c](https://github.com/bootstrap-vue/bootstrap-vue/commit/ab42b4c)) -- **es build:** don't transpile import/export statements to require/exports, for better tree shaking - (closes [#3323](https://github.com/bootstrap-vue/bootstrap-vue/issues/3323)) - ([#3358](https://github.com/bootstrap-vue/bootstrap-vue/issues/3358) - [3c1866d](https://github.com/bootstrap-vue/bootstrap-vue/commit/3c1866d)) -- **form controls:** add `autofocus` prop to all `b-form-*` controls - ([#3341](https://github.com/bootstrap-vue/bootstrap-vue/issues/3341) - [e7eb1b4](https://github.com/bootstrap-vue/bootstrap-vue/commit/e7eb1b4)) -- **nuxt module:** optimize imports into single import statements - ([#3325](https://github.com/bootstrap-vue/bootstrap-vue/issues/3325) - [ef71a3b](https://github.com/bootstrap-vue/bootstrap-vue/commit/ef71a3b)) -- **types:** better type declarations (closes - [#1976](https://github.com/bootstrap-vue/bootstrap-vue/issues/1976)) - ([#3283](https://github.com/bootstrap-vue/bootstrap-vue/issues/3283) - [a42abd0](https://github.com/bootstrap-vue/bootstrap-vue/commit/a42abd0)) -- don't warn about multiple Vue instances when testing in JSDOM (closes - [#3303](https://github.com/bootstrap-vue/bootstrap-vue/issues/3303)) - ([#3315](https://github.com/bootstrap-vue/bootstrap-vue/issues/3315) - [0caa29b](https://github.com/bootstrap-vue/bootstrap-vue/commit/0caa29b)) - - - -## [v2.0.0-rc.20](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.0.0-rc.19...v2.0.0-rc.20) - -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](https://github.com/bootstrap-vue/bootstrap-vue/issues/3174)) - ([#3252](https://github.com/bootstrap-vue/bootstrap-vue/issues/3252) - [f46b5d8](https://github.com/bootstrap-vue/bootstrap-vue/commit/f46b5d8)) -- **b-nav-item-dropdown:** fix disabled state (fixes - [#3264](https://github.com/bootstrap-vue/bootstrap-vue/issues/3264)) - ([#3266](https://github.com/bootstrap-vue/bootstrap-vue/issues/3266) - [10d4c4d](https://github.com/bootstrap-vue/bootstrap-vue/commit/10d4c4d)) -- **b-collapse:** is-nav link click behaviour - check if collapse has `display: block !important` - before attempting to close collapse - ([#3199](https://github.com/bootstrap-vue/bootstrap-vue/issues/3199) - [b0729cc](https://github.com/bootstrap-vue/bootstrap-vue/commit/b0729cc)) -- **b-form-input:** properly handle out-of-sync values (closes - [#2657](https://github.com/bootstrap-vue/bootstrap-vue/issues/2657)) - ([#3172](https://github.com/bootstrap-vue/bootstrap-vue/issues/3172) - [976f9c1](https://github.com/bootstrap-vue/bootstrap-vue/commit/976f9c1)) -- **b-modal:** exclude document.body when determining return focus element - ([#3228](https://github.com/bootstrap-vue/bootstrap-vue/issues/3228) - [092ab2d](https://github.com/bootstrap-vue/bootstrap-vue/commit/092ab2d)) -- **b-modal:** prevent duplicate key when sending to portal-target - ([#3235](https://github.com/bootstrap-vue/bootstrap-vue/issues/3235)) - ([5204ad7](https://github.com/bootstrap-vue/bootstrap-vue/commit/5204ad7)) -- **b-modal:** return focus edge case bug in IE11 (fixes - [#3206](https://github.com/bootstrap-vue/bootstrap-vue/issues/3206)) - ([#3207](https://github.com/bootstrap-vue/bootstrap-vue/issues/3207) - [7ef36c2](https://github.com/bootstrap-vue/bootstrap-vue/commit/7ef36c2)) -- **b-pagination:** use unicode escape sequence for default bookend button text - ([#3186](https://github.com/bootstrap-vue/bootstrap-vue/issues/3186) - [dfb6af7](https://github.com/bootstrap-vue/bootstrap-vue/commit/dfb6af7)) -- **b-toast:** use appendChild instead of append for IE 11 support - ([#3160](https://github.com/bootstrap-vue/bootstrap-vue/issues/3160) - [be118a9](https://github.com/bootstrap-vue/bootstrap-vue/commit/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](https://github.com/bootstrap-vue/bootstrap-vue/issues/3242) - [3d1d777](https://github.com/bootstrap-vue/bootstrap-vue/commit/3d1d777)) -- **b-button:** add prop `pill` for pill style buttons - ([#3214](https://github.com/bootstrap-vue/bootstrap-vue/issues/3214) - [c26298b](https://github.com/bootstrap-vue/bootstrap-vue/commit/c26298b)) -- **config:** add option in config to set global tooltip and popover boundary - ([#3229](https://github.com/bootstrap-vue/bootstrap-vue/issues/3229) - [00e4fc9](https://github.com/bootstrap-vue/bootstrap-vue/commit/00e4fc9)) -- **b-dropdown:** additional semantic markup optimizations for A11Y - ([#3196](https://github.com/bootstrap-vue/bootstrap-vue/issues/3196) - [91d893e](https://github.com/bootstrap-vue/bootstrap-vue/commit/91d893e)) -- **b-modal:** use PortalVue for modal placement - ([#3157](https://github.com/bootstrap-vue/bootstrap-vue/issues/3157) - [6325528](https://github.com/bootstrap-vue/bootstrap-vue/commit/6325528)) -- **b-table:** make table sort icons configurable via SCSS variables - ([#3156](https://github.com/bootstrap-vue/bootstrap-vue/issues/3156) - [a72f134](https://github.com/bootstrap-vue/bootstrap-vue/commit/a72f134)) -- **b-toast:** add additional options to global default config (closes - [#3169](https://github.com/bootstrap-vue/bootstrap-vue/issues/3169)) - ([#3170](https://github.com/bootstrap-vue/bootstrap-vue/issues/3170) - [b01e01c](https://github.com/bootstrap-vue/bootstrap-vue/commit/b01e01c)) -- **v-b-toggle:** make targets reactive to updates (closes - [#3165](https://github.com/bootstrap-vue/bootstrap-vue/issues/3165)) - ([#3167](https://github.com/bootstrap-vue/bootstrap-vue/issues/3167) - [6eff6d9](https://github.com/bootstrap-vue/bootstrap-vue/commit/6eff6d9)) -- console warn if multiple instances of Vue detected (addresses - [#3040](https://github.com/bootstrap-vue/bootstrap-vue/issues/3040)) - ([#3220](https://github.com/bootstrap-vue/bootstrap-vue/issues/3220) - [41db3e2](https://github.com/bootstrap-vue/bootstrap-vue/commit/41db3e2)) -- make more component appearance prop defaults globally configurable (closes - [#3173](https://github.com/bootstrap-vue/bootstrap-vue/issues/3173)) - ([#3175](https://github.com/bootstrap-vue/bootstrap-vue/issues/3175) - [f7cf28c](https://github.com/bootstrap-vue/bootstrap-vue/commit/f7cf28c)) -- **types:** create more typescript typings, and simplify component/directive/plugin imports. - ([#3209](https://github.com/bootstrap-vue/bootstrap-vue/issues/3209) - [50bbe6a](https://github.com/bootstrap-vue/bootstrap-vue/commit/50bbe6a)) - - - -## [v2.0.0-rc.19](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.0.0-rc.18...v2.0.0-rc.19) - -Released 2019-04-21 - -### Bug Fixes v2.0.0-rc.19 - -- **b-link:** ensure href prop is not passed to router-links (fixes - [#3066](https://github.com/bootstrap-vue/bootstrap-vue/issues/3066)) - ([#3084](https://github.com/bootstrap-vue/bootstrap-vue/issues/3084) - [f679c11](https://github.com/bootstrap-vue/bootstrap-vue/commit/f679c11)) -- **b-col, b-form-group:** implement self overwriting lazy props getter (fixes: - [#3080](https://github.com/bootstrap-vue/bootstrap-vue/issues/3080)) - ([#3125](https://github.com/bootstrap-vue/bootstrap-vue/issues/3125) - [92756bd](https://github.com/bootstrap-vue/bootstrap-vue/commit/92756bd)) -- **b-form-textarea:** improve auto-row height calculation timing (closes - [#3103](https://github.com/bootstrap-vue/bootstrap-vue/issues/3103)) - ([#3105](https://github.com/bootstrap-vue/bootstrap-vue/issues/3105) - [dfc662e](https://github.com/bootstrap-vue/bootstrap-vue/commit/dfc662e)) -- **b-modal:** clear internal return_focus after modal closes (fixes - [#3067](https://github.com/bootstrap-vue/bootstrap-vue/issues/3067)) - ([#3068](https://github.com/bootstrap-vue/bootstrap-vue/issues/3068) - [971556f](https://github.com/bootstrap-vue/bootstrap-vue/commit/971556f)) -- **b-modal:** ensure that v-model is updated when show or hide is canceled - ([#3131](https://github.com/bootstrap-vue/bootstrap-vue/issues/3131) - [6726a33](https://github.com/bootstrap-vue/bootstrap-vue/commit/6726a33)) -- **b-modal:** fix close on click-out for IE11 - ([#3117](https://github.com/bootstrap-vue/bootstrap-vue/issues/3117) - [9b09e52](https://github.com/bootstrap-vue/bootstrap-vue/commit/9b09e52)) -- **b-modal:** handle HMR when defining property on Vue prototype - ([#3123](https://github.com/bootstrap-vue/bootstrap-vue/issues/3123) - [a4e7f21](https://github.com/bootstrap-vue/bootstrap-vue/commit/a4e7f21)) -- **b-tab:** don't use `aria-expanded` on the panel - ([#3143](https://github.com/bootstrap-vue/bootstrap-vue/issues/3143) - [381eacf](https://github.com/bootstrap-vue/bootstrap-vue/commit/381eacf)) -- **b-table:** prevent hover style on busy/empty row (closes - [#3079](https://github.com/bootstrap-vue/bootstrap-vue/issues/3079)) - ([#3086](https://github.com/bootstrap-vue/bootstrap-vue/issues/3086) - [c53ffd4](https://github.com/bootstrap-vue/bootstrap-vue/commit/c53ffd4)) -- **utils:** improve `dom`, `env`, `inspect` and test utils - ([#3085](https://github.com/bootstrap-vue/bootstrap-vue/issues/3085) - [bd85049](https://github.com/bootstrap-vue/bootstrap-vue/commit/bd85049)) -- **nuxt module:** ensure that css and transpile are arrays (fixes: - [#3141](https://github.com/bootstrap-vue/bootstrap-vue/issues/3141)) - ([#3142](https://github.com/bootstrap-vue/bootstrap-vue/issues/3142) - [239da77](https://github.com/bootstrap-vue/bootstrap-vue/commit/239da77)) -- **docs:** improve `` prevent closing example - ([#3054](https://github.com/bootstrap-vue/bootstrap-vue/issues/3054) - [f609316](https://github.com/bootstrap-vue/bootstrap-vue/commit/f609316)) -- **docs:** improve code highlighting + table styles - ([#3078](https://github.com/bootstrap-vue/bootstrap-vue/issues/3078) - [d4b9895](https://github.com/bootstrap-vue/bootstrap-vue/commit/d4b9895)) -- **docs:** overall improvements - ([#3129](https://github.com/bootstrap-vue/bootstrap-vue/issues/3129) - [be53376](https://github.com/bootstrap-vue/bootstrap-vue/commit/be53376)) - -### Features v2.0.0-rc.19 - -- **b-dropdown:** use semantic ` @@ -78,6 +85,11 @@ Properties + +

+ All property default values are globally configurable. +

+ -