Today we’re releasing Bootstrap v3.1.1. As our first patch release for the v3.1.x release series, we’ve focused on CSS bug fixes, documentation improvements, and further refinements to our build tools. See the included changelog for more details.
Today we’re stoked to ship Bootstrap v3.1. We’ve got a handful of new features, plenty of bug fixes and improvements, and updated build tools.
We’ve made tons of changes across the board, most notably to our documentation. Just like v2.1 brought a brand new design, v3.1 overhauls the docs to refocus on the actual documentation rather than the chrome around it. Our new homepage restores the quick run through of key features and showcases some awesome examples from the Expo.
Official Sass port
The best part about v3.1 is that we’re shipping with an official Sass port. A few weeks ago we moved over the most popular port on GitHub and made it official—Bootstrap is now available in Sass. Rather than bloat the main project with support for Less and Sass—and all the documentation for both—we’ve kept them separate for the time being. Prominent links in the docs are included though, so enjoy!
We’ve added three new examples: Blog, Cover, and Dashboard. Each example provides a single page of awesomeness for you to quickly get started on a project built with Bootstrap. They’re responsive and ready to go.
A handful of features that aren’t exactly new to Bootstrap have seen an update in v3.1:
Modals now include optional sizes
Dropdowns now have their own alignment classes for easier customization
Form feedback styles for validation states now include optional icons to reinforce color changes
All-in-all these make components more focused, more durable, and easier to work with. See the changelog included with the GitHub release for the complete list of new features.
Remote modal content
One of the more important improved features is for our modals. If you currently use the modal’s remote option, be aware this release may break your modals. Yes, this is a breaking change, but it’s first and foremost a bug fix that corrects a rather longstanding and overlooked error. Our apologies for any headaches it may cause, but it’s been missed in the last few patch releases.
See the #11933 pull request for details on the code changes.
We’ve been talking about it for what seems like forever, but thanks to all our contributors and the core team, we’ve finally done it. As of v3.1, Bootstrap ships under the MIT license to allow as many people to utilize Bootstrap as possible. Thanks to all our contributors for helping make it happen.
Improved build tools
We’re constantly trying to improve our tools for developing Bootstrap and v3.1 brings a slew of updates to do just that.
We’ve switched from Recess to grunt-contrib-less for our compiler, giving us access to Less 1.6.x (as opposed to 1.3.x with Recess).
Our compiled code is virtually identical in formatting and organization thanks to CSScomb and some other Grunt-fu.
Tests also run a tad faster with the help of some magical caching and parallelization.
The web Customizer is now generated from a Grunt task, meaning we’ll never miss updating or adding a variable again. If you contribute to Bootstrap regularly, just run grunt and commit to update the page.
Heads up! If you develop Bootstrap locally, be sure to nuke your node_modules/ directory and run npm install before getting started with v3.1.
Get downloading now, or see the list below for more information on what’s new in this release. Download it from GitHub or snag it from the CDN:
#11572: Add contextual background-color classes to match our existing text classes. (This also moves both sets of classes to the Helper Classes section of the CSS docs.)
#11675: Add .text-justify class to round out the text alignment classes.
#11836: Add new form control feedback classes to toggle icons for each validation state. Works on regular forms, horizontal, and inline.
While we originally wanted v3.1 to include RTL support, we decided to hold back on that for some potentially beneficial unreleased tooling. We’ll share more on that when we know more, but suffice to say it’s been bumped to v3.2.
#10951: Add outline: 0 to .modal to prevent a focus outline from appearing in Chrome for Windows.
#11107: Add @modal-backdrop-opacity variable for customizable modal backdrop.
#11266: Apply a pixel-based line-height that matches the height to date inputs for iOS 7 for proper vertical alignment of text in the form control.
#12270: Add namespace .bs also to the event dismiss.modal.
#10370: Deprecated the .pull-right method for aligning dropdown menus. Includes the following changes:
Removed an old and unused pair of selectors that didn’t properly target the right-aligned navbar alignment of dropdown menus.
Deprecates the .pull-right alignment in favor of a more specific and unique class name.
Adds .dropdown-menu-right as the new alignment class. This is then mixin-ed into the .navbar-right.navbar-nav dropdown menus for auto-alignment (keeping the current behavior we have today).
Adds new ability to override that auto-alignment though with the new .dropdown-menu-left, which is mixin-ed in the same way to provide the appropriate specificity of an override. This should never need to be used except for within right-aligned .navbar-nav components.
#11660: Deprecate small and .small in blockquote citation in favor of footer element.
#11351: Correct grid class reset on input groups by using attribute selector, not an old class from v3 betas.
#11357: Vertically center .btn-sm and .btn-xs variations of .navbar-btns in the navbar.
#11376: Don’t deselect radio buttons when double clicking.
#11387: Improve nesting on table classes to enable easier use of mixins.
#11388: Simplify contextual table styles mixin (also drops the border parameter since we longer apply that anyway).
#11390: Add max-width: 100%; to containers within jumbotrons to avoid horizontal scrollbar.
#11402: Set width: auto; on select.form-control within .form-inline.
#11414: Add .small support to blockquote citations.
#11425: Use margin instead of padding on .modal-dialog to click-thru to .modal-backdrop.
#11432: Corrected color contrast to WCAG 2.0 AA for @state- variables (applies to forms and labels).
#11444: Use @navbar-padding-vertical for nav links vertical padding.
#11449: Prefer Menlo over Monaco for monospaced fonts.
#11468: Prevent default gradient background-image on .navbar-toggle in Firefox for Android.
#11476: Remove unnecessary prefixed keyframe declarations for animated progress bars. Given our browser support requirements, we can drop the -moz- prefix as the last several versions don’t require it.
#11477: Use namespace events for dropdowns and carousel.
#11493: Ensure proper width of dropdown buttons within vertical button groups.
#11499: Switch from overflow-y: auto; to overflow-y: visible; to prevent vertical scrollbar in some navbar situations.
#11502: Add missing data namespace for dropdown plugin.
#11513: Float navbar-text elements only when screen width is above @grid-float-breakpoint.
#11515: Reorder the headings with body text and text emphasis classes.
#11516: Invert dropdown divider border in navbars.
#11530: Reworked padding on .navbar-collapse and negative margin for right-aligned navbar content to ensure proper alignment on the right side.
#11536: Add support for button dropdowns within justified button groups.
#11544: Add color: inherit; to .panel-title to ensure proper text color when customizing @headings-color.
#11551: Remove color from outline reset for improved outlines on focus.
#11553: Prevent double border on tables in panels without thead content.
This release was unplanned, and as such it bumps a lot of planned fixes to a v3.0.3 release. We’ve already updated the relevant issues to be under the new v3.0.3 milestone. Look for that release, and perhaps another patch, before v3.1.0 ships in the coming months.
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).
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
#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
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.
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.