Highlights

  • Added experimental, opt-in CSS Grid support
  • Added support for responsive offcanvas components in navbars
  • Added new placeholders component for skeleton loading screens
  • Added support for horizontal collapsing in the collapse component
  • Added new stack and vertical rule helpers
  • Added tons of new CSS variables for body styles, colors, RGB colors, and more
  • Updated .bg-* and .text-* utilities to use CSS variables and new RGB CSS variables for real-time customization
  • Added four new component examples for dropdowns, footers, list groups, and modals
  • Updated modal and offcanvas backdrops to make them unique to each component
  • Reverted ability for .col-* classes to override .row-cols-* classes for now until we can fix some critical bugs

🚀 Features

  • #31813: Add optional CSS grid
  • #31859: Add a "skeletons" component
  • #32319: Add maps for all colors, document how to extend color utilities
  • #33403: modal: change data-dismiss so that it can be outside of a modal using bs-target
  • #33781: Add utility classes for opacity
  • #33986: New helpers: .hstack, .vstack, and .vr
  • #34253: Add horizontal collapse support
  • #34273: Offcanvas navbar
  • #34333: Accept argument of different types in the getInstance method

🎨 CSS

  • #31813: Add optional CSS grid
  • #32319: Add maps for all colors, document how to extend color utilities
  • #33781: Add utility classes for opacity
  • #33986: New helpers: .hstack, .vstack, and .vr
  • #34100: Updated utility API (css-vars utils and new bg/color utils), plus new root CSS variables
  • #34253: Add horizontal collapse support
  • #34273: Offcanvas navbar
  • #34432: More concise improvements for add() and subtract()
  • #34440: Add null $card-box-shadow variable
  • #34445: fix(forms): prevent color control from shrinking
  • #34475: Make text decoration consistent with other anchors
  • #34481: Make the $accordion-icon-color default value consistent with the $accordion-button-color
  • #34572: Clean up a couple CSS Grid issues
  • #34612: Revert "Allow individual grid classes to override .row-cols"
  • #34651: Update $input-bg to use $body-bg

️ JavaScript

  • #33402: Changes to Alert component to match the others
  • #33403: modal: change data-dismiss so that it can be outside of a modal using bs-target
  • #33603: Fix Manipulator.offset()
  • #33610: Toasts: Change showing timings and classes to keep toast display:none by default
  • #33865: Add shift-tab keyboard support for dialogs (modal & Offcanvas components)
  • #33866: Add dynamic, live alerts example to docs
  • #34170: Use a streamlined way to trigger component dismiss
  • #34205: Cleanup tooltip & popover components
  • #34207: Make proper use of the SelectorEngine in ScrollSpy
  • #34215: Use the switch statement instead of if
  • #34220: Do a major cleanup in Collapse.js
  • #34333: Accept argument of different types in the getInstance method
  • #34441: util.js: remove Selector.findOne() dependency
  • #34458: Dropdown cleanups
  • #34543: Fix Util.reflow function and add documentation
  • #34619: tooltip: move repeated strings to constants
  • #34620: Enable a few eslint-config-xo rules
  • #34628: Regression on tooltip template creation process.

📖 Docs

  • #32319: Add maps for all colors, document how to extend color utilities
  • #33866: Add dynamic, live alerts example to docs
  • #34100: Updated utility API (css-vars utils and new bg/color utils), plus new root CSS variables
  • #34406: Fix site params variable on themes section
  • #34472: Added new Offcanvas file to import example
  • #34517: Update nav-tab.md
  • #34526: Add: GitHub Octicons to the list
  • #34557: docs: minor image compression improvements
  • #34573: Update the custom Sass import docs
  • #34574: Document change to hr in v5
  • #34577: Make note of _root.scss being required
  • #34578: Rename Build Tools page to Contribute
  • #34605: Collapse page: add a link to the accordion page
  • #34637: Improved docs describing media-breakpoint-down breakpoints

🛠 Examples

  • #33882: Add four new snippet examples
  • #34273: Offcanvas navbar
  • #34336: Remove unneeded .text-white-50 CSS rule from Offcanvas Example

🌎 Accessibility

  • #33865: Add shift-tab keyboard support for dialogs (modal & Offcanvas components)

🔧 Utility API

  • #34100: Updated utility API (css-vars utils and new bg/color utils), plus new root CSS variables

🧰 Misc

  • #32907: npm scripts: add aggregate-output
  • #34389: CONTRIBUTING.md: fix broken link to README.md
  • #34453: CI: make use of the actions/setup-node's cache option

📦 Dependencies