Bootstrap Icons v1.7.0

@mdo November 01, 2021

Bootstrap Icons v1.7.0 is here with 120 new and updated icons, taking us over 1,500 total icons for the project! It’s the largest update since the initial release, so keep reading to see what’s new.

120 new icons

This update was a lot of fun for me—drawing all these tiny computer parts most of all! There are dozens of new computer-related icons for parts, ports, and peripheral devices. There are also several new brand icons, including Meta, and some other fun icons like a new robot head and a boombox.

New icons in v1.7.0

Looking for more new icons? Head to the issue tracker to check for open requests or submit a new one.

Install

To get started, install or update via npm:

npm i bootstrap-icons

Or Composer:

composer require twbs/bootstrap-icons

You can also download the release from GitHub, or download just the SVGs and fonts (without the rest of the repository files).

Figma

The Figma file is now published to the Figma Community! It’s the same Bootstrap Icons Figma file you’ve seen from previous releases, just a little more accessible to those using the app.

Bootstrap v4.6.1

@mdo October 28, 2021

Bootstrap v4.6.1 has finally arrived! Biggest change here is a re-implementation of our Sass division functions and updates from v5, as well as some accessibility improvements and general bug fixes.

Read on for the highlights or head to the v4.6.x docs to see the latest in action.

What’s changed

  • Replace Sass division with multiplication and custom divide() function
  • fix(forms): input-group and validation icons
  • Fix minor visual bug in FF caused by moz-focusring
  • Adjust SAFE_URL_PATTERN regex for use with test method of regexes
  • Add sms in the SAFE_URL_PATTERN for sanitizer
  • Adjust feedback icon position and padding for select.form-control
  • Carousel: use buttons, not links, for prev/next controls
  • v4: Sass docs for default variables
  • Handle complex expressions in add() & subtract()
  • More concise improvements for add() and subtract()
  • Remove aria-haspopup from dropdowns
  • Dropdown: support .dropdown-item wrapped in <li> tags
  • Update Node versions in JS tests (drop Node 10, add Node 16) and add variables for vertical-align in spinners
  • Replace Freenode with Libera IRC server
  • Fix repetition in the Navbar docs description
  • Enable 0.x with negative margins in utilities
  • Remove print thead rule
  • Fix prevented show event disabling modals with fade class from being displayed again
  • Input group validation with custom-file input
  • Add eslint-plugin-qunit and tighten JS tests
  • Update our tests to Node 16 and npm 8
  • Disabled link cleanup

Review the GitHub v4.6.1 release changelog for more details.

Next up

We’ll be flipping back to v5 development after this release, focusing on v5.2.0 with some additional updates to using more CSS variables and other awesome features. Sometime after that, we hope to ship a v4.7.0 release with some additional backported features and improvements to v4.

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.

Bootstrap Icons v1.6.0

@mdo October 13, 2021

Bootstrap Icons v1.6.0 adds over 30 new icons, adds official Composer support, includes a new .scss stylesheet for the icon font, plus some other enhancements and bug fixes. Keep reading to see what’s new!

1,400+ icons

We’ve officially passed 1,400 glyphs in Bootstrap Icons with this release—woohoo! Seems utterly insane to me that the project has come this far and there are still so many more icons to include.

New icons in v1.6.0

We have a few dozen new and updated icons in this release, including:

  • New brand icons for Apple, Behance, Dribbble, Line, Medium, Microsoft, PayPal, Pinterest, Signal, Snapchat, Spotify, Stack Overflow, Strava, Vimeo, Windows, and WordPress
  • Two new easel variations
  • New fingerprint icon
  • New magic stick
  • New people variations for rolodex, workspace, and video chat
  • New webcam icons
  • New radioactive icon
  • New fan icon
  • New hypnotize icon
  • New yin yang icon
  • New activity/pulse icon
  • Updated large dash, plus, slash, x, i, ?, !, and check icons to have a thinner stroke that better matches other icons
  • Updated lamp icons
  • Updated graph-up and graph-down icons, with the previous ones being renamed to graph-up-arrow and graph-down-arrow

