The Bootstrap Blog

News and announcements for all things Bootstrap, including new releases, Bootstrap Themes, and Bootstrap Icons.

Bootstrap 3 released

Today, on the two year anniversary of releasing Bootstrap to the world, we’re shipping Bootstrap 3.0. It’s been a crazy long ride to say the least and we’re stoked to finally have this out in the wild. Thanks to everyone who’s tested our RCs (er, betas), reported bugs, and contributed code. We couldn’t have done it without you beautiful nerds.

What’s new

For those who haven’t been following along too closely, here’s a recap of all the biggest changes shipping with Bootstrap 3:

  • New design and an optional theme! With v3, we’ve gone flat. Don’t call it a trend—it’s all about customization, folks. Since we simplified the aesthetics though, we thought it’d help to have an optional theme. To use it, check out the Bootstrap theme example.
  • Mobile first and always responsive! Nearly everything has been redesigned and rebuilt to start from your handheld devices and scale up.
  • Brand new Customizer! It’s been redesigned, is now compiled in the browser instead of Heroku, has better dependency support, and even has built-in error handling. Better yet, we now save your customizations to an anonymous Gist for easy reuse, sharing, and modifications.
  • Better box model by default. Everything in Bootstrap gets box-sizing: border-box, making for easier sizing options and an enhanced grid system.
  • Super-powered grid system. With four tiers of grid classes—phones, tablets, desktops, and large desktops—you can do some super crazy awesome layouts.
  • Rewritten JavaScript plugins. All events are now namespaced, no-conflict stuff works way better, and more.
  • New Glyphicons icon font! While they were gone for a while, we’ve since restored the Glyphicons to the main repo. In 2.x, they were images, but now they’re in font format and include 40 new glyphs.
  • Overhauled navbar. It’s now always responsive and comes with some super handy and re-arrangable subcomponents.
  • Modals are way more responsive. We’ve overhauled the modal code to make it way more responsive on mobile devices. They now scroll the entire viewport instead of having a max-height.
  • Added some components! New to the mix are panels and list groups.
  • Removed some components! We’ve dropped the accordion (replaced with collapsible panels), submenus, typeahead, and a few more small items. (Worth celebrating as much as adding new ones.)
  • More consistent base and sizing classes. Buttons, tables, forms, alerts, and more have been updated to have more consistent classes for easier customizer and extensibility.
  • Docs have been blown up, yo. We’ve added a lot of new documentation, not only for our components, but for browser support (including gotchas and bugs), license FAQs, third party support (and workarounds), accessibility, and more.
  • Dropped Internet Explorer 7 and Firefox 3.6 support. For Internet Explorer 8, you’ll need to include Respond.js for all the media queries to work correctly. You can read more about browser support in the docs.

For our pre-release testers and others who have been following along with the RCs, here’s a list of some of the more prominent changes made since RC2:

  • Hella bugs have been fixed (duh, right?).
  • Restored the Glyphicons icon font.
  • Navbars now require a .navbar-default for the standard version.
  • Panels now require a .panel-default for the standard gray variation.
  • Alerts now require a modifier class (e.g., .alert.alert-warning for the previously default yellow alert).
  • Multiple responsive utilities can now be applied to the same element.
  • Examples are back in the main repo and have been fully updated.
  • Docs have been updated for more consistent placement, naming, etc.
  • Customizer compiling bugs have all been fixed.
  • The optional theme has been added and is demonstrated in an example.
  • Jumbotrons are now made to extend the full width of the viewport with a container inside, but if you reverse that, the jumbotron in a container will be rounded and padded.
  • The navbar components have been updated to better account for the presence of containers and more. You’ll see some new margin and padding changes, but no markup changes should be required.

The numbers game

For those keeping track, Bootstrap 3 took nearly nine months to design, develop, and ship. In that time we’ve had:

  • Over 2,700 commits from 319 contributors
  • 379 files changed, meaning 84,000 additions and deletions
  • Over 900 comments in the pull request
  • Over a 20% reduction in minified CSS (from 127kb to 97kb)

