Releases: twbs/bootstrap
Releases · twbs/bootstrap
v4.0.0-alpha.4
Fourth alpha release!
See the closed milestone for details.
v4.0.0-alpha.3
Third alpha release!
See the closed milestone for details.
v3.3.7
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
$element
to 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-label
and callout about labeling pagination components
Docs
v4.0.0-alpha.2
Second alpha release!
See the closed milestone or the blog post for more details.
v3.3.6
CSS
- #16492: Use
@input-border-radius
variables on input groups. - #16529: Un-style the caret on
<select>
s in IE10+. - #16562, #16563: Create and implement a new
@dl-horizontal-breakpoint
variable to replace the@grid-float-breakpoint
on.dl-horizontal
. - #16646, #16651: Fix hover border covering active links in pagination.
- #16684: Fix
border-radius
not 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-height
on modal headers and replace with a clearfix to avoid collapsing when no title exists. - #16779: Adjust the
padding
on jumbotrons within containers. - #16785: Round the
padding
on containers to match the new rounding of negativemargin
s 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-top
of.control-label
s in large and small horizontal forms. - #16975: Use
@carousel-control-font-size
for in specific pixel values. - #17001: Fix borders on focused inputs in input groups.
JS
- #16865: Fix triggering of
shown.bs.dropdown
&hidden.bs.dropdown
events so thatrelatedTarget
property 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.md
file 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-prev
alternative classes for carousel. - #17003: Add
.col-offset-0
example addition to docs. - #17726: Clarify the purpose of adding
.in
to the.fade
of 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-title
overrides the font size of<h1>
–<h6>
tags - #18080: Document conflict between strict Content Security Policy and inline
style
attributes of.progress
bars, 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
v4.0.0 alpha
First alpha release!
See the pull request or the blog post for more details.
v3.3.5
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
adjusta:focus
color in addition toa: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>
.btn
s - #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-item
s. - #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
.btn
s that are direct children of.btn-toolbar
- #16281, #16351: Round grid column gutter operations to prevent inaccurate
padding
andmargin
- #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 specifyingline-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 / 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/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 todisplay: 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"
toa[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 frombaseline
tomiddle
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
andoverflow
. - #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 themain
field - #16378: Set
"moduleType": "globals"
inbower.json
- #16379: Remove moot
version
field from and addlicense
field tobower.json
- #16408: Include entire
/grunt/
folder in npm package so thatgrunt dist
works
Grunt
v3.3.4
CSS
- #15561, #15628: Properly resize
.badge
s inside.btn-group-xs
- #15620: Add
.glyphicon-*
aliases for other ISO 4217-ish currency codes:.glyphicon-btc
and.glyphicon-xbt
for.glyphicon-bitcoin
.glyphicon-jpy
for.glyphicon-yen
.glyphicon-rub
for.glyphicon-ruble
- #15656: Improve positioning of inline checkboxes and radio buttons by setting
position: relative
- #15682, #15697: Ensure
.caret
is the same size in Firefox - #15699: Ensure
.form-control-static
doesn'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 !important
from.hidden
class per upstream H5BP change - #15825: Use a utility mixing for
.initialism
text transformation - #15947, #15974: iOS fix for
role="button"
elements - #16021: Remove
visibility
properties where they are redundant to existingdisplay
properties
JS
- #15378: Modal: Work around IE scrollbars not taking up page width
- #15496: Make
$(document).tooltip({...})
without theselector
option throw an error - #15520: Dropdown: Properly ignore
.disabled
elements when using keyboard navigation - #15557: Tooltip: Avoid creating an unnecessary tooltip when
Tooltip#hide
is 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()
'sisHorizontal
parameter toisVertical
for accuracy - #15693: Remove duplicate implementation of
tip()
method inpopover.js
- #15930: Modal: Apply any preexisting inline body padding again after closing
- #15941: Update the
.collapsed
class andaria-expanded
attribute 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
:hover
on mobile browsers - #15648: Improve image layout in the Carousel example and document image alignment via
.center-block
- #15662: Mention
dropup
variation in dropdown docs - #15683, #15703: Clarify usage and effects of
readonly
anddisabled
input
s - #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
destroy
works 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
main
field - #15716: Integrate with Meteor's package manager
- #15809: Specify the files to install via npm
Grunt/Travis
v3.3.2
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-object
that was removed in #14801. - #15140: Restore
.media
and.media-body
styles that were removed in #14801. - #15142: Add
position: relative;
to.dropup
for proper menu placement. - #15148, #15307: Use same value for
margin
s on default.dropdown-menu
as.dropup .dropdown-menu
s. - #15244: Vertically center
.icon-prev
and.icon-next
in carousel controls withline-height: 1
. - #15278: Fix
border-radius
on nested button groups with only one child. - #15413, #15422: Fixes
.input-group-sm
and.input-group-lg
for temporal date inputs. - #15428: Update browser bug references in Less comments.
- #15482: Add
.disabled
class to the.btn-styles
mixin in the theme. - #15497: Increase decimals on
@line-height-large
from1.33
to1.3333333
to fix button sizing in Chrome for Windows 8.1. - #15536, #15559: Apply form group size variations to
.form-control-static
. - #15551: Fix
.table-striped
to work with tooltips on rows by usingnth-of-type
instead ofnth-child
. - #15565, #15567: Use
@link-hover-decoration
for.btn-link
to match defaulta:hover
styles. - #15594: Reset the
color
on<small>
and.small
elements within.panel-title
s.
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.children
instead of>
in selector. - #15241: Add basic collapse plugin example for toggling another element.
Carousel
- #15152: Make
wrap: false
work again (fixes regression)
Affix
- #15154: Fix bug where
.affix-top
was 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-inline
example in CSS docs. - #15125: Clean up ARIA role usage.
- #15129: Specify
img
alternative text. - #15133: Fix up use of
scope
andth
/td
elements 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
/hide
method qualifies as manual triggering. - #15470: Document the
VERSION
property 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-horizontal
work fine on non-<form>
s too, - #15569: Document usage of npm package.
- #15581: Add example of using
.form-inline
with 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
title
and explanation for<abbr>
, replaced use ofsr-only
text witharia-label
for close buttons, wrapped sidebar navigation in a<nav>
. - #15327: Expanded advice for optional icons with hidden labels, replaced use of
sr-only
text witharia-label
for 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/clarifiedmultiple
attribute 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
v3.3.1
Follow up patch release for bug fixes and documentation improvements.
CSS
Forms
- #14234: Drop the IE specific hacks for temporal inputs and replace with a Safari media query hack to avoid the IE problems altogether.
Button groups
- #15086: Don't remove focus outline from buttons in button groups.
Badges
- #14915: Properly color badges in
.active
item of<ul>
-based list groups. - #15052: Fix active styles when in non-anchor
.list-group-item
.
Jumbotron
- #14979: Override
.jumbotron
padding within.container-fluid
to match.container
.
Navbar
- #14965: Reset
border-radius
on top corners on dropdown menus in fixed bottom navbars.
Popovers and tooltips
- #14936, #15019: Fix some bugs in and deprecate diagonal placement classes for tooltips.
- #15046: Add full font overrides for popovers and tooltips.
Theme
- #14381: Correctly override active dropdown items in collapsed navbars in the theme.
- #15018: Correctly override active dropdown items in collapsed navbars.
JS
- #14925: Make button plugin's focus shim recognize
focusin
event in addition tofocus
event. - #14931: Add workaround for seemingly spurious tooltip viewport unit test failures on iOS 8.
- #14927: Fix modal backdrop overlaying the modal's scrollbar.
- #14933: Center modal at all times.
- #14993: Have Carousel ignore keyboard events emited by
<input>
s or<textarea>
s. - #15088: Dropdown: Ignore keydown events coming from
input
s andtextarea
s.
Docs
Browser bugs
- #14920: Add Wall of Browser Bugs entry for #14868.
- #14922: Add Wall of Browser Bugs entry for #14708.
- #14958: Add Wall of Browser Bugs entry for #14409.
- #14985: Add Wall of Browser Bugs entry for #14972.
Accessibility
- #14951: Assorted accessibility (and some consistency) fixes.
- #15009, #15085: Glyphicon accessibility improvements.
- #15087: Wash-up of some stray dropdown examples' ARIA roles.
Contributing guidelines
- #14949: Explain issue bots & PR bots in
CONTRIBUTING.md
. - #14959: Mention common contributor mistakes in
CONTRIBUTING.md
.
Components, examples, etc
- #14917: Use HTML5
<footer>
tag in examples. - #14945: Replace deprecated uses of
.pull-left
&.pull-right
in.media
docs. - #14986: Mention Safari font size issues with fixed-width
.container
s in Printing docs. - #14989: Add
event.relatedTarget
+data-*
example of how to vary modal content based on which button activated the modal. - #15015: Add initialization examples to tooltip and popover "Opt-in functionality" callouts.
- #15077: Document required
.active
class on one carousel slide.
Customizer
- #14954: Fix
config.json
file upload widget event listener. - #14980: Integrate Autoprefixer into the Customizer.
- #15031: Remove file type check from config import.
Build tools / Packaging
- #15072: HTML validation:
X-UA-Compatible
now validates, so remove it from the list of ignored errors. - Update devDependencies