New features

We’ve added a handful of new features and enhancements to how you can use Bootstrap Icons in this release:

  • Added Composer support with automatic publishing to Packagist. See the official package for more information.

  • Added new bootstrap-icons.scss stylesheet for the icon font. This includes font name and path variables, plus a Sass map of icon names and unicode values.

  • Added new .bi CSS selector to the icon font ruleset (in addition to the attribute selectors we had through v1.5.0) to allow for easier @extending of icon styles. This has also been reflected in the new .scss stylesheet.

Our next minor release will continue to see improvements to our icon permalink pages, adding more options for copying and pasting our icons. If you have other suggestions, please don’t hesitate to open a new issue!

Bug fixes

We’ve fixed a few glitches with existing icons in this release:

  • droplet-fill now renders correctly thanks to an updated fill rule
  • lamp and lamp-fill now look more like lamps and less like toilets 😅
  • coin now renders correctly thanks to an updated fill rule
  • cloud now renders correctly thanks to an updated fill rule
  • textarea-resize is no longer incorrectly placed in the viewBox

Found another bug, or have a suggestion? Check out the issue tracker and open an issue if you don’t see one already opened.

Install

To get started, install or update via npm:

npm i bootstrap-icons

Or Composer:

composer require twbs/bootstrap-icons

You can also download the release from GitHub, or download just the SVGs and fonts (without the rest of the repository files).

Figma

The Figma file is now published to the Figma Community! It’s the same Bootstrap Icons Figma file you’ve seen from previous releases, just a little more accessible to those using the app.

Bootstrap 5.1.2

@mdo October 05, 2021

Bootstrap v5.1.2 is here with a handful of improvements across our components, plus a fix for an issue in another project that prevented our Sass from compiling properly. Keep reading for the highlights.

Highlights

  • Temporarily patched a postcss-values-parser issue by rearranging our calc() functions that use negative numbers. This should restore the ability to import and compile Bootstrap’s Sass in create-react-app.
  • Added border-radius sizes to small and large .form-selects
  • Added align-self: center to buttons for improved rendering in flex containers
  • Fixed Collapse regression that prevented toggling between sibling children
  • Updated JS Sanitizer to add sms in the SAFE_URL_PATTERN
  • Improved docs around .img-fluid
  • Added role="switch" to our form switches in our docs
  • Implemented GitHub Issue forms to replace our previous issue templates.

Up next

Up next is our v5.2.0 release, adding more utility improvements and fixing an issue with how Sass handles re-assigned maps and variables. Alongside that, we’ll be shipping an update to v4 soon as well.

Get the release

Head to https://getbootstrap.com for the latest. It’s also been pushed to npm:

npm i bootstrap

Review the GitHub v5.1.2 release changelog for a complete list of changes since our last release.

Support the team

Visit our Open Collective page or our team members’ GitHub profiles to help support the maintainers contributing to Bootstrap.

Bootstrap 5.1.1

@mdo September 07, 2021

Bootstrap v5.1.1 has landed with a handful of bug fixes and documentation improvements. Following this release, we’ll be shipping another bugfix and docs update before moving onto additional new features. Keep reading for the highlights.

Highlights

  • Fixed broken .bg-body utility. This was caused by the same --body-rgb CSS variable for both text and background. --body-rgb is now split into --body-color-rgb and --body-bg-rgb for proper usage. While this could be considered a breaking change, the current implementation was outright broken, so we’ve chosen to address this head-on.
  • All CSS dist builds now include _root.scss and all our :root-level CSS variables. The goal here is consistency across the distribution files so that no matter what CSS build you use, you have the same level of customization potential.
  • Updated global options page to document $enable-smooth-scroll variable.
  • Added callout to the Stacks page about gap browser support with flexbox.
  • Cleaned up documentation and usage of disabled links, especially for <a> based buttons.
  • Fixed toggle between modal regression. See docs example.
  • Fixed regression in tooltips where content doesn’t update after the first show().
  • Fixed collapse toggle unintentionally hiding descendant tab panels.
  • Improved Alerts live example documentation.
  • Updated $dropdown-link-hover-color to modify the $dropdown-link-color instead of base $gray-900 variable for improved customization.
  • Clarified JavaScript import usage for our Webpack guide.

