B

The Official Bootstrap Blog

Announcements, discussions, and more for Bootstrap.

Bootstrap 4 alpha

Today is a special day for Bootstrap. Not only is it our fourth birthday, but after a year of development, we’re finally shipping the first alpha release of Bootstrap 4. Hell yeah!

Bootstrap 4 has been a massive undertaking that touches nearly every line of code. We’re stoked to share it with you and hear your feedback. We’ve got a lot of news to share with you, so let’s jump right into it.

What’s new

Bootstrap 4 alpha

There are a ton of major changes to Bootstrap and it’s impossible to cover them all in detail here, so here are some of our favorite highlights:

  • Moved from Less to Sass. Bootstrap now compiles faster than ever thanks to Libsass, and we join an increasingly large community of Sass developers.
  • Improved grid system. We’ve added a new grid tier to better target mobile devices and completely overhauled our semantic mixins.
  • Opt-in flexbox support is here. The future is now—switch a boolean variable and recompile your CSS to take advantage of a flexbox-based grid system and components.
  • Dropped wells, thumbnails, and panels for cards. Cards are a brand new component to Bootstrap, but they’ll feel super familiar as they do nearly everything wells, thumbnails, and panels did, only better.
  • Consolidated all our HTML resets into a new module, Reboot. Reboot steps in where Normalize.css stops, giving you more opinionated resets like box-sizing: border-box, margin tweaks, and more all in a single Sass file.
  • Brand new customization options. Instead of relegating style embellishments like gradients, transitions, shadows, and more to a separate stylesheet like v3, we’ve moved all those options into Sass variables. Want default transitions on everything or to disable rounded corners? Simply update a variable and recompile.
  • Dropped IE8 support and moved to rem and em units. Dropping support for IE8 means we can take advantage of the best parts of CSS without being held back with CSS hacks or fallbacks. Pixels have been swapped for rems and ems where appropriate to make responsive typography and component sizing even easier. If you need IE8 support, keep using Bootstrap 3.
  • Rewrote all our JavaScript plugins. Every plugin has been rewritten in ES6 to take advantage of the newest JavaScript enhancements. They also now come with UMD support, generic teardown methods, option type checking, and tons more.
  • Improved auto-placement of tooltips and popovers thanks to the help of a tool called Tether.
  • Improved documentation. We rewrote it all in Markdown and added a few handy plugins to streamline examples and code snippets to make working with our docs way easier. Improved search is also on it’s way.
  • And tons more! Custom form controls, margin and padding classes, new utility classes, and more have also been included.

And that barely scratches the surface of the 1,100 commits and 120,000 lines of changes in v4 so far. Plus, we’re not even done yet!

Ready to check it out? Then head to the v4 alpha docs!

Development plan

We need your help to make Bootstrap 4 the best it can be. Starting today, the source code for v4 will be available in a v4-dev branch on GitHub. In addition, we have a v4 development and tracking pull request that includes a master checklist of changes we’ve made and our remaining possible todos. We’d love for y’all to help chip away at those todos.

The general development and release plan looks something like this:

  • A few alpha releases while things are still in flux.
  • Two beta releases after features and functionality are locked down to really test things out.
  • Two release candidates (RCs) to really test things out closer to production environments.
  • Then, the final release!

For those jamming on v4 with us, we also have a dedicated v4 Slack channel. Jump in to talk shop and work with your fellow Bootstrappers. If you haven’t yet, join our official Slack room!.

If you’re not keen on pushing code to v4, we’d love to hear from you in our issue tracker with bug reports, questions, and general feedback.

Supporting v3

When we shipped Bootstrap 3, we immediately discontinued all support for v2.x, causing a lot of pain for all our users out there. That was a mistake we won’t be making again. For the foreseeable future, we’ll be maintaining Bootstrap 3 with critical bug fixes and documentation improvements. v3 docs will also continue to be hosted after v4’s final release.

One more thing…

In addition to shipping the first Bootstrap 4 alpha today, we’re also launching our latest side project, Official Bootstrap Themes.

Official Bootstrap Themes

