Skip to content

Releases: twbs/bootstrap

v5.0.0

05 May 19:41
bf09367
Compare
Choose a tag to compare

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

  • #33772: Improve overall new examples' accessibility
  • #33810: Tweak toast docs

🏭 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

v5.0.0-beta3

23 Mar 16:31
220139a
Compare
Choose a tag to compare
v5.0.0-beta3 Pre-release
Pre-release

Highlights

  • Added new offcanvas component for left, right, and bottom-aligned hidden content
  • Added four new snippet-based examples: headers, heroes, features, and sidebars
  • Updated the starter template example and a few other examples
  • Added new Sass docs section to nearly every page to show variables, mixins, loops, and keyframes from our source code
  • Added new .list-group-numbered variation to list groups that uses pseudo-elements for numbering list group items.
  • Removed explicit focus state suppression in Reboot
  • Improved carousel swipe behaviors for RTL
  • Updated accordions to improve transitions and borders when animating
  • Updated Sass customization docs to show how to properly override default variables
  • Fixed tooltips not appearing after rapid focus in and out
  • Fixed dropdown events not bubbling and forms inside dropdowns not propagating
  • Removed flip option from dropdowns
  • Disabled select now render consistently in Chrome
  • Button elements now grow in .nav-fill and .nav-justified
  • JavaScript plugin constructors now accept CSS selectors
  • De-duped the .border-0 utility
  • Fixed event handler removal in dropdown/carousel dispose
  • Added new Parcel guide to the docs
  • Added input focus blur Sass variable
  • Updated .browserslistrc to drop Android and add Safari/iOS 12 as the new minimum version (completing our two latest major releases guideline for supported browsers).

🚀 Features

  • #29017: Offcanvas as component
  • #32245: Allow constructors to accept a CSS selector
  • #33068: Add ol.list-group with pseudo-element numbers

🎨 CSS

  • #32747: Add Sass docs (variables, mixins, and loops) to most pages
  • #32925: Clear duplicated class border-0
  • #33029: Remove explicit suppression of focus outline
  • #33031: Add input focus blur variable
  • #33068: Add ol.list-group with pseudo-element numbers
  • #33127: Reset select:disabled opacity for Chrome
  • #33149: Revamp accordion borders to fix pixel jumping
  • #33154: Fix sibling card links in RTL
  • #33210: Properly set .list-group-item color
  • #33211: Validated controls border in input-group
  • #33213: Buttons should grow in nav-fill & nav-justified
  • #33325: Remove duplicate text-decoration style for abbr[title]
  • #33426: Fix flush accordion styles

☕️ JavaScript

  • #30621: modal: don't add margin & padding when sticky is not full width
  • #32180: refactor: use a Map instead of an Object in dom/data
  • #32245: Allow constructors to accept a CSS selector
  • #32446: util: change isRTL to a function
  • #32913: Fix carousel RTL and refactor code, fix rtl swipe issues
  • #33000: Fix event handler removal in dropdown/carousel dispose
  • #33056: modal: move common code to a new isAnimated method
  • #33120: Remove the default positioning from .dropup
  • #33136: Adjust SAFE_URL_PATTERN regex for use with test method of regexes.
  • #33198: Dropdown — Drop flip option
  • #33248: Accept data-bs-body option in the configuration object as well
  • #33257: Dynamic tab should not show when triggered on disabled element
  • #33261: Change the name of the Offcanvas constructor
  • #33289: fix tooltips disappearing after trying to interact during their fade out animation
  • #33382: Allow offcanvas to be initialized in open state
  • #33385: Use more safe check for 'isDisabled' helper
  • #33442: Allow data-toggle="dropdown" and form click events to bubble