About Sass compilers

We’ve had a number of Visual Studio users mention that Sass compiling for Bootstrap 5.1.0 is broken when using the Web Compiler extension. This extension hasn’t been updated in more than five years, so we recommend moving to a newer alternative. Some users mentioned the Sass Compiler extension as a successful alternative. If you have additional recommendations, please leave a comment to share.

Get the release

Head to https://getbootstrap.com for the latest. It’s also been pushed to npm:

npm i bootstrap

Review the GitHub v5.1.1 release changelog for a complete list of changes since our last release.

Support the team

Visit our Open Collective page or our team members’ GitHub profiles to help support the maintainers contributing to Bootstrap.

Ten Years of Bootstrap

@mdo August 19, 2021

Ten years ago today, we shipped the first release of Bootstrap. Releasing it on GitHub was my first real plunge into open source—what an introduction! Here we are a decade later with one of the most widely used open source projects and frontend toolkits on the web. Happy birthday, Bootstrap—what a ride!

While numbers certainly don’t tell the whole story, Bootstrap has reached some incredible milestones over the past decade. Here are some highlights:

  • Over 2.5 billion pageviews for our docs. That’s more than 685,000 a day.
  • 394,000,000 npm downloads since 2015—over 131 million of which were in 2020 alone. That’s 180,000 a day over the last six years.
  • 50 million RubyGems downloads
  • 57 million NuGet downloads
  • 7.5 million Packagist installs
  • Used by over 22% of all websites
  • Used by 2.7 million projects on GitHub
  • Over 21,100 commits on GitHub with nearly 35,000 issues and pull requests

Hidden in all those numbers are millions and millions of people that interact with Bootstrap just by visiting the sites and apps built with it. It’s still mind-blowing to see what’s been built with it after over the years, especially with how it all started.

Back in early 2011, the two of us were just a couple of nerds working at Twitter—Jacob was an engineer working on internal tools, me a product designer working on ads. Our paths crossed when the project I was working on needed to have its own internal tools app built for managing Twitter ad campaigns. Over a few months, we started working more and more together before ultimately deciding to release our project to the world.

Here we are 10 years later, still just a handful of nerds doing what we love, contributing to open source, and having an impact on people’s lives through our work. Bootstrap continues to be a passion project for me, from major rewrites to new features and from a growing icon library to a full-blown marketplace. It’s been an incredible journey, and one that’s still going strong thanks to the community’s love and the support of a small group of maintainers over the years.

The maintainers and contributors deserve the utmost thanks and appreciation. Please join me in thanking them—and every other open source maintainer!—whenever and however frequently you can. While this list can never fully represent all the contributions made to Bootstrap, I want to give a special shoutout to maintainers past and present, and some of the most prolific contributors.

Thank you again, folks. And to everyone who has used Bootstrap over the years, thank you for making a decade of building with Bootstrap possible. Cheers to whatever comes next, and see you soon for our next release.

<3,
@mdo

Bootstrap 5.1.0

@mdo August 04, 2021

The first minor release of Bootstrap 5 is here! v5.1.0 has arrived and is packed with exciting new features and improvements. There’s experimental support for CSS Grid, offcanvas in the navbar, a new placeholders component, horizontal collapse support, new helpers, new CSS variables in our utilities, refactored JavaScript, and more.


Jump to a section:


CSS Grid

CSS Grid docs

