Releases: twbs/bootstrap
Releases · twbs/bootstrap
v5.3.0-alpha2
🚀 Features
- #33126: Add
.nav-underline
modifier class - #37762: Add new link utilities, icon link helper, and update colored link helpers
- #38199: Docs: Better scroll
🎨 CSS
- #33125: Focus ring helper and utilities
- #33126: Add
.nav-underline
modifier class - #35857: Add dark mode support
- #36029: Add SCSS testing of the utilities API
- #36143: Fix Android Chrome input date dimensions
- #36831: Rework progress bar markup and styles
- #37526: Fix var
--bs-body-font-family
. Keep quotes in the font stack. - #37533: Visually-hidden: Remove
position: absolute
for captions - #37617: CSS:
$prefix
to the whole assets - #37621: Fix
--bs-form-check-bg
definition - #37644: list-group-border-width variables
- #37687: Fix Sass compilation when
$color-mode-type
is set tomedia-query
- #37720: Improve consistency of navbar icon declaration
- #37731: Update color contrast formula with new constant from WCAG 2.2
- #37734: Add
color-scheme
to dark root selector - #37759: Darken some text emphasis and syntax colors
- #37760: Fix selector for dark mode navbar toggler SVG change
- #37761: Docs: enhance callouts links on dark mode
- #37762: Add new link utilities, icon link helper, and update colored link helpers
- #37777: Fix cards color for contextual color mode
- #37781: Fix code color in callouts
- #37784: Change nav focus to focus-visible
- #37785: Update code syntax colors to use Bootstrap colors
- #37788: Change stylelint
property-blacklist
toproperty-disallowed-list
- #37800: Fix heading colors in dark mode
- #37804: CSS: rename some variables to be consistent
- #37809: Fix duplicate
--bs-emphasis-color
set value - #37816: Remove unused comment in
scss/_maps.scss
- #37817: Docs: remove some CSS from
.highlight-toolbar
def - #37820: Remove duplicate definition of
--bs-highlight-bg
inscss/_root.scss
- #37822: Switch from none keyword value to a fake shadow for btn-link
- #37823: Docs: fix
.btn-clipboard
and.btn-edit
link hover color - #37824: Drop unused
.bg-body-emphasis
- #37832: Keep shadows black regardless of color mode
- #37833: Update colored links, add new
.link-body-emphasis
helper - #37835: Remove obsolete comment from
_variables.scss
- #37843: Add theme maps specific to dark mode
- #37844: Reduce bootstrap-grid.css content
- #37857: Drop duplicate
--bs-body-bg-rgb
declaration + reorder props - #37868: Remove outdated comment from
$input-border-color
variable - #37888: List group: Better use of CSS var
- #37893: Fix
.form-control
in dark mode - #37905: CSS: Proposal to add a border utility
- #37907: CSS: Proposal to rename the CSS and Sass variables for
.*-text-emphasis
- #37936: Remove color picker borders on Chromium based browsers
- #37953: Theme color improvements
- #37955: Rewrite selector to help Parcel compiler
- #37956: Remove
list-style
reset on.carousel-indicators
- #37998: Use color mode adaptive color for disabled dropdown menu items
- #37999: Avoid inheritance issues on border-width utilities
- #38003: fix alert-color in v5.3.0-alpha2
- #38008: Fix list group colors by using
*-text-emphasis
CSS vars in Sass loop - #38037: Fix
$grid-breakpoints
SCSS unit tests init - #38038: Remove comments from
scss/_nav.scss
- #38044: Update form validation styles to use new CSS variables for
color
andborder-color
- #38059: Remove
-moz-padding-start
from.form-select
- #38060: Drop duplicate
$btn-close-focus-shadow
definition - #38083: Drop duplicate
$nav-link-disabled-color
declaration - #38086: Fix shadow of .btn-link
- #38088: Fix navbar-nav link styling
- #38095: Drop unused
--bs-focus-ring-box-shadow
and add documentation for--bs-focus-ring-{x|y|blur}
- #38104: Remove useless comment from
scss/_utilities.scss
- #38115: Fix button visibility issue on dark theme
- #38123: Fix dropdown toggle visible focus in headers example
- #38144: Examples: color mode enhancement
- #38176: Fix missing modifications when
--bs-{color}-text
was changed to--bs-{color}-text-emphasis
- #38181: Remove comments from scss/_utilities.scss
- #38201: Sass: remove useless
import
insidebootstrap-grid
- #38209: fix data-bs-theme="dark" on component carousel itself
- #38236: Docs: use core mixins in a couple of places
☕️ JavaScript
- #37590: fix live toast demo
- #37836: Remove autofocus on theme switch when page is loaded
- #38025: unify
offcanvas
keydown
event logic withmodal
- #38034: Minor fix to avoid creating void elements in tooltip test file
- #38071: Bump Chart.js from 2.9.4 to 4.2.1 in dashboard examples
- #38223: Fix wrong generation of
aria-labelledby
in tab navigation - #38233: Remove empty script tag in js/tests/visual/input.html
- #38294: Remove version comment from JavaScript src files
- #38302: Remove version from index.{esm,umd}.js too
📖 Docs
- #33428: Use scrollspy on docs pages
- #34647: Improve readability in docs flex page
- #36831: Rework progress bar markup and styles
- #37275: Docs: add explanation of the base
.btn
class - #37354: Docs: rewrite/reorganise carousel docs page
- #37400: Docs: change some title containing '&' to bypass Algolia issue
- #37535: Docs: Fix Thirteenth typo on Navbars example
- #37538: Docs: Add black text/background examples
- #37553: Docs: fix "Usage -> Enable dark mode" code example
- #37562: Docs: display examples based on the docs current color mode
- #37568: Remove title from
check2
SVG icon - #37570: code-examples.js: switch to
firstElementChild
- #37590: fix live toast demo
- #37608: Drop logo on homepage on mobile
- #37615: Add new team member to the Teams page
- #37616: Accessibility: Minor fixes
- #37617: CSS:
$prefix
to the whole assets - #37625: Few miscellaneous docs fixes
- #37628: Rewrite some callouts to remove most headings and reduce their content
- #37658: docs: move color-mode script
- #37670: Docs: Fix typo in guide
- #37671: Docs: replace
twbs/bootstrap-npm-starter
bytwbs/examples/tree/main/icons-font
- #37676: Docs: fix typo for Sass vars references in Customize > Color modes > Building with Sass
- #37694: Docs: fix overflow:auto horizontal scrollbars covering last line of code blocks
- #37698: Remove some unused SVGs in Dropdowns example
- #37717: docs: improve social image partial
- #37738: Docs: handle light/dark mode in Algolia search modal
- #37740: Update navbar color-schemes to v5.3
- #37741: Reduce size of guide dev server images
- #37742: Fix CSS variables mentioned in our docs
- #37757: Docs: remove
.btn-*-dark
from Button group docs to avoid issues in dark mode - #37763: Include
twbs/examples
repo examples in the Examples page - #37766: Docs: Remove unnecessary
id
/aria-labelledby
from accordion examples - #37772: Docs: enhance Focus ring example section desc
- #37779: Docs: remove remnants of Twitter / bump dates
- #37780: Docs: Make theme switcher accessible
- #37781: Fix code color in callouts
- #37782: Docs: add CSS variables section in close button section
- #37796: Add webpack build to webpack guide
- #37798: Docs: fix accordion flush description
- #37802: Docs: fix headings color in light/dark mode
- #37803: Docs: Small enhancements
- #37811: Docs: enhance colors description table
- #37817: Docs: remove some CSS from
.highlight-toolbar
def - #37823: Docs: fix
.btn-clipboard
and.btn-edit
link hover color - #37829: Docs: missing deprecated callout for
list-group-item-variant()
mixin - #37836: Remove autofocus on theme switch when page is loaded
- #37839: Docs: add
.fw-medium
utility class example - #37848: Docs: fix typo in migration guide
- #37855: docs: updates
.text-*-left
changes - #37859: Docs: fix broken links in Color modes page
- #37861: Mention deprecated classes for color mode on offcanvas
- #37862: Migration guide changes for v5.3.0-alpha2
- #37863: Docs: update progress markup in Color modes page
- #37869: Docs: changed
popover
totooltip
- #37871: Docs: Move form-text paragraph to Form control page
- #37890: Docs: Deprecate the Sass var and remove any occurence of the
.text-muted
- #37894: Add docs callout for utilities that don't respond to color modes
- #37895: Include variables-dark in the import stacks, plus a customize overview fix
- #37896: Small color mode docs CSS fixes
- #37897: Sass docs updates
- #37898: Docs: Doc Scrollspy correction
- #37899: Docs: Harmonize the flex doc
- #37900: Docs: Enhancement proposal
- #37918: fix typo in gutters doc
- #37921: Docs: add overflow and text color info to progress bar page
- #37923: Docs: tweak icon link and callouts
- #37926: Docs: add scroll-margin-top for keyboard navigation
- #37965: Attempt to fix focus ring being cut off in table of contents
- #37994: Docs: remove redundant space in forms/validation.md
- #38004: Remove unused partials and add some way to automatically detect it
- #38006: Docs: Use ESM Popper CDN reference in 'Using Bootstrap as a module'
- #38014: Docs: Progress fix + proposal
- #38032: Remove
debug
references from DocSearch v2 - #38040: Docs: uniformize disabled nav links for underline nav
- #38057: More updates to migration guide
- #38074: Fix console error in examples pages due to no theme switcher
- #38087: Docs: Drop unused
.focused
style - #38095: Drop unused
--bs-focus-ring-box-shadow
and add documentation for--bs-focus-ring-{x|y|blur}
- #38103: Docs: drop unused icons
- #38112: Fix code indentation in homepage JavaScript plugins section
- #38123: Fix dropdown toggle visible focus in headers example
- #38130: Icon link: envariable + enhance the documentation
- #38131: Utilities: Add one value for link-underline-opacity
- #38151: Docs: replace 'popover' by 'tooltip' in tooltip's page's options section
- #38152: Docs: rollback some modification about
.text-muted
deprecation messages - #38153: Docs: `.text-body-secon...
v5.3.0-alpha1
🚀 Highlights
- #35566: Properly escape IDs in
getSelector()
to handle weird IDs (#35565) - #35857: Add dark mode support
- #36854: Use explicit imports in our JavaScript source files
🚀 Features
- #36540: Add new
border-radius
utilities - #36781: add
font-weight-medium
(500) /fw-medium
- #37317: Add
z-index
utilities,.z-*
🎨 CSS
- #36095: Added CSS variables for breakpoints
- #36456: Add color CSS variables for
.alert-link
- #36457: Add color CSS variables for
.btn-close
- #36511: Add parameters to caret-related mixins
- #36540: Add new
border-radius
utilities - #36781: add
font-weight-medium
(500) /fw-medium
- #36815: Add new CSS variables for Offcanvas
- #36831: Rework progress bar markup and styles
- #36848: Add utilities for overflow and object fit
- #36979: Add support for customizing a card title color
- #37125: Floating labels: Add an artificial background to label
- #37252: Add
$enable-important-utilities
condition in colored links - #37257: Remove duplicate CSS variable
- #37299: Fix disabled floating labels and add some examples of it in the docs
- #37317: Add
z-index
utilities,.z-*
- #37344: Use
--bs-border-width
for some components - #37350: Prevent extraneous whitespace around date time inputs in WebKit
- #37356: fix negative
border-width
on inputgroup and buttongroup - #37408: Fix disabled floating labels color
- #37413: Grid Gap Updates
- #37526: Fix var
--bs-body-font-family
; keep quotes in the font stack - #37617: CSS:
$prefix
to the whole assets - #37621: Fix
--bs-form-check-bg
definition - #37644:
list-group-border-width
variables - #37687: Fix Sass compilation when
$color-mode-type
is set tomedia-query
☕️ JavaScript
- #35566: Properly escape IDs in getSelector() to handle weird IDs
- #36027: Move
getElementFromSelector
&getSelectorFromElement
- #36652: Boost
execute
function, being able to handle arguments - #36854: Use explicit imports in our JavaScript source files
- #37438: refactor
getSelector
not to be exported - #37473: fix: change
replaceAll
usage introduced in #35566 - #37482: Use
Object.entries
in more places - #37483: hydrateObj: use default param
- #37484: ESLint: enable
prefer-template
rule
📖 Docs
- #36523: Update navbars example to include a centered nav with utilities
- #36831: Rework progress bar markup and styles
- #37247: Docs: Minor grammatical fixes for Form validation page
- #37250: Fix typo in documentation for hiding elements
- #37255: Markdownlint fixes
- #37267: Rename examples CSS/JS files for consistency
- #37271: Docs: Slightly improve tooling setup description
- #37277: Doc: add Sass vars for switches
- #37279: Improve example of .flex-wrap and -reverse
- #37282: Docs: standardize usage of
<kbd>
- #37299: Fix disabled floating labels and add some examples of it in the docs
- #37301: docs: fix text buttons to match behavior
- #37318: Home imports
- #37320: Organize callouts in partials
- #37341: Docs: use 'added' page information to display a tag on top of the pages
- #37354: Docs: rewrite/reorganize carousel docs page
- #37361: Font style utilities did not contain "-style-" in BS4
- #37397: Change title of color-background.md page
- #37399: Only show added in page badge if relevant
- #37406: Update input-group.md with form text example
- #37432: Docs: use
<button>
for dropdown/popover examples, explain preference over<a>
for dropdowns, tweak collapse prose - #37491: Make added-in badge page-level for z-index utilities
- #37492: Docs: add margin between buttons in tooltip examples
- #37493: Docs: fix margins between cards in examples
- #37498: Fix accessibility of examples buttons
- #37535: Docs: Fix Thirteenth typo on Navbars example
- #37538: Docs: Add black text/background examples
- #37553: Docs: fix "Usage -> Enable dark mode" code example
- #37568: Remove title from
check2
SVG icon - #37570: code-examples.js: switch to
firstElementChild
- #37615: Add new team member to the Teams page
- #37617: CSS:
$prefix
to the whole assets - #37658: docs: move color-mode script
- #37670: Docs: Fix typo in guide
- #37676: Docs: fix typo for Sass vars references in Customize > Color modes > Building with Sass
🛠 Examples
- #36523: Update navbars example to include a centered nav with utilities
- #37123: Fix button hover color in the cover example
- #37267: Rename examples CSS/JS files for consistency
- #37502: Fix grid and alignment in examples/features
🌎 Accessibility
- #36831: Rework progress bar markup and styles
- #37354: Docs: rewrite/reorganize carousel docs page
- #37432: Docs: use
<button>
for dropdown/popover examples, explain preference over<a>
for dropdowns, tweak collapse prose - #37498: Fix accessibility of examples buttons
🏭 Tests
- #37248: Rename some variables in tab unit tests for consistency
🧰 Misc
- #36325: CI: Add GitHub token permissions for workflows
- #37348: Update authors and copyright to match npm, add repository reference
- #37459: CI: remove git credentials after checkout
- #37461: CI: switch to Node.js 18 LTS
- #37481: Update CodeQL workflow
- #37485: Update site/.eslintrc.json
- #37486: CodeQL: ignore dist folder
📦 Dependencies
- Updated numerous devDependencies: https://github.com/twbs/bootstrap/pulls?q=is%3Apr+label%3Adependencies+project%3Atwbs%2F9+is%3Aclosed
v5.2.3
v5.2.2
Highlights
- Accordion
- Use Sass variable for the accordion color instead of an invalid CSS variable
- Buttons
- Undo changes to
.btn:hover
from v5.2.1. We now explicitly target.btn-check
styles instead.
- Undo changes to
- Dropdowns
- Restore the ability for dropdowns to work without an explicit
data
attribute (will be removed again in v6)
- Restore the ability for dropdowns to work without an explicit
- Modals
- Improve modal event listeners
- Use
<h1>
for all.modal-title
instances in our docs
- Tables
- Don't redefine
$border-color
intable-variant()
mixin
- Don't redefine
- Tabs
- Tabs no longer autofocus and cause pages to jump on
tab.show()
- Fix
.active
class toggling of tabs within dropdowns
- Tabs no longer autofocus and cause pages to jump on
- Toasts
- Properly set toast
z-index
on.toast-container
as opposed to individual.toast
s that don't receive any other positioning
- Properly set toast
- Tooltips
- Fix tooltip selectors with
title
attribute on dynamically created elements
- Fix tooltip selectors with
🎨 CSS
- #37118: Set toast z-index variable in the correct spot
- #37165: Explicitly target
.btn-check
and undo:hover
- #37182: Use Sass variable for accordion color
- #37239: Don't redefine
$border-color
intable-variant
mixin
☕️ JavaScript
- #36914: Fix tooltip selector usage
- #37128: Fix modal event listeners
- #37146: Drop tabs auto-focus
- #37151: Fix active class toggling of tabs within dropdown
- #37189: Enrich Tab Test for keyboard handler
- #37190: Dropdown: fix case with invalid markup
- #37200: Ensure Tab keyboard functionality after #37146
📖 Docs
- #36899: Slightly improve image compression
- #37142: Add informative note for Tooltip/Popover selector option
- #37145: Docs: minor fix for Navbar > Offcanvas examples
- #37153: Fix typo in docs - Configure Vite section
- #37199: Replace Webpack and Vite PNGs by SVGs
- #37210: Use
<h1>
for allmodal-title
examples/uses - #37214: Docs: Change
view in GitHub
links insidemain
🌎 Accessibility
- #37200: Ensure Tab keyboard functionality after #37146
- #37210: Use
<h1>
for allmodal-title
examples/uses
🏭 Tests
🧰 Misc
- #35079: Add PR template
- #36421: NuGet: Use license expression
- #37186: Add eslint-plugin-html to lint JS in HTML files
📦 Dependencies
- Updated numerous devDependencies: https://github.com/twbs/bootstrap/pulls?q=is%3Apr+label%3Adependencies+project%3Atwbs%2F10+is%3Aclosed
v5.2.1
🚀 Highlights
- Accordion
- Update
color
value to use the$accordion-button-color
Sass variable instead of our color contrast function
- Update
- Buttons
- Added a
transparent
default hover border color CSS variable for buttons to fix a visual regression .btn-link
no longer has a gradient when$enable-gradients
is set totrue
- Added a
- Forms
- Input groups have updated
z-index
values to ensure proper rendering of validated form fields - Floating labels now reset their
text-align
to ensure consistent styling
- Input groups have updated
- List Groups
- Horizontal list groups with only one child now render the correct
border-radius
- Modified the
list-group-item
selectors to better support nested imports of Bootstrap's CSS
- Horizontal list groups with only one child now render the correct
- Modals
- Fixed modal event listeners during dismiss click, allowing you to once again click scrollbars without dismissing the modal
- Pagination
- Fixed incorrect
border-radius
values inside pagination components
- Fixed incorrect
- Scrollspy
- Scrollspy threshold option is now configurable
- Tooltips
- Reverted some tooltip plugin updates to prevent issues with
selector
, dynamic content, and disposed tooltips usingtitle
- Reverted some tooltip plugin updates to prevent issues with
🚀 Features
- #36750: ScrollSpy: make the threshold option configurable
🎨 CSS
- #36507: v5/docs: reintroduce
outline
for docs code samples, buttons when:not(:focus-visible)
- #36593: flush variant of accordion border radius
- #36663: fix #36662 List-group-item margin-top is offset when importing sass in a nested class
- #36694: Docs: add grid-row-columns variable
- #36791: Remove a unused sass parameter from banner mixin
- #36828: Fix pagination page items border radius
- #36849: Define correctly
$popover-header-color
- #36873: Fix floating labels under
.text-center
- #36874: Floating labels in input group: Border fix
- #36921: Accordion color should use $accordion-color
- #36986: bugfix undefined border color variable for btn #36938
- #37017: List group: Fix horizontal when only one child
- #37021: Scss: Adding missing
z-index
CSS variables. - #37026: Rework button focus/active styling, with extra changes for checks/radios
- #37027: Search modal: Set cursor on auto
- #37034: More consistency for CSS/Sass vars doc for components with dark variants
- #37059: Fix input group z-index focus + validation
- #37078: Remove gradient from
.btn-link
- #37079: Add workarounds for postcss values parser error
- #37080: btn-group draws first input margin #36794
- #37093: Fix accordion button color
☕️ JavaScript
- #36750: ScrollSpy: make the threshold option configurable
- #36751: Re-set tooltip title on disposal
- #36863: Fix modal event-listeners during dismiss click
- #37011: Multiple dropdowns: Fix when inside same tag
- #37019: Docs: Fix js options to what is really inside js
- #37072: Docs: Put methods in table
- #37086: Fix tooltip manual toggling
📖 Docs
- #36493: Docs: Replace wrong mobile OS Windows with iOS
- #36587: Document how to extract CSS, SVG for strict CSP
- #36694: Docs: add grid-row-columns variable
- #36771: Fix typos after #36762
- #36804: Simplify social images and add ability to set per-page images
- #36812: Fix broken url
- #36819: Rename scrollspy to toast in toasts.md
- #36824: Move DocSearch out of offcanvas to always show it on mobile
- #36825: Remove Slack from site and repo docs
- #36827: Redirect users to different templates of issues rather than an empty one
- #36829: Docs: correct heading levels in features example
- #36836: Docs: use added-in shortcode in Offcanvas
- #36838: Docs: Missing added-in shortcode
- #36839: Docs: Fix markdown link error
- #36850: Add navbar image alt text
- #36867: Docs: expand popover custom container explanation
- #36871: Fix docs typo of
.form-checkbox
->.form-check
- #36877: Add default select example in cheatsheet
- #37019: Docs: Fix js options to what is really inside js
- #37027: Search modal: Set cursor on auto
- #37034: More consistency for CSS/Sass vars doc for components with dark variants
- #37047: Docs: Minor fixes in tables.
- #37048: Docs: improve cards image overlays markup
- #37056: Docs: Manage the dark offcanvas slightly differently
- #37064: Fix padding on starter template
- #37067: Make docs clearer by dropping precompiled for compiled
- #37070: Improve language around vertical grid gutters
- #37072: Docs: Put methods in table
🛠 Examples
- #36660: Added new example in
examples/features
page. - #36829: Docs: correct heading levels in features example
- #36877: Add default select example in cheatsheet
- #37064: Fix padding on starter template
🌎 Accessibility
- #36507: v5/docs: reintroduce
outline
for docs code samples, buttons when:not(:focus-visible)
- #36829: Docs: correct heading levels in features example
- #37026: Rework button focus/active styling, with extra changes for checks/radios
📦 Dependencies
- Updated numerous devDependencies: https://github.com/twbs/bootstrap/pulls?q=is%3Apr+label%3Adependencies+project%3Atwbs%2F8+is%3Aclosed
v5.2.0
🚀 Highlights
- #36168: Manually set hover and active backgrounds and borders for dark and light buttons
- #36327: Truncate text to prevent multiline floating label
- #36382: Rewrite Webpack guide
- #36411: Rewrite Parcel guide
- #36412: Docs: Add a Vite Getting Started guide
- #36500: Generate local CSS variables on utilities when using state option
- #36528: Scrollspy: enable
smooth-scroll
behavior
🚀 Features
- #36352: Fix StackBlitz examples by embedding snippets.js when needed
- #36528: Scrollspy: enable
smooth-scroll
behavior - #36759: Support input groups in floating forms
🎨 CSS
- #36156: Update
.form-control-color
sizing and styles - #36168: Manually set hover and active backgrounds and borders for dark and light buttons
- #36178: Add a banner mixin, helping future releases and maintenance
- #36327: Truncate text to prevent multiline floating label
- #36353: Fix offcanvas not showing with
.showing
- #36366: add back focus box shadow to
btn-link
- #36406: CSS: few proposals
- #36423: Stylelint: Disable
custom-property-empty-line-before
- #36446: Update Sass for computing
.table-group-divider
border - #36447: Fix
.dropdown-item
border-radius
when$dropdown-padding-y
is0
- #36461: Fix alert border radius
- #36476: Docs: fix Reboot Horizontal rules using border utilities
- #36477: Docs: remove unused _algolia.scss
- #36499: Don't style
readonly
inputs asdisabled
- #36500: Generate local CSS variables on utilities when using state option
- #36509: Remove
--bs-headings-color
CSS variable due to backward compatibility issues - #36535: Fix 'Remove from map' Sass description
- #36608: dashboard example: minor fix
- #36627: Fix search modal z-index to be on top of all docs showcased components
- #36646: Fix tooltip/badge border radius when rounded disabled
- #36680: Revert db61cf3 for
$text-muted
default value - #36689: Add missing CSS vars for
.navbar-nav
- #36704: Fix missing
--bs-btn-disabled-border-color
inbutton-outline-variant
mixin - #36711: Add
$display-font-family
and$display-font-style
- #36740: Fixing pagination compile issue
- #36747: Fix active/focused button link text color
- #36759: Support input groups in floating forms
☕️ JavaScript
- #35679: Force tooltip and popover to recreate content every time it opens
- #36171: Assorted Event handler patches
- #36386: Fix interoperability issue regarding Event properties
- #36398: JS: tests fixes & standardization of spies usage
- #36401: Change Modal dismiss handler, listening to key down, instead of click
- #36440: Re-ordering js default objects
- #36449: Fix StackBlitz Popovers and Tooltips examples
- #36528: Scrollspy: enable
smooth-scroll
behavior - #36561: Fix possible bug on event handler
- #36588: Handle non-empty whitespace textContent in Tooltip trigger
- #36622: Remove
.show
from panels dependent-less on the existence of.fade
class - #36668: Fix on #35679
- #36717: Offcanvas: activate focustrap when backdrop is enabled
- #36758: Docs: Fix typos in snippets.js
- #36772: Fix event handler test
📖 Docs
- #36345: docs: add the version in npm/yarn commands
- #36346: Docs: improve image compression
- #36352: Fix StackBlitz examples by embedding snippets.js when needed
- #36362: Update search box styling and position
- #36363: Add some details on "javascript" page
- #36367: Docs: Correct rounded sizes number
- #36376: Fix missing Swag Store URL
- #36382: Rewrite Webpack guide
- #36395: Docs: quick fixes for HTML
- #36406: CSS: few proposals
- #36410: Update introduction.md
- #36411: Rewrite Parcel guide
- #36412: Docs: Add a Vite Getting Started guide
- #36414: Add docs info for using JS w/ ESM shim
- #36417: Docs: Remove
.is-invalid
from textarea validation example - #36425: CSS: doc fixes
- #36444: Update import order for utilities API docs
- #36449: Fix StackBlitz Popovers and Tooltips examples
- #36450: Docs: Use example shortcode for all Button groups
- #36476: Docs: fix Reboot Horizontal rules using border utilities
- #36477: Docs: remove unused _algolia.scss
- #36487: Remove confusing unnecessary id/aria-labelledby for dropdown menus
- #36488: Docs: fix some ARIA Authoring Practices Guides broken links
- #36489: Docs: Update some WCAG links, expand sass.md contrast explanation
- #36495: Improve accessible name of version dropdown in docs navbar
- #36503: [docs] Document BootstrapVue being outdated
- #36510: Add example of dark navbar and offcanvas to docs
- #36516: Add .active navbar breaking change to 5.0 docs
- #36535: Fix 'Remove from map' Sass description
- #36545: Carousel: Remove redundant reference to
interval=false
from docs & tests - #36553: Make table responsive on Grid page
- #36613: Fix popover live demo to use
data-bs-title
instead oftitle
- #36625: Add some details for non visible scrollspy elements
- #36627: Fix search modal z-index to be on top of all docs showcased components
- #36630: Docs: update clipboard.js to v2.0.11
- #36637: Fix StackBlitz examples needing docs CSS
- #36644: Added examples for Radios in List Group
- #36650: update Lighthouse URL
- #36658: Fix a typo in the documentation masthead
- #36669: Docs: alphabetical reorder of some events/methods in tables
- #36672: Docs: fix some ScrollSpy HTML copyable codes
- #36674: Docs: add indeterminate disabled checkbox example
- #36679: Remove dead link from translations
- #36696: add
type="button"
to Bootstrap versions dropdown - #36706: Docs: Add 'Icons' link in footer
- #36712: Docs: fix description on how to alter display values
- #36717: Offcanvas: activate focustrap when backdrop is enabled
- #36732: Add accNames to all progress bar examples
- #36734: Docs: Capitalize Unicode
- #36741: Docs: same text for disabled ranges and disabled form controls
- #36757: Fix indentation in code sample
- #36760: Add links to Webpack, Parcel, and Vite guides on homepage
- #36762: Fix various small typos in documentation
- #36763: Fix typos in code
🛠 Examples
🌎 Accessibility
- #36487: Remove confusing unnecessary id/aria-labelledby for dropdown menus
- #36488: Docs: fix some ARIA Authoring Practices Guides broken links
- #36588: Handle non-empty whitespace textContent in Tooltip trigger
- #36696: add
type="button"
to Bootstrap versions dropdown - #36717: Offcanvas: activate focustrap when backdrop is enabled
- #36732: Add accNames to all progress bar examples
🏭 Tests
- #36530: Fix typo in dropdown unit test
- #36667: Minor fix to use self-closing input HTML tag
- #36742: Standardization of
spyOn
usage - #36772: Fix event handler test
🧰 Misc
- #36548: Update Code of Conduct with Contributor Covenant 2.1
- #36624: Use 'needs-example' label to trigger live demo bot message
- #36700: Replace JS Bin refs by CodePen or StackBlitz references
📦 Dependencies
- Updated numerous devDependencies: https://github.com/twbs/bootstrap/pulls?q=is%3Apr+is%3Aclosed+label%3Adependencies+project%3Atwbs%2Fbootstrap%2F45
v4.6.2
Highlights
- Added an example to our Collapse plugin docs to show how to use horizontal collapsing. This has long been possible via our JS, but we never had an official class to utilize it.
- We've replaced the deprecated
color-adjust
withprint-color-adjust
in our Sass files as part of the Autoprefixer v10.4.6 issues. This should quiet the issues folks have seen from that dependency change. If you're using our distribution CSS files, likebootstrap.min.css
, you may still see the warning. - Tweaked the size of
small
and.small
to compute to a whole pixel value (was12.8px
and now is14px
). - Improved accessibility around our dropdowns, color contrast, and
role
attributes. - Fixed some broken links to supporting documentation.
- Updated dependencies across the board.
What's Changed
- Removed blurred background reference from the Toast Docs. by @pricop in #35190
- Update links to CCA, MQ5 prefers-reduced-motion, evergreen WCAG urls, more resources by @patrickhlauke in #35427
- v4-dev backports and updates by @XhmikosR in #35482
- Backport #35556 by @julien-deramond in #35558
- Tweak toast docs by @patrickhlauke in #35633
- v4-dev backports and updates by @XhmikosR in #35642
- Doc: Reorder alphabetically lists of components by @julien-deramond in #36128
- Updated the small-font-size to use a round value by @pricop in #36172
- v4 dev backports and updates by @XhmikosR in #35767
- _custom-forms.scss: fix order of attributes by @twin-elements in #36231
- Replace the deprecated
color-adjust
withprint-color-adjust
by @AdrianCurtin in #36283 - [v4] Doc: remove
role="group"
from some split drop* buttons by @julien-deramond in #36254 - Dynamic tabs: use buttons rather than links (backport to v4) by @patrickhlauke in #33163
- v4 dev updates by @XhmikosR in #36430
- Fix closing HTML tag in navs docs by @julien-deramond in #36466
- v4: Horizontal collapse by @mdo in #36434
- Fixing tabs' tests v4 by @louismaximepiton in #36485
- Docs: fix some ARIA Authoring Practices Guides broken links by @julien-deramond in #36490
- v4 - Remove confusing unnecessary id/aria-labelledby for dropdown menus by @patrickhlauke in #36491
- v4 Docs: outdated ARIA/PF link, expand contrast explanation in
accessibility.md
by @patrickhlauke in #36492 - v4: Improve accessible name of version dropdown in docs navbar by @patrickhlauke in #36504
- Update devDependencies by @XhmikosR in #36522
- Docs: update clipboard.js to v2.0.11 by @julien-deramond in #36631
- Update devDependencies by @XhmikosR in #36724
- v4: Add Fathom by @mdo in #36727
- Docs: Capitalize Unicode by @julien-deramond in #36735
- Release v4.6.2 by @XhmikosR in #36725
New Contributors
- @twin-elements made their first contribution in #36231
- @AdrianCurtin made their first contribution in #36283
Full Changelog: v4.6.1...v4.6.2
v5.2.0-beta1
🚀 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 patche...
4.6.1
What's changed
- Replace Sass division with multiplication and custom
divide()
function by @mdo in #34571 - Update RFS to v8.1.0 by @XhmikosR in #34571
- fix(forms): input-group and validation icons by @ffoodd in #32968
- Fix minor visual bug in Firefox caused by
moz-focusring
by @kremit in #32821 - Adjust
SAFE_URL_PATTERN
regex for use with test method of regexes by @nikonthethird in #33153 - Add
sms
in theSAFE_URL_PATTERN
for sanitizer by @XhmikosR in #35074 - Adjust feedback icon position and padding for
select.form-control
by @mdo in #33206 - Carousel: use buttons, not links, for prev/next controls by @patrickhlauke in #33165
- v4: Sass docs for default variables by @mdo in #33392
- Handle complex expressions in
add()
&subtract()
by @ffoodd in #34047 - More concise improvements for
add()
andsubtract()
by @ffoodd in #34432 - Remove
aria-haspopup
from dropdowns by @patrickhlauke in #33624 - Dropdown: support
.dropdown-item
wrapped in<li>
tags by @cpsievert in #33649 - Update Node versions in JS tests (drop Node 10, add Node 16), update docs JS assets and add variables for
vertical-align
in spinners by @XhmikosR in #33807 - Replace Freenode with Libera IRC server by @midzer #34050
- Fix repetition in the Navbar docs description by @coliff in #34208
- Enable
0.x
with negative margins in utilities by @k-utsumi in #33593 - Remove print
thead
rule by @coliff in #34426 - Fix prevented
show
event disabling modals with fade class from being displayed again by @alpadev in #34087 - Input group validation with custom-file input by @ffoodd in #33239
- Add eslint-plugin-qunit and tighten JS tests by @XhmikosR in #32270
- Update our tests to Node 16 and npm 8 by @XhmikosR in #35142
- Disabled link cleanup by @patrickhlauke in #34924
- Updated our devDependencies including terser; also enabled two passes for terser by @XhmikosR