📖 Docs

  • #30909: Add Parcel Bundler doc
  • #32747: Add Sass docs (variables, mixins, and loops) to most pages
  • #33006: docs: add bootstrap5 zh-tw in translations
  • #33049: Docs improvements after beta2
  • #33081: Fix typo in nav-tabs docs
  • #33123: Clarify docs around .navbar-brand
  • #33207: Add an example of v4's media component in the flex utils docs
  • #33246: Update the "Nonblocking files" section in the docs
  • #33267: Grammatically update the doc
  • #33300: Update modal's show method to accept relatedTarget as an argument
  • #33301: Add example: toggle modal dialogs
  • #33322: Fix Flex utilities documentation to add vertical space in example
  • #33332: Mention .no-gutters removal in migration guide
  • #33333: Fixes some copy around inline forms
  • #33380: Utilities to Utilities API (Borders doc page)
  • #33386: Update Customize > Sass docs to properly place default variable overrides
  • #33430: Add link to new Parcel guide in starter template
  • #33443: offcanvas-navbar: add missing redirect

🏭 Tests

  • #32662: Unit tests for Popper V2
  • #33045: Simplify karma.conf.js
  • #33060: Add the missing expectations for touch events
  • #33090: Add tests for DATA_KEY
  • #33167: visual tests: add missing base-component dist file
  • #33398: BrowserStack: test on iPhone 12

🧰 Misc

  • #33067: CI: skip release drafter if we are not on our repo
  • #33100: linkinator: replace --silent with --verbosity
  • #33129: Rename _gh_pages to _site.
  • #33130: CodeQL: skip dependabot PRs too
  • #33148: Improve change-version script
  • #33192: Bundlewatch: stop ignoring dependabot branches
  • #33326: Delete the unused build/ship.sh
  • #33329: @rollup/plugin-replace: specify preventAssignment: true
  • #33397: .browserslistrc: remove the Edge workaround.
  • #33399: .browserslistrc: remove Android and make Safari/iOS 12 the minimum
  • #33401: README.md: use shields.io for the tests badge too

📦 Dependencies

Updated numerous devDependencies https://github.com/twbs/bootstrap/pulls?q=is%3Apr+is%3Aclosed+label%3Adependencies+project%3Atwbs%2Fbootstrap%2F34

v5.0.0-beta2

10 Feb 16:19
e50c11b
Compare
Choose a tag to compare
v5.0.0-beta2 Pre-release
Pre-release

Highlights

  • Dropdowns:
    • Updated dropdown plugin to add data-bs-popper="static" via JS to the .dropdown-menu when the trigger has add data-bs-display="static" and data-bs-popper="none" when in navbars.
    • Modified several selectors to separate our positioning styles from the Popper.js styles.
  • Navbars:
    • Added a new .navbar-nav-scroll class to enable vertical scrolling when a collapsed navbar is opened. It's customizable via Sass and a CSS variable. Read more in the docs.
    • We've re-added flex-grow to the .navbar-collapse to restore the flexbox behaviors from v4 and prevent some content from being inadvertently squished.
  • Forms:
    • Removed vertical-align from .form-select
    • Form validation mixin updated with additional parameters
    • Fixed validation icon placement in .form-select
    • Checkboxes and radio buttons are aligned better in input groups
  • Buttons:
    • Added variables for tinting and shading button state colors
    • Suppressed the default focus outline for buttons in Chromium
  • Toasts:
    • Added word-break to .toast-body
    • Added a live example to the docs to trigger a real toast
  • Carousels:
    • Updated docs examples to use <button>s wherever possible instead of <a> elements.
    • CSS selectors changed for using <button>s as indicators (from .carousel-indicators li to .carousel-indicators [data-bs-target]).
  • Bundles:
    • Added our helpers to the utilities CSS bundle
  • JavaScript:
    • Dropdown now emits events on the .dropdown-toggle instead of the .dropdown.
    • Restored the offset option for dropdowns.
    • Fixed modal toggling when clicking on data-bs-toggle="modal".
    • We now build our base component as a separate .js file.
    • We now prevent getSelector from returning URLs as selector which caused errors in dropdown and scrollspy plugins.
    • Refactored components to use a utility function to define jQuery plugins

🚀 Features

  • #32037: Add .navbar-nav-scroll for vertical scrolling of navbar content
  • #32317: Add variables for modifying button state colours.
  • #32376: Support Popper virtual elements

⚡ Performance Improvements

  • #32348: Use box shadows instead of linear gradients to colorize tables