We’ve added an experimental version of a new CSS Grid as an opt-in replacement to our default grid system. To enable it, disable the default grid, by setting $enable-grid-classes: false and enable the CSS Grid by setting $enable-cssgrid: true. Once recompiled, you’ll be able to switch to the new classes. Our new CSS Grid docs page has all the details and some helpful examples to get you started.

Shipping CSS Grid support as experimental allows us to play with things a bit without breaking backward compatibility for folks. Please help us out by testing it and sharing feedback. We expect it to go stable for widespread use in a future minor release.

Read the Bootstrap CSS Grid docs for more info.

Offcanvas in navbars

Offcanvas navbar example

We’ve expanded our .navbar-expand-* classes (see what we did there?) to include support for offcanvases inside the navbar. Wrap your navbar elements with the appropriate offcanvas HTML, point your navbar toggler button to the offcanvas, and voila.

Head to the offcanvas navbar docs for more information and a live demo.

Placeholders

Placeholders example

There’s a new component in town with placeholders, a way to provide temporary blocks in lieu of real content to help indicate that something is still loading in your site or app. Our first iteration here aims to only provide the HTML and CSS—it’s up to you to implement these placeholders with whatever custom code you might need.

Consider the basic Bootstrap card component shown above.

<div class="card">
  <img src="..." class="card-img-top" alt="...">
  <div class="card-body">
    <h5 class="card-title">Card title</h5>
    <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
    <a href="#" class="btn btn-primary">Go somewhere</a>
  </div>
</div>

Here it is rebuilt with glowing placeholder bars to indicate something is still loading.

<div class="card" aria-hidden="true">
  <img src="..." class="card-img-top" alt="...">
  <div class="card-body">
    <h5 class="card-title placeholder-glow">
      <span class="placeholder col-6"></span>
    </h5>
    <p class="card-text placeholder-glow">
      <span class="placeholder col-7"></span>
      <span class="placeholder col-4"></span>
      <span class="placeholder col-4"></span>
      <span class="placeholder col-6"></span>
      <span class="placeholder col-8"></span>
    </p>
    <a href="#" tabindex="-1" class="btn btn-primary disabled placeholder col-6"></a>
  </div>
</div>

Head to the placeholder docs to learn more.

Horizontal collapse

Hot damn, we’ve finally added official support for horizontally collapsing! The collapse plugin has been able to detect width vs height for some time (even in v4), but we never had a working example in our docs until now. Add the .collapse-horizontal modifier class to transition the width instead of height and set a width on the immediate child element.

<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#collapseWidthExample" aria-expanded="false" aria-controls="collapseWidthExample">
  Toggle width collapse
</button>

<div style="min-height: 120px;">
  <div class="collapse collapse-horizontal" id="collapseWidthExample">
    <div class="card card-body" style="width: 300px;">
      This is some placeholder content for a horizontal collapse. It's hidden by default and shown when triggered.
    </div>
  </div>
</div>

Heads up! You may need some min-height or height to avoid excessive browser repainting, as we’ve included in our demo above.

Stack and vertical rule helpers

While utilities get most of the spotlight these days, helpers are still incredibly useful. Our newest helpers are called stacks and they’re shortcuts for vertical and horizontal stacks of elements. They’re inspired by the open source Pylon project, which was in turn inspired by iOS’s stacks. Right now, stacks aren’t responsive, but that can easily change with your feedback.

To create a vertical stack, wrap a series of elements in .vstack. Use .gap-* utilities on the parent (or set individual margin utilities) to quickly space elements.

Bootstrap vstack example

<div class="vstack gap-3">
  <div class="bg-light border">First item</div>
  <div class="bg-light border">Second item</div>
  <div class="bg-light border">Third item</div>
</div>

Want a horizontal stack? Use .hstack instead.

Bootstrap vstack example

<div class="hstack gap-3">
  <div class="bg-light border">First item</div>
  <div class="bg-light border">Second item</div>
  <div class="bg-light border">Third item</div>
</div>

