Bootstrap 3.0.1 released

@mdo October 29, 2013

Today we’re shipping v3.0.1, a huge patch release with over 750 commits since v3 was released two months ago. We’ve outlined most of the changes below, including documentation updates, bug fixes, and even a few deprecations (our first in the history of the project).

Download Bootstrap 3.0.1 or hit the GitHub repository


Changes

Compared to previous releases, we’re going into a bit more detail here with the docs and bug fixes. Expect more of this with future releases.

Docs

  • #9880: Use medium grid classes on jumbotron example
  • #9887: Document .show and .hide classes
  • #9908: Add type="submit" to Customizer compile button to prevent accidental submissions
  • #9915: Fix inaccurate comment in media query docs
  • #9917: Updated broken download link in README
  • #9924: Removed non-ASCII character from non-responsive example CSS
  • #9928, #9932: Update carousel example to work in IE10 and correctly display navbar in narrow viewports
  • #9931: Add ARIA role="toolbar" to elements with .btn-toolbar in docs examples
  • #9991: Better docs for tabbable tab markup and its fade option
  • #10011: Update Grunt instruction links and wording
  • #10012: Add David to project readme to monitor dependency currentness
  • #10034: Use npm-registered recent version of grunt-html-validation instead of its git repo
  • #10040: Better cross referencing of default and navbar pull utilities
  • #10042: Updated JS Fiddle tooltip delegation example linked in docs
  • #10045: Use v2.3.2 release ZIP instead of master zip for downloads from old docs
  • #10081: Documents workaround for tooltips+popovers on disabled elements
  • #10082: Documents .navbar-form
  • #10087: Add version number to all docs pages (in the footer)
  • #10088: Updates accessibility docs regarding nesting heading elements
  • #10112: More role attributes in the docs, this time on link buttons
  • #10126: Update responsive test cases to properly highlight hidden class examples
  • #10131: Corrects button group selector in JavaScript docs
  • #10136: Broken image link in Carousel example
  • #10146: Document data-ride carousel feature
  • #10209: Fixed broken dismissable alert example
  • #10215: More compressed touch icons, updates Respond.js to v1.3.0 and html5shiv.js to v3.6.2, adds bugs to package.json
  • #10249: Correct component name of jumbotron component in Jumbotron example
  • #10272: Removed unused link for nav alignment in Components page
  • #10277: Mention removal of navbar vertical dividers in migration docs
  • #10278: Change Google Maps compatibility warning to a general box-sizing warning with optional reset
  • #10282: Cross reference tabs and tabs plugin
  • #10298: Add progress bar to migration docs
  • #10299, #10323: Getting Started wording changes
  • #10316: Document .active and :active for buttons
  • #10324, #10338: Restore opt-in warning for tooltips and popovers
  • #10342: Update affix docs to better communicate plugin behavior
  • #10344: Update IE8-9 support section with table of specific CSS3 and HTML5 features and their support in Bootstrap
  • #10372: Homepage now shows two download buttons, one for our assets (CSS, JS, and fonts) and one for the source code (the entire repo)
  • #10382: Update Disabling responsiveness docs section for brevity
  • #10411: Color coded IE8-9 browser support table
  • #10414: Carousel now uses Glyphicons as default left/right chevron icons (text icons are still supported)
  • #10417: Document .hidden in the Helper classes Screen reader content section
  • #10419: Add nav lists to migration guide
  • #10453: Add additional screen reader text to button group dropdown toggles
  • #10459: Update Customization section in Getting started page
  • #10492: Account for responsive tables in panels
  • #10497, #10584: Fix Windows 8 and Windows Phone 8 behavior in Internet Explorer 10 and applies “bug fix” to docs
  • #10528: Add new About page to the docs with backstory, core team, community links, and translations
  • #10573: Un-hardcode tooltip arrow widths and padding for easier customization
  • #10591: Add modal remote option semantics change to migration docs
  • #10693: Include a copy of the docs license as a file in the repo
  • #10711: Address 100% fluid layouts in grid docs and the required padding
  • #10768: Fix mention of renamed .img-polaroid class in Migration docs
  • #10770: Rename /assets to /docs-assets to reduce confusion between /dist and docs dependencies
  • #10790: Disable IE compatibility mode in all docs pages and examples
  • #10856: Update grid docs to better explain the sizing and interactions when using multiple grid tier classes
  • #11013: Use CDNs for jQuery and HTML5 shiv
  • Add blog link back to docs homepage
  • Remove links to navbar examples from example navbars in Theme example
  • Delete smaller touch icons and only include one
  • Remove unused mention of .prettyprint styles from code.less (we no longer use that plugin and the class is undocumented, so we’re nuking it)
  • Remove unnecessary left and right properties from .modal-dialog since we use margin to center the modal
  • Add Linux Firefox to supported browsers list
  • Update outdated JSFiddle example

