Update dependency twitter-bootstrap to v5
This MR contains the following updates:
Package | Update | Change |
---|---|---|
twitter-bootstrap (source) | major |
3.3.4 -> 5.3.3
|
Release Notes
twbs/bootstrap (twitter-bootstrap)
v5.3.3
Highlights
- Fixed a breaking change introduced with color modes where it was required to manually import
variables-dark.scss
when building Bootstrap with Sass. Now,_variables.scss
will automatically import_variables-dark.scss
. If you were already importing_variables-dark.scss
manually, you should keep doing it as it won't break anything and will be the way to go in v6. - Fixed a regression in the selector engine that wasn't able to handle multiple IDs anymore.
Color modes
- Badges now use the
.text-bg-*
text utilities to be certain that the text is always readable (especially when the customized colors are different in light and dark modes). - Fixed our
color-modes.js
script to handle the case where the OS is set to light mode and the auto color mode is used on the website. If you copied the script from our docs, you should apply this change to your own script. - Fixed color schemes description in the color modes documentation to show that
color-scheme()
only acceptlight
anddark
values as parameters.
Miscellaneous
- Allowed
<dl>
,<dt>
and<dd>
in the sanitizer. - Dropped evenly items distribution for modal and offcanvas headers.
- Fixed the accordion CSS selectors to avoid inheritance issues when nesting accordions.
- Fixed the focus box-shadow for the validation stated form controls.
- Fixed the focus ring on focused checked buttons.
- Fixed the product example mobile navbar toggler.
- Changed the RTL processing of carousel control icons.
🎨 CSS
- #37508: Use child combinators to avoid inheriting parent accordion's flush styles
- #38719: Fix focus box-shadow for validation stated form-controls
- #38884: fix border-radius on radio-switch
- #39294: Tests: update navbar in visual modal test
- #39373: refactor css: modal and offcanvas header spacing
- #39380: Fix Sass compilation breaking change in v5.3
- #39387: docs: fix typo
- #39411: Optimize the accordion icon
- #39497: Fix a typo
- #39536: Changed RTL processing of carousel control icons
-
#39560: Drop
--bs-accordion-btn-focus-border-color
and deprecate$accordion-button-focus-border-color
- #39595: CSS: Fix the focus ring on focused checked buttons
☕ ️ JavaScript
- #39201: Selector Engine: fix multiple IDs
-
#39224: Fix edge case in
color-mode.js
-
#39376: Allow
dl
,dt
anddd
in sanitizer
📖 Docs
- #39200: Typo Fix
-
#39214: Doc: use
.text-bg-{color}
for all badges - #39246: Docs: fix for example code blocks have unnecessary 30px right-margin
- #39249: Doc: consistent rendering of 'Heads up!' callouts
-
#39281: Fix
getOrCreateInstance()
doc example - #39293: Update background.md
- #39304: Doc: add expanded accordion explanation
-
#39320: Drop
.table-light
from table foot example -
#39340: Doc: add
dispose()
to Offcanvas methods - #39378: Docs: fix sentence in modal
- #39417: Fix color schemes description in Sass customization documentation
- #39418: Docs: change vite config path import in vite guide
-
#39435: Docs: add
shift-color()
usage example in sass customization page -
#39458: Docs: enhance
.card-img-*
description - #39503: Minor image compression improvements
- #39519: Docs: use consistent HTML elements in Utilities -> Background page
-
#39520: Docs: drop unused
.theme-icon
class - #39528: docs: clean up example.html
- #39537: Docs: fix desc around deprecated Sass mixins for alerts and list groups
- #39539: Update links on get-started page
- #39592: Update vite.md
- #39604: Fix typo in 'media-breakpoint-between' in migration docs
- #39617: Docs: add missing comma in native font stack code source in Content -> Reboot
- #39663: updated table to be responsive
🛠 Examples
- #39657: Fix product example mobile navbar toggler
- #39585: Docs: Add missing type="button" to Cheatsheet nav buttons
🏭 Tests
- #39294: Tests: update navbar in visual modal test
🧰 Misc
📦 Dependencies
- Updated numerous devDependencies
v5.3.2
Highlights
- Passing a percentage unit to the global
abs()
is deprecated since Dart Sass v1.65.0. It resulted in a deprecation warning when compiling Bootstrap with Dart Sass. This has been fixed internally by changing the values passed to thedivide()
function. Thedivide()
function has not been fixed itself so that we can keep supporting node-sass cross-compatibility. In v6, this won't be an issue as we plan to drop support for node-sass. - Using multiple
id
s in a collapse target wasn't working anymore and has been fixed.
Color modes
- Increased color contrast of form range track background in light and dark modes.
- Fixed table state rendering for color modes with a focus on the striped table in dark mode to increase color contrast.
- Allow
<mark>
color customization for color modes.
Docs
- Added alternative CDNs section in Getting started -> Download.
- Added Discord and Bootstrap subreddit links in README and Getting started -> Introduction:
- Discord maintained by the community
- Bootstrap subreddit
🎨 CSS
-
#38816: Use
box-shadow
CSS variables shadow utilities - #38955: Fix radios looking like ellipse on responsive mode
- #38976: Use box-shadow CSS vars instead of Sass vars in assets and variables
- #39030: Fix dart-sass deprecation warning
- #39033: Color mode: fix table state rendering
- #39095: Make form range track background more contrasted
-
#39119: New Sass var
$btn-link-focus-shadow-rgb
to allow customization -
#39141: New Sass variable to handle
<mark>
dark mode bg color
☕ ️ JavaScript
📖 Docs
- #38873: Discord reddit bootstrap
- #38970: docs: add BootstrapVueNext to docs
- #38977: Docs: Add missing form elements in focusable elements
- #38978: Docs: Fix popover template role error
-
#38995: introduction: drop
details
element - #39037: Further improve image compression with oxipng and the latest jpegoptim
-
#39054: Docs: Remove incorrect mention of
.left-
and.right-
utilities from migration guide - #39060: Migration: add back v5.0.0 heading
- #39145: Docs: add warning callout to add a workaround when jsDelivr is not available
- #39177: Fix: make theme selector tick icon visible when active in examples layout
- #39179: download: Reword CDN paragraph
🛠 Examples
- #38994: examples: update 3rd-party packages
- #39086: Correct grammar error in examples/starter-template
🌎 Accessibility
- #38978: Docs: Fix popover template role error
- #39095: Make form range track background more contrasted
🧰 Misc
- #38983: Improve change-version script
- #38984: Convert build scripts to ESM
- #39021: CI: update permissions for calibreapp-image-actions.yml
📦 Dependencies
- Updated numerous devDependencies
v5.3.1
Highlights
-
Color modes:
- Increased color contrast for dark mode by replacing
$gray-500
with$gray-300
for the body color - Added our color mode switcher JavaScript to our examples ZIP download
- Increased color contrast for dark mode by replacing
-
Components:
- Improved disabled styling for all
.nav-link
s, providing.disabled
and:disabled
for use with anchors and buttons - Add support for
Home
andEnd
keys for navigating tabs by keyboard - Added some basic styling to toggle buttons when no modifier class is present
- Fixed carousel colors in dark mode
- Improved disabled styling for all
-
Forms:
- Fixed floating label disabled text color
-
Utilities:
-
.text-bg-*
utilities now use CSS variables
-
-
Sass:
- Add new
$navbar-dark-icon-color
Sass variable - Removed duplicate
$alert
Sass variables - Added a new variable for
$vr-border-width
to customize the vertical rule helper width
- Add new
-
Documentation:
- Added search to our homepage
- Improved responsive behavior on Dashboard example
- Improved dark mode rendering of Cheatsheet examples
🎨 CSS
- #38913: Floating labels: fix disabled with text inside
-
#38772:
.text-bg-*
helpers now use theme CSS variables - #38886: New Sass variable to change vertical rule width
- #38851: Fix Sass properties order for newer stylelint-config-recess-order
- #38815: Increase contrast in dark-mode (#38525)
- #38774: Generalize disabled nav links CSS rules
-
#38673: Add
$navbar-dark-icon-color
-
#38674: Remove duplicate
$alert-*-scale
Sass vars
☕ ️ JavaScript
-
#38498: Support
Home
andEnd
keys in tabs
📖 Docs
- #38958: Examples: improve spinner buttons accessibility
- #38947: Fix postcss plugin options
- #38885: Docs: Update float responsive examples
- #38946: Docs: remove v4 reference on homepage
- #38948: Fix some typos in Customize > Sass doc
- #38840: Docs: fix carousel carousel colors of carousel examples in dark mode
- #38604: Add dropdown alignment options to button group example
-
#38894: Docs: add blank target and
noopener
rel to footer external links - #38902: Fix tooltip generated markup documentation
- #38883: Docs: Fix incorrect class name on migration guide
- #38708: add a base class style display for toggle buttons
-
#38827: Docs: add missing
aria-disabled='true'
to disabled anchors - #38844: Fix for text-reset example class name
- #38838: JS/SCSS shortcodes: Add new feature to remove nested calls inside.
- #38850: Add docs search to homepage
- #38872: Docs: Improve Text Alignment Example
- #38865: Fix custom-radio class name on migration guide
- #38786: Explicitly add missing opacity-0 helper class example for clarity.
- #38707: Update bottom border on dark navbar example
- #38726: Update flex utilities link in navs docs
- #38734: Minor fixes for Docs Versions page
- #38745: Fix stack examples
- #38751: Docs (tooltips): Fix "them" typo in markup section
- #38688: Fix missing word issue on nav-tabs page
- #38681: Docs: consistency between custom buttons, popovers and tooltips
- #38600: collate distribution interval
- #38632: docs(spinners): improve buttons examples accessibility
- #38583: Docs: add more details on accessibility tips
- #38554: Doc: fix 'Events' JS example
-
#38592: docs(forms): switch to
aria-describedby
-
#38542: Use
.d-none
instead of inline styling - #38616: Add 'Issues assignment' section to the Contributing Guidelines
-
#38528: Adding a link to
clearfix
- #38538: Update Sass docs to mention compiling and including
- #38623: Fix disabled element tooltip StackBlitz
🛠 Examples
- #38958: Examples: improve spinner buttons accessibility
- #38952: dashboard: fix offcanvas md display
- #38840: Docs: fix carousel carousel colors of carousel examples in dark mode
- #38905: Fix dark mode rendering of Cheatsheet examples
- #38711: Fix link colors in Sidebars example
🌎 Accessibility
- #38958: Examples: improve spinner buttons accessibility
-
#38498: Support
Home
andEnd
keys in tabs -
#38827: Docs: add missing
aria-disabled='true'
to disabled anchors - #38850: Add docs search to homepage
- #38774: Generalize disabled nav links CSS rules
- #38632: docs(spinners): improve buttons examples accessibility
- #38583: Docs: add more details on accessibility tips
- #38592: docs(forms): switch to aria-describedby
🧰 Misc
-
#38747: Add
color-modes.js
tobootstrap-x.y.z-examples.zip
📦 Dependencies
- Updated numerous devDependencies
v5.3.0
v5.2.3
Fixes
🎨 CSS
- #37377: Import root in bootstrap-utilities
- #37425: Fix deprecation warning with sass 1.56.0
-
#37266: Carousel: Fix RTL
translate()
direction
☕ ️ JavaScript
- #37235: fix tooltip/popper disposal inconsistencies
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 MR 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
v5.1.3
Fixes
🎨 CSS
-
#35143: Revert "Add
align-self: center
to buttons for improved rendering in flex containers"
v5.1.2
Highlights
- Temporarily patched a postcss-values-parser issue by rearranging our
calc()
functions that use negative numbers. This should restore the ability to import and compile Bootstrap's Sass increate-react-app
. - Added
border-radius
sizes to small and large.form-select
s - Added
align-self: center
to buttons for improved rendering in flex containers - Fixed Collapse regression that prevented toggling between sibling children
- Updated JS Sanitizer to add
sms
in theSAFE_URL_PATTERN
- Improved docs around
.img-fluid
- Added
role="switch"
to our form switches in our docs - Implemented GitHub Issue forms to replace our previous issue templates.
Changes
🎨 CSS
- #34799: fix custom property values of row overrides individual cell
-
#34834: Add
align-self: center
to buttons for improved rendering in flex containers -
#34853: Add
border-radius
sizes to small and large.form-select
s - #34861: Separator for table direct children
- #35017: Use Sass variable instead of RGB components
- #35033: Add workaround for dart sass compile error
☕ ️ JavaScript
- #34951: Fix Collapse regression of handling toggling between sibling chilldren
- #34980: Minor refactoring
-
#35074: sanitizer: add
sms
in theSAFE_URL_PATTERN
📖 Docs
-
#34824: docs: Add
role="switch"
to switches - #34918: docs: Update RFS version & move "v" prefix to config.yml
- #34920: Fix Backdroped typo
- #34921: Fix JavaScript typo
- #34922: fix predefined typo
- #34923: fix utilities typo
-
#34926: Improve description of
.img-fluid
in docs - #34935: Non-blocking typo fix
- #34936: replace dummy text with English for Text truncation page
- #34946: Changes some latin/dummy text to English
- #35013: Add offcanvas to the components requiring JavaScript
-
#35111: Fix capitalization after period in
contents.md
🛠 Examples
-
#35022: examples: Add
role="switch"
to switches
🧰 Misc
- #34626: Implement issue forms
- #34940: Add cSpell custom dictionary and docs-spellcheck script
-
#35070: rollup: specify
generatedCode: 'es2015'
- #35086: README.md: fix capitalization after period
📦 Dependencies
- Updated numerous devDependencies: https://github.com/twbs/bootstrap/pulls?q=is%3Apr+is%3Aclosed+label%3Adependencies+project%3Atwbs%2Fbootstrap%2F43
v5.1.1
Highlights
🎨 CSS
- #34679: Fix font size variable name
-
#34699: Add check to
rgba-css-var
function for body or bg - #34773: Include root.scss in all dist builds
-
#34779: Fix
$dropdown-link-hover-color
variable color value in _variable.scss file
☕ ️ JavaScript
- #34621: carousel: move common checks to a function
-
#34701: Fix modal when is triggered by
bs-toggle
, to hide other open instances - #34835: Collapse on toggle, should not hide descendant tabpanels
-
#34842: Fix tooltip
data-bs-original-title
issue
📖 Docs
- #32781: docs: shortcodes tweaks and consistency changes
- #34686: docs: Fix placeholders typo
- #34752: Fix typo in placeholder docs
- #34769: Enhance Alerts > Live Example section
- #34781: docs: fix typos in approach and placeholders
- #34787: Progress page: remove toggle animation button
- #34840: clarify importing all vs specific plugins
-
#34842: Fix tooltip
data-bs-original-title
issue -
#34877: docs: add
$enable-smooth-scroll
to Sass options page - #34886: Disabled link cleanup
-
#34892: Fix a11y issues in
.hstack
example and placeholder 'How it works' example - #34910: Docs: Add Callout to Stacks Helper page about limited flexbox gap support
-
#34913: docs: make use of the
.Site.Params.docs_version
variable - #34914: Typo/US locale fixes
🛠 Examples
- #34766: dashboard-rtl: use the same scripts as the dashboard example
🌎 Accessibility
- #34886: Disabled link cleanup
🏭 Tests
- #34077: Add GitHub SHA in BrowserStack build ID.
- #34912: BrowserStack: add Firefox 60 and Chrome 60
📦 Dependencies
- Updated numerous devDependencies: https://github.com/twbs/bootstrap/pulls?q=is%3Apr+is%3Aclosed+label%3Adependencies+project%3Atwbs%2Fbootstrap%2F42
v5.1.0
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 usingbs-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()
andsubtract()
-
#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 usingbs-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 ofif
- #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
'scache
option
📦 Dependencies
- Updated numerous devDependencies: https://github.com/twbs/bootstrap/pulls?q=is%3Apr+is%3Aclosed+label%3Adependencies+project%3Atwbs%2Fbootstrap%2F31
v5.0.2
🚀 Features
- #34052: Automatically select an item in the dropdown when using arrow keys
🎨 CSS
-
#33621: Allow individual grid classes to override
.row-cols
- #34008: Fix x-paddings for select (with floating label, and in Firefox)
- #34026: Set the correct color for popover header bottom border
-
#34034: Add missing transition to
.form-select
- #34044: Fix wrong comment text for tooltip
-
#34047: Handle complex expressions in
add()
&subtract()
-
#34048: Decouple
--bs-table-bg
and--bs-table-accent-bg
- #34062: Document how to make utilities responsive using the API
-
#34124: fix(dropdowns): RTL for
.dropdown-menu-*
-
#34161: fix(forms): unitless
line-height
for floating labels -
#34223: docs(style): fix display of nested
<ul><li>
-
#34245: Replace
/
division with multiplication and customdivide()
function - #34255: Don't set auto margin on offcanvas close
- #34281: Fix lingering Sass math
-
#34283: Update the
divide()
function and RFS - #34332: Fix another Sass division
☕ ️ JavaScript
-
#33276: Add
getOrCreateInstance
method in base-component -
#33371: Popover & Tooltip: Allow
dispose
/hide
methods usage throughjQueryIntreface
-
#33608: Utils: add
getNextActiveElement
helper function - #33845: Fix handling of transitionend events dispatched by nested elements
-
#33928: Reset inside a Dialog does not work if
data-dismiss="modal"
is set - #33947: Refactor scrollbar.js to be used as a Class
- #33948: Add tests for scrollbar.js & better handling if a style property doesn't exist
-
#33960: fix
isVisible
false positives from deep nesting or alternate means - #33982: Don't add empty content holder when there is no content available
- #34014: Fix backdrop "Cannot read property 'removeChild' of null" when removed from body
- #34052: Automatically select an item in the dropdown when using arrow keys
- #34070: Fix test of #34014
-
#34071: Change
element.parentNode.removeChild(element)
toelement.remove()
- #34085: Fix prevented show event disables modals with fade class from being displayed again
- #34092: Backdrop: Fix stale body by removing unnecessary default
-
#34158: Register only one
DOMContentLoaded
event listener inonDOMContentLoaded
- #34266: Fix carousel buttons
- #34307: fix(carousel): arrow keys break animation if carousel sliding
📖 Docs
-
#33724: Nav-tabs documentation example: Adjust example to
querySelectorAll
- #33749: add Bootstrap 5 Simplified Chinese translation
-
#34009: Drop
BlinkMacSystemFont
in docs - #34018: Adjusted z-index to cover "copy" buttons
- #34040: Placeholder changes to input value in readonly input.
- #34044: Fix wrong comment text for tooltip
- #34050: Replace Freenode with Libera IRC server
- #34062: Document how to make utilities responsive using the API
- #34074: Update Hugo config and sitemap.xml
- #34090: Change HTTP to HTTPS
- #34143: Add positioned badges example to docs
- #34160: img in horizontal card
- #34175: Fix typo in sass.md ("theses"→ "these")
- #34179: Missed explanations for variables override
- #34180: docs: update dropdowns.md to reflect the correct version
- #34183: docs: update migration.md to fix a typo
- #34199: docs: update overview.md to fix typo
-
#34223: docs(style): fix display of nested
<ul><li>
- #34239: fix(docs): update docs to match the newest modal-open removal
- #34251: Document the change to breakpoint mixins
- #34256: Add important to utilities, mention it's usage and global variable
- #34263: Fix error in JavaScript doc example
-
#34280: Remove a leftover
sass:math
module call
🛠 Examples
- #34007: Dashboard example improvements
-
#34011: Cheatsheet: fix JS errors in
setActiveItem()
- #34214: fix accessibility issue on sidebars example
🌎 Accessibility
- #34052: Automatically select an item in the dropdown when using arrow keys
- #34214: fix accessibility issue on sidebars example
🔧 Utility API
- #34062: Document how to make utilities responsive using the API
- #34256: Add important to utilities, mention it's usage and global variable
🏭 Tests
- #33948: Add tests for scrollbar.js & better handling if a style property doesn't exist
🧰 Misc
- #34075: Improve vnu-jar.js
- #34250: Replace Freenode with Libera.Chat in the remaining files
- #34279: build/vnu-jar.js: clean up ignores
📦 Dependencies
- Updated numerous devDependencies: https://github.com/twbs/bootstrap/pulls?q=is%3Apr+is%3Aclosed+label%3Adependencies+project%3Atwbs%2Fbootstrap%2F41
v5.0.1
🎨 CSS
-
#33551: Modals no longer use
.modal-open
to affect the<body>
scroll -
#33644: Validated inputs in
.input-group
shouldn't be behind sibling element -
#33825: Prevent
accent-bg
from leaking in nested table -
#33870: Don't redefine
$list-group-color
in loop -
#33961: Revert
:read-only
selector back to[readonly]
☕ ️ JavaScript
- #33221: Prevent toast autohiding if focusing or hovering
- #33288: Remove potential false positive assertions
- #33327: Move get element functionality to a helper
-
#33381: Popover/Tooltip: streamline
config
property to start with underscore -
#33609: Merge js-components
transitionend
listener callbacks into one method -
#33635: Extract static
DATA_KEY
&EVENT_KEY
to base-component - #33740: Refactor: move disposing properties into the base class
-
#33853: Fix backdrop
rootElement
not initialized in Modal - #33920: Fix: Click on input outside of dropdown-menu prevents dropdown from closing
- #33938: Fix dropdown test warning "without expectations"
📖 Docs
- #33709: Add Arabic translation
- #33837: update About text now that Bootstrap 5 is live
- #33841: Fix typo in scrollspy docs
- #33842: Fix browser support versions in migration doc
- #33843: Fix typo in migration.md
- #33855: Remove extra t in Close button heading in Migration guide
- #33868: Fix value
- #33879: Fix "no long require" to "no longer require" typo
- #33893: Add accessible names to SVG icons in alerts
- #33896: Fix accordion link
- #33901: docs: make tooltip anchor properly wrap the svg
- #33904: Add Fathom Analytics to v5 docs
- #33915: docs: fix rtlcss stringmap configuration
- #33916: Remove unneeded "Edge Legacy" mention in Range docs
- #33924: Fix "directoinal" typo in v5 migration docs
🛠 Examples
- #33850: Fix unnecessary classes
- #33859: Update Sidebars example to fix dividers and rendering on Chrome
- #33926: Fix offcanvas example, using a custom trigger selector
🌎 Accessibility
- #33893: Add accessible names to SVG icons in alerts
🏭 Tests
- #33288: Remove potential false positive assertions
-
#33635: Extract static
DATA_KEY
&EVENT_KEY
to base-component -
#33927: Fix offcanvas test to expect the initial body
overflow
value - #33938: Fix dropdown test warning "without expectations"
🧰 Misc
- #33923: CI: remove Node.js 10
📦 Dependencies
- Updated numerous devDependencies: https://github.com/twbs/bootstrap/pulls?q=is%3Apr+is%3Aclosed+label%3Adependencies+project%3Atwbs%2Fbootstrap%2F38
v5.0.0
Highlights
#32155: Updated make-col()
mixin to generate equal columns when no size is specified
#32763: Added new color-scheme()
mixin
#33389: Dropdown menus now have option become clickable
#33453: Added new docs footer
#33548: Offcanvas header components are now vertically aligned
#33549: Added offcanvas-top modifier
#33634: Added support for .dropdown-item
s wrapped in <li>
s
#33626: Fix v5 regressions in tab dropdown functionality
🚀 Features
-
#32763: Add
color-scheme
mixin - #33389: Dropdown — Add option to make the dropdown menu clickable
- #33549: Add offcanvas-top modifier
🎨 CSS
- #32155: Add equal column mixin
-
#32763: Add
color-scheme
mixin - #33292: Make accordion icon rotation more natural
- #33411: Fix validation feedback icon in select multiple
-
#33478: Make
.nav-link
color consistent when using buttons - #33482: Dropdown — Apply positioning only when Popper is not used
- #33548: Vertically align offcanvas header components
- #33549: Add offcanvas-top modifier
- #33550: Spinner alignment changes
- #33598: Hide validation icons from multiple selects
- #33600: Have $form-check-input-border's default derive from $black
- #33607: Reduce color-scheme complexity
-
#33642: use
:read-only
css selector instead[readonly]
for consistency - #33658: fix: use list-group variable instead of alert
-
#33736: accordion: fix
border-top
on Firefox
☕ ️ JavaScript
- #32439: Decouple BackDrop from modal
- #33245: Decouple Modal's scrollbar functionality
- #33249: Simplify Modal Config
- #33250: Simplify ScrollSpy config
- #33310: fix: make EventHandler better handle mouseenter/mouseleave events
- #33389: Dropdown — Add option to make the dropdown menu clickable
- #33429: Remove element event listeners through base component
-
#33451: Add missing things in
hide
method of dropdown -
#33456: Use our
isDisabled
util on dropdown - #33466: Refactor dropdown's hide functionality
- #33479: Fix dropdown escape propagation
-
#33496: Use cached
noop
function - #33497: Use template literals instead of concatenation
- #33499: Fix wrong carousel transformation, direction to order
- #33545: Use the backdrop util in offcanvas, enforcing consistency
- #33586: Tab.js: Fixes on click handling
-
#33589: refactor: make static
selectMenuItem
method private - #33612: tests: fix random BrowserStack failures in scrollbar
- #33626: Fix v5 regressions in tab dropdown functionality
-
#33634: Dropdown: support
.dropdown-item
wrapped in<li>
tags - #33638: Fix toggle between modals example
- #33643: fix: clicking an item in navbar dropdown should not collapse the dropdown in firefox
- #33666: Modal.js: fix test for scrollbar
- #33677: Offcanvas.js: If scroll is allowed, should allow focus on other elements
-
#33684: Don't change the value for
altBoundary
option - #33706: Scrollbar: respect the initial body overflow value
📖 Docs
- #33446: Make offcanvas example fully static
- #33453: Add new docs footer
- #33521: The spacing margin side identifiers 's' and 'e' may be intuitive for …
- #33522: Clarify docs accordion example
- #33543: Update parcel.md
- #33553: Add example: Panels stay open
- #33567: Fixed wrong method name _getInstance
-
#33571: footer: fix
rel=noopener
attribute - #33583: docs: update clipboard.js to v2.0.8
- #33597: Docs: Fix wrong dark attribute in Table - Vertical Alignment
- #33632: Correct the heading for the States section
- #33638: Fix toggle between modals example
- #33664: Docs: fix W3C validation errors in list-group example
- #33668: Update anchor.js to v4.3.1.
-
#33669: Change from preventOverflow to detectOverflow in
boundary
option - #33675: Fix typo
- #33676: Fix Grid System docs
-
#33685: docs: fix the default value of Popper's
boundary
option - #33687: Fixes #33686 typo in RTL docs
- #33690: Add Bootstrap Icons to alerts docs
- #33726: Replace modal and scrollspy placeholder content
- #33733: Tooltip/Popover — Minor doc updates
-
#33735: Clarify
boundary
option description - #33772: Improve overall new examples' accessibility
- #33782: Add new team members to the Teams page
- #33786: Docs: adding intro about web accessibility
- #33797: Update links to CCA, MQ5 prefers-reduced-motion, evergreen WCAG urls
- #33810: Tweak toast docs
- #33829: Update migration guide for some v5 changes
- #33832: Fix doc typo and Bootstrap Icons link
- #33833: refactor(docs): Added form file input variables
- #33834: Rewrite migration guide
Examples
- #33097: Update RTL examples
- #33759: fix: change margin breakpoints for bootstrap logo on double header
- #33681: Fixes signup form in Heroes example
- #33569: Improve responsiveness of Features examples
🌎 Accessibility
🏭 Tests
-
#33578: Remove unnecessary
data-bs-backdrop="static"
from modal tests - #33612: tests: fix random BrowserStack failures in scrollbar
- #33666: Modal.js: fix test for scrollbar
- #33734: Add missing test for clicking select option in a dropdown
🧰 Misc
- #33720: JS tests: add Node.js 16
📦 Dependencies
- Updated numerous devDependencies https://github.com/twbs/bootstrap/pulls?q=is%3Apr+is%3Aclosed+label%3Adependencies+project%3Atwbs%2Fbootstrap%2F27
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 https://github.com/twbs/bootstrap/pull/35190
- Update links to CCA, MQ5 prefers-reduced-motion, evergreen WCAG urls, more resources by @patrickhlauke in https://github.com/twbs/bootstrap/pull/35427
- v4-dev backports and updates by @XhmikosR in https://github.com/twbs/bootstrap/pull/35482
- Backport #35556 by @julien-deramond in https://github.com/twbs/bootstrap/pull/35558
- Tweak toast docs by @patrickhlauke in https://github.com/twbs/bootstrap/pull/35633
- v4-dev backports and updates by @XhmikosR in https://github.com/twbs/bootstrap/pull/35642
- Doc: Reorder alphabetically lists of components by @julien-deramond in https://github.com/twbs/bootstrap/pull/36128
- Updated the small-font-size to use a round value by @pricop in https://github.com/twbs/bootstrap/pull/36172
- v4 dev backports and updates by @XhmikosR in https://github.com/twbs/bootstrap/pull/35767
- _custom-forms.scss: fix order of attributes by @twin-elements in https://github.com/twbs/bootstrap/pull/36231
- Replace the deprecated
color-adjust
withprint-color-adjust
by @AdrianCurtin in https://github.com/twbs/bootstrap/pull/36283 - [v4] Doc: remove
role="group"
from some split drop* buttons by @julien-deramond in https://github.com/twbs/bootstrap/pull/36254 - Dynamic tabs: use buttons rather than links (backport to v4) by @patrickhlauke in https://github.com/twbs/bootstrap/pull/33163
- v4 dev updates by @XhmikosR in https://github.com/twbs/bootstrap/pull/36430
- Fix closing HTML tag in navs docs by @julien-deramond in https://github.com/twbs/bootstrap/pull/36466
- v4: Horizontal collapse by @mdo in https://github.com/twbs/bootstrap/pull/36434
- Fixing tabs' tests v4 by @louismaximepiton in https://github.com/twbs/bootstrap/pull/36485
- Docs: fix some ARIA Authoring Practices Guides broken links by @julien-deramond in https://github.com/twbs/bootstrap/pull/36490
- v4 - Remove confusing unnecessary id/aria-labelledby for dropdown menus by @patrickhlauke in https://github.com/twbs/bootstrap/pull/36491
- v4 Docs: outdated ARIA/PF link, expand contrast explanation in
accessibility.md
by @patrickhlauke in https://github.com/twbs/bootstrap/pull/36492 - v4: Improve accessible name of version dropdown in docs navbar by @patrickhlauke in https://github.com/twbs/bootstrap/pull/36504
- Update devDependencies by @XhmikosR in https://github.com/twbs/bootstrap/pull/36522
- Docs: update clipboard.js to v2.0.11 by @julien-deramond in https://github.com/twbs/bootstrap/pull/36631
- Update devDependencies by @XhmikosR in https://github.com/twbs/bootstrap/pull/36724
- v4: Add Fathom by @mdo in https://github.com/twbs/bootstrap/pull/36727
- Docs: Capitalize Unicode by @julien-deramond in https://github.com/twbs/bootstrap/pull/36735
- Release v4.6.2 by @XhmikosR in https://github.com/twbs/bootstrap/pull/36725
New Contributors
- @twin-elements made their first contribution in https://github.com/twbs/bootstrap/pull/36231
- @AdrianCurtin made their first contribution in https://github.com/twbs/bootstrap/pull/36283
Full Changelog: https://github.com/twbs/bootstrap/compare/v4.6.1...v4.6.2
v4.6.1
: 4.6.1
What's changed
- Replace Sass division with multiplication and custom
divide()
function by @mdo in https://github.com/twbs/bootstrap/pull/34571 - Update RFS to v8.1.0 by @XhmikosR in https://github.com/twbs/bootstrap/pull/34571
- fix(forms): input-group and validation icons by @ffoodd in https://github.com/twbs/bootstrap/pull/32968
- Fix minor visual bug in Firefox caused by
moz-focusring
by @kremit in https://github.com/twbs/bootstrap/pull/32821 - Adjust
SAFE_URL_PATTERN
regex for use with test method of regexes by @nikonthethird in https://github.com/twbs/bootstrap/pull/33153 - Add
sms
in theSAFE_URL_PATTERN
for sanitizer by @XhmikosR in https://github.com/twbs/bootstrap/pull/35074 - Adjust feedback icon position and padding for
select.form-control
by @mdo in https://github.com/twbs/bootstrap/pull/33206 - Carousel: use buttons, not links, for prev/next controls by @patrickhlauke in https://github.com/twbs/bootstrap/pull/33165
- v4: Sass docs for default variables by @mdo in https://github.com/twbs/bootstrap/pull/33392
- Handle complex expressions in
add()
&subtract()
by @ffoodd in https://github.com/twbs/bootstrap/pull/34047 - More concise improvements for
add()
andsubtract()
by @ffoodd in https://github.com/twbs/bootstrap/pull/34432 - Remove
aria-haspopup
from dropdowns by @patrickhlauke in https://github.com/twbs/bootstrap/pull/33624 - Dropdown: support
.dropdown-item
wrapped in<li>
tags by @cpsievert in https://github.com/twbs/bootstrap/pull/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 https://github.com/twbs/bootstrap/pull/33807 - Replace Freenode with Libera IRC server by @midzer https://github.com/twbs/bootstrap/pull/34050
- Fix repetition in the Navbar docs description by @coliff in https://github.com/twbs/bootstrap/pull/34208
- Enable
0.x
with negative margins in utilities by @k-utsumi in https://github.com/twbs/bootstrap/pull/33593 - Remove print
thead
rule by @coliff in https://github.com/twbs/bootstrap/pull/34426 - Fix prevented
show
event disabling modals with fade class from being displayed again by @alpadev in https://github.com/twbs/bootstrap/pull/34087 - Input group validation with custom-file input by @ffoodd in https://github.com/twbs/bootstrap/pull/33239
- Add eslint-plugin-qunit and tighten JS tests by @XhmikosR in https://github.com/twbs/bootstrap/pull/32270
- Update our tests to Node 16 and npm 8 by @XhmikosR in https://github.com/twbs/bootstrap/pull/35142
- Disabled link cleanup by @patrickhlauke in https://github.com/twbs/bootstrap/pull/34924
- Updated our devDependencies including terser; also enabled two passes for terser by @XhmikosR
Full changelog
https://github.com/twbs/bootstrap/compare/v4.6.0...v4.6.1
v4.6.0
Highlights
- Tooltips and popovers can have custom clases via
customClass
option. - Added new
.navbar-nav-scroll
class for scrolling expanded navbar contents on mobile devices. - For improved accessibiliy, spinners now slow down when
prefers-reduced-motion
is enabled. - v4.x docs are now built on Hugo for easier maintenance and backports from v5.x.
- Darkened
background-color
of.dropdown-item
for improved hover state contrast, and ligthened the disabled.dropdown-item
color
. - Improved alignment of form validation tooltips.
- File inputs no longer extend beyond their containers.
CSS
- #31557: Fix form validation tooltip alignment
- #31657: Handle the Ubuntu sans-serif case
- #31700: Suppress flexbox side effects in breadcrumb
- #31882: Slow down spinners when prefers-reduced-motion
- #31886: Fixed: Undefined mixin "deprecate" when importing "bootstrap-grid-scss"
- #32141: Use correct value order
- #32145: Avoid invisible real file input "spilling" out of container
- #32160: Add overflow suppression to custom file label
- #32211: Move negative margin-bottom from .nav-item to .nav-link
- #32212: Remove needless Stylelint disables
-
#32833: Add
.navbar-nav-scroll
for vertical scrolling of navbar content - Add two new variables for pagination border-radius values; backport of #32423
- Remove old/unnecessary reboot bug fix; backport of #32631
- Suppress focus outline for buttons when it shouldn't be visible in Chromium; backport of #32689
- Consistently use
outline:0
rather thanoutline:none
; backport of #32751 - Darken dropdown item hover style; backport of #32754
- Lighten disabled dropdown text to
$gray-500
JS
- #31820: Check for data-interval on the first slide of carousel
-
#31834/#32225: tooltip/popover: add a
customClass
option -
#32001: Move
js/src/index.js
one folder up - #32045: tests: fix sanitizer test
-
#32220: Don't hide modal when
config.keyboard
is false - #32312: build-plugins: switch to "bundled" for babel helpers
Docs
- #31861: Split up dropdown sizing docs to improve rendering
- #31892: Remove redundant visually hidden "(current)" from pagination controls
- #31893: manifest.json: Switch to relative URLs so that we don't need to change the path with every major/minor release
- #31898: switch to suggesting jsDelivr as a CDN
-
#31904:
- docs(forms): use a legend for fieldset instead of aria-label
- docs(forms): fix incorrect legend nesting in fieldset
- #31936: forms: change inline custom radio name
- #31951: Update anchor-js to v4.3.0
- #31960: Explicitly mention emoji fonts, tweak sentence in typography
- #31981: list-group.md: fix snippet
-
#32005: Remove
bugreport.apple.com
since it doesn't work - #32015: Fix redirects
- #32050: Make docs anchorjs links darker on keyboard focus
- #32054: Add callouts about using light colors ideally on a dark background
- #32077: Switch to Hugo
- #32083: mention "Liberation Sans"
- #32087: download.md: link to JS files comparison too
- #32094: Changes to navbar documentation/explanation
- #32106: Clarify JS bundle docs once more for v4
-
#32137: input-group.md: fix wrong class
.visually-hidden
-
#32138: navbar.md: remove
loading=lazy
from snippets - #32147: Fix caniuse.com redirects
- #32151: Mention user-select-all support in docs
- #32196: homepage: split snippets and show copy buttons
- #32203: Switch to jsDelivr for the remaining docs assets
- #32223: introduction: split comments
- #32247: Fix typos in tooltip/popover docs
- #32253: Add Russian translation
-
#32363: Remove useless
.text-left
in Layout / Overview - #32399: Remove duplicated "follow Bootstrap on Twitter" link in Community section
- #32457: Add mention of the bs-custom-file-input plugin needed for the custom file input
-
#32461: style clipboard button on
:focus
, not just:hover
- #32462: Replace Lorem Ipsum placeholder text with more representative (or at least english language) text
- #32634: Remove incorrect mention of dropdowns for dynamic tab behavior
-
#32639: v4: Add an actual
data-touch="false"
example in the carousel docs - #32728: add v5.0 in versions
- #32761: Mention stretched-link constraints with table elements
-
#32789: Remove
role="button"
from CTA links in carousel example - #32791: Docs v4: Sass implementation and rounding precision
-
#32809:
- Clarify Sass import and customize docs for how to modify variable defaults
- Add an npm starter project callout to a few pages
- #32827: Add a live toast example to the docs
- #32759: Mention CSP and embedded SVGs in v4 docs
- docs(dropdowns): clarify where is
.show
applied - Require
.has-validation
for input groups with validation - Fix mobile menu jump & double border
- Remove double spaces from homepage SVGs
- browserconfig.xml: switch to relative image path
- Tweak the wording for collapse to indicate button is preferred/more semantic; backport of #32632
- Clarify the
$enable-shadows
option in our docs; backport of #32685
Examples
- #31979: v4 Examples/Floating-labels: fix bad behavior with autofill
-
#32198: examples: add the version number in
title
Misc
- #29753: Improve build/generate-sri.js regex
- #32003: CI: switch to Node.js 14
- #32008: Update Edge's Rendering Engine on CONTRIBUTING.md
- #32486: BrowserStack: test on macOS Catalina instead of High Sierra
- #32756: Stylelint: disallow some property values
-
Fix for npm 7.x package.json: move
version_short
variable under theconfig
object; backport of #32737 - Update build-examples script so that the resulting examples zip file includes only the needed files
- Various CI tweaks
- Updated devDependencies
v4.5.3
CSS
-
#31653: Add a comment to our
escape-svg
function to note that data URIs must be quoted. -
#31693: Use the
custom-control
shadow variable instead of the genericinput-focus-box-shadow
. -
#31793: Backport some v5 changes (improved
th
styling in Reboot, custom form field styling when printing, and improvements to.text-break
).- #29714: Keep custom check, radio, and switch theme when printing.
-
#30781: Reboot's
th
updates: Inheritfont-weight: bold
that comes from user agent stylesheets. -
#30932:
.text-break
changes to dropoverflow-wrap
and useword-wrap
once again - #31754: Improve versions page rendering (also reversed the order while I was here)
-
#31846: Backports the z-index change to
.close
buttons in dismissible.alert
s.
JS
- #31000: Avoid multiple change event trigger in buttons plugin. Not applicable to v5 since our button JS plugin has been mostly replaced with pure CSS.
- #31673: Fix dropdown variable always evaluating to true.
-
#31696: Ensure
hidePrevented.bs.modal
can be prevented. -
#31718: Backports new
$dropdown-padding-x
variable from v5.
Docs
- #30811: Mention GPU acceleration fix in docs callout for popovers. Doesn't apply to v5 since we're updating to Popper v2.
-
#30838: Explain the
dispose
method more appropriately. - #31706: Backports updated margins for code snippets for improved readability.
- #31769: Backports JS bundle guidance from v5.
-
#31851: Backports mention of missing
to
andnextwhenvisible
methods.
Misc
- #31297: Switch to xo ESLint config
- Updated devDependencies versions
v4.5.2
This release addresses the following two issues:
-
#31438 restores the
make-container-max-widths
mixin. We won't be using the mixin ourselves, but it will remain in the codebase for the rest of v4 with today's release. We've added a deprecation notice as well. -
#31439 removes
flex: 1 0 100%
from.row
s. This was added to address shrinking rows inside the navbar component after our responsive containers were added in v4.4.0. Removing this rolls us back to the expected grid and flex behavior—your row will shrink unfortunately without further changes. We could add extra custom CSS to address this, but it seems shortsighted to rush into that. Instead, apply.flex-fill
to the.row
and your row will behave as usual.
v4.5.1
CSS
-
#30808: Simplify
list-group
borders in cards -
#30810: Add
z-index
to.custom-check
to fix their rendering in CSS columns -
#30817: Add
border-radius
to.card-img-overlay
- #30830: Prevent conflicts with components with classes
- #30922: Fix color on disabled checked state for custom controls
-
#30932: Restore
word-break: break-word;
on.text-break
utility. -
#30940: Prevent
.row
from shrinking in flex containers -
#30957: Nullify custom form states'
box-shadow
- #30959: Toasts in IE11
- #30960: Fix IE11 validation tooltip alignment in input groups
- #30965: Improve floating labels example in IE
- #30966: Improve floating labels with Edge and a general refactor
- #30969: Remove duplicated container breakpoints in compiled CSS
-
#30999: Revert
min-width: 0
on.col
due to unforeseen side effects - #31148: Remove duplicate properties on custom controls
-
#31165: Remove
backdrop-filter
from docs subnav and toasts - #31339: Add link to view docs pages on GitHub
- #31347: Turn off scroll anchoring for accordions
-
#31381: Remove
overflow: hidden
from toasts
JavaScript
- #30326: Prevent overflowing static backdrop modal animation
-
#30936: Add
role="dialog"
in modals via JavaScript - #30992: Avoid preventing input event onclick
- #31155: Clear timeout before showing the toast
Build
- #30797: Fix release script docs
- #31011: Updated Babel config
- #31296: Update to Ruby 2.7 and Bundler 2.x
Docs
- #30809: Update docs callout for responsive SVG images
-
#30813: Mention Bootstrap Icons in
extend/icons.md
page - #30896: Improve wording on Downloads page
- #30897: Prevent skip links from overlapping header in docs
-
#30973: Update some nav examples by removing
.nav-item
from.nav-link
to be more consistent - #31070: Fix some broken examples and typos
- #31135: Move color utility callouts to start of page
- #31234: Clean up docs forms for accessibility
- #31344: Mention toasts in the components requiring JavaScript page
v4.5.0
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
Dependencies
- Updated jQuery to v3.5.1
- Replaced bundlesize with bundlewatch
- Updated to Jekyll v4
- Drop Node.js < 10
- Misc devDependencies updates
v4.4.1
v4.4.0
Highlights
Here's what you need to know about v4.4.0. Remember that with every minor and major release of Bootstrap, we ship a new URL for our hosted docs to ensure URLs continue to work.- New responsive containers! Over a year in the making, fluid up to a particular breakpoint, available for all responsive tiers.
-
New responsive
.row-cols
classes for quickly specifying the number of columns across breakpoints. This one is huge for those of you who have asked for responsive card decks. -
New
escape-svg()
function for simplifying our embeddedbackground-image
SVGs for forms and more. -
New
add()
andsubtract()
functions for avoiding errors and zero values from CSS's built incalc
feature. -
New
make-col-auto()
mixin to make our.col-auto
class available with custom HTML. - Fixed an issue with Microsoft Edge not picking up
:disabled
styles by moving selectors to[disabled]
. -
Deprecated:
bg-variant()
,nav-divider()
, andform-control-focus()
mixins are now deprecated as they're going away in v5. - Updated our spacing and alignment for modal footer elements like buttons to automatically wrap when space is constrained.
- More flexible form control validation styles thanks to fewer chained selectors. Also updated the
:invalid
validation icon to be an alert instead of an×
to avoid confusion with browser functionality for clearing the form field value. - Fixed a couple dozen CSS and JS bugs.
- Moved to GitHub Actions for CI/CD! Expect more updates to our CI setup over time here while Actions evolves.
- Updated documentation to fix links and typos, improved landmarks for secondary navigation, and a new security doc for guidelines on reporting potential vulnerabilities.
Links
v4.3.1
- Security: Fixed an XSS vulnerability (CVE-2019-8331) in our tooltip and popover plugins by implementing a new HTML sanitizer
- Fixed a small issue with our RFS (responsive font sizes) mixins
v4.3.0
Highlights
-
New: Added
.stretched-link
utility to make any anchor the size of it's nearestposition: relative
parent, perfect for entirely clickable cards! -
New: Added
.text-break
utility for applyingword-break: break-word
-
New: Added
.rounded-sm
and.rounded-lg
for small and largeborder-radius
. -
New: Added
.modal-dialog-scrollable
modifier class for scrolling content within a modal. -
New: Added responsive
.list-group-horizontal
modifier classes for displaying list groups as a horizontal row. -
Improved: Reduced our compiled CSS by using
null
for variables that by default inherit their values from other elements (e.g.,$headings-color
wasinherit
and is nownull
until you modifier it in your custom CSS). -
Improved: Badge focus styles now match their
background-color
like our buttons. -
Fixed: Silenced bad selectors in our JS plugins for the
href
HTML attribute to avoid JavaScript errors. Please try to use valid selectors or thedata-target
HTML attribute/target
option where available. - Fixed: Reverted v4.2.1's change to the breakpoint and grid container Sass maps that blocked folks from upgrading when modifying those default variables.
-
Fixed: Restored
white-space: nowrap
to.dropdown-toggle
(before v4.2.1 it was on all.btn
s) so carets don't wrap to new lines. -
Deprecated:
img-retina
,invisible
,float
, andsize
mixins are now deprecated and will be removed in v5.
Links
v4.2.1
Bump to v4.2.1 to republish package on npm. See v4.2.0 release notes for changes introduced in v4.2.
v4.1.3
-
Fixed: Removed the
:not(:root)
selector from oursvg
Reboot styles, resolving an issue that caused all inline SVGs ignorevertical-align
styles via single class due to higher specificity. -
Fixed: Moved the browserslist config from our
package.json
to a separate file to avoid unintended inherited browser settings across npm projects. - Fixed: Buttons in custom file inputs are once again clickable when focused.
- Improved: Bootstrap's plugins can now be imported separately in any contexts because they are now UMD ready.
-
Improved:
.form-control
s now have a fixedheight
to compensate for differences in computed height across differenttype
s. This also fixes some IE alignment issues. -
Improved: Added
Noto Color Emoji
to our system font stack for better rendering in Linux OSes.
v4.1.2
- Fixed an XSS vulnerability in tooltip, collapse, and scrollspy plugins
- Improved how we query elements in our JavaScript plugins
- Inline SVGs now have the same vertical alignment as images
- Fixed issues with double transitions on carousels
- Added Edge and IE10-11 fallbacks to our floating labels example
- Various improvements to form controls, including disabled states on file inputs and unified focus styles for selects
Checkout the v4.1.2 ship list and GitHub project for the full details.
v4.1.1
Our first patch release for Bootstrap 4! Here's a quick rundown of some of the changes:
- Added validation styles for file inputs
- Improved printing of dark tables
- Suppressed that
text-hide
deprecation notice by default - Cleaned up some JS globals and improve coverage
- Bumped dependencies, namely Jekyll
- Fixed docs issue with incorrect name for our monospace font utility
Checkout the v4.1.1 ship list and GitHub project for the full details.
v4.1.0
- Added new custom range form control.
- Added new
.carousel-fade
modifier to switch carousel from horizontal sliding to crossfade. - Added new
.dropdown-item-text
for plaintext dropdown items. - Added new
.flex-fill
,.flex-grow-*
, and.flex-shrink-*
utilities. - Added new
.table-borderless
variant for tables. - Added new
.text-monospace
utility. - Added new
.text-body
(default body color),.text-black-50
(50% opacity black), and.text-white-50
(50% opacity white) utilities. - Added new
.shadow-*
utilities for quickly addingbox-shadow
s. - Added ability to disable Popper's positioning in dropdowns.
- Fixed longstanding issue with Chrome incorrectly rendering cards across CSS columns.
- Deprecated
.text-hide
—you'll see a warning during compilation—as it's a dated and undocumented feature. - Fixed up Dashboard and Offcanvas examples across Firefox and IE.
- Breadcrumbs can now use non-string values as dividers.
- Updated our Theming docs to confirm you cannot use CSS variables in media queries (sorry folks!).
Be sure to look at the ship list and project board for more details on all our fixes.
v4.0.0
Our first stable v4 release!
Highlights:
- Brand new examples and overhauls for existing ones.
- Additional border utilities have been added and the default
border-color
for them darkened from$gray-200
to$gray-300
. - Pagination focus styles now match button and input focus state.
- Added responsive
.order-0
classes to reset column order. - Improved examples of form validation documentation by adding tooltip examples and more.
- New documentation added for using our CSS variables to the Theming page.
- Improved consistent across browsers when printing.
- Sass map extends and docs
- New and improved print display utilities
Project board
For more details, visit https://github.com/twbs/bootstrap/issues/25098.
v3.4.1
- Security: Fixed an XSS vulnerability (CVE-2019-8331) in our tooltip and popover plugins by implementing a new HTML sanitizer
- Handle bad selectors (
#
) indata-target
for Dropdowns - Clarified tooltip selector documentation
- Added support for NuGet contentFiles
v3.4.0
-
New: Added a
.row-no-gutters
class. - New: Added docs searching via Algolia.
- Fixed: Resolved an XSS issue in Alert, Carousel, Collapse, Dropdown, Modal, and Tab components. See https://snyk.io/vuln/npm:bootstrap:20160627 for details.
-
Fixed: Added padding to
.navbar-fixed-*
on modal open -
Fixed: Removed the double border on
<abbr>
elements. - Removed Gist creation in web-based Customizer since anonymous gists were disabled long ago by GitHub.
- Removed drag and drop support from Customizer since it didn't work anymore.
- Added a dropdown to the docs nav for newer and previous versions.
- Update the docs to use a new
baseurl
,/docs/3.4/
, to version the v3.x documentation like we do with v4. - Reorganized the v3 docs CSS to use Less.
- Switched to BrowserStack for tests.
- Updated links to always use https and fix broken URLs.
- Replaced ZeroClipboard with clipboard.js
v3.3.7
Release announcement blog post: https://blog.getbootstrap.com/2016/07/25/bootstrap-3-3-7-released/
JavaScript
- #19192 Fix keyboard navigation for toggle buttons (checkbox, radio, single toggle) following a mouse click
-
#19659: Clear tooltip's
$element
to prevent leaking memory -
#20019: Avoid calling
jQuery('#')
since it's a syntax error in jQuery 3 - #20259: Backport jQuery-related JS unit test fixes from v4
- #20278: button.js: Set disabled property in addition to disabled attribute, for jQuery 3 compatibility
-
#20313: Avoid using
$.offset()
on SVGs since it gives incorrect results in jQuery 3 - #20338: Update jQuery version check and jQuery dependency version range to allow jQuery 3
CSS
No significant changes.
Accessibility
-
#19704: Add
aria-label
and callout about labeling pagination components
Docs
- #19263 Bump html5shiv to v3.7.3
- #19273 Port v4 browser support table format to v3
- #19893: Update jQuery to v1.12.4
- Numerous Wall of Browser Bugs updates
v3.3.6
CSS
-
#16492: Use
@input-border-radius
variables on input groups. -
#16529: Un-style the caret on
<select>
s in IE10+. -
#16562, #16563: Create and implement a new
@dl-horizontal-breakpoint
variable to replace the@grid-float-breakpoint
on.dl-horizontal
. - #16646, #16651: Fix hover border covering active links in pagination.
-
#16684: Fix
border-radius
not being set on two corners of vertical btn group. - #16718: Full 4-digit Unicode escape sequences in CSS for asterisk and plus Glyphicons.
-
#16769: Remove the
min-height
on modal headers and replace with a clearfix to avoid collapsing when no title exists. -
#16779: Adjust the
padding
on jumbotrons within containers. -
#16785: Round the
padding
on containers to match the new rounding of negativemargin
s on rows. - #16796: Ensure carousel controls are clickable in IE9.
- #16804: Indicate which buttons in a button group are selected, even when disabled.
-
#16824: Correct a math error in the
padding-top
of.control-label
s in large and small horizontal forms. -
#16975: Use
@carousel-control-font-size
for in specific pixel values. - #17001: Fix borders on focused inputs in input groups.
JS
-
#16865: Fix triggering of
shown.bs.dropdown
&hidden.bs.dropdown
events so thatrelatedTarget
property gets set properly. - #16896: Note jQuery v3 incompatibility.
Docs
- #16630, #16632: Update mention of not-allowed cursor in disabled checkboxes, radios, and fieldsets docs section.
- #16744: Mention in the README where Bootstrap's changelogs can be found.
-
#16745: Add
CHANGELOG.md
file that points to GitHub Releases and our blog. - #16747: Document that Collapse and Tab methods are asynchronous.
-
#16793: Add example with visible
<label>
and input group addon. - #16888: Add a local jQuery fallback.
-
#16902: Fix grid in modal example by removing
.container-fluid
. -
#16965: Call out
.icon-next
,.icon-prev
alternative classes for carousel. -
#17003: Add
.col-offset-0
example addition to docs. -
#17726: Clarify the purpose of adding
.in
to the.fade
of the initially-open Tab. - #17729: Add Subresource Integrity (SRI) hashes to BootstrapCDN links
- #17742: Add CSS portion of IE10 viewport bug workaround to docs & examples
-
#17809: Note that
container: 'body'
should be used for tooltips/popovers on tabular elements -
#17910: Document that
.panel-title
overrides the font size of<h1>
–<h6>
tags -
#18080: Document conflict between strict Content Security Policy and inline
style
attributes of.progress
bars, and available workarounds
Packaging
Build tools
-
#16589: Enable source maps for
bootstrap.min.css
. - #17769: Setup Hound for JSHint linting in pull requests
Customizer
- #16897: Clarify that Collapse requires Component animations
Browser bugs
- #16689: Add Wall of Browser Bugs entry for #16671.
- #16691: Add Wall of Browser Bugs entry for #15968.
- #16813/#16839: Reported WebKit bug (http://wkbug.com/146896) for #16809, which WebKit then fixed.
- #16840: Remove entry from Wall of Browser Bugs because http://wkbug.com/141804 has been fixed.
- #16841: Remove entry from Wall of Browser Bugs because http://wkbug.com/139803 has been fixed.
- #16842: Remove entry from Wall of Browser Bugs because http://wkbug.com/144990 has been fixed.
- #16881: Add Wall of Browser Bugs entry for #16814.
- #16908: Remove entry from Wall of Browser Bugs because http://crbug.com/309483 is most likely invalid.
- #16994: Add Wall of Browser Bugs entry for #16988.
- #17438 / #14237: Add Wall of Browser Bugs entry for http://wkbug.com/149935
- #17712: Mention Chrome meta-bug on Wall of Browser Bugs
- #17753: Remove entry from Wall of Browser Bugs because http://bugzil.la/1048279 was closed as WONTFIX.
- #17820: Add Wall of Browser Bugs entry for http://crbug.com/534750
- #17902: Remove entry from Wall of Browser Bugs because http://wkbug.com/138167 has been fixed.
- #17906: Add Wall of Browser Bugs entry for #14975
- #18111: Add Wall of Browser Bugs entry for http://wkbug.com/150715
v3.3.5
CSS
-
#15074, #16159: Manually handle
.input-group-*
sizing instead of using mixins, which causes a bug in our compiled code due to nesting -
#15944, #15945: Add
z-index
to avoid border overlapping in input groups -
#15956: Properly position
.form-control-feedback
across within input groups -
#15976, #15978: Fix overlapped
border
on pagination links on hover -
#16047: Make
.text-emphasis-variant
adjusta:focus
color in addition toa:hover
color - #16086: Reset text/font properties more thoroughly for tooltips+popovers
-
#16089: Add
@jumbotron-heading-font-size
variable -
#16092: Only disable
pointer-events
on disabled<a>
.btn
s -
#16120, #16350: Add
max-width: none
to.media > .img-thumbnail
to prevent malformed images -
#16160: Make
.bg-variant
mixin adjust:focus
color in addition to:hover
color -
#16166, #16174: Update
.visible*
mixin to use!important
on<table>
elements -
#16175: Fix
border-radius
on list group items in collapsible panels - #16176: Account for static form controls in form group size variations
-
#16204, #16215: Add
<button>
support to.list-group-item
s. -
#16224: Fix
.btn[disabled]
styles in the theme. - #16234: Update to Normalize v3.0.3
-
#16256: Add
px
unit to perspective property value -
#16258: Fix regression that made
.caret
not display in IE8 -
#16259: Remove workaround for OS X
<select>
printing bug that's been fixed in recent Chrome -
#16271, #16373: Add
@btn-border-radius
variables based on global variables for better customization. -
#16279: Fix floating of
.btn
s that are direct children of.btn-toolbar
-
#16281, #16351: Round grid column gutter operations to prevent inaccurate
padding
andmargin
-
#16333: Ensure proper sizing of
.form-control-feedback
in.form-group-*
size variations. -
#16346, #16472: Update iOS temporal input overrides to be limited to
.form-control
uses. - #16371, #16405: Vertically center carousel controls in small viewports.
-
#16374, #16477: Redo jumbotron
padding
to prevent double negative spacing and overflowing containers. -
#16457, #16447: Add the license banner to the top of
bootstrap.less
. -
#16460: Fix inaccurate
.pagination-sm
height by specifyingline-height
. -
#16482, #16485: Add
border-radius
variable to theme's inverse navbar. - #16614: Fix asymmetry between dropup and dropdown carets.
Accessibility
-
#16154: Darker style
.focus
and:focus:hover
on.active
buttons -
#16226, #16404: Fix radio and checkbox keyboard handling in
.btn-group
(plus removal of obsolete unit test) -
#16571: Generalize dropdowns / drop
role="menu"
JavaScript
- #15694: Fix incorrect Affix positioning when webpage uses sticky footer layout
- #16014: Fix tooltip/popover behavior when multiple triggers are specified
- #16024: Avoid some unnecessary HTML string building+parsing
- #16039: Avoid leaking memory in tooltip/popover plugins
- #16073: Clicking into an input field within an open dropdown no longer closes the dropdown
- #16142: Fix horizontal viewport bounds check in tooltip/popover placement logic
-
#16147: Add new
inserted.bs.tooltip/popover
event fired after tooltip/popover DOM is inserted into the document -
#16151: Tooltip/popover: Allow
viewport
option to be a function - #16152: Fix auto placement to use viewport on tooltips and popovers
-
#16158: Modals: Remove
aria-hidden
usage that's redundant todisplay: none
-
#16263: Use
.dropdown-menu
instead of ARIA roles for Dropdown keydown event handler - #16324: Throw error when tooltip/popover template has multiple top-level elements
Documentation
-
#15987: Add
role="button"
toa[data-toggle="collapse"]
-
#16107: Add
.alert
change to v2 -> v3 migration guide - #16113, #16114: Document how to install Bootstrap via Composer
- #16117: Increment quick start options count in README.md
- #16136: Callout for tooltips and keyboard/AT accessibility
-
#16140: Add
aria-expanded
to navbar toggles -
#16156: Properly document the
$(...).tab('show')
method - #16157: Document how to disable transitions in Bootstrap's jQuery plugins
-
#16167: Remove wrong
role="tabpanel"
from docs - #16194: Remove stray spaces from modal/using-grid-system sample code
-
#16208: Eliminate extraneous
padding
in.bs-docs-header
that would sometimes cause horizontal scrolling - #16222: fix dead link: reduced test cases
- #16257: Upgrade to Holder v2.5.2 for placeholder images
-
#16270, #16280: Change
vertical-align
on badges frombaseline
tomiddle
for improvement alignment across more elements - #16282: Document that Affix doesn't work on pushed/pulled grid columns in Safari
- #16301: Hide the "Copy" buttons in the docs when Flash is not available
-
#16367: Ensure that
.form-inline
in non-responsive example doesn't stack -
#16369: Separate the docs for
.dropdown
and.dropup
for more accurate examples -
#16398: Remove
role="button"
from download links -
#16409: Document Affix plugin's
checkPosition
method -
#16411: Document that
'manual'
trigger is mutually exclusive of other tooltip/popover triggers -
#16417: Added
#panels-footer
to components nav in docs -
#16430: Mark stateful button feature as deprecated, and document that
$(...).button('reset')
is async -
#16484: ScrollSpy requires non-body elements to have
height
andoverflow
. - #16488: Update AnchorJS to 1.0.1
- #16524: Firefox file download bug affecting the Customizer seems to have been fixed
-
#16561: Ensure divider list items have
role="separator"
- #16623: Add role="document" to modal dialog content
Browser bugs
- #16262: Added Wall of Browser Bugs entries for #16180
- #16372: Added Wall of Browser Bugs entry for table-related Chrome bug
Packaging
- #16101: Update jspm configuration
-
#16359: Update
bower.json
to comply with Bower's new spec for themain
field -
#16378: Set
"moduleType": "globals"
inbower.json
-
#16379: Remove moot
version
field from and addlicense
field tobower.json
-
#16408: Include entire
/grunt/
folder in npm package so thatgrunt dist
works
Grunt
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.