To support these stacks, we’ve also added an additional new helper—.vr, or vertical rule. HTML has had native <hr> elements for the longest time to create horizontal rules, but never anything for vertical rules. The new .vr helper works great in horizontal stacks and other situations where borders are a little trickier.

Bootstrap vstack example

<div class="hstack gap-3">
  <input class="form-control me-auto" type="text" placeholder="Add your item here...">
  <button type="button" class="btn btn-secondary">Submit</button>
  <div class="vr"></div>
  <button type="button" class="btn btn-outline-danger">Reset</button>
</div>

Learn more in the stacks helper docs.

New CSS variables

We’ve expanded our :root CSS variables to include our gray color palette, new <body> variables, and new RGB variables for our theme colors. The grayscale colors join our existing color and theme color variables to complete the set of globally available CSS colors. As the development of v5 progresses, these variables will be used more and more in our components to better enable global theming.

Speaking of, our new <body> CSS variables now control the styling of the <body>. This is what you’ll find in the compiled CSS:

body {
  margin: 0;
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align);
  background-color: var(--bs-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

Like all our other :root CSS variables, the values for these are generated from our Sass variables. That means that no matter how you customize Bootstrap—via Sass or CSS variables—you haven’t lost any functionality or convenience.

Read the CSS variables customization docs for more info.

Updated .bg-* and .text-* utilities

Our new RGB values are built to help us make better use of CSS variables across the entire project. To start, our background-color and color utilities have been updated to use these new RGB values for real-time customization without recompiling Sass and on-the-fly transparency for any background or text color.

Here’s how our .bg-* and .text-* color utilities look now once compiled:

.bg-success {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
}

.text-primary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
}

We use an RGB version of each color’s CSS variable and attach a second CSS variable, --bs-text-opacity or --bs-bg-opacity, for the alpha transparency (with a default value 1 thanks to a local CSS variable in the ruleset). That means anytime you use .text-primary now, your computed color value is rgba(13, 110, 253, 1). The local CSS variable inside each .text-* class helps avoid inheritance issues when nesting instances of these classes.

To support these changes, we’ve added some new .text-opacity-* and .bg-opacity-* utilities. Choose from a predefined set (which you can modify in the utilities API) of classes to quickly change the local CSS variable when a given .text-* or .bg-* utility is used. For example:

Bootstrap text opacity example

<div class="text-primary">This is default primary text</div>
<div class="text-primary text-opacity-75">This is 75% opacity primary text</div>
<div class="text-primary text-opacity-50">This is 50% opacity primary text</div>
<div class="text-primary text-opacity-25">This is 25% opacity primary text</div>

We expect this approach to make its way to border utilities next. Have more CSS variables you’d like to see added? Share your thoughts on a new issue on GitHub. Head to the color utilities or background utilities docs to learn more.

Four new examples

Bootstrap examples

We’ve expanded on our component examples with four new examples that customize some of our core components and implement common patterns. Here’s what’s new:

Explore all our examples to see more.

We’ve variablized the class name for our backdrops that are used across our modal and offcanvas components. This comes with a new class for the offcanvas backdrop, .offcanvas-backdrop, and perhaps more importantly, some updated z-index values.

Previously, there was a single offcanvas z-index between the modal and modal backdrop z-indexs, due to offcanvas sharing the modal’s backdrop.

// Before v5.1.0
$zindex-modal-backdrop:       1040 !default;
$zindex-offcanvas:            1050 !default;
$zindex-modal:                1060 !default;

We’ve changed this to allow offcanvases and modals to work together better with separate z-index values for offcanvas, the offcanvas backdrop, modal, and the modal backdrop.

// After v5.1.0
$zindex-offcanvas-backdrop:   1040 !default;
$zindex-offcanvas:            1045 !default;
$zindex-modal-backdrop:       1050 !default;
$zindex-modal:                1055 !default;

Unless you’ve modified the offcanvas component or its Sass variables, there should be no breaking changes for you.

And more!

