All Versions
20
Latest Version
Avg Release Cycle
68 days
Latest Release
322 days ago

Changelog History
Page 1

  • v5.0.0-beta1 Changes

    December 07, 2020

    🍱 ⚠ Please check our migration guide for more info!

    🍱 πŸš€ Features

    • #32280: Add toast positioning
    • πŸ‘ #30980: Add RTL support
    • #32217: Ability to add custom class in tooltip/popover
    • #31643: Add a state field to create utility pseudo-classes

    🍱 🎨 CSS

    • ⚑️ #31178: Update Popper to v2.x
    • #31303: Keep rounded corners for the first .btn in vertical button group
    • #31643: Add a state field to create utility pseudo-classes
    • #31735: Simplify make-container()
    • #32149: Rename scale-color() function to shift-color()
    • #32201: fix(container): use $variable-prefix
    • πŸ’… #32213: _reboot.scss: remove needless Stylelint disable
    • #32249: breadcrumb: simplify appearance, improve extensibility
    • 🚚 #32277: Remove default linear gradient
    • #32280: Add toast positioning

    🍱 β˜•οΈ JavaScript

    • #28849: Accessibility: add aria-label for tooltips
    • #29370: create a base component
    • ⚑️ #31178: Update Popper to v2.x
    • #31827: Add namespace "bs" in the data attributes
    • #32095: JS: use more "modern" APIs
    • #32124: tooltip.js: deduplicate _fixTitle()
    • #32152: Fix .close instances
    • βœ… #32154: BrowserStack: test both on iPhone 7 and iPhone X
    • #32173: Make the attribute methods bs specific
    • #32178: Handle Chromium to run Karma
    • #32179: Don't hide modal when config.keyboard is false
    • #32217: Ability to add custom class in tooltip/popover
    • βœ… #32221: Add missing tags in unit tests
    • #32224: Be consistent with Popper's name.
    • ⚑️ #32233: Update bundle.js in tests/integration
    • 🚚 #32279: Remove the show config option from the modal plugin
    • 🚚 #32310: Remove Polyfill leftovers

    🍱 πŸ“– Docs

    • πŸ“„ #31098: Docs: change sidebar collapse controls to actual button elements
    • πŸ“„ #31608: Add baseof.html layout to docs
    • ⚑️ #32117: Update _syntax.scss
    • 🚚 #32131: application.js: remove non-existent selector
    • #32134: Add hyphen between Sass and based
    • #32135: Fix caniuse.com URLs to prevent redirects
    • #32139: floating-labels.md: fix grammar error
    • 🚚 #32143: example.html: remove extra whitespace
    • #32153: popovers.md: unbreak line
    • 🍱 #32158: Switch to jsDelivr for the remaining docs assets
    • πŸ“„ #32162: docs: Add missing .has-validation class for input group example
    • ⚑️ #32163: docs: update selector CodePen example
    • πŸ“„ #32174: Position Utilities Docs: Fix the marker SVG color to match the button
    • #32175: skippy.html: reduce whitespace output
    • πŸ’… #32176: docs: use expanded Sass output style for development
    • #32177: examples: fix .btn-block instances
    • ⚑️ #32187: Manually optimize SVGs
    • πŸ“„ #32189: docs(dropdowns): clarify where is .show applied
    • πŸ“„ #32191: Correct block button breakpoint docs typo
    • πŸ“„ #32194: Docs: fix homepage npm install version
    • #32198: examples: add the version number in title
    • ✏️ #32204: Fix a few typos
    • #32223: introduction: split comments
    • #32224: Be consistent with Popper's name.
    • πŸ“„ #32226: docs: use event instead of e
    • #32258: homepage: fix wrong alt attribute
    • #32281: Add mention of link underline change to migration and typography
    • #32335: cheatsheet.js: use event instead of e

    🍱 🌎 Accessibility

    • #28849: Accessibility: add aria-label for tooltips

    🍱 🧰 Misc

    • πŸ— #29753: Improve build/generate-sri.js regex
    • πŸ’» #30986: Revisit our browserslist config
    • ⚑️ #32125: Update codeql.yml
    • βœ… #32154: BrowserStack: test both on iPhone 7 and iPhone X
    • #32222: CI: specify FORCE_COLOR:2
    • βœ… #32232: npm scripts: run integration tests in parallel
    • #32257: README: fix path to search.js
    • 🚚 #32310: Remove Polyfill leftovers
    • #32326: Fix css-prefix-examples-rtl script

    πŸ“¦ πŸ“¦ Dependencies

  • v5.0.0-alpha3 Changes

    November 11, 2020

    πŸ”„ Changes

    • #31728: Switch to dart-sass
    • πŸ‘ #31972: Drop Legacy Edge support.
    • 🚚 #32012: Remove obsolete prefixes

    🍱 πŸš€ Features

    • #30449: v5: Floating labels
    • πŸ’… #30571: v5: Add .fs-* utilities for font-size and rename font-weight/-style utilities
    • #31343: Adding overflow visible and scroll as utilities
    • #31995: Replace .btn-block with utilities
    • #32013: Add dedicated accordion component
    • #32066: Add .d-grid to our display utilities
    • #32074: Add .gap utilities

    🍱 🎨 CSS

    • #30449: v5: Floating labels
    • πŸ’… #30571: v5: Add .fs-* utilities for font-size and rename font-weight/-style utilities
    • #30622: Colors rewrite
    • #31343: Adding overflow visible and scroll as utilities
    • #31651: Fix disabled checkbox toggle buttons
    • #31657: Handle the Ubuntu sans-serif case
    • #31684: Add Sass variable for CSS variable prefix
    • ⚑️ #31687: Updated .rounded utilities
    • #31700: Suppress flexbox side effects in breadcrumb
    • #31826: Alert: Add z-index for close button
    • πŸ“„ #31839: docs: fix contrast color against .bg-info
    • #31877: Apply smooth-scroll when prefers-reduced-motion: no-preference
    • #31882: Slow down spinners when prefers-reduced-motion: reduce
    • #31953: Fix input group border radii
    • πŸ”Œ #31955: Drop custom file upload plugin in favor of CSS solution
    • 🚚 #31964: Remove background-clip from .btn-close
    • 🚚 #31993: Remove explicit heights on form elements
    • #31995: Replace .btn-block with utilities
    • #32013: Add dedicated accordion component
    • #32020: Add cursor:pointer to color inputs
    • #32023: Fix color input heights
    • #32031: Fix .fw utilities
    • 🚚 #32064: Remove firefox workaround for ::file-selector-button margin
    • #32066: Add .d-grid to our display utilities
    • #32074: Add .gap utilities
    • #32085: Add checks to fix color contrast issues
    • #32121: Use correct value order

    🍱 β˜•οΈ JavaScript

    • #30740: karma: stop excluding polyfill.js from istanbul
    • #31818: Check for data-interval on the first slide of carousel
    • 🚚 #31842: Remove Manipulator.toggleClass
    • ⚑️ #31951: Update anchor-js to v4.3.0.
    • #32011: polyfill.js minor tweaks
    • #32016: Streamline jQuery comment.
    • πŸ‘• #32021: Lint: stop ignoring package.js
    • #32024: Fix TypeError when Bootstrap is included in head
    • #32026: toast.spec.js: fix typo
    • πŸ‘• #32036: ESLint: enable new-cap rule but ignore properties
    • βœ… #32043: tests: switch to using toContain() to check for substring presence
    • βœ… #32045: tests: fix sanitizer test.
    • βœ… #32046: tests: tweak Jasmine usage
    • #32055: dropdown.js: simplify code
    • #32093: karma.conf.js: break lines
    • #32100: search.js: check for search-input element early
    • #32101: modal.html: use textContent

    🍱 πŸ“– Docs

    • #30044: Contrast colors added to theme-colors
    • #30838: Explain the "dispose" method appropriately
    • ⚑️ #31111: Update docs example on how to optimize JavaScript bundle
    • πŸ“„ #31583: docs(Modal): Add xxl fullscreen example
    • πŸ“„ #31679: Don't wrap the code snippets in our docs
    • #31686: v5: Add disabled examples for .form-control, .form-select, and .form-range
    • #31702: Add keyboard shortcut to focus search field
    • ⚑️ #31775: Update social.html: use article og:type when it's a page
    • 🚚 #31791: docs: remove pixels from SVGs
    • #31794: webpack.md: Replace "both of them" with "it"
    • #31795: validation.md: fix _validation.scss file reference
    • ⚑️ #31796: Update .btn-close-white docs to filter (not backdrop-filter)
    • #31802: Improve callout shortcode.
    • ⚑️ #31803: Update bs-table shortcode
    • πŸ“„ #31806: docs: switch to fenced codeblocks
    • #31809: carousel: add missing to description and fix nextwhenvisible description
    • 🌐 #31828: docs: Add Russian translation
    • 🚚 #31835: Move href attribute first
    • πŸ“„ #31839: docs: fix contrast color against .bg-info
    • πŸ“„ #31861: Split up dropdown sizing docs to improve rendering
    • βͺ #31871: Revert "Improve callout shortcode."
    • 🚚 #31892: Remove redundant visually hidden "(current)" from pagination controls
    • ⚑️ #31893: Update manifest.json
    • πŸ“„ #31894: docs: switch to suggesting jsDelivr as a CDN
    • #31904: Drop useless text faking a label in horizontal forms example
    • #31929: Mention spinners slow down in migration guide
    • 🚚 #31932: Small typo - remove the unnecessary "the"
    • ⚑️ #31951: Update anchor-js to v4.3.0.
    • πŸ“„ #31960: Docs: Explicitly mention emoji fonts, tweak sentence in typography
    • #31965: Rename Navs to Navs and Tabs
    • ⚑️ #31981: Update list-group.md
    • #31982: Fix git conflicts after #30571
    • #31984: Add example with input group between two inputs
    • πŸ›  #32009: Minor Markdown fixes
    • #32015: Fix redirects
    • #32031: Fix .fw utilities
    • #32040: Add callouts about using light colors ideally on a dark background
    • ⚑️ #32049: Update utilities API docs
    • πŸ“„ #32050: Make docs anchorjs links darker on keyboard focus
    • πŸ“„ #32058: Form file docs and overrides
    • βͺ #32076: Partially revert "Move this to a partial to work around the stray p…
    • #32084: reboot.md: mention "Liberation Sans"
    • 🚚 #32086: config.yml: remove the unused "expo" parameter
    • #32087: download.md: link to JS files comparison too
    • πŸ“š #32090: [Docs] Changes to navbar documentation/explanation
    • #32099: search.js: use the current v5.getbootstrap.com URL
    • #32100: search.js: check for search-input element early
    • πŸ“„ #32102: docs.html: replace backslashes with forward slashes
    • πŸ“„ #32105: Clarify JS bundle docs one more time
    • πŸ’» #32116: browsers-devices: add chomp
    • #32126: Minor improvements to the Alpha 3 changelog
    • #32129: masthead: add newlines in the snippets and reindent

    🍱 🌎 Accessibility

    • #30550: Bump $dark to $gray-900
    • πŸ“„ #31839: docs: fix contrast color against .bg-info
    • #31877: Apply smooth-scroll when prefers-reduced-motion: no-preference
    • #31882: Slow down spinners when prefers-reduced-motion: reduce
    • 🚚 #31892: Remove redundant visually hidden "(current)" from pagination controls
    • #31904: Drop useless text faking a label in horizontal forms example
    • πŸ“„ #32058: Form file docs and overrides
    • πŸ“š #32090: [Docs] Changes to navbar documentation/explanation

    🍱 🧰 Misc

    • #30740: karma: stop excluding polyfill.js from istanbul
    • #31728: Switch to dart-sass
    • ⚑️ #31783: Update .gitignore
    • πŸ’» #31878: CI: Allow skipping BrowserStack
    • ⚑️ #31930: Update CodeQL action
    • #32003: CI: switch to Node.js 14.
    • 🚚 #32005: Remove bugreport.apple.com url
    • #32006: CI: Skip dependabot PR branches.
    • ⚑️ #32008: Update Edge's Rendering Engine on CONTRIBUTING.md
    • #32027: Clarify PRs section
    • #32033: CODE_OF_CONDUCT.md: fix redirect
    • πŸ‘• #32036: ESLint: enable new-cap rule but ignore properties
    • 🚚 #32056: deps: move sirv-cli to npx
    • πŸ’… #32063: stylelint: pass the --rd flag
    • πŸ“¦ #32097: package.json: fix clean-css level switch

    πŸ“¦ πŸ“¦ Dependencies

  • v5.0.0-alpha2 Changes

    September 29, 2020

    πŸ”„ Changes

    • #30966: Floating labels improvements
    • #31774: Replace ellipsis Unicode symbol with three dots.

    🍱 πŸš€ Features

    • #30171: Add .dropdown-menu-dark
    • #31280: Extra position utilities
    • #31484: Add border width utility
    • #31650: Carousel enhancements, including .carousel-dark

    🍱 🎨 CSS

    • #30171: Add .dropdown-menu-dark
    • πŸ‘ #30394: box-shadow() mixin: allow 'null' and drop support 'none' with multiple args
    • #30572: Add new toasts examples
    • #30639: Easier disabled state customization for button variants
    • #30781: reboot: table th
    • #31035: Add null variables for nav-link
    • #31120: Add missing comma in utils
    • #31131: Darken dropdown divider
    • #31132: Add padding to badges
    • #31139: Rename sr-only/sr-only-focusable to visually-hidden/visually-hidden-focusable
    • #31151: Fix scrollable modal
    • #31162: Fix table separator typo
    • #31276: v5: Tweak some colors
    • #31280: Extra position utilities
    • 🚚 #31338: Removed a broken reference
    • #31346: Turn off scroll anchoring for accordions
    • #31359: Cleanup/fix after the sr-only to visually-hidden renaming
    • 🚚 #31381: Remove overflow: hidden from toasts
    • ⚑️ #31382: Update copy around breakpoint sizing
    • #31383: Adjust sizing of checks and radios
    • #31396: Add transition to Pagination buttons just like other Bootstrap buttons
    • πŸ‘ #31424: Mention that Edge Legacy also supports 'filling' their track
    • 🚚 #31439: Remove flex: 1 0 100% from rows
    • #31473: Give more priority to .d-none
    • #31484: Add border width utility
    • #31500: Use next breakpoint when targetting xs only
    • 0️⃣ #31571: Add default parameters to each border radius mixin
    • #31641: Revamp close button component
    • #31649: Match container gutters with row gutters
    • #31650: Carousel enhancements, including .carousel-dark
    • #31653: Add a comment for escape-svg function
    • πŸ’… #31659: Update Stylelint rules
    • ⚑️ #31717: Updates responsive embeds with new class names and CSS variables
    • #31718: Add new variable for $dropdown-padding-x
    • #31729: Input group addon sass customization options
    • βͺ #31746: Restore rem unit
    • #31772: _variables: change $btn-close-bg's attribute order

    🍱 β˜•οΈ JavaScript

    • #30326: Prevent overflowing static backdrop modal animation
    • #30928: Fix tooltip when hovering a child element (delegateTarget)
    • #31066: Change "whitelist" to "allowlist"
    • #31067: data: reword storage key in DOM
    • #31073: Minor JS tweaks
    • 0️⃣ #31109: toasts: make default duration 5s
    • #31115: fix tooltip hide method when already hidden
    • βœ… #31125: BrowserStack: stop testing on latest Edge.
    • ⏱ #31155: Clear timeout before showing the toast
    • #31212: Minor JS consistency changes
    • πŸ“„ #31358: Docs: Add accessibility note about dismissible alerts and focus

    🍱 πŸ“– Docs

    • #30572: Add new toasts examples
    • #30897: Prevent skip links from overlapping header
    • πŸ“„ #31036: Docs: Add top/bottom margin to highlighted code samples
    • ⚑️ #31058: Update links to bug and feature request issue templates
    • #31062: Fix Stack Overflow tag
    • πŸ“„ #31070: Docs: fix old/broken example capture and typo
    • πŸ“„ #31071: Docs: clarify rationale for button group on links
    • ⚑️ #31075: Updated the command to install using yarn
    • #31076: Typo fix: ocassions to occasions
    • πŸ›  #31077: Several typo fixes
    • #31078: Typo fix: individiual to individual
    • #31079: Typo fix: depedending to depending
    • πŸ“„ #31081: Docs: add GaΓ«l Poupard to the core team page
    • πŸ“„ #31082: Docs: tweak accessibility section
    • πŸ“„ #31090: Docs: rename form checks page to "Checks / radios"
    • πŸ“š #31093: Docs: improve/expand button documentation
    • πŸ“„ #31102: Docs: Fix typo
    • πŸ“„ #31106: Docs: fix typo
    • #31107: Correctly document how to add to Sass maps
    • πŸ“„ #31114: Docs: forms accessibility cleanup
    • #31116: Fix links to gutters page
    • πŸ“„ #31119: v5: Adjust docs sidebar and navbar
    • ⚑️ #31122: Update migration.md
    • #31130: Add code to method/property tables
    • πŸ“„ #31133: Docs: screen reader helper/visibility utility tweaks
    • πŸ“„ #31134: Docs: clarify that pointer events classes don't affect keyboard interaction
    • 🚚 #31135: Docs: move color utility callouts to start of page
    • πŸ“„ #31137: Docs: (subjectively) nicer looking accordion example
    • 🚚 #31165: Remove backdrop-filter from docs subnav and toasts
    • #31190: Fix spelling mistake
    • πŸ“„ #31192: Docs: Fix vertical align link
    • #31194: Minor doc tweaks
    • πŸ›  #31196: Fixed typo in docs v5 (Utilities/API) page
    • πŸ“„ #31201: Docs: separate button group out of checks/radios, expand button groups page
    • #31211: homepage: Fix wrong indentation
    • #31213: Fix generated example code for RFS
    • #31232: Fix sidebar jump
    • #31240: Single line example for inline forms
    • ⚑️ #31248: v5: Updated About and Brand pages
    • πŸ“„ #31254: Fix some hexa in colors docs.
    • πŸ“„ #31268: Fix docs sass importing example.
    • #31277: v5: Versions cleanup
    • ⚑️ #31278: Migration update
    • πŸ“„ #31300: docs: mention our bundle file clearly.
    • πŸ“„ #31339: Add view on GitHub links for easier content editing from the docs
    • #31344: Add toasts to the components requiring JavaScript
    • πŸ“„ #31358: Docs: Add accessibility note about dismissible alerts and focus
    • ⚑️ #31382: Update copy around breakpoint sizing
    • ⚑️ #31387: Update migration guide
    • πŸ‘ #31424: Mention that Edge Legacy also supports 'filling' their track
    • #31434: make breakpoints specifications consistent with layout/grid.md
    • πŸ“„ #31441: docs: Fix issue number typo in migration
    • πŸ’Ž #31455: Update current_ruby_version to 5.0.0.alpha1
    • 🚚 #31471: Remove 'both' as its no longer just 2 breakpoints
    • πŸ“„ #31505: docs(typography): missing punctuation
    • ⚑️ #31516: Update icons.yml
    • πŸ“„ #31556: docs: Fix typo on Customize -> Color page
    • πŸ“„ #31572: Fix docs incorrect green and cyan hex codes
    • #31575: SVG placeholders accessibility
    • #31576: Drop h4 color customization in callouts
    • πŸ“„ #31578: Scrollspy keyboard access in docs
    • #31579: Ensure examples content sits in landmarks
    • #31580: Wrap home content in & use
    • πŸ— #31590: Build tools: mention how to get the sources
    • πŸ“„ #31610: Docs layout: ensure content sits in main
    • πŸ“„ #31636: Add getInstance method in the docs for tooltip
    • #31648: Typo in About / Overview
    • #31668: Webpack page: add postcssOptions key
    • πŸ“„ #31689: docs: fix a few redirects
    • πŸ“„ #31738: docs: link to the Asynchronous functions section
    • #31750: brand: minor consistency changes
    • ⚑️ #31752: v5 alpha 2 migration guide updates
    • #31754: Tweak versions page columns
    • #31767: Convert SVGs in navbar and subnav to pixels
    • #31773: Add new Bootstrap Icons homepage images
    • #31785: v5: Vertical pills fix on mobile

    🍱 🌎 Accessibility

    • #30897: Prevent skip links from overlapping header
    • #30989: Ensure to increase contrasts on buttons & colored links hover/active states
    • πŸ“„ #31114: Docs: forms accessibility cleanup
    • #31131: Darken dropdown divider
    • #31276: v5: Tweak some colors
    • #31575: SVG placeholders accessibility
    • #31576: Drop h4 color customization in callouts
    • πŸ“„ #31578: Scrollspy keyboard access in docs
    • #31579: Ensure examples content sits in landmarks
    • #31580: Wrap home content in & use
    • πŸ“„ #31610: Docs layout: ensure content sits in main

    🍱 🧰 Misc

    • ⚑️ #31011: Update Babel config
    • 🚚 #31047: README: remove .svg from shields.io badges
    • #31062: Fix Stack Overflow tag
    • ⚑️ #31063: Update bundlewatch.yml
    • ⚑️ #31124: Update .browserslistrc
    • #31259: README.md: show brotli size too
    • #31588: Download link in README
    • #31742: Fix bundlewatch size

    πŸ“¦ πŸ“¦ Dependencies

  • v5.0.0-alpha1 Changes

    June 16, 2020

    🍱 πŸŽ‰ The first Bootstrap 5 alpha has landed!

  • v4.5.3 Changes

    October 13, 2020

    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 Changes

    August 06, 2020

    πŸš€ 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 Changes

    August 04, 2020

    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
    • #30957: Add .card-img-bottom example
    • ⚑️ #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 Changes

    May 12, 2020

    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
    • 0️⃣ #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 intransition()` 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 Changes

    November 28, 2019
    • πŸ›  Fix Dart Sass compatibility (#29755, #29763)
    • βž• Add :disabled for disabled fieldset (#29762)
  • v4.4.0 Changes

    November 26, 2019

    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