Releases: twbs/bootstrap
v5.0.0-alpha1
🎉 The first Bootstrap 5 alpha has landed!
- For highlights and a look ahead, please read our v5 alpha 1 announcement blog post.
- Browse the v5 alpha 1 project to see what's new and what's changed.
v4.5.0
Highlights
- New interaction utilities. Quickly set
user-select
with the new utilities and Sass map. - New Reboot style for pointer cursors. We now include a
role="button"
selector in Reboot to setcursor: pointer
on non-<button>
element buttons. - Examples are now downloadable. We've added a script to zip up and offer all our Examples as their own download from the docs.
- Saved ~5% from the compressed minified JS builds.
- Added guidance to our docs for how to work around our longstanding input group rounded corner bug.
- Redesigned docs homepage and navbar to increment us towards v5's new docs design.
- Deprecated
bg-gradient-variant
mixin as it's being removed in v5. - Updated to jQuery v3.5.1, Jekyll v4, and dropped Node.js < 10 for development.
CSS
- #29413: Prevent vertical offset on progress bar in IE11
- #29745: Add
display: flex
on.breadcrumb-item
- #29819: Allow percentages in container widths
- #29857: Escape brackets
- #29946: Added new variable for padding on dropdown header
- #30004: Fixes disabled
.btn
cursor - #30036: Added focus state to
.btn-link
- #30043: Fix IE auto-size input-group to column
- #30049: Prevent grid with default cols from breaking when large
pre
is present by settingmin-width: 0
- #30074: Use
word-wrap
in.text-break
for IE and Edge compatibility - #30166: Avoid
border-radius
functions returning negative values - #30183: Remove unnecessary reduce motion when
$enable-transition: false
- #30244: Fix centered modal scrolling issue
- #30262: Prevent link underline change from affecting some components
- #30361: Remove appearance from date inputs
- #30391: Prevent redundant
transition: none in
transition()` mixin - #30497: Fix card list group borders & radii
- #30504: Fix
spinner-grow
animation in Safari - #30515: Add
.card-footer
color - #30555, #30512, #30480: Use
box-shadow
mixin for.form-select
,.btn
, and other form controls - #30562: Added new interaction utilities for
user-select
and a new -role="button"
in Reboot to setcursor: pointer
. - #30582: Delete unnecessary
appearance: none
frombutton.close
- #30594: Deprecate
bg-gradient-variant
mixin - #30605, #30606: Grid now checks for for
$grid-columns > 0
- #30609: Checks for an empty
$grid-breakpoints
map list to remove all breakpoints - #30660: Prevent list group style leaks
- #30685: Disable auto-hiding scrollbar in IE and legacy Edge
JavaScript
- #29986: Close modal with
keyboard=true
&backdrop=static
- #29968: sanitizer.js: Add
srcset
in the allowed attributes - #30381: Updated tab.js to address accessibility issue when using ul/li semantic
- #30383: ensure
totype
always return stringified null when null passed - #30388: enable button toggle on label when checkbox is inside
- #30490: Switch to string constants to save ~5% on compressed file size
- #30510, #30511: Fix event propagation from inactive and disabled dropdowns
- #30744: ensure build plugins can exit in error
- #30772: Prevent scrollbar replacement on non-integer width
- 22f75c: scrollspy: only accept valid Elements as input for target
Docs
- Redesigned docs homepage
- Improved tap target sizing in our navigation
- Added examples for our input group border-radius workaround
- Added warning to browser bugs page that it's no longer maintained
- Added
loading="lazy"
for images - #29782: Improve wrapping and hit area of accordion example titles
- #29820: move width after
make-container()
mixin - #29937: Add missing Noto Sans font to font stack
- #29956: Add Microsoft Edge for macOS to supported browsers
- #30130: Added ability to zip and download our Examples
- #30175: Add version number in page titles
- #30180: Changed input group validation examples to reflect issues with input group
- #30207: Headings hierarchy in theming.md
- #30325: Updated modal docs to simplify
data-target
usage and more - #30416: Clarify card group behavior
- #30469: Remove holder.js leftovers
- #30505: Use existing position utility in navbar example
- #30695: make the check for URL stricter in our docs search
- #30755: Removed
role="document"
from the modal dialog
Examples
Dependencies
- Updated jQuery to v3.5.1
- Replaced bundlesize with bundlewatch
- Updated to Jekyll v4
- Drop Node.js < 10
- Misc devDependencies updates
v4.4.1
v4.4.0
Highlights
Here's what you need to know about v4.4.0. Remember that with every minor and major release of Bootstrap, we ship a new URL for our hosted docs to ensure URLs continue to work.- New responsive containers! Over a year in the making, fluid up to a particular breakpoint, available for all responsive tiers.
- New responsive
.row-cols
classes for quickly specifying the number of columns across breakpoints. This one is huge for those of you who have asked for responsive card decks. - New
escape-svg()
function for simplifying our embeddedbackground-image
SVGs for forms and more. - New
add()
andsubtract()
functions for avoiding errors and zero values from CSS's built incalc
feature. - New
make-col-auto()
mixin to make our.col-auto
class available with custom HTML. - Fixed an issue with Microsoft Edge not picking up
:disabled
styles by moving selectors to[disabled]
. - Deprecated:
bg-variant()
,nav-divider()
, andform-control-focus()
mixins are now deprecated as they're going away in v5. - Updated our spacing and alignment for modal footer elements like buttons to automatically wrap when space is constrained.
- More flexible form control validation styles thanks to fewer chained selectors. Also updated the
:invalid
validation icon to be an alert instead of an×
to avoid confusion with browser functionality for clearing the form field value. - Fixed a couple dozen CSS and JS bugs.
- Moved to GitHub Actions for CI/CD! Expect more updates to our CI setup over time here while Actions evolves.
- Updated documentation to fix links and typos, improved landmarks for secondary navigation, and a new security doc for guidelines on reporting potential vulnerabilities.
Links
v4.3.1
- Security: Fixed an XSS vulnerability (CVE-2019-8331) in our tooltip and popover plugins by implementing a new HTML sanitizer
- Fixed a small issue with our RFS (responsive font sizes) mixins
v3.4.1
- Security: Fixed an XSS vulnerability (CVE-2019-8331) in our tooltip and popover plugins by implementing a new HTML sanitizer
- Handle bad selectors (
#
) indata-target
for Dropdowns - Clarified tooltip selector documentation
- Added support for NuGet contentFiles
v4.3.0
Highlights
- New: Added
.stretched-link
utility to make any anchor the size of it's nearestposition: relative
parent, perfect for entirely clickable cards! - New: Added
.text-break
utility for applyingword-break: break-word
- New: Added
.rounded-sm
and.rounded-lg
for small and largeborder-radius
. - New: Added
.modal-dialog-scrollable
modifier class for scrolling content within a modal. - New: Added responsive
.list-group-horizontal
modifier classes for displaying list groups as a horizontal row. - Improved: Reduced our compiled CSS by using
null
for variables that by default inherit their values from other elements (e.g.,$headings-color
wasinherit
and is nownull
until you modifier it in your custom CSS). - Improved: Badge focus styles now match their
background-color
like our buttons. - Fixed: Silenced bad selectors in our JS plugins for the
href
HTML attribute to avoid JavaScript errors. Please try to use valid selectors or thedata-target
HTML attribute/target
option where available. - Fixed: Reverted v4.2.1's change to the breakpoint and grid container Sass maps that blocked folks from upgrading when modifying those default variables.
- Fixed: Restored
white-space: nowrap
to.dropdown-toggle
(before v4.2.1 it was on all.btn
s) so carets don't wrap to new lines. - Deprecated:
img-retina
,invisible
,float
, andsize
mixins are now deprecated and will be removed in v5.
Links
v4.2.1
Bump to v4.2.1 to republish package on npm. See v4.2.0 release notes for changes introduced in v4.2.
v4.2.0
Here are the highlights of what's new and updated in v4.2.
- New: Added a new spinner loading component.
- New: Added new toast component for displaying notifications.
- New: Added a new iOS style switch (a modifier class to our custom checkboxes).
- New: Added touch support in our carousel component.
- New: Added
.font-weight-lighter
and.font-weight-bolder
utilities. - New: Added
.text-decoration-none
utility class. - New: Added
.modal-xl
modifier class for our modals. - New: Added new negative margin utility classes (e.g.,
.mb-n3
). These rad new classes not only allow you more control over your general spacing needs, but also allow you to create responsive grid gutters at each breakpoint. - New: Validated form fields now have feedback icons on
:invalid
and:valid
fields. Disable them with the$enable-validation-icons
boolean Sass variable (defaults totrue
). - New: Added a new versions page to our docs
- New: Tooltips/Popovers work with Shadow DOM
- Updated: Redesigned the custom checkboxes and radios for more obvious states.
- Updated:
bootstrap-grid.css
now includes ourmargin
andpadding
utilities for full control of our grid system. - Updated: Changed auto columns (e.g.,
.col-auto
) frommax-width: none
tomax-width: 100%
to prevent content from causing a column to overflow the parent. - Updated: Improved rendering of custom selects, ranges, file input, and more.
Checkout the full v4.2.0 ship list and GitHub project for the full details. Up next is v4.3 with some bugfixes, a few new modifier classes and variables, and some new utilities.
Head to to the v4.2.x docs to see the latest in action. The full release has been published to npm and will soon appear on the Bootstrap CDN and Rubygems.
v3.4.0
- New: Added a
.row-no-gutters
class. - New: Added docs searching via Algolia.
- Fixed: Resolved an XSS issue in Alert, Carousel, Collapse, Dropdown, Modal, and Tab components. See https://snyk.io/vuln/npm:bootstrap:20160627 for details.
- Fixed: Added padding to
.navbar-fixed-*
on modal open - Fixed: Removed the double border on
<abbr>
elements. - Removed Gist creation in web-based Customizer since anonymous gists were disabled long ago by GitHub.
- Removed drag and drop support from Customizer since it didn't work anymore.
- Added a dropdown to the docs nav for newer and previous versions.
- Update the docs to use a new
baseurl
,/docs/3.4/
, to version the v3.x documentation like we do with v4. - Reorganized the v3 docs CSS to use Less.
- Switched to BrowserStack for tests.
- Updated links to always use https and fix broken URLs.
- Replaced ZeroClipboard with clipboard.js