There’s a lot more in this release that we didn’t include in the highlights above:

  • Reverted the ability for .col-* classes to override .row-cols-* as it caused some breaking bugs in our layouts. We’ll revisit and restore it when we can engineer it in a more scalable and easy to maintain way.
  • Added new .opacity-* utilities (with 0, .25, .5, .75, and 1 as default values).
  • Updated several JavaScript plugins with some major cleanups—alerts, collapse, dropdowns, popovers, and tooltips.
  • Plugins now accept arguments of different types in the getInstance method.
  • Added new Sass maps for all our colors, as well as a new map-merge-multiple() function to combine Sass maps.
  • Updated data-dismiss on modals so that it can be outside of a modal using bs-target.
  • Updated toasts to change show timings and classes to keep toast display: none by default.
  • Added Shift + Tab keyboard support to modal and offcanvas components.
  • Renamed Build Tools page to Contribute to better communicate its purpose.
  • Fixed Manipulator.offset() in Scrollspy to improve scroll position detection.
  • Added examples of live alerts to the docs.

Get the release

Head to https://getbootstrap.com for the latest. It’s also been pushed to npm:

npm i bootstrap

Review the GitHub v5.1.0 release changelog for a complete list of changes since our last release.

Support the team

Visit our Open Collective page or our team members’ GitHub profiles to help support the maintainers contributing to Bootstrap.

Bootstrap 5.0.2

@mdo June 22, 2021

Our latest patch release has arrived to improve our JavaScript plugins, address the / deprecation in Dart Sass, fix a few CSS bugs, and make some documentation improvements.

Sass division

One of the biggest fixes in Bootstrap v5.0.2 patches the deprecation of / for performing division in Sass. The Dart Sass team deprecated it due to the use of / characters in actual CSS (e.g., separating background values). The bad news was this shipped with deprecation notices, which in our case heavily polluted the build process for everyone. Our potential solutions included:

  1. Ignore it entirely and silence the deprecation warnings
  2. Drop implicit support for LibSass and use the Dart Sass math module
  3. Figure out a custom fix to keep the widest possible Sass support

We chose the third option—keeping support for both LibSass and Dart Sass, even though the former is deprecated. There are many projects out there that simply haven’t or cannot update to Dart Sass (including Hugo, which we use to build our docs).

Our solution meant rolling a custom divide() function and replacing division with multiplication wherever possible. We wanted to limit the use of a custom function, so the situations where we used $value / 2 were replaced with $value * .5. This custom function has also been added to the RFS project in a new release. While the precision in our compiled CSS has been reduced by two decimal places, the output remains otherwise unchanged.

If you have any ideas or suggestions on further improvements, please don’t hesitate to open an issue.

Highlights

Here are some highlights from the changelog.

CSS

  • Fixed deprecation warnings in Sass for / division. Replaced most / division with multiplication and added a custom divide() function to avoid adding Dart Sass modules (as this would negate the usage of LibSass).
  • Individual .col-* grid classes can now override .row-cols.
  • Updated line-height for floating forms to fix cut-off select menu text.
  • Added missing transition to .form-select.
  • Fixed .dropdowns-menu-* position in RTL.
  • Decoupled --bs-table-bg and --bs-table-accent-bg to separate table accent highlights.
  • Improved support for complex expressions in add() and subtract() functions.
  • Fixed horizontal padding for select elements in Firefox.
  • Updated border color for popover header to match the outer border.
  • Fixed offcanvas header alignment for RTL.

JavaScript

  • Popovers now remove titles or content when they’re empty instead of returning empty HTML elements.
  • Dropdown items are now automatically selected when using arrow keys.
  • We now register only one DOMContentLoaded event listener in onDOMContentLoaded utility function.
  • Fixed arrow keys breaking animation when the carousel sliding.
  • Fixed handling of transitioned events dispatched by nested elements (e.g., modals didn’t transition when clicking buttons).
  • Fixed backdrop errors with stale body cause by unnecessary default and removeChild.
  • Fixed issue where the show.bs.modal event with the .fade class prevented modals from being displayed again.
  • Fixed isVisible false positives.
  • Added getOrCreateInstance method in our base component that is applied to all components.