We’ve talked about building premium themes for Bootstrap since our earliest releases, but never quite found the time or ideal approach until earlier this year. We’ve poured hundreds of hours into these themes and consider them to be much more than traditional re-skins of Bootstrap. They’ve very much their own toolkits, just like Bootstrap.

To start, we’re launching with three themes built on Bootstrap 3: a dashboard, an application, and a marketing site. Each theme contains everything you’d find in Bootstrap, plus stunning real world examples, brand new components and plugins, custom documentation, and simple build tools.

All themes include a multiple-use license for the purchaser and free updates for bug fixes and documentation updates for the life of the themes.

Head to the Bootstrap themes site to check them out.

<3,

@mdo, @fat, & team

Introducing No Carrier

Say hello to our newest bot, No Carrier. Inspired by the classic modem disconnection error message of yesteryear, No Carrier helps us track issues that appear to have been abandoned by the original poster. Issues that go without a reply to our questions for two weeks are closed with a friendly explanation by No Carrier.

To date, we’ve handled abandoned issues just like any other issues—with ad-hoc reviews. We felt that could be improved, so we made a bot to automate the process. No Carrier appears on our issue tracker as @twbs-closer and will monitor issues we tag with awaiting-reply. Should no one reply within two weeks, @twbs-closer will post a final comment explaining the situation and our policy, and then automatically close the issue. If someone later replies after the cutoff, a member of our team will happily reopen the issue manually and continue pursuing it.

No Carrier is available for any GitHub project, not just Bootstrap. If you have a project on GitHub that might benefit from this automation, we invite you to try out No Carrier. For more details, usage instructions, and feedback, check out the No Carrier project on GitHub. You can download the assembly JAR from the “Downloads” section of the v1.0.0 release page.

<3,

@cvrebert & team

Bootstrap 3.3.5 released

Bootstrap 3.3.5 is here! This release has focused on bug fixes, accessibility improvements, and documentation updates. We’ve had over 330 commits and 160 closed issues and pull requests from over 40 contributors since our last release! Hell yeah.

Here are some of the highlights:

  • Updated to Normalize.css v3.0.3.
  • Updated main in bower.json to comply with recent update to the bower.json specification
  • List groups now support <button> elements.
  • Cleaned up some extraneous padding on jumbotrons across various viewports.
  • Fixed input group sizing classes on all supported elements for real this time.
  • Applied a few tooltip and popover positioning fixes.
  • Fixed behavior when using tooltips and popovers that are triggered by multiple events.
  • Fixed some memory leakage in the tooltip and popover plugins.
  • Fixed incorrect Affix positioning when a webpage has a sticky footer.
  • Fixed npm package to include all Grunt scripts, so that grunt dist works if you installed Bootstrap from npm.

For a complete breakdown, read the release changelog and the v3.3.5 milestone.

Bootstrap Slack

Since we last shipped a release, we made an official Slack for folks to hang out with other Bootstrappers. Registration is completely open thanks to the Slackin open source project. We have two channels to start—general and help—and nearly 1,000 members to date!

Sign up here to join.

wiredep and Bower

Due to vagueness in Bower’s specification, wiredep made some questionable assumptions about how the main field in bower.json works. Recently, Bower updated their spec to address this and clarify how main should work, and we updated our bower.json accordingly. Unfortunately, wiredep broke as a result if you were using it with Bootstrap’s vanilla precompiled CSS. Bower is working to further update their spec to address this problem and better assist tools like wiredep.

In the meantime, a quick-and-dirty workaround to get wiredep to work with Bootstrap again is to add the following to your project’s bower.json:

"overrides": {
  "bootstrap": {
    "main": [
      "dist/js/bootstrap.js",
      "dist/css/bootstrap.css",
      "less/bootstrap.less"
    ]
  }
}

Download Bootstrap

Download the latest release—source code, compiled assets, and documentation—as a ZIP file directly from GitHub:

Download Bootstrap 3.3.5

Hit the project repository or Sass repository for more options. Also, remember we’re available on npm, too.

Bootstrap CDN

After reviewing the changelog, update your CDN links to point to the v3.3.5 files:

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">

<!-- Optional theme -->
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">

