Skip to content

Update dependency bootstrap to v5

This MR contains the following updates:

Package Type Update Change
bootstrap (source) devDependencies major ^4.3.1 -> ^5.3.1

MR created with the help of gitlab-org/frontend/renovate-gitlab-bot


Release Notes

twbs/bootstrap

v5.3.1

Compare Source

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
  • Components:
    • Improved disabled styling for all .nav-links, providing .disabled and :disabled for use with anchors and buttons
    • Add support for Home and End 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
  • 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
  • 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 and End 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 and End 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 to bootstrap-x.y.z-examples.zip

📦 Dependencies

v5.3.0

Compare Source

v5.2.3

Compare Source

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

Compare Source

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.
  • Dropdowns
    • Restore the ability for dropdowns to work without an explicit data attribute (will be removed again in v6)
  • Modals
    • Improve modal event listeners
    • Use <h1> for all .modal-title instances in our docs
  • Tables
    • Don't redefine $border-color in table-variant() mixin
  • Tabs
    • Tabs no longer autofocus and cause pages to jump on tab.show()
    • Fix .active class toggling of tabs within dropdowns
  • Toasts
    • Properly set toast z-index on .toast-container as opposed to individual .toasts that don't receive any other positioning
  • Tooltips
    • Fix tooltip selectors with title attribute on dynamically created elements

🎨 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 in table-variant mixin

️ JavaScript

📖 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 all modal-title examples/uses
  • #​37214: Docs: Change view in GitHub links inside main

🌎 Accessibility

🏭 Tests

🧰 Misc

📦 Dependencies

v5.2.1

Compare Source

🚀 Highlights

  • Accordion
    • Update color value to use the $accordion-button-color Sass variable instead of our color contrast function
  • 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 to true
  • 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
  • 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
  • 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
  • Scrollspy
    • Scrollspy threshold option is now configurable
  • Tooltips
    • Reverted some tooltip plugin updates to prevent issues with selector, dynamic content, and disposed tooltips using title

🚀 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

v5.2.0

Compare Source

🚀 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 is 0
  • #​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 as disabled
  • #​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 in button-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 of title
  • #​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

  • #​36608: dashboard example: minor fix
  • #​36732: Add accNames to all progress bar 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

🧰 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

v5.1.3

Compare Source

Fixes

🎨 CSS
  • #​35143: Revert "Add align-self: center to buttons for improved rendering in flex containers"

v5.1.2

Compare Source

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 in create-react-app.
  • Added border-radius sizes to small and large .form-selects
  • 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 the SAFE_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-selects
  • #​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 the SAFE_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

v5.1.1

Compare Source

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

🏭 Tests

  • #​34077: Add GitHub SHA in BrowserStack build ID.
  • #​34912: BrowserStack: add Firefox 60 and Chrome 60

📦 Dependencies

v5.1.0

Compare Source

Highlights

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

🚀 Features

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

🎨 CSS

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

️ JavaScript

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

📖 Docs

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

🛠 Examples

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

🌎 Accessibility

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

🔧 Utility API

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

🧰 Misc

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

📦 Dependencies

v5.0.2

Compare Source

🚀 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 custom divide() 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 through jQueryIntreface
  • #​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) to element.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 in onDOMContentLoaded
  • #​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

v5.0.1

Compare Source

🎨 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

📦 Dependencies

v5.0.0

Compare Source

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-items 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

📦 Dependencies

v4.6.2

Compare Source

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 with print-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, like bootstrap.min.css, you may still see the warning.
  • Tweaked the size of small and .small to compute to a whole pixel value (was 12.8px and now is 14px).
  • 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

New Contributors

Full Changelog: https://github.com/twbs/bootstrap/compare/v4.6.1...v4.6.2

v4.6.1: 4.6.1

Compare Source

What's changed
Full changelog

https://github.com/twbs/bootstrap/compare/v4.6.0...v4.6.1

v4.6.0

Compare Source

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 than outline: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 the config 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

Compare Source

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 generic input-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: Inherit font-weight: bold that comes from user agent stylesheets.
    • #​30932: .text-break changes to drop overflow-wrap and use word-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 .alerts.
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 and nextwhenvisible methods.
Misc
  • #​31297: Switch to xo ESLint config
  • Updated devDependencies versions

v4.5.2

Compare Source

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 .rows. 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

Compare Source

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
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

Compare Source

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 set cursor: 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 setting min-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 set cursor: pointer.
  • #​30582: Delete unnecessary appearance: none from button.close
  • #​30594: Deprecate bg-gradient-variant mixin
  • #​30605, #​30606: Grid now checks for for $grid-columns > 0
  • #​30609: Checks for an empty $grid-breakpoints map list to remove all breakpoints
  • #​30660: Prevent list group style leaks
  • #​30685: Disable auto-hiding scrollbar in IE and legacy Edge
JavaScript
  • #​29986: Close modal with keyboard=true & backdrop=static
  • #​29968: sanitizer.js: Add srcset in the allowed attributes
  • #​30381: Updated tab.js to address accessibility issue when using ul/li semantic
  • #​30383: ensure totype always return stringified null when null passed
  • #​30388: enable button toggle on label when checkbox is inside
  • #​30490: Switch to string constants to save ~5% on compressed file size
  • #​30510, #​30511: Fix event propagation from inactive and disabled dropdowns
  • #​30744: ensure build plugins can exit in error
  • #​30772: Prevent scrollbar replacement on non-integer width
  • 22f75c: scrollspy: only accept valid Elements as input for target
Docs
  • Redesigned docs homepage
  • Improved tap target sizing in our navigation
  • Added examples for our input group border-radius workaround
  • Added warning to browser bugs page that it's no longer maintained
  • Added loading="lazy" for images
  • #​29782: Improve wrapping and hit area of accordion example titles
  • #​29820: move width after make-container() mixin
  • #​29937: Add missing Noto Sans font to font stack
  • #​29956: Add Microsoft Edge for macOS to supported browsers
  • #​30130: Added ability to zip and download our Examples
  • #​30175: Add version number in page titles
  • #​30180: Changed input group validation examples to reflect issues with input group
  • #​30207: Headings hierarchy in theming.md
  • #​30325: Updated modal docs to simplify data-target usage and more
  • #​30416: Clarify card group behavior
  • #​30469: Remove holder.js leftovers
  • #​30505: Use existing position utility in navbar example
  • #​30695: make the check for URL stricter in our docs search
  • #​30755: Removed role="document" from the modal dialog
Examples
  • #​29886: Fix checkout page forms
  • #​30573: Improve the responsiveness of our Dashboard example
Dependencies
  • Updated jQuery to v3.5.1
  • Replaced bundlesize with bundlewatch
  • Updated to Jekyll v4
  • Drop Node.js < 10
  • Misc devDependencies updates

v4.4.1

Compare Source

v4.4.0

Compare Source

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 embedded background-image SVGs for forms and more.
  • New add() and subtract() functions for avoiding errors and zero values from CSS's built in calc 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(), and form-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 &times; 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

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Merge request reports