Docs

  • Documented how to make utilities responsive using the API. Also added !important to the sample output CSS and mentioned the $enable-important-utilities global setting.
  • Added a mention of the breakpoint mixins changes from v4 to the migration guide.
  • Added a new example of positioned badges to the docs.
  • Clarified variable overrides in the Customizing > Sass page.
  • Replaced Freenode with Libera IRC server.

Head to GitHub for a complete list of issues and pull requests in v5.0.2. You can also review the v5.0.2 project board.

Get the release

Head to https://getbootstrap.com for the latest. It’s also been pushed to npm:

npm i bootstrap

Review the v5.0.2 release changelog for a complete list of changes.

Support the team

Visit our Open Collective page or our team members’ GitHub profiles to help support the maintainers contributing to Bootstrap.

Bootstrap 5.0.1

@mdo May 13, 2021

Our first patch release for Bootstrap 5 has landed with v5.0.1! We’ve fixed a handful of bugs in our CSS and JS while also resolving a few issues with our docs and examples.

Changelog

  • Fixed an issue where dropdowns wouldn’t close after clicking into an <input>
  • Validated inputs in .input-groups no longer render behind sibling elements
  • Prevent accent-bg from leaking in nested tables
  • Modal backdrops no longer throw Uncaught TypeError when initialized through JS
  • Refactored disposing properties into the base component
  • Extracted static DATA_KEY and EVENT_KEY to the base component
  • Merged transitionend listener callbacks into one method
  • Popovers and tooltips have a streamlined config property
  • Toasts no longer automatically hide on focus or hover
  • No longer redefining $list-group-color in the list group loop

Our docs and examples also received a few updates:

  • Fixed Sidebars example not rendering correctly in Chrome
  • Fixed RTLCSS stringMap configuration snippet
  • Updated offcanvas navbar example to prevent console error
  • Fixed miscellaneous typos, grammatical errors, and links in the Migration guide

Head to GitHub for a complete list of issues and pull requests in v5.0.1. You can also review the v5.0.1 project board.

Get the release

Head to https://getbootstrap.com for the latest. It’s also been pushed to npm:

npm i bootstrap

Review the GitHub v5.0.1 release changelog for a complete list of changes since our last release.

Support the team

Visit our Open Collective page or our team members’ GitHub profiles to help support the maintainers contributing to Bootstrap.

Bootstrap Icons v1.5.0

@mdo May 10, 2021

Bootstrap Icons v1.5.0 adds 45 new icons across a few categories as I continue to round out the set. Keep reading to see what’s new!

45 new icons

New icons in v1.5.0

The primary goal with this release was to round out some of the most requested icons to date. Here’s the lowdown:

  • First up are large versions of our dash, plus, slash, x, and other alert signage icons. The existing icons are based on their placement in other shapes, so rather than upsize those ones and potentially break things for folks, I’ve added new large options.

  • Commerce icons have a huge update with new currency options, banks, insert credit card, vaults/safes, and even a couple piggy banks.

  • For people and identity, we’ve added our first gender icons for female, male, trans, and ambiguous. It’s just the start, as I’m sure there are significant gender and identity roles I’m missing. Please open an issue with feedback if there are improvements I can make here to be more inclusive of everyone.

  • On the communications side, there’s finally a translate icon and bells with slash.

  • And to round it out, there’s a new VR headset icon, a couple new geo pin icons, and some new social options like Messenger, Reddit, WhatsApp, and more.

Head to the Bootstrap Icons docs to see them in action.

Install

To get started, install or update via npm:

npm i bootstrap-icons

You can also download the release from GitHub, or download just the SVGs and fonts (without the rest of the repository files).

Figma

The Figma file is now published to the Figma Community! It’s the same Bootstrap Icons Figma file you’ve seen from previous releases, just a little more accessible to those using the app.