Highlights
-
New interaction utilities. Quickly set
user-select
with the new utilities and Sass map. -
New Reboot style for pointer cursors. We now include a
role="button"
selector in Reboot to setcursor: pointer
on non-<button>
element buttons. - Examples are now downloadable. We've added a script to zip up and offer all our Examples as their own download from the docs.
- Saved ~5% from the compressed minified JS builds.
- Added guidance to our docs for how to work around our longstanding input group rounded corner bug.
- Redesigned docs homepage and navbar to increment us towards v5's new docs design.
- Deprecated
bg-gradient-variant
mixin as it's being removed in v5. - Updated to jQuery v3.5.1, Jekyll v4, and dropped Node.js < 10 for development.
CSS
- #29413: Prevent vertical offset on progress bar in IE11
- #29745: Add
display: flex
on.breadcrumb-item
- #29819: Allow percentages in container widths
- #29857: Escape brackets
- #29946: Added new variable for padding on dropdown header
- #30004: Fixes disabled
.btn
cursor - #30036: Added focus state to
.btn-link
- #30043: Fix IE auto-size input-group to column
- #30049: Prevent grid with default cols from breaking when large
pre
is present by settingmin-width: 0
- #30074: Use
word-wrap
in.text-break
for IE and Edge compatibility - #30166: Avoid
border-radius
functions returning negative values - #30183: Remove unnecessary reduce motion when
$enable-transition: false
- #30244: Fix centered modal scrolling issue
- #30262: Prevent link underline change from affecting some components
- #30361: Remove appearance from date inputs
- #30391: Prevent redundant
transition: none in
transition()` mixin - #30497: Fix card list group borders & radii
- #30504: Fix
spinner-grow
animation in Safari - #30515: Add
.card-footer
color - #30555, #30512, #30480: Use
box-shadow
mixin for.form-select
,.btn
, and other form controls - #30562: Added new interaction utilities for
user-select
and a new -role="button"
in Reboot to setcursor: pointer
. - #30582: Delete unnecessary
appearance: none
frombutton.close
- #30594: Deprecate
bg-gradient-variant
mixin - #30605, #30606: Grid now checks for for
$grid-columns > 0
- #30609: Checks for an empty
$grid-breakpoints
map list to remove all breakpoints - #30660: Prevent list group style leaks
- #30685: Disable auto-hiding scrollbar in IE and legacy Edge
JavaScript
- #29986: Close modal with
keyboard=true
&backdrop=static
- #29968: sanitizer.js: Add
srcset
in the allowed attributes - #30381: Updated tab.js to address accessibility issue when using ul/li semantic
- #30383: ensure
totype
always return stringified null when null passed - #30388: enable button toggle on label when checkbox is inside
- #30490: Switch to string constants to save ~5% on compressed file size
- #30510, #30511: Fix event propagation from inactive and disabled dropdowns
- #30744: ensure build plugins can exit in error
- #30772: Prevent scrollbar replacement on non-integer width
- 22f75c: scrollspy: only accept valid Elements as input for target
Docs
- Redesigned docs homepage
- Improved tap target sizing in our navigation
- Added examples for our input group border-radius workaround
- Added warning to browser bugs page that it's no longer maintained
- Added
loading="lazy"
for images - #29782: Improve wrapping and hit area of accordion example titles
- #29820: move width after
make-container()
mixin - #29937: Add missing Noto Sans font to font stack
- #29956: Add Microsoft Edge for macOS to supported browsers
- #30130: Added ability to zip and download our Examples
- #30175: Add version number in page titles
- #30180: Changed input group validation examples to reflect issues with input group
- #30207: Headings hierarchy in theming.md
- #30325: Updated modal docs to simplify
data-target
usage and more - #30416: Clarify card group behavior
- #30469: Remove holder.js leftovers
- #30505: Use existing position utility in navbar example
- #30695: make the check for URL stricter in our docs search
- #30755: Removed
role="document"
from the modal dialog
Examples
- #29886: Fix checkout page forms
- #30573: Improve the responsiveness of our Dashboard example
Dependencies
- Updated jQuery to v3.5.1
- Replaced bundlesize with bundlewatch
- Updated to Jekyll v4
- Drop Node.js < 10
- Misc devDependencies updates