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 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.
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.
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 https://getbootstrap.com/ 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 https://getbootstrap.com/ 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 https://getbootstrap.com/2.3.2/.
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.
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.
Today we’re launching a new project to showcase the absolute best projects built on Bootstrap, the Bootstrap Expo.
The Bootstrap Expo is all hosted on GitHub, meaning recommending new sites is as easy as opening a new issue. It also keeps the primary Bootstrap repo focused on code and documentation, and not dozens of extraneous images.
As a side note, the Expo is the second project appearing under the twbs organization (this blog is already there in private mode). We’ll be moving Bootstrap and the Customizer over with v3 soon.
While Bootstrap 2.3 was the last planned release ahead of 3.0, we’ve just pushed out a small patch to address a few lingering JavaScript bugs. Bootstrap 3 is still under development and is trucking along quite nicely. We’ll have more to share there soon.
Until then, here’s what’s new with 2.3.1:
Fix missing event type in dropdown plugin
Fix delegated data-attrs for popover/tooltip
Make carousel actually pause when you click cycle
Fix jshint ref in makefile
Fix trying to remove backdrop when no backdrop is set
Check out the 2.3.1 pull request for more details on the changes in this release.
Side note: Aside from the fixes in this release, future bugs will only be addressed in 3.0, or punted entirely, as appropriate. This release just fixes a few things left broken that we didn’t feel comfortable ignoring for the next several weeks.
It has been far too long, friends. Nearly three months has gone by since we pushed out a new version of Bootstrap, but fret not, for that void comes to a most excellent halt tonight. After numerous delays, including a bout with the flu, we’re happy to announce the release of Bootstrap 2.3.
Oh shit what
Bootstrap 2.3 includes some new features, as well as the standard bunch of bug fixes and docs improvements. Here are the highlights:
Repository changes:
Local instead of global dependencies for our makefile and install process. Now getting started is way easier—just run npm install.
Upgraded to jQuery 1.9. No changes were needed, but we did upgrade the included jQuery file to the latest release.
Moved changelog to be within the repo instead of as a wiki page.
New and improved features:
Added carousel indicators! Add the HTML and it automagically works.
Added container option to tooltips. The default option is still insertAfter, but now you may specify where to insert tooltips (and by extension, popovers) with the optional container parameter.
Improved popovers now utilize max-width instead of width, have been widened from 240px to 280px, and will automatically hide the title if one has not been set via CSS :empty selector.
Improved accessibility for links in all components. After merging #6441, link hover states now apply to the :focus state as well. This goes for basic <a> tags, as well as buttons, navs, dropdowns, and more.
Added print utility classes to show and hide content between screen and print via CSS.
Updated input groups to make them behave more like default form controls. Added display: inline-block;, increased margin-bottom, and added vertical-align: middle; to match <input> styles.
Added .horizontal-three-colors() gradient mixin (with example in the CSS tests file).
Added .text-left, .text-center, and .text-right utility classes for easy typographic alignment.
Added @ms-viewport so IE10 can use responsive CSS when in split-screen mode.
As always, you can see a more complete list of changes by viewing the 2.3.0 milestone or 2.3.0 pull request on GitHub. Most of the issues not mentioned above are minor CSS tweaks and documentation typos.
When we released 2.2.2, we changed the insertion strategy for tooltips and popovers. Instead of appending to the <body> by default, they used insertAfter. This change fixed number z-index issues and ultimately makes controlling and styling tooltips much easier for folks.
Unfortunately, this also resulted in a few bugs, namely breaking input groups by interfering with adjacent CSS selectors. Instead of reverting the insertion method, we’ve added a new container option. If you run into a situation where insertAfter doesn’t work for you, go ahead and set that option to whatever element works best for you.
Bootstrap 3 update
As we’ve previously mentioned, v2.3 is our last planned release before moving onto v3 fulltime (pending any catastrophic fuckups). For the latest, follow the Bootstrap 3 pull request. Otherwise, here’s the lowdown:
Bootstrap 3 will be mobile first.
No more separate responsive CSS file—all in one now, baby.
Dropping support for IE7 and Firefox 3.x.
Grids have been overhauled—now simpler and fluid by default.
Modals are all responsive and shit now.
Dropping submenu support.
Carousel has been redesigned.
Renamed all of the variables to use dashes instead of camelCase.
Dropped image icons in favor of icon font.
JavaScript events are going to be namespaced.
Docs are getting a bit of a reorganization—Scaffolding and Base CSS have been merged into a single page, CSS.
Added a new gallery page to showcase more awesome Bootstrap implementations.
And a whole mess of other changes.
And that’s just some of the highlights. Again, peep the pull request for the most up to date changes as we continue to chip away at this bad boy. Feel free to comment on that, or hit us up on Twitter, for feedback of any kind.
With 2.2.2 out the door, our attention has shifted almost entirely to the next major update to the project, Bootstrap 3. Things are coming together and we want to give you an update on what’s next and give you a chance to share your thoughts.
Specifics of v3
Overall, Bootstrap 3 will be rather narrow in focus compared to the last major update. In short, we’ll drop legacy code, improve responsive CSS, and centralize community efforts. Specifically, v3 will address the following:
Use tags for all versioned downloads, use smaller feature branches for dev work, and merge right into master (after 3.0 launches).
To help communicate and track changes, we’ve opened a Bootstrap 3 pull request. Follow along with what we’re working on, ask questions, or contribute by using that pull request as a reference point. We’ll be keeping it up to date as development progresses.
In addition, we’re going to try to accelerate versioning by focusing on individual components for major releases after 3.0 (e.g., modals or the carousel could be punted to a 4.0 release). Given this approach, it’s less important for us to stuff a lot of feature work into 3.0.
Beyond that, we’re open to addressing a couple of things with 3.0 like form styles and mobile enhancements. We want to limit these kind of changes for 3.0 though, so let us know what features are most important to you.
New GitHub organization
We mentioned this a few times in recent months, but with 3.0 we’ll be transitioning to a new organization on GitHub, twbs. The username is homage to H5BP, one of the most notable front-end tools out there, and of course, Twitter. The move shouldn’t present any problems to you fine folks.
New URLs
With the move to the new organization, the URLs of the Bootstrap docs must change. We host our docs on GitHub Pages and those URLs are based on user or organization names. To better future-proof things, we’ll be making https://getbootstrap.com/ our base URL instead of just a redirect.
For us, this will be the most painful part of the move. Given how prolific links are, we’ll also try to setup something at the old URLs to redirect folks, but we’re unsure how we will do that just yet. Perhaps a shell repository with dummy pages pointing to their replacements? Time will tell.
Strengthening the community
The larger goal behind the organization move is to bolster the Bootstrap community. To start, we’ll be transferring the main Bootstrap repo, the Heroku customizer app, and the blog to the new organization. But more importantly, we want to bring community projects into the organization as official projects.
From language ports to extensions to snippets, we want to work with leaders of key community efforts to see if this makes sense. We’re still working on the criteria for this and have yet to reach out to anyone.
If you think your project fits, hit us up. We’ll be looking to add projects shortly after 3.0.
Growing the team
Bringing additional projects into the fold is going to be a huge undertaking as managing the existing code is already a hefty task between Jacob and myself. To that end, we’ll be looking to add one or two people to the team to help us manage issues, pull requests, etc. This is a huge deal for us and we’ll be taking our time on figuring it all out.
Growing the team with official contributors, other than the two of us, is also a goal. Similarly, we’re super nervous about this and have no clear timetable for it as well.
Wrapping up
Bootstrap is still just getting started. There is so much more awesome stuff to do and we want to work with you awesome folks to do it all as best we can. We hope you’re as excited as we are.
Please reach out to us on Twitter or GitHub with any questions or feedback.
Today we’re launching Bootstrap 2.2.2, another larger bugfix release that focuses mostly on CSS and documentation fixes, with a few key JS issues mixed in as well. Here’s the rundown on what’s new in this release:
Docs:
Assets (illustrations and examples) are now retina-ready.
Replaced Placehold.it with Holder.js, a client-side and retina-ready placeholder image tool.
Dropdowns: Temporary fix added for dropdowns on mobile to prevent them from closing early.
Popovers:
No longer inherits font-size: 0; when placed in button groups.
Arrows refactored to work in IE8, and use less code.
Plugin no longer inserts popover content into a <p>, but rather directly into .popover-content.
Hitting escape will place focus back on the <input>.
Print styles, from HTML5 Boilerplate, have been added.
Get a more complete list by viewing the 2.2.2 milestone on GitHub. Most of the issues not mentioned above are minor CSS tweaks and documentation typos.
We have a 2.2.3 release slated for further bugs and improvements we couldn’t tackle in this version, but most of our ongoing efforts are going to transition to development on 3.0.0. More details on that will come next week.
In the next week or so, we plan on releasing v2.2.2. To date, there are over 50 CSS and documentation related issues already closed, and we want to get those out in your hands. We still have some significant JavaScript issues to work out, but those will be punted to 2.2.3 so we don’t hold up development. Our hope is to have that release out by end of year at the latest.
For a more complete set of changes, view the 2.2.2 milestone on GitHub. Most of the issues not mentioned above are minor CSS tweaks and documentation typos.
How to help
We would love to have folks help test these changes to prevent further regressions.
Checkout the 2.2.2-wip branch, or browse the release candidate docs so you can easily load it up on devices and such for testing. Note: downloads on the RC docs do not work.
Take a look at the docs and give ’em a run on the docs, on your phone, your (least?) favorite browser, etc.
Open a new issue on GitHub to report bugs. Please include as much context and information as possible. If it’s a visual bug, please include a screenshot. If it pertains to JavaScript, consider including a jsfiddle.
If you’re submitting a pull request against 2.2.2-wip, be sure to read the Contributing to Bootstrap wiki page first.