Bug fixes and changes

  • #9855: Partial fix for open modal content shifting: removed all margin settings to prevent some of the content shifting. Still needs JS love to detect scrollbars and adjust content accordingly (will address in v3.0.2).
  • #9877: Add improved .active state to navbar nav in theme
  • #9879: Add hover state (move gradient up 15px) to theme buttons]
  • #9909: Add @component-active-color variable to complement @component-active-bg (and apply it to dropdowns, nav pills, and list group items)
  • #9964: Add fonts directory to bower.json main files list
  • #9968: Simplify striped progress bar mixin to remove unused color
  • #9969: Add support for output element by styling it more like our .form-control
  • #9973: Removed unnecessary -ms-linear-gradient prefix
  • #9981: Account for hover and focus states on pagination disabled items
  • #9989: Set monospace font-family on <kbd> and <samp> to match browser defaults
  • #9999: Make .table-hover styling apply to <th> within contextual table rows too
  • #10013: Position carousel left and right controls from the left and right, respectively
  • #10014, #10406: Update grid to use width on .containers instead of max-width as IE8 doesn’t fully support box-sizing: border-box when combined with min/max width/height
  • #10022: Add width: 1em; to all empty Glyphicons to prevent loading flicker
  • #10024: Use negative margin to fix the border between button and input in input groups
  • #10025: Add additional transform mixins
  • #10057: Autohiding scrollbars in responsive tables for Windows Phone 8
  • #10059: Add .transition-property() mixin
  • #10079: Native-style scrolling in responsive tables for iOS
  • #10101, #10541, #10565: Generate CSS file banners via Gruntfile
  • #10111: Use different colors for dropdown link hover and active states
  • #10115: Default carousel controls and Glyphicon controls should behave the same on small devices and up
  • #10153: Restore @headings-color variable
  • #10154: Add .small to pair with our heading classes (e.g., h1 and .h1)
  • #10164: Document .center-block() mixin and update CSS to include it as a class
  • #10169: Remove old @navbar-inverse-search-* variables
  • #10223: Add @input-color to .input-group-addon to match the form controls
  • #10227: Use correct max-width on Offcanvas example media query and add overflow-x: hidden to prevent scrollbar on narrow devices
  • #10232: Scope .table styles to immediate thead, tbody, and tfoot elements
  • #10245: Add @breadcrumb-separator variable for customizing breadcrumbs
  • #10246: Use correct variable for link hover color in Customizer
  • #10256: Use @navbar-default-brand-color within the @navbar-default-brand-hover-color variable
  • #10257: Remove filter on navbars in theme.less so that dropdowns can be triggered in IE<10
  • #10265: Scope background-image reset to Bootstrap buttons and form controls only to avoid Android Firefox bug
  • #10336: Replace non-ASCII dash in LESS source file
  • #10341: Don’t change border color on contextual table classes
  • #10399: Add hover styles to text emphasis classes
  • #10407: Add line-height to progress bar for proper text alignment within
  • #10436: Use @screen-sm variable instead of hardcoded pixel value in type.less
  • #10484: Allow for .table-bordered in panels by removing side and bottom margins
  • #10516: Use auto positioning for dropdowns in justified nav to fix Firefox rendering
  • #10521: Only remove bottom-border from last row of cells in tbody and tfoot within responsive tables
  • #10522: Enable use of form validation class on .radio, .checkbox, .radio-inline, and .checkbox-inline
  • #10526: Remove custom background on responsive tables and set it in the docs where it should’ve been originally
  • #10560: Remove display: block; from address element since browsers set that to start
  • #10590: Mention required jQuery version in docs
  • #10601: Use overflow-y: auto; for .navbar-collapse instead of visible to better enable scrolling on Android 4.x devices (see issue for more details on support and gotchas)
  • #10620: Remove filter on buttons for IE9 in theme.less due to bleed-through with rounded corners (matches behavior and style of Bootstrap 2.x)
  • #10641: Remove unused .accordion-toggle class from docs example
  • #10656: Inherit link and caret colors for textual dropdowns in panel headers
  • #10694: Remove unnecessary content property from .caret
  • #10695: Ensure carets in .nav-pills dropdown links inherit active color
  • #10729: Removed the unnecessary override and the !important from .wrap in the sticky footer examples
  • #10755: Don’t remove quotes around q element by default
  • #10778: Use newly-updated Glyphicons to workaround old Android WebKit bug
  • #10763: Update html5shiv to v3.7.0
  • #10863: Fix check for presence of jQuery
  • #10893: Remove comma separating the color and the color-stop in -webkit-linear-gradient in #gradient > .vertical mixin
  • #10927: Scope padding-top on .form-control-static to horizontal forms only
  • #10949: Use variable for jumbotron font-size instead of hard-coded value
  • #10959: Round .lead font-size to nearest whole pixel
  • #10997: Move .hidden from responsive utilities to utilities (where it belongs, especially on account of deprecated .hide per #10769)
  • #11050: Restore grid mixins
  • #11126: Remove box-shadow from .btn-link.dropdown-toggle
  • #11127: .navbar-fixed-bottom should have a top border, not a bottom border
  • #11139: Add position: relative; to .modal-dialog so that the z-index takes effect
  • #11151: Remove rogue H5BP .ir class from print styles
  • #11186: Add background-color hacks so that clicking carousel indicators in IE8-9 works as intended
  • #11188: Refactor z-index on navbars. Removes the default z-index: 1000; and instead only applies it to static-top, fixed-top, and fixed-bottom. Also fixes up the broken default navbar example’s fubared padding.
  • #11206: Remove padding-left from first list item within .list-inline
  • #11244: Adds .animation() mixin to replace .progress-bar’s regular CSS animation properties (and drops the -moz, -ms, and -o prefixes as they are not needed per https://caniuse.com/#feat=css-animation).
  • #11248: Apply background-color: #fff; to selects in print styles to fix Chrome bug
  • Audited Customizer variables section and rearranged content