Beyond this release, numbers everywhere else are looking amazing. It’s been staggering to watch these grow.

  • Over 56,000 stars and 19,000 forks on GitHub (still number one, baby!).
  • Over 9,800 closed issues (that’s over 13 a day since we released Bootstrap).
  • Last month, we had nearly 15 million pageviews on our docs (and that barely includes anything from our v3 pre-releases).
  • In the last year, we’ve logged over 3 million downloads just from the docs, 40% of which are from the Customizer.

This was a massive undertaking and it couldn’t have come out better. Thanks once again to all our contributors and the rest of the community for helping us make this a reality.

What about non-responsive sites?

With Bootstrap 3 we’ve gone deep on responsive and mobile first—it’s built in and no longer requires a separate stylesheet. That’s great for most folks, but not everyone needs or wants an adaptive web site or application. To help, we’ve added some documentation and an example that disables the adaptive or responsive features with some extra CSS.

Check out the Disabling responsiveness section or head right to the non-responsive example to learn more.

Bootstrap 2.3.2

While we’re not actively maintaining or supporting 2.3.2, you can still get to the old documentation. Head to and you’ll find everything right where you left it (including the old customizer). We’ll leave this up and available for the foreseeable future.

As a side note, we apologize for all the redirect and 404 problems folks ran into during the last few weeks. This was our first time moving an entire repo on GitHub and we hit a huge snag with old builds of our docs and did our best to deal with those to not further confuse folks. We’ll do better next time.

Coming up next

As always, we’ll have one or two patch releases before hitting our next minor release. Beyond that, we have a few things we’d like to tackle for BS3.1 and are already tracking those as potential additions in #9397. If you’d like something considered for v3.1, check that list. If it’s not there, open a new issue to discuss.

No dates have been set for any patch or minor release yet. As soon as we figure that out, we’ll let you know.


Woo, all set? Then head to the docs and download yourself some Bootstrap 3!

Download Bootstrap 3 or hit the GitHub repository


@mdo, @fat, and team

Bootstrap 3 RC2

We’ve just cut a new release for Bootstrap 3, RC2. It’s a big release as lots has changed, but that should all be for the better. Thanks everyone who’s given feedback and submitted pull requests thus far—we’re getting super close!

Key changes from RC1

Without listing all the minor changes (there have been over 500 commits since RC1!), here’s a quick overview of the changes.

  • Docs changes:
    • The Customizer is back! Still needs some work, but functionality has been rewritten and will be improved as we head to final release.
    • Added new mention to our browser compatibility docs to highlight the workaround for Internet Explorer 10 in Windows Phone 8 not picking up media queries. See #9171.
    • Added new section to the Getting Started page for documenting third party and addon compatibility issues. See #9175.
    • Added new Accessibility section, lots of new aria and role attributes, and more for improved 508 and WCAG compliancy. See #9186. Also improved used of more semantic HTML5 elements in docs per #9332, #9347, and #9352.
    • Added HTML validation tests, and made any existing failures pass. See #9396.
  • Global CSS changes:
    • Update vertical and horizontal gradients to make start and end color parameters come first, then start and end positions. Fixes #9049.
    • Make .pull-right and .pull-left classes use !important to avoid needing overrides due to specificity (like in navbar, button groups, etc). See #8697.
    • Lots of variable additions to components.
    • Updated gradients to not include background-color for improved use of rgba() colors within mixins. See #8877
  • Grid system:
    • Overhauled grid system to include four tiers instead of the original three of RC1. We now have .col-xs (phones), .col-sm (tablets), .col-md (desktops), and .col-lg (large desktops). Responsive utilities have been updated to match these new tiers as well. See relevant commit.
    • .rows only have negative left and right margins if they sit within a .container. This resolves the horizontal scrollbar issue for folks with full page containers (restoring the full behavior of the old fluid container from 2.x). See #8959.
    • Grid now includes offset, push, and pull classes for each break point See #8974.
    • Updated mixins to include ability to specify gutter width as a second parameter. See #8935.
  • Buttons:
    • Buttons and inputs, and their large counterparts, are now a bit shorter.
    • New default button styles and higher contrast on :hover and :active states. Fixes #8786.
    • New classes for size modifier classes—instead of .btn-mini, .btn-small, or .btn-large, we now have .btn-xs, .btn-sm, and .btn-lg. See #9056.
    • New button group sizing classes: just add .btn-group-xs, .btn-group-sm, or .btn-group-lg to any .btn-group and you’re good to go. See #9295.
  • Forms:
    • Similar to the new button classes, we have new input size classes: .input-sm and .input-lg. See #9056.
    • Input focus states now generated via variable and mixin. Use the @input-focus-border variable and .form-control-focus mixin to generate a custom border-color and box-shadow.
    • Size modifier classes for large and small components—including buttons, form inputs, pagination, and wells—have all been standardized to use -sm or -lg. See #9056.
    • Inline forms now require the use of .form-group, per #9382, to properly align and size all (native and custom) form controls. This also helps make form markup more consistent and flexible (just swap a class), so woohoo!
    • Added .static-form-control to account for static, placeholder text in horizontal form layouts. Fixes #8150.
    • New input group sizing classes: just add .input-group-sm or .input-group-lg to any .input-group and you’re good to go. See #9295.
  • Dropped accordion for updated panel.
    • We’ve removed the accordion and instead chosen to extend the panel component to provide the same functionality. See #9404.
  • Navbar:
    • Overhauled navbar to always be responsive and mobile first.
      • Navbars now require a .navbar-header to wrap up brand and toggle.
      • .nav-collapse has been renamed to .navbar-collapse and automatically hits a max-height and will overflow to keep your nav content in the same viewport.
      • See details in #9403.
    • Navbar’s no longer use .pull-left or .pull-right, but rather .navbar-left and .navbar-right. This avoids issues with specificity due to chaining classes and enables easier styling.
  • Miscellaneous component changes:
    • Alerts that are to be dismissed now require .alert-dismissable to properly pad the alert and align the close button. See #9310.
    • Responsive utilities are now mixin-able thanks to #9211.
    • Dropped .alert-block for a simpler .alert.
    • Linked panel titles now inherit their color. Fixes #9061.
    • List groups in panels no longer require .list-group-flush.
    • Labels now require .label-default for the “default” gray option. See #9123.
    • Labels now collapse automatically (not in IE8) when empty. See #9241.

