Fifth alpha! View the milestone for details: #20630.
Downloads
Fourth alpha release!
See the closed milestone for details.
Downloads
Third alpha release!
See the closed milestone for details.
Downloads
Release announcement blog post: https://blog.getbootstrap.com/2016/07/25/bootstrap-3-3-7-released/
JavaScript
- #19192 Fix keyboard navigation for toggle buttons (checkbox, radio, single toggle) following a mouse click
-
#19659: Clear tooltip's
$elementto prevent leaking memory -
#20019: Avoid calling
jQuery('#')since it's a syntax error in jQuery 3 - #20259: Backport jQuery-related JS unit test fixes from v4
- #20278: button.js: Set disabled property in addition to disabled attribute, for jQuery 3 compatibility
-
#20313: Avoid using
$.offset()on SVGs since it gives incorrect results in jQuery 3 - #20338: Update jQuery version check and jQuery dependency version range to allow jQuery 3
CSS
No significant changes.
Accessibility
-
#19704: Add
aria-labeland callout about labeling pagination components
Docs
Downloads
Second alpha release!
See the closed milestone or the blog post for more details.
Downloads
CSS
-
#16492: Use
@input-border-radiusvariables on input groups. -
#16529: Un-style the caret on
<select>s in IE10+. -
#16562, #16563: Create and implement a new
@dl-horizontal-breakpointvariable to replace the@grid-float-breakpointon.dl-horizontal. - #16646, #16651: Fix hover border covering active links in pagination.
-
#16684: Fix
border-radiusnot being set on two corners of vertical btn group. - #16718: Full 4-digit Unicode escape sequences in CSS for asterisk and plus Glyphicons.
-
#16769: Remove the
min-heighton modal headers and replace with a clearfix to avoid collapsing when no title exists. -
#16779: Adjust the
paddingon jumbotrons within containers. -
#16785: Round the
paddingon containers to match the new rounding of negativemargins on rows. - #16796: Ensure carousel controls are clickable in IE9.
- #16804: Indicate which buttons in a button group are selected, even when disabled.
-
#16824: Correct a math error in the
padding-topof.control-labels in large and small horizontal forms. -
#16975: Use
@carousel-control-font-sizefor in specific pixel values. - #17001: Fix borders on focused inputs in input groups.
JS
-
#16865: Fix triggering of
shown.bs.dropdown&hidden.bs.dropdownevents so thatrelatedTargetproperty gets set properly. - #16896: Note jQuery v3 incompatibility.
Docs
- #16630, #16632: Update mention of not-allowed cursor in disabled checkboxes, radios, and fieldsets docs section.
- #16744: Mention in the README where Bootstrap's changelogs can be found.
-
#16745: Add
CHANGELOG.mdfile that points to GitHub Releases and our blog. - #16747: Document that Collapse and Tab methods are asynchronous.
-
#16793: Add example with visible
<label>and input group addon. - #16888: Add a local jQuery fallback.
-
#16902: Fix grid in modal example by removing
.container-fluid. -
#16965: Call out
.icon-next,.icon-prevalternative classes for carousel. -
#17003: Add
.col-offset-0example addition to docs. -
#17726: Clarify the purpose of adding
.into the.fadeof the initially-open Tab. - #17729: Add Subresource Integrity (SRI) hashes to BootstrapCDN links
- #17742: Add CSS portion of IE10 viewport bug workaround to docs & examples
-
#17809: Note that
container: 'body'should be used for tooltips/popovers on tabular elements -
#17910: Document that
.panel-titleoverrides the font size of<h1>–<h6>tags -
#18080: Document conflict between strict Content Security Policy and inline
styleattributes of.progressbars, and available workarounds
Packaging
Build tools
-
#16589: Enable source maps for
bootstrap.min.css. - #17769: Setup Hound for JSHint linting in pull requests
Customizer
- #16897: Clarify that Collapse requires Component animations
Browser bugs
- #16689: Add Wall of Browser Bugs entry for #16671.
- #16691: Add Wall of Browser Bugs entry for #15968.
- #16813/#16839: Reported WebKit bug (http://wkbug.com/146896) for #16809, which WebKit then fixed.
- #16840: Remove entry from Wall of Browser Bugs because http://wkbug.com/141804 has been fixed.
- #16841: Remove entry from Wall of Browser Bugs because http://wkbug.com/139803 has been fixed.
- #16842: Remove entry from Wall of Browser Bugs because http://wkbug.com/144990 has been fixed.
- #16881: Add Wall of Browser Bugs entry for #16814.
- #16908: Remove entry from Wall of Browser Bugs because http://crbug.com/309483 is most likely invalid.
- #16994: Add Wall of Browser Bugs entry for #16988.
- #17438 / #14237: Add Wall of Browser Bugs entry for http://wkbug.com/149935
- #17712: Mention Chrome meta-bug on Wall of Browser Bugs
- #17753: Remove entry from Wall of Browser Bugs because http://bugzil.la/1048279 was closed as WONTFIX.
- #17820: Add Wall of Browser Bugs entry for http://crbug.com/534750
- #17902: Remove entry from Wall of Browser Bugs because http://wkbug.com/138167 has been fixed.
- #17906: Add Wall of Browser Bugs entry for #14975
- #18111: Add Wall of Browser Bugs entry for http://wkbug.com/150715
Downloads
First alpha release!
See the pull request or the blog post for more details.
Downloads
CSS
-
#15074, #16159: Manually handle
.input-group-*sizing instead of using mixins, which causes a bug in our compiled code due to nesting -
#15944, #15945: Add
z-indexto avoid border overlapping in input groups -
#15956: Properly position
.form-control-feedbackacross within input groups -
#15976, #15978: Fix overlapped
borderon pagination links on hover -
#16047: Make
.text-emphasis-variantadjusta:focuscolor in addition toa:hovercolor - #16086: Reset text/font properties more thoroughly for tooltips+popovers
-
#16089: Add
@jumbotron-heading-font-sizevariable -
#16092: Only disable
pointer-eventson disabled<a>.btns -
#16120, #16350: Add
max-width: noneto.media > .img-thumbnailto prevent malformed images -
#16160: Make
.bg-variantmixin adjust:focuscolor in addition to:hovercolor -
#16166, #16174: Update
.visible*mixin to use!importanton<table>elements -
#16175: Fix
border-radiuson list group items in collapsible panels - #16176: Account for static form controls in form group size variations
-
#16204, #16215: Add
<button>support to.list-group-items. -
#16224: Fix
.btn[disabled]styles in the theme. - #16234: Update to Normalize v3.0.3
-
#16256: Add
pxunit to perspective property value -
#16258: Fix regression that made
.caretnot display in IE8 -
#16259: Remove workaround for OS X
<select>printing bug that's been fixed in recent Chrome -
#16271, #16373: Add
@btn-border-radiusvariables based on global variables for better customization. -
#16279: Fix floating of
.btns that are direct children of.btn-toolbar -
#16281, #16351: Round grid column gutter operations to prevent inaccurate
paddingandmargin -
#16333: Ensure proper sizing of
.form-control-feedbackin.form-group-*size variations. -
#16346, #16472: Update iOS temporal input overrides to be limited to
.form-controluses. - #16371, #16405: Vertically center carousel controls in small viewports.
-
#16374, #16477: Redo jumbotron
paddingto prevent double negative spacing and overflowing containers. -
#16457, #16447: Add the license banner to the top of
bootstrap.less. -
#16460: Fix inaccurate
.pagination-smheight by specifyingline-height. -
#16482, #16485: Add
border-radiusvariable to theme's inverse navbar. - #16614: Fix asymmetry between dropup and dropdown carets.
Accessibility
-
#16154: Darker style
.focusand:focus:hoveron.activebuttons -
#16226, #16404: Fix radio and checkbox keyboard handling in
.btn-group(plus removal of obsolete unit test) -
#16571: Generalize dropdowns / drop
role="menu"
JavaScript
- #15694: Fix incorrect Affix positioning when webpage uses sticky footer layout
- #16014: Fix tooltip/popover behavior when multiple triggers are specified
- #16024: Avoid some unnecessary HTML string building+parsing
- #16039: Avoid leaking memory in tooltip/popover plugins
- #16073: Clicking into an input field within an open dropdown no longer closes the dropdown
- #16142: Fix horizontal viewport bounds check in tooltip/popover placement logic
-
#16147: Add new
inserted.bs.tooltip/popoverevent fired after tooltip/popover DOM is inserted into the document -
#16151: Tooltip/popover: Allow
viewportoption to be a function - #16152: Fix auto placement to use viewport on tooltips and popovers
-
#16158: Modals: Remove
aria-hiddenusage that's redundant todisplay: none -
#16263: Use
.dropdown-menuinstead of ARIA roles for Dropdown keydown event handler - #16324: Throw error when tooltip/popover template has multiple top-level elements
Documentation
-
#15987: Add
role="button"toa[data-toggle="collapse"] -
#16107: Add
.alertchange to v2 -> v3 migration guide - #16113, #16114: Document how to install Bootstrap via Composer
- #16117: Increment quick start options count in README.md
- #16136: Callout for tooltips and keyboard/AT accessibility
-
#16140: Add
aria-expandedto navbar toggles -
#16156: Properly document the
$(...).tab('show')method - #16157: Document how to disable transitions in Bootstrap's jQuery plugins
-
#16167: Remove wrong
role="tabpanel"from docs - #16194: Remove stray spaces from modal/using-grid-system sample code
-
#16208: Eliminate extraneous
paddingin.bs-docs-headerthat would sometimes cause horizontal scrolling - #16222: fix dead link: reduced test cases
- #16257: Upgrade to Holder v2.5.2 for placeholder images
-
#16270, #16280: Change
vertical-alignon badges frombaselinetomiddlefor improvement alignment across more elements - #16282: Document that Affix doesn't work on pushed/pulled grid columns in Safari
- #16301: Hide the "Copy" buttons in the docs when Flash is not available
-
#16367: Ensure that
.form-inlinein non-responsive example doesn't stack -
#16369: Separate the docs for
.dropdownand.dropupfor more accurate examples -
#16398: Remove
role="button"from download links -
#16409: Document Affix plugin's
checkPositionmethod -
#16411: Document that
'manual'trigger is mutually exclusive of other tooltip/popover triggers -
#16417: Added
#panels-footerto components nav in docs -
#16430: Mark stateful button feature as deprecated, and document that
$(...).button('reset')is async -
#16484: ScrollSpy requires non-body elements to have
heightandoverflow. - #16488: Update AnchorJS to 1.0.1
- #16524: Firefox file download bug affecting the Customizer seems to have been fixed
-
#16561: Ensure divider list items have
role="separator" - #16623: Add role="document" to modal dialog content
Browser bugs
- #16262: Added Wall of Browser Bugs entries for #16180
- #16372: Added Wall of Browser Bugs entry for table-related Chrome bug
Packaging
- #16101: Update jspm configuration
-
#16359: Update
bower.jsonto comply with Bower's new spec for themainfield -
#16378: Set
"moduleType": "globals"inbower.json -
#16379: Remove moot
versionfield from and addlicensefield tobower.json -
#16408: Include entire
/grunt/folder in npm package so thatgrunt distworks
Grunt
Downloads
CSS
-
#15561, #15628: Properly resize
.badges inside.btn-group-xs -
#15620: Add
.glyphicon-*aliases for other ISO 4217-ish currency codes:-
.glyphicon-btcand.glyphicon-xbtfor.glyphicon-bitcoin -
.glyphicon-jpyfor.glyphicon-yen -
.glyphicon-rubfor.glyphicon-ruble
-
-
#15656: Improve positioning of inline checkboxes and radio buttons by setting
position: relative -
#15682, #15697: Ensure
.caretis the same size in Firefox -
#15699: Ensure
.form-control-staticdoesn't change height when it's empty -
#15719, #15728: Add a variable for
.form-group'smargin-bottom -
#15726: Remove unnecessary nesting of
.embed-responsive-*classes -
#15755: Removed unnecessary
visibility: hidden !importantfrom.hiddenclass per upstream H5BP change -
#15825: Use a utility mixing for
.initialismtext transformation -
#15947, #15974: iOS fix for
role="button"elements -
#16021: Remove
visibilityproperties where they are redundant to existingdisplayproperties
JS
- #15378: Modal: Work around IE scrollbars not taking up page width
-
#15496: Make
$(document).tooltip({...})without theselectoroption throw an error -
#15520: Dropdown: Properly ignore
.disabledelements when using keyboard navigation -
#15557: Tooltip: Avoid creating an unnecessary tooltip when
Tooltip#hideis called - #15593: Fix Scrollspy's handling of multiple target elements with offsets of zero
- #15630: Fix erroneous tautological conditional in Tab plugin
-
#15681: Rename
Tooltip.replaceArrow()'sisHorizontalparameter toisVerticalfor accuracy -
#15693: Remove duplicate implementation of
tip()method inpopover.js - #15930: Modal: Apply any preexisting inline body padding again after closing
-
#15941: Update the
.collapsedclass andaria-expandedattribute of all of a Collapse's trigger elements when showing/hiding the Collapse - #15881: Modal: Fix backdrop not readjusting when height changes
-
#15988:
$(...).tooltip('hide')on an uninitialized tooltip/popover no longer unnecessarily initializes it -
#16011:
$(...).collapse('hide')on a hidden uninitialized collapsible no longer shows it - #16043: Use half-closed interval for ScrollSpy bounds condition to avoid selecting wrong nav element when user scrolls upwards
Docs
- #15491: Add AnchorJS for docs anchors (hover over headings for a permalink to that section)
-
#15621: Document sticky
:hoveron mobile browsers -
#15648: Improve image layout in the Carousel example and document image alignment via
.center-block -
#15662: Mention
dropupvariation in dropdown docs -
#15683, #15703: Clarify usage and effects of
readonlyanddisabledinputs - #15710: License FAQ clarification
- #15714: Skip link workarounds for Chrome and IE
- #15725: Add example of how to use the grid system within a modal
- #15739: Clarify target of modal events
- #15740: Clarify target of carousel events
-
#15742: Document how
destroyworks for delegated tooltips/popovers - #15882, #15900: Use an ID as the example for Scrollspy
- #15884, #15885, #15886, #15887, #15888, #15889, #15890, #15891, #15914: Accessibility changes to improve heading hierarchy within pages
- #15898: Change CC link in footer to HTTPS
-
#15903: Add
rel="license"and update the target of footer license links - #15906, #15916: Add source code documentation of justified navbar for the single-line text requirement
- #15910: Document how to properly handle modals with dynamic content height
- #15915: Javascript docs: Accessibility and cosmetic changes to headings.
- #15929: Encourage use of icons with form validation states for colorblind users
- #15946: Accessibility and headings hierarchy for the "Getting started" page
- #15948: Accessibility and headings hierarchy for the CSS page.
- #15999: Document JS test suite basics
- #16004: Add link to Vietnamese docs translation
- #16042: Increment quick start options in README to five
- #16058: Document that striped progress bars aren't striped on IE9
Examples
- #15291: Prevent collapsed navbar in non-responsive example
- #15911: Update the header in the jumbotron narrow example for a more durable layout
Browser bugs
- #15846: Add Wall of Browser Bugs entries for #15832
- #16036: Add Wall of Browser Bugs entry for #16022
Packages
-
#15651: Add WOFF2 font file to bower.json's
mainfield - #15716: Integrate with Meteor's package manager
- #15809: Specify the files to install via npm
Grunt/Travis
Downloads
CSS
- #14937: Fix carousel partially not using vendor-prefix mixins.
- #14990, #15391: Full width form control elements inside media/flag object
- #15074: Fix the nesting problem with form control size variants.
-
#15124: Restore missing
.media-objectthat was removed in #14801. -
#15140: Restore
.mediaand.media-bodystyles that were removed in #14801. -
#15142: Add
position: relative;to.dropupfor proper menu placement. -
#15148, #15307: Use same value for
margins on default.dropdown-menuas.dropup .dropdown-menus. -
#15244: Vertically center
.icon-prevand.icon-nextin carousel controls withline-height: 1. -
#15278: Fix
border-radiuson nested button groups with only one child. -
#15413, #15422: Fixes
.input-group-smand.input-group-lgfor temporal date inputs. - #15428: Update browser bug references in Less comments.
-
#15482: Add
.disabledclass to the.btn-stylesmixin in the theme. -
#15497: Increase decimals on
@line-height-largefrom1.33to1.3333333to fix button sizing in Chrome for Windows 8.1. -
#15536, #15559: Apply form group size variations to
.form-control-static. -
#15551: Fix
.table-stripedto work with tooltips on rows by usingnth-of-typeinstead ofnth-child. -
#15565, #15567: Use
@link-hover-decorationfor.btn-linkto match defaulta:hoverstyles. -
#15594: Reset the
coloron<small>and.smallelements within.panel-titles.
Icon font
- bcb90ef / #15213: Update to Glyphicons v1.9
- #15464: Exclude 2 problematic icons that were added in Glyphicons v1.9
JS
Collapse
-
#15131: Use
$.fn.childreninstead of>in selector. - #15241: Add basic collapse plugin example for toggling another element.
Carousel
-
#15152: Make
wrap: falsework again (fixes regression)
Affix
-
#15154: Fix bug where
.affix-topwas not getting applied due to padding
Tooltip/Popover
- #15425: Belatedly add regression test for #14244.
- #15466: Revert #14189 (and thus remove the recently-added "multiple delegated tooltips on a single element" feature) since it caused some nasty regressions.
Misc
- #15535: Use strict mode in jQuery version check function
Docs
- #15094: Add Options, Methods, and Events subsections for each plugin to the JavaScript docs nav sidebar.
-
#15120, #15137: Fix
.form-inlineexample in CSS docs. - #15125: Clean up ARIA role usage.
-
#15129: Specify
imgalternative text. -
#15133: Fix up use of
scopeandth/tdelements inside tables. - #15194: Improve recommended media component markup.
- #15238, #15306: Add more information about CSS source maps.
-
#15277: Remove dummy
href="#"from dismiss-on-next-click popover example - #15334: Fix/merge advice on low percentage progress bars.
- #15337: Add @patrickhlauke to Core Team list on the About page.
-
#15340: Document that the border-radius of
<select>s can't be styled in all browsers - #15363: Make skip link look less "bare bones" and expand related accessibility advice.
- #15426: Remove holder.js references from syntax-highlighted example HTML.
-
#15465: Document that calling tooltip/popover
show/hidemethod qualifies as manual triggering. -
#15470: Document the
VERSIONproperty of the jQuery plugins. -
#15472: Document that responsive tables use
overflow-y: hidden. - #15473: Document that Autoprefixer is required.
-
#15498: Add examples of using feedback icons with
.input-group. - #15524: Add pointer to Masonry (& similar) in the Thumbnail docs.
-
#15560: Document that
.form-inline&.form-horizontalwork fine on non-<form>s too, - #15569: Document usage of npm package.
-
#15581: Add example of using
.form-inlinewith visible<label>s.
Examples
- #15096: Fix navbar forms in the non-responsive example.
Browser bugs
- 0445f23: The Chrome bug related to #14972 has been fixed on Linux. On Windows, it's still broken due to a different Chrome bug currently slated for Chrome 41.
- #15407: Add Wall of Browser Bugs entry for #15205.
- #15415: Add Wall of Browser Bugs entry for #11266 / #13098.
- #15576: Add Wall of Browser Bugs entry for #15298.
Accessibility
-
#15320: Expanded advice on labels for inline forms, use of
titleand explanation for<abbr>, replaced use ofsr-onlytext witharia-labelfor close buttons, wrapped sidebar navigation in a<nav>. -
#15327: Expanded advice for optional icons with hidden labels, replaced use of
sr-onlytext witharia-labelfor pagination "previous"/"next" links, callout and examples for various labelling methods for input groups, made main button in segmented buttons in input groups keyboard-focusable, split out/clarifiedmultipleattribute on<select>elements.
Customizer
- #15309: Catch and properly report compile errors that Less.js's toCSS() can throw.
-
#15330: Tie help block to input with
aria-describedby. - #15395: Add warning message about intermittent Firefox-related bug.
Build tools / Packaging
- #15149: Upgraded OS X JS browser tests to OS X Yosemite
- #15150: Upgraded iOS JS browser tests to iOS 8.1
-
#15269: Make HTML validator Grunt task ignore spurious errors about
<li role="separator">...</li> - #15355, #15356, #15357, #15451, #15452, #15453, #15454, #15455, #15462: Update to latest versions of various libraries & Grunt tasks.
Bots
- #15176, #15177, #15187: Launched @twbs-savage bot to automatically run Sauce cross-browser tests on JavaScript pull requests. GitHub repo: https://github.com/twbs/savage
- Launched @twbs-grunt bot to automatically keep our
/dist/files up-to-date. GitHub repo: https://github.com/twbs/gruntworker
Downloads
PreviousNext