<!-- Latest compiled and minified JavaScript -->
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>

<3,

@cvrebert & team

Bootstrap 3.3.4 released

Bootstrap 3.3.4 is here! This release has been focused on bug fixes and documentation improvements. We’ve had over 325 commits from 29 contributors since our last release! Nice.

Here are some of the highlights:

  • Fixes for a few significant bugs in the Modal plugin.
  • Fixes for a couple annoying bugs in the ScrollSpy plugin.
  • Bootstrap is now also available as a Meteor package in the Atmosphere package index.
  • Convenience aliases have been added for currency symbol Glyphicons based on their related 3-letter ISO currency codes. For example, .glyphicon-rub is a new alias for .glyphicon-ruble, the currency symbol for the Russian ruble (RUB).
  • We have deployed AnchorJS in our documentation to make it easier to link to specific sections within the docs.

For a complete breakdown, read the release changelog or the v3.3.4 milestone.

What happened to v3.3.3?

Since our previous release was v3.3.2, you’re probably wondering why this release isn’t v3.3.3 instead. Basically, the official Sass port of Bootstrap had a Sass-specific bug in their v3.3.2 release, so they immediately issued a follow-up release to fix the bug. This bugfix release was initially numbered as v3.3.2+1. However, this 4-digit version number scheme has caused grief with some tools, so with the blessing of the Core Team, the Sass Team took this opportunity to switch to a more vanilla 3-digit SemVer numbering scheme. Thus, bootstrap-sass v3.3.2+1 was re-released as bootstrap-sass v3.3.3, with only the version number changed compared to v3.3.2+1.

To avoid confusion regarding which bootstrap-sass release(s) correspond to which upstream Bootstrap release, Bootstrap’s version numbering will henceforth skip over any bootstrap-sass patch release version numbers. Thus, the patch digit (i.e. the 3rd digit) of bootstrap-sass’s version number may be ahead of Bootstrap’s due to Sass-specific fixes, and the next Bootstrap release’s number will always be greater than the previous bootstrap-sass release’s number.

Download Bootstrap

Download the latest release—source code, compiled assets, and documentation—as a ZIP file directly from GitHub:

Download Bootstrap 3.3.4

Hit the project repository or Sass repository for more options. Also, remember we’re available on npm, too.

Bootstrap CDN

After reviewing the changelog, update your CDN links to point to the v3.3.4 files:

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">

<!-- Optional theme -->
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css">

<!-- Latest compiled and minified JavaScript -->
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>

<3,

@cvrebert & team

Bootstrap 3.3.2 released

Bootstrap 3.3.2 is here! This release has been all about bug fixes, accessibility improvements, and documentation updates. We’ve had over 300 commits from 19 contributors since our last release. Woohoo!

Here are some of the highlights:

  • Updated Glyphicons to v1.9.
  • Reverted support for delegating multiple tooltips via a single element, because it caused nasty regressions.
  • Fixed a regression that broke wrap: false for the carousel plugin.
  • Added manual vendor prefixing back to carousel CSS to avoid a regression among folks not yet using Autoprefixer.
  • Improved accessibility of our examples and added more accessibility guidance to our docs.

We’ve also deployed two new bots to aid Bootstrap’s development:

  • Savage, a bot to automatically run Sauce cross-browser tests on JavaScript pull requests.
  • @twbs-grunt, a bot to automatically keep our compiled /dist/ files up-to-date

For a complete breakdown, read the release changelog or the v3.3.2 milestone.

New team member

We’re stoked to welcome Patrick to the Bootstrap team! Patrick brings with him terrific accessibility expertise and has already contributed many improvements to Bootstrap’s components and documentation.

Download Bootstrap

Download the latest release—source code, compiled assets, and documentation—as a zip file directly from GitHub:

Download Bootstrap 3.3.2

Hit the project repository or Sass repository for more options. Also, remember we’re available on npm, too.

Bootstrap CDN

After reviewing the changelog, update your CDN links to point to the v3.3.2 files:

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">

<!-- Optional theme -->
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap-theme.min.css">

<!-- Latest compiled and minified JavaScript -->
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>

<3,

@mdo & team