🚀 Highlights
- #33079: Revamp tabs & follow ARIA 1.1 practices
- #33354: Column Striping Feature for Tables
- #33421: Revamp Scrollspy using Intersection observer
- #33606: Add
.form-check-reverse
modifier class - #34334:
make-col-ready()
: remove the unused$gutter
variable - #34443: Convert navbar to CSS variables
- #34487: Docs offcanvas navbar
- #34547: Prefer Linux-specific fonts over Arial
- #34600: Convert buttons to CSS variables
- #34622: Convert tooltips and popovers to CSS vars
- #34644: Always set the CSS variables for gutters in containers
- #34942: Move reassigned Sass maps for colors to another stylesheet
- #35055: Add
color
andborder-color
CSS variables to tables - #35077: Manipulator: Add JSON parse support
- #35153: Reset
z-index
on.navbar-expand .offcanvas
and preventbox-shadow
when collapsed - #35399: Convert pagination component to CSS variables
- #35401: Convert alerts to CSS variables
- #35402: Convert badges to CSS variables
- #35409: Convert dropdowns to CSS variables
- #35514: Popover.js: Accept empty content through
data-bs-content
- #35518: Add sticky bottom utility
- #35736: v5.2.0 design refresh, plus responsive offcanvas classes
- #35893: Add centered dropdown and dropup options
- #35908: Remove thicker border on table thead elements
- #35979: Adjust border-radius values and add some new utilities
- #36242: Add new
.text-bg-{color}
helpers
🚀 Features
- #33354: Column Striping Feature for Tables
- #33421: Revamp Scrollspy using Intersection observer
- #33606: Add
.form-check-reverse
modifier class - #34519: Add a template factory helper to handle all template cases
- #35077: Manipulator: Add JSON parse support
- #35514: Popover.js: Accept empty content through
data-bs-content
- #35518: Add sticky bottom utility
- #35893: Add centered dropdown and dropup options
- #36272: Toast: provide
isShown
method
🎨 CSS
- #32840: Support floating labels on
.form-control-plaintext
- #33606: Add
.form-check-reverse
modifier class - #34334:
make-col-ready()
: remove the unused$gutter
variable - #34443: Convert navbar to CSS variables
- #34547: Prefer Linux-specific fonts over Arial
- #34600: Convert buttons to CSS variables
- #34622: Convert tooltips and popovers to CSS vars
- #34627: Remove tooltip and popover styling as it is handled by Popper
- #34644: Always set the CSS variables for gutters in containers
- #34863: Color input validation icon
- #34942: Move reassigned Sass maps for colors to another stylesheet
- #35055: Add
color
andborder-color
CSS variables to tables - #35082: Set
cursor: default
on disabled.form-check-label
- #35085: Fixes missing variable issue with
media-breakpoint-only
- #35153: Reset
z-index
on.navbar-expand .offcanvas
and preventbox-shadow
when collapsed - #35230: Don't override CSS
direction
in code elements - #35231: Ensure sufficient contrast in
accordion-item
- #35232: Drop prefixed version of
::file-selector-button
- #35326: Correctly implement RFS in
:root
CSS variable for$body-font-size
- #35399: Convert pagination component to CSS variables
- #35401: Convert alerts to CSS variables
- #35402: Convert badges to CSS variables
- #35403: Convert breadcrumbs to CSS variables
- #35406: Bring back webkit calendar picker indicator for datalists
- #35409: Convert dropdowns to CSS variables
- #35428: Convert border utilities to CSS variables
- #35466: Fix typo in
$purples
- #35467: Add missing
border-radius
forbtn-group
- #35484: Reprocess inline SVGs with the latest SVGO
- #35491: Rely on
border-width
for<hr>
size - #35518: Add sticky bottom utility
- #35533: docs: Move
gap
utility API from "Flex" to "Spacing" - #35554: Separate modal click functionality, utilizing backdrop callback
- #35571: Fix alerts color
- #35592: move theme-colors (vars+map) after color tints definitions
- #35676: Add black to colors map
- #35740: Add
!important
property to colored links - #35759: Fix position of
.list-group-item-action
- #35804: Allow to set active and disabled class also to .page-link
- #35822: Apply list group numbering to all items
- #35825: Correct the horizontal padding on grid containers
- #35829: New CSS variable for Navbars
- #35844: Fixed border radius var name and .show target in buttons
- #35850: Rename dropdown-shadow to dropdown-box-shadow for consistency
- #35858: Add null modal-footer-bg variable
- #35859: Add z-index for .toast-container
- #35862: Convert list group to CSS variables
- #35886: Replace non-existent
--bs-btn-padding
by--bs-btn-padding-{x|y}
- #35894: Base
.text-muted
on body color - #35907: Use all dropdowns CSS variables
- #35908: Remove thicker border on table thead elements
- #35914: Fix dropdowns
- #35917: Define Pagination font size CSS var
- #35918: RTL arrows for popovers and tooltips
- #35921: Split CSS vars for padding values
- #35932: v5.2 border-width is disabled
- #35943: Add missing root border opacity CSS var
- #35960: Convert spinners to CSS variables
- #35961: Convert toasts to CSS variables
- #35962: Convert progress bars to CSS variables
- #35973: Fix dropdowns
- #35976: Fix space between popover's arrow and triggering element
- #35979: Adjust border-radius values and add some new utilities
- #35981: Add additional root variables, rename
$variable-prefix
to$prefix
- #35984: Update docs syntax colors head of dark mode
- #35994: Update
$border-color
to usergba()
- #35995: Ignore warning for
.navbar-light
deprecation - #35996: Add some
calc()
for manipulating new CSS variable version of border-width - #36003: Set opacity on dropdown-divider for now
- #36018: Some CSS fixes
- #36038: v5.2.0 migration updates
- #36058: Fix proposal for
.dropstart
- #36070: Popover : New CSS var
- #36071: Train PR: CSS variables for accordion, cards, navs, and modals
- #36082: Fix duplicate border radius CSS var definition
- #36083: Reuse all breadcrumb CSS vars available
- #36093: Adding
@include font-size
when not - #36098: Use new CSS vars
- #36100: Adding CSS var to list-group-item-action
- #36105: Fix for missing CSS variables on
.navbar-nav
- #36126: Use the
border-color
property instead of the CSS variable in border color utilities - #36145: Improve use of CSS vars in Toasts
- #36148: Add CSS vars for accordions
- #36149: Modal : Changing the CSS var management
- #36157: Add
$input-disabled-color
Sass variable - #36179: CSS : Minor fixes
- #36202: Update _breakpoints.scss
- #36220: Clean up last
$variable-prefix
usages - #36238: Revert
border-color
change - #36239: Iterate on border utilities
- #36242: Add new
.text-bg-{color}
helpers - #36277: Fix proposal for Tooltips
- #36296: Remove leftover abbr styles in Reboot for tooltips
☕ ️ JavaScript
- #31607: Use Babel and ES6 in docs JS files
- #32692: Clean tooltip component unneeded functionality
- #32999: Extract Carousel's swipe functionality to a separate Class
- #33079: Revamp tabs & follow ARIA 1.1 practices
- #33421: Revamp Scrollspy using Intersection observer
- #33872: Extract Component config functionality to a separate class
- #34509: build: read & dynamically resolve
imports
on plugins build - #34519: Add a template factory helper to handle all template cases
- #34945: Carousel cleanup & refactoring
- #35077: Manipulator: Add JSON parse support
- #35127: tooltip.js: use array.includes instead of for iteration
- #35141: Modal tweaks & cleanup
- #35156: Collapse: refactor active children handling
- #35157: Dropdown remove redundant code
- #35161: Swipe: add test to ensure that it ignores
pinch
events - #35183: JS: minor refactoring
- #35388: Scrollbar: remove margin/padding properties properly
- #35400: Tooltip: Some more changes
- #35410: BaseComponent: add a couple more tests
- #35419: Alert: add a couple more tests
- #35440: Tooltip: remove leftover method
- #35441: Fix popover arrow & tooltip template after the
setContent
addition - #35448: Dropdown tests: Use a function to improve readability
- #35456: Tooltip: remove title attribute before show & add tests
- #35492: ScrollBar.js. Minor refactoring and add test
- #35500: Dropdown: fix toggle focus after dropdown is hidden using the
ESC
button - #35506: build/postcss.config.js: minor tweaks
- #35507: Toast: join multiple
classList
calls - #35510: util/index.js: minor refactoring
- #35511: Tab: minor refactoring
- #35512: Scrollspy: minor refactoring
- #35514: Popover.js: Accept empty content through
data-bs-content
- #35527: Popover/Tooltip: Fix vertical alignment on arrow of tip elements
- #35540: Tooltip: remove extraneous call to
_getConfig()
- #35546: More tooltip refactoring
- #35554: Separate modal click functionality, utilizing backdrop callback
- #35559: Event handler: replace deprecated function & merge
new Event
withnew CustomEvent
- #35589: Remove explicit use of aria-hidden for offcanvas when closed
- #35590: Assorted JS cleanup
- #35682: fix isVisible behavior with new chrome version
- #35684: Selector Engine: improve
parents
method to utilize newer JS native methods - #35689: Optimize jQueryInterface in Collapse
- #35734: src/tooltip.js Optimization
- #35748: Dropdown.js optimizations
- #35752: Dropdown cleanup and fixes
- #35753: Carousel tweaks
- #35754: Event Handler cleanup
- #35766: Dropdown: use a combined selector to filter not shown instances
- #35832: Add static backdrop to offcanvas
- #35856: Make event name helper and use it on tooltip & popover to reduce dist sizes
- #35866: Dropdown: use a better selector to avoid triggering click if button is disabled
- #35870: Dropdown: Simplify dataKeyApiHandler
- #35871: Carousel tweaks
- #35893: Add centered dropdown and dropup options
- #35902: Modal: refactor listeners to reduce some code noise
- #35930: Carousel patches
- #35973: Fix dropdowns
- #35983: Carousel tweaks
- #35990: Carousel patches
- #35991: Patch dropdown.js
- #36028: Dropdown test
- #36169: Handle disabled focused tabs with tab JavaScript plugin
- #36186: EventHandler: change check method for custom events, avoiding regex
- #36217: Document incompatibilities between Bootstrap JS and React/.etc
- #36272: Toast: provide
isShown
method - #36273: Separate docs js assets
- #36324: Revert backdrop utilization, handling clicks over modal
📖 Docs
- #31337: JS docs formatting tweaks
- #31607: Use Babel and ES6 in docs JS files
- #32953: Replace AnchorJS with a Hugo render hook
- #34487: Docs offcanvas navbar
- #35124: Update NuGet docs to specify only .NET Framework projects are supported
- #35154: Add top placement info to offcanvas docs
- #35160: Update typography.md to remove an unnecessary
<abbr>
tag - #35223: Add missing
role="search"
andtype="search"
in navbar doc and examples - #35234: images.md: remove zero-width space
- #35236: Fix typo in RTL Hello World! sentence
- #35264: fix(offcanvas): Add missing titles class
- #35320: Update import stacks required for modifying utilities
- #35327: floating-labels: remove
aria-label
in theselect
example - #35328: Fix spacing utility classes mentioned in navbar supported content documentation
- #35348: Fix typo in vertical alignment of table cells
- #35373: Add missing scss/maps imports
- #35414: Fix variable name in Sass customizing section
- #35434: Breadcrumb docs: drop confusing currentColor and add new callout
- #35446: Update edge-to-edge design instructions
- #35468: Fix variable name in form overview docs
- #35486: Update api.md
- #35497: docs: add Tabler Icons to list of icon packs
- #35532: docs: Add responsive variations for
align-content-between
- #35556: docs: Use
param
to set Bootstrap version in Contents page - #35563: docs: A fix for CSS Variables and some proposal
- #35579: docs: add reference to
sticky-xxl
utils - #35587: Add note to carousel crossfade docs about bg color
- #35588: Docs: Strengthen and expand note about dynamic tabs with dropdown menus
- #35644: docs: add a StackBlitz "Try It" button in code examples
- #35647: Update cspell config
- #35649: Docs: group together reusable CSS for examples in a single stylesheet
- #35696: Docs - Remove duplicate Octicons entry in icons list
- #35713: Remove incorrect statement about the disabled attribute on
<form>
- #35730: Add Spanish translation
- #35735: Change X to Extra
- #35736: v5.2.0 design refresh, plus responsive offcanvas classes
- #35741: docs: remove moot
autocomplete
attributes - #35775: Fix dropdown docs about autoclose and esc key.
- #35778: Fixed typo in documentation form validation section
- #35814: Remove remaining
.navbar-light
classes - #35818: code indentation in readme
- #35827: Fixes #32082
- #35828: Fix typo in Badges CSS variables description
- #35837: Update reboot.md
- #35878: Improve modal component doc
- #35895: Mention form height change in migration guide
- #35903: Separate override for hr's in component examples
- #35905: Site assets:
.bd-bg-purple-bright
→.bd-bg-violet
and drop unused.bd-text-purple-bright
- #35909: update ionicons link
- #35931: Remove unneeded classes from toasts docs
- #35942: update google material icons link
- #35948: docs: add missing
.dropup
in dropup centered example - #35955: docs: Update Japanese translation
- #35980: Redesign the "Added in" badges in the docs
- #35984: Update docs syntax colors head of dark mode
- #36002: Fix docs error after #35644
- #36007: Convert added in badges to shortcode
- #36008: Add v5.1.0 to migration guide, update v5.2.0 additions
- #36013: Remove duplicate entry in migration.md
- #36030: Update parcel.md
- #36038: v5.2.0 migration updates
- #36040: Fix migration guide typos
- #36058: Fix proposal for
.dropstart
- #36073: Fix typo for StackBlitz edit button's tooltip
- #36088: Fix StackBlitz edit feature by selecting the closest example
- #36092: Doc fixes
- #36099: Changing to btnTitle and btnEdit
- #36101: Move "Navbar" before "Navs & Tabs" in sidebar
- #36112: Fix CSpell by adding 'Analyser'
- #36123: Doc: Reorder alphabetically lists of components
- #36137: Change second example of dropdown form
- #36144: Doc: fix modals and navs CSS vars description
- #36151: Update offcanvas example to include .show class
- #36163: Doc: Uniformization of nav tabs content panes
- #36173: Fix Chroma line highlight style
- #36176: v5.2.0: Migrate to DocSearch 3
- #36182: Fix containers page in docs to re-order list so it matches sections b…
- #36188: example: change
.border-right
to.border-end
- #36190: Fix spacing of code snippets
- #36191: Do some CSS and Migration guide cleanup
- #36192: One more code snippet fix
- #36194: Refactor some docs examples CSS
- #36195: Doc: minor modifications in Scrollspy
- #36196: Realign Cheatsheet nav tabs example rendering with the doc examples
- #36199: Minor fixes
- #36203: Docs: update documentation js examples, using es6
- #36204: Rewrite Getting Started > Introduction page to be more guide-like
- #36212: Doc: remove
role="group"
from some split drop* buttons - #36217: Document incompatibilities between Bootstrap JS and React/.etc
- #36218: Doc: mention Popper instead of Popper.js
- #36219: Doc: fix offset content for examples page
- #36245: Update new docs version picker to work on home and examples pages
- #36252: Doc: update path to
@popperjs/core
in parcel.md - #36260: Docs(Scrollspy): minor changes to be aligned with new version of javascript
- #36273: Separate docs js assets
- #36276: Add proper markup on modal's page tooltips and popovers
- #36307: Fix search with xs to md breakpoints
- #36322: Fix contents.md
- #36328: Remove unused
.border-right
rule from modal example CSS file - #36333: Doc: fix text overflow example
- #36335: Minor changes in 'Usage with JavaScript frameworks' description
- #36337: docs: drop Scratch usage
- #36340: Fix a11y keyboard access to docs navigation
- #36344: docs: link to the root page for the homepage
🛠 Examples
- #35223: Add missing
role="search"
andtype="search"
in navbar doc and examples - #35308: update grid example docs
- #35365: Make footer examples responsive to mobile screens
- #35483: Replace inline styles in example "Dropdowns"
- #35699: Docs: replace CSS by utilities in examples
- #35704: Fix spelling mistake in footer example
- #35733: examples: fix a couple typos found with codespell
- #35877: remove opacity utilities from example CSS
- #35898: Remove border of disabled calendar buttons in Dropdowns example
- #35919: RTL carousel example
- #35997: Add another list-group snippet example
- #36075: Fix duplicate
.rounded-*
and.fw-semibold
defs in examples
🌎 Accessibility
- #33079: Revamp tabs & follow ARIA 1.1 practices
- #35223: Add missing
role="search"
andtype="search"
in navbar doc and examples - #35231: Ensure sufficient contrast in
accordion-item
- #35588: Docs: Strengthen and expand note about dynamic tabs with dropdown menus
- #35589: Remove explicit use of aria-hidden for offcanvas when closed
🔧 Utility API
- #35428: Convert border utilities to CSS variables
🏭 Tests
- #35161: Swipe: add test to ensure that it ignores
pinch
events - #35184: tests: try to fix a few random failures
- #35410: BaseComponent: add a couple more tests
- #35419: Alert: add a couple more tests
- #35431: Tests: consistency changes
- #35448: Dropdown tests: Use a function to improve readability
- #35455: Tests: Minor fixes
- #35456: Tooltip: remove title attribute before show & add tests
- #35492: ScrollBar.js. Minor refactoring and add test
- #35501: Fix tests fixture type
- #35585: Fix visual tests
- #35659: tests: replace 'done' callback with 'Promise' to fix deprecation errors
- #35757: Fix Popover test that randomly fails on BrowserStack
- #35765: tests: revisit all tests using Promise.reject instead of throwing an error
- #36028: Dropdown test
🧰 Misc
- #31607: Use Babel and ES6 in docs JS files
- #34509: build: read & dynamically resolve
imports
on plugins build - #35178: Switch to Node.js 16 and npm 8.
- #35313: README.md remove broken "David DM" dependency badges
- #35395: build/change-version.js: fix wrong map usage
- #35447: Remove the now outdated build/svgo.yml
- #35451: package.json: add GitHub Sponsors and reorder properties
- #35452: README.md: wrap file contents in a
details
element - #35454: CI: add
workflow_dispatch
- #35481: JS tests: only test one Node.js version
- #35573: Move linkinator to GitHub Actions.
- #35586: build-plugins.js: use globby package
- #35593: Move cspell to Actions
- #35641: Update nuget/bootstrap.png
- #35647: Update cspell config
- #35680: Update cspell config
- #35846: CI: add issues-helper
- #35910: Release Drafter: add highlights
- #36185: Update CODE_OF_CONDUCT.md
📦 Dependencies
- Updated numerous devDependencies: https://github.com/twbs/bootstrap/pulls?q=is%3Apr+is%3Aclosed+label%3Adependencies+project%3Atwbs%2Fbootstrap%2F32