Highlights
- Added new offcanvas component for left, right, and bottom-aligned hidden content
- Added four new snippet-based examples: headers, heroes, features, and sidebars
- Updated the starter template example and a few other examples
- Added new Sass docs section to nearly every page to show variables, mixins, loops, and keyframes from our source code
- Added new
.list-group-numbered
variation to list groups that uses pseudo-elements for numbering list group items. - Removed explicit focus state suppression in Reboot
- Improved carousel swipe behaviors for RTL
- Updated accordions to improve transitions and borders when animating
- Updated Sass customization docs to show how to properly override default variables
- Fixed tooltips not appearing after rapid focus in and out
- Fixed dropdown events not bubbling and forms inside dropdowns not propagating
- Removed flip option from dropdowns
- Disabled select now render consistently in Chrome
- Button elements now grow in
.nav-fill
and.nav-justified
- JavaScript plugin constructors now accept CSS selectors
- De-duped the
.border-0
utility - Fixed event handler removal in dropdown/carousel dispose
- Added new Parcel guide to the docs
- Added input focus blur Sass variable
- Updated
.browserslistrc
to drop Android and add Safari/iOS 12 as the new minimum version (completing our two latest major releases guideline for supported browsers).
🚀 Features
- #29017: Offcanvas as component
- #32245: Allow constructors to accept a CSS selector
- #33068: Add
ol.list-group
with pseudo-element numbers
🎨 CSS
- #32747: Add Sass docs (variables, mixins, and loops) to most pages
- #32925: Clear duplicated class
border-0
- #33029: Remove explicit suppression of focus outline
- #33031: Add input focus blur variable
- #33068: Add
ol.list-group
with pseudo-element numbers - #33127: Reset
select:disabled
opacity for Chrome - #33149: Revamp accordion borders to fix pixel jumping
- #33154: Fix sibling card links in RTL
- #33210: Properly set
.list-group-item
color - #33211: Validated controls border in input-group
- #33213: Buttons should grow in nav-fill & nav-justified
- #33325: Remove duplicate text-decoration style for abbr[title]
- #33426: Fix flush accordion styles
☕ ️ JavaScript
- #30621: modal: don't add margin & padding when sticky is not full width
- #32180: refactor: use a Map instead of an Object in dom/data
- #32245: Allow constructors to accept a CSS selector
- #32446: util: change
isRTL
to a function - #32913: Fix carousel RTL and refactor code, fix rtl swipe issues
- #33000: Fix event handler removal in dropdown/carousel dispose
- #33056: modal: move common code to a new
isAnimated
method - #33120: Remove the default positioning from
.dropup
- #33136: Adjust
SAFE_URL_PATTERN
regex for use with test method of regexes. - #33198: Dropdown — Drop
flip
option - #33248: Accept data-bs-body option in the configuration object as well
- #33257: Dynamic tab should not show when triggered on
disabled
element - #33261: Change the name of the
Offcanvas
constructor - #33289: fix tooltips disappearing after trying to interact during their fade out animation
- #33382: Allow offcanvas to be initialized in open state
- #33385: Use more safe check for 'isDisabled' helper
- #33442: Allow data-toggle="dropdown" and form click events to bubble
📖 Docs
- #30909: Add Parcel Bundler doc
- #32747: Add Sass docs (variables, mixins, and loops) to most pages
- #33006: docs: add bootstrap5 zh-tw in translations
- #33049: Docs improvements after beta2
- #33081: Fix typo in nav-tabs docs
- #33123: Clarify docs around .navbar-brand
- #33207: Add an example of v4's media component in the flex utils docs
- #33246: Update the "Nonblocking files" section in the docs
- #33267: Grammatically update the doc
- #33300: Update modal's
show
method to acceptrelatedTarget
as an argument - #33301: Add example: toggle modal dialogs
- #33322: Fix Flex utilities documentation to add vertical space in example
- #33332: Mention .no-gutters removal in migration guide
- #33333: Fixes some copy around inline forms
- #33380: Utilities to Utilities API (Borders doc page)
- #33386: Update Customize > Sass docs to properly place default variable overrides
- #33430: Add link to new Parcel guide in starter template
- #33443: offcanvas-navbar: add missing redirect
🏭 Tests
- #32662: Unit tests for Popper V2
- #33045: Simplify karma.conf.js
- #33060: Add the missing expectations for touch events
- #33090: Add tests for
DATA_KEY
- #33167: visual tests: add missing base-component dist file
- #33398: BrowserStack: test on iPhone 12
🧰 Misc
- #33067: CI: skip release drafter if we are not on our repo
- #33100: linkinator: replace
--silent
with--verbosity
- #33129: Rename _gh_pages to _site.
- #33130: CodeQL: skip dependabot PRs too
- #33148: Improve change-version script
- #33192: Bundlewatch: stop ignoring dependabot branches
- #33326: Delete the unused build/ship.sh
- #33329: @rollup/plugin-replace: specify
preventAssignment: true
- #33397: .browserslistrc: remove the Edge workaround.
- #33399: .browserslistrc: remove Android and make Safari/iOS 12 the minimum
- #33401: README.md: use shields.io for the tests badge too
📦 Dependencies
Updated numerous devDependencies https://github.com/twbs/bootstrap/pulls?q=is%3Apr+is%3Aclosed+label%3Adependencies+project%3Atwbs%2Fbootstrap%2F34