What’s left?

RC2 takes care of nearly all our bugs that have been filed thus far, but we have a few more to address before our final release. Check the issues to see what’s there already if you run into any problems. If you do find something, open a new issue with an example to reproduce it (jsbin or jsfiddle are awesome!) or submit a pull request.

Head on over to the docs to download and explore the new hotness in RC2.


Bootstrap 3 RC1

Today we’re releasing the first of at least two release candidates for Bootstrap 3, and along with it a slew of updates to the project and community. Buckle up.

New organization

We’ve mentioned it a few times in previous updates, but today it’s Facebook Official: Bootstrap has moved to @twbs/bootstrap. Watchers, stars, and the like are all maintained in the move, as is all Git history. New digs, same code.

Docs for v3 and v2.3.2

With today’s release we’re pushing forward 100% on Bootstrap 3, meaning when you head to you’ll see the v3 RC1 documentation. Our intention is to make BS3’s testing and development as widespread as possible so we get the best final release possible.

Head on over to to check it out. If you’re running into any broken links on the downloads, give it a bit for the DNS to sort itself out.

We’re fully aware everyone cannot simply jump right into BS3 yet, so we’ve kept the docs for 2.3.2 around for easy access. You’ll find a prominent link to the old docs in all of BS3’s documentation. If you’re in need, head over to

What’s changed!?

With over ~1,600 commits, ~72,000 additions/deletions, and ~300 files changed, everything has changed. We’ve added features, removed features, and cleaned up a lot more. The v3 pull request on GitHub has all the details you’ll need for a complete list of changes and some helpful migration tips.

Onward to RC2

Bootstrap 3 RC1 is just the start, and we need your help to get to RC2. Download it and give it a go, and most importantly, tell us what you find. If something new is all funky or you found a bug, let us know by opening a new issue.


@mdo and @fat

Ante up.

August 19.

Bootstrap 2.3.2 released

This morning we pushed out a 2.3.2 patch release to address a single bug (see #7118) related to dropdowns and command/control clicking links in Firefox.

Work on Bootstrap 3 continues and we’re almost ready to do an official release candidate. We’ve addressed nearly all our chosen changes and are now at a point where we’re smoothing things out as much as possible. We’ll share more information on the RC and v3 in the coming weeks.

Download Bootstrap 2.3.2 (latest master ZIP)


@mdo and @fat