Deprecated

  • #9963, #10567: Deprecate @screen-* variables for @screen-*-min to better match the @screen-*-max variables and provide more context to their actual uses.
  • #10005: Finish removing uses of @screen-{device} variables by deprecating them for @screen-*-min wherever possible.
  • #10100: Deprecate .hide-text mixin for .text-hide. This matches our class-mixin strategy elsewhere (e.g., .clearfix) and ensures the class and mixin use the same name to avoid confusion.
  • #10125: Deprecate inconsistent container variables for new @container-{screen-size} variables (e.g., use @container-sm instead of @container-tablet)
  • #10769: Deprecate .hide for .hidden so we don’t duplicate functionality.

For even more details, see the 3.0.1 milestone.

Moving to MIT license

We’ve been looking to move to the MIT license for quite some time, and today’s release takes us that much closer. Starting with v3.0.1, all new contributions to Bootstrap will be dual-licensed as Apache 2 and MIT. The intent is to move the entire project (including all prior contributions) to the MIT license in a future version (hopefully v3.1.0).

To make the change, every contributor to Bootstrap must consent to relicense their changes (since we have no CLA). We’re making excellent progress on that front with the community’s help and will address holdouts as they come up.

As a heads up, we’ve placed notices in the contributing guidelines and our project readme about the pending change and transition period.

It goes without saying that we don’t need to do this, but we want to make Bootstrap available to all communities who cannot currently use it due to licensing conflicts. Theoretically these communities could change their licenses, but when you step back and objectively look at the situation, it’s much easier for us to change. We hope you understand and stick it out with us as we make the move.

Growing the team

The Bootstrap core team doubled a few months ago when we added Chris and Julian to the project. They’ve helped manage issues, written some awesome code, and provided critical input in the direction of the project. As Bootstrap grows, so too must our core team, and we’re once again actively seeking new team members.

It’ll be a slow process, much like last time, but we need the help on several fronts to keep us shipping and iterating. In particular, we’ll be keeping an eye out for folks with top notch CSS and JavaScript skills.

Up next

We’re already tracking issues for a v3.0.2 release and its changes will be along the same lines as today’s release—bugs and docs. v3.1.0 will likely ship after that sometime with a few new features. As always, no dates have been set yet for any future releases.

Bootstrap 3 released

@mdo August 19, 2013

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-arrangeable 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 https://getbootstrap.com/2.3.2/ 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.

Download!

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

Download Bootstrap 3 or hit the GitHub repository

Bootstrap 3 RC2

@mdo August 13, 2013

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.

<3

Bootstrap 3 RC1

@mdo July 27, 2013

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.

Ante up.

@mdo July 18, 2013

August 19.

Bootstrap 2.3.2 released

@mdo May 17, 2013

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)

Welcome to the Bootstrap Expo

@mdo March 03, 2013

Bootstrap Expo

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.

Until then, enjoy and <3.

Bootstrap 2.3.1 released

@mdo March 01, 2013

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.

Download Bootstrap 2.3.1 (latest master ZIP)

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.

Bootstrap 2.3 released

@mdo February 07, 2013

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 tooltip alignment on edges with #6713.
    • 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.
  • Docs changes:

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.

Download Bootstrap 2.3.0 (latest master ZIP)

A note on tooltips

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.

Bootstrap 3 plans

@mdo December 10, 2012

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:

  • Migrate twitter/bootstrap, twitter/bootstrap-server, and mdo/bootstrap-blog (currently a private repo) to the twbs organization.
  • Change site URLs to https://getbootstrap.com/ (more on that below).
  • Compile all Less code, including responsive styles, into a single CSS file.
  • Drop IE7/FF3x support entirely.
  • Use the @font-face version of Glyphicons instead of the current PNGs.
  • Switch to the MIT license instead of Apache.
  • Drop the *-wip branch style of development.
  • 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.