🎨 CSS

  • #31757: Extended Form validation states capabilities
  • #32037: Add .navbar-nav-scroll for vertical scrolling of navbar content
  • #32317: Add variables for modifying button state colours.
  • #32318: Remove vertical-align from .form-select
  • #32324: Add helpers to utilities bundle
  • #32348: Use box shadows instead of linear gradients to colorize tables
  • #32397: Utility API, RFS option: Only generate responsive classes when needed
  • #32415: Reset Popper position in RTL
  • #32419: Tweak .form-select padding
  • #32423: Add two new variables for pagination border-radius values
  • #32436: RTL improvements
  • #32440: Expand visually-hidden-focusable so it can be used on a container, …
  • #32492: Fix: variables collide with globals
  • #32501: .ratio missing variable prefix
  • #32524: Remove the initial margin from dropdown/popover in favor of Popper
  • #32575: docs(sidebar): invalid CSS value
  • #32627: Carousel: use buttons, not links, for prev/next controls
  • #32630: Dynamic tabs: use buttons rather than links
  • #32631: Remove old/unnecessary reboot bug fix
  • #32661: Make carousel indicators actual buttons
  • #32670: Add word-break to .toast-body
  • #32689: Suppress focus outline for buttons when it shouldn't be visible in Chromium
  • #32751: Consistently use outline:0 rather than outline:none
  • #32754: Darken dropdown item hover style
  • #32761: Mention stretched-link constraints with table elements
  • #32785: Lighten disabled dropdown text to $gray-500
  • #32787: Remove popover-arrow margin to fix alignment of the arrow
  • #32793: Change .form-check background to $input-bg and change transitions
  • #32819: Color utils docs
  • #32899: Re-add flex-grow to .navbar-collapse
  • #32912: Update checks and radios in input groups
  • #32930: Fix hardcoded custom prop. in .navbar-nav-scroll
  • #32951: fix(accordion): ensure .accordion-button stays left-aligned
  • #32986: Dropdown menu alignment fixes
  • #33003: Dropdown - Change the selector to check the use of Popper
  • #33022: Ensure .navbar-collapse behaves as intended

☕️ JavaScript

  • #32285: Refactor components to use a utility function to define jQuery plugins
  • #32303: Use the ternary operator in a few more places
  • #32309: tests: replace deprecated jQuery method
  • #32313: build-plugins: build Base component too
  • #32339: Remove SelectorEngine.matches().
  • #32376: Support Popper virtual elements
  • #32391: SelectorEngine: drop variable used once
  • #32392: alert: rename variables for consistency
  • #32393: carousel: switch to string constants
  • #32394: Remove TRANSITION_END from utils
  • #32395: carousel: switch to if/else
  • #32405: Add Popper fallback behaviour
  • #32420: Tooltip - check if tip and its parent node exist in dispose method
  • #32436: RTL improvements
  • #32437: Tooltip/popover - change the default value for fallbackPlacements
  • #32438: collapse: prevent url change if A nested tag is clicked
  • #32443: Restore offset option for dropdown component
  • #32465: Tooltip - Add missing callback in async spec
  • #32511: modal: move common code to reusable functions
  • #32523: Tooltip refactoring
  • #32524: Remove the initial margin from dropdown/popover in favor of Popper
  • #32585: Throw a TypeError instead of the generic Error
  • #32586: Prevent getSelector from returning URLs as selector
  • #32603: Scrollspy - Remove unnecessary event argument
  • #32625: Dropdown - Emit events on the .dropdown-toggle button
  • #32661: Make carousel indicators actual buttons
  • #32691: Fix toggling modal when clicking on data-bs-toggle="modal"
  • #32750: Fix dropdown keys to open menu
  • #32843: Remove custom fallbackPlacements from the dropdown
  • #32845: Fix Popper preventOverflow boundary config
  • #32882: Add function type for popperConfig option
  • #32986: Dropdown menu alignment fixes

📖 Docs

  • #32246: Replace Lorem Ipsum placeholder text with more representative (or at least english language) text
  • #32259: docs: SVG consistency changes
  • #32272: Add a callout for the sanitizer in popovers and tooltips
  • #32284: docs: Add Korean translation
  • #32287: Typo: show on xxl, if only xl should be hidden.
  • #32316: carousel.md: fix $carousel-transition-duration reference
  • #32332: Move migration sidebar entry to sidebar.yml
  • #32390: docs: Fix Popper-related docs
  • #32398: Fix missed occurrencies of "Popper.js"
  • #32399: Remove duplicated 'follow Bootstrap on Twitter' link in Getting Started
  • #32401: cheatsheet: Drop redundant (current) text
  • #32437: Tooltip/popover - change the default value for fallbackPlacements
  • #32449: examples: Update font utility classes to new v5 versions
  • #32455: docs: Add system-ui to the native font stack documentation
  • #32461: Docs: style clipboard button on :focus, not just :hover
  • #32463: Straggler lorem ipsum text
  • #32464: Add missing has-validation in checkout examples
  • #32478: Remove redundant pointer-events: none override for tooltip and popover disabled buttons
  • #32479: Clean up lorem ipsum text in popover examples
  • #32483: docs: Remove unneeded .form-group class
  • #32489: Fix popover docs example
  • #32490: Add keyboard-focusable elements for popover on disabled button
  • #32512: Docs v5: Fix Sass rounding precision and state Sass implementation
  • #32529: Tooltips: add missing space
  • #32534: Documentation: added class selector "." to "dropend"
  • #32543: API docs: add missing comma
  • #32575: docs(sidebar): invalid CSS value
  • #32589: Fix navbar docs - active nav-link
  • #32620: docs: work around Toast CSS conflict with utils
  • #32627: Carousel: use buttons, not links, for prev/next controls
  • #32630: Dynamic tabs: use buttons rather than links
  • #32632: Docs: Tweak the wording for collapse to indicate button is preferred/more semantic
  • #32634: Docs: Remove incorrect mention of dropdowns for dynamic tab behavior
  • #32638: Add an actual data-bs-touch="false" example in the carousel docs
  • #32661: Make carousel indicators actual buttons
  • #32684: Add functions and variables to the utilities API docs imports
  • #32685: Clarify the $enable-shadows option in our docs
  • #32688: Tweak wording for no-touch carousel
  • #32740: Fix typo
  • #32744: Document size and multiple aren't supported on floating label selects
  • #32745: Add a link to v4.x from the v5 homepage
  • #32758: Migration: mention the removal of .rounded-sm/lg utilities
  • #32759: Add mention of CSPs and SVGs
  • #32760: Add a live toast example to the docs
  • #32761: Mention stretched-link constraints with table elements
  • #32771: Improve docs regarding RTL migration
  • #32778: Document some basic code conventions for us
  • #32782: [docs] Update toasts.md
  • #32788: Remove role="button" from CTA links in carousel examples
  • #32795: Clarifies Sass variable defaults, adds bootstrap-npm-starter callout
  • #32819: Color utils docs
  • #32842: Docs: add v4.6.0
  • #32846: docs: Fix navbar-nav-scroll description
  • #32911: migration: mention .form-text changes
  • #32912: Update checks and radios in input groups
  • #32940: Fix default value for $enable-deprecation-messages
  • #32979: Fix boundary config description for dropdown and popover
  • #32995: Add a note to change the case type of option name
  • #33017: Docs on enforcing HTTPS and avoiding mixed content
  • #33027: Revamp sticky header offset to improve a11y

🌎 Accessibility

  • #32401: cheatsheet: Drop redundant (current) text
  • #32661: Make carousel indicators actual buttons
  • #33027: Revamp sticky header offset to improve a11y
    ...
Read more

v4.6.0

19 Jan 16:19
6ffb0b4
Compare
Choose a tag to compare

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

v5.0.0-beta1

07 Dec 16:24
Compare
Choose a tag to compare
v5.0.0-beta1 Pre-release
Pre-release

⚠ 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

11 Nov 17:13
384eccb
Compare
Choose a tag to compare
v5.0.0-alpha3 Pre-release
Pre-release

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

v4.5.3

13 Oct 15:55
a716fb0
Compare
Choose a tag to compare

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

v5.0.0-alpha2

29 Sep 15:38
b083c96
Compare
Choose a tag to compare
v5.0.0-alpha2 Pre-release
Pre-release

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

v4.5.2

06 Aug 16:26
5f2480a
Compare
Choose a tag to compare

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

04 Aug 16:30
89dc975
Compare
Choose a tag to compare

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