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-index to avoid border overlapping in input groups
  • #15956: Properly position .form-control-feedback across within input groups
  • #15976, #15978: Fix overlapped border on pagination links on hover
  • #16047: Make .text-emphasis-variant adjust a:focus color in addition to a:hover color
  • #16086: Reset text/font properties more thoroughly for tooltips+popovers
  • #16089: Add @jumbotron-heading-font-size variable
  • #16092: Only disable pointer-events on disabled <a> .btns
  • #16120, #16350: Add max-width: none to .media > .img-thumbnail to prevent malformed images
  • #16160: Make .bg-variant mixin adjust :focus color in addition to :hover color
  • #16166, #16174: Update .visible* mixin to use !important on <table> elements
  • #16175: Fix border-radius on 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 px unit to perspective property value
  • #16258: Fix regression that made .caret not display in IE8
  • #16259: Remove workaround for OS X <select> printing bug that's been fixed in recent Chrome
  • #16271, #16373: Add @btn-border-radius variables 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 padding and margin
  • #16333: Ensure proper sizing of .form-control-feedback in .form-group-* size variations.
  • #16346, #16472: Update iOS temporal input overrides to be limited to .form-control uses.
  • #16371, #16405: Vertically center carousel controls in small viewports.
  • #16374, #16477: Redo jumbotron padding to prevent double negative spacing and overflowing containers.
  • #16457, #16447: Add the license banner to the top of bootstrap.less.
  • #16460: Fix inaccurate .pagination-sm height by specifying line-height.
  • #16482, #16485: Add border-radius variable to theme's inverse navbar.
  • #16614: Fix asymmetry between dropup and dropdown carets.

Accessibility

  • #16154: Darker style .focus and :focus:hover on .active buttons
  • #16226, #16404: Fix radio and checkbox keyboard handling in .btn-group (plus removal of obsolete unit test)
  • #16571: Generalize dropdowns / droprole="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/popover event fired after tooltip/popover DOM is inserted into the document
  • #16151: Tooltip/popover: Allow viewport option to be a function
  • #16152: Fix auto placement to use viewport on tooltips and popovers
  • #16158: Modals: Remove aria-hidden usage that's redundant to display: none
  • #16263: Use .dropdown-menu instead 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" to a[data-toggle="collapse"]
  • #16107: Add .alert change 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-expanded to 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 padding in .bs-docs-header that 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-align on badges from baseline to middle for 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-inline in non-responsive example doesn't stack
  • #16369: Separate the docs for .dropdown and .dropup for more accurate examples
  • #16398: Remove role="button" from download links
  • #16409: Document Affix plugin's checkPosition method
  • #16411: Document that 'manual' trigger is mutually exclusive of other tooltip/popover triggers
  • #16417: Added #panels-footer to 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 height and overflow.
  • #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.json to comply with Bower's new spec for the main field
  • #16378: Set "moduleType": "globals" in bower.json
  • #16379: Remove moot version field from and add license field to bower.json
  • #16408: Include entire /grunt/ folder in npm package so that grunt dist works

Grunt

  • #15294: Add grunt-contrib-htmlmin for docs
  • #16254: Upgrade iOS to v8.2 in Sauce Labs JS tests