Bootstrap v4.6.0
Bootstrap v4.6.0 is here with a couple new features, several bugfixes, and some awesome documentation updates to make v4 more maintainable alongside our development of v5.
Read on for the highlighted changes or head to the v4.6 docs to see the latest in action.
Hugo!
The biggest change in v4.6.0 is under the hood—we’ve overhauled our development environment to match that of v5. Our v4.x docs are now powered by Hugo. That means no more Ruby dependency for v4.x, improved maintainability between major versions, faster development, and incredibly fast build times compared to Jekyll.
Changes
Also available in the v4.6.0 release on GitHub.
Highlights
- Tooltips and popovers can have custom classes via
customClass
option. - Added new
.navbar-nav-scroll
class for scrolling expanded navbar contents on mobile devices. - For improved accessibility, 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 lightened the disabled.dropdown-item
color
. - Improved alignment of form validation tooltips.
- File inputs no longer extend beyond their containers.
CSS
- #31557: Fix form validation tooltip alignment
- #31657: Handle the Ubuntu sans-serif case
- #31700: Suppress flexbox side effects in breadcrumb
- #31882: Slow down spinners when prefers-reduced-motion
- #31886: Fixed: Undefined mixin “deprecate” when importing “bootstrap-grid-scss”
- #32141: Use correct value order
- #32145: Avoid invisible real file input “spilling” out of container
- #32160: Add overflow suppression to custom file label
- #32211: Move negative margin-bottom from .nav-item to .nav-link
- #32212: Remove needless Stylelint disables
- #32833: Add
.navbar-nav-scroll
for vertical scrolling of navbar content - Add two new variables for pagination border-radius values; backport of #32423
- Remove old/unnecessary reboot bug fix; backport of #32631
- Suppress focus outline for buttons when it shouldn’t be visible in Chromium; backport of #32689
- Consistently use
outline:0
rather thanoutline:none
; backport of #32751 - Darken dropdown item hover style; backport of #32754
- Lighten disabled dropdown text to
$gray-500
JS
- #31820: Check for data-interval on the first slide of carousel
- #31834/#32225: tooltip/popover: add a
customClass
option - #32001: Move
js/src/index.js
one folder up - #32045: tests: fix sanitizer test
- #32220: Don’t hide modal when
config.keyboard
is false - #32312: build-plugins: switch to “bundled” for babel helpers
Docs
- #31861: Split up dropdown sizing docs to improve rendering
- #31892: Remove redundant visually hidden “(current)” from pagination controls
- #31893: manifest.json: Switch to relative URLs so that we don’t need to change the path with every major/minor release
- #31898: switch to suggesting jsDelivr as a CDN
- #31904:
- docs(forms): use a legend for fieldset instead of aria-label
- docs(forms): fix incorrect legend nesting in fieldset
- #31936: forms: change inline custom radio name
- #31951: Update anchor-js to v4.3.0
- #31960: Explicitly mention emoji fonts, tweak sentence in typography
- #31981: list-group.md: fix snippet
- #32005: Remove
bugreport.apple.com
since it doesn’t work - #32015: Fix redirects
- #32050: Make docs anchorjs links darker on keyboard focus
- #32054: Add callouts about using light colors ideally on a dark background
- #32077: Switch to Hugo
- #32083: mention “Liberation Sans”
- #32087: download.md: link to JS files comparison too
- #32094: Changes to navbar documentation/explanation
- #32106: Clarify JS bundle docs once more for v4
- #32137: input-group.md: fix wrong class
.visually-hidden
- #32138: navbar.md: remove
loading=lazy
from snippets - #32147: Fix caniuse.com redirects
- #32151: Mention user-select-all support in docs
- #32196: homepage: split snippets and show copy buttons
- #32203: Switch to jsDelivr for the remaining docs assets
- #32223: introduction: split comments
- #32247: Fix typos in tooltip/popover docs
- #32253: Add Russian translation
- #32363: Remove useless
.text-left
in Layout / Overview - #32399: Remove duplicated “follow Bootstrap on Twitter” link in Community section
- #32457: Add mention of the bs-custom-file-input plugin needed for the custom file input
- #32461: style clipboard button on
:focus
, not just:hover
- #32462: Replace Lorem Ipsum placeholder text with more representative (or at least english language) text
- #32634: Remove incorrect mention of dropdowns for dynamic tab behavior
- #32639: v4: Add an actual
data-touch="false"
example in the carousel docs - #32728: add v5.0 in versions
- #32761: Mention stretched-link constraints with table elements
- #32789: Remove
role="button"
from CTA links in carousel example - #32791: Docs v4: Sass implementation and rounding precision
- #32809:
- Clarify Sass import and customize docs for how to modify variable defaults
- Add an npm starter project callout to a few pages
- #32827: Add a live toast example to the docs
- #32759: Mention CSP and embedded SVGs in v4 docs
- docs(dropdowns): clarify where is
.show
applied - Require
.has-validation
for input groups with validation - Fix mobile menu jump & double border
- Remove double spaces from homepage SVGs
- browserconfig.xml: switch to relative image path
- Tweak the wording for collapse to indicate button is preferred/more semantic; backport of #32632
- Clarify the
$enable-shadows
option in our docs; backport of #32685
Examples
- #31979: v4 Examples/Floating-labels: fix bad behavior with autofill
- #32198: examples: add the version number in
title
Misc
- #29753: Improve build/generate-sri.js regex
- #32003: CI: switch to Node.js 14
- #32008: Update Edge’s Rendering Engine on CONTRIBUTING.md
- #32486: BrowserStack: test on macOS Catalina instead of High Sierra
- #32756: Stylelint: disallow some property values
- Fix for npm 7.x package.json: move
version_short
variable under theconfig
object; backport of #32737 - Update build-examples script so that the resulting examples zip file includes only the needed files
- Various CI tweaks
- Updated devDependencies
Next up
Our second beta of v5 is coming. We’re working on ironing on some kinks from the update to Popover 2, which has taken longer than expected. This affects our dropdowns, popovers, and tooltips. Once some of the major issues are resolved, we’ll ship our next beta.
Please keep the feedback coming on what we can improve, how our releases are performing, and any other suggestions.
Support the team
Visit our Open Collective page or our team members’ GitHub profiles to help support the maintainers contributing to Bootstrap.