Releases: twbs/bootstrap
v3.3.0
Be sure to read the blog post for more details!
CSS
Variables and mixins
- #13923: Add
@gray-base
variable to make@gray-*
variables work better together. - #14440: Remove unused
@nav-open-link-hover-color
variable. - #14511: Add missing
border-radius
variables for small and large inputs. - #14592: Add
@progress-border-radius
variable for progress bar. - #14786: Add
@link-hover-decoration
variable. - #14891: Add
@cursor-disabled
variable.
Code
- #14168: Make nested kbd elements bold so you can better identify combinators.
Type
- #13967: Don't reset the
<cite>
element'sfont-style
. - #14682: Remove the
content: "";
reset on<blockquote>
elements as it can cause rendering bugs.
Images
- #13996: Revert the IE backslash hack for
.img-responsive
on SVG images from #10073 as it stretches all image types unnecessarily in IE<11.
Tables
- #13202: Always use
overflow: auto;
on.table-responsive
to prevent content breaking out of containers. - #13920: Assign
background-color
to<tr>
elements instead of<th>
/<td>
within the.table-striped
to avoid broken backgrounds on responsive tables. - #14095: Add basic styling for
<caption>
s. - #14251: Remove the
-webkit-overflow-scrolling
on.table-responsive
to prevent Safari from screwing up<body>
width. - #14838: Fix IE9 bug when
.table-responsive
is used with.table-hover
Forms
- #12669 (again): Redeclare the line-heights on date inputs in IE8+ to avoid cut off content.
- #13989: Don't extend the input sizes in small and large form groups. Instead, manually chain the selectors.
- #13997: Move
min-height
for radio/checkbox to their inner<label>
given move fromfloat
toposition: absolute;
in v3.2.0. - #14005: Only adjust the
.has-feedback
icons when needed. - #14104: Remove pointer events on feedback icons.
- #14107: Lighten placeholder text back to
#999
. - #14221: Make
.form-control-static
work in inline forms as well. - #14234: Reset the IE8-10 temporal input
line-height
bug with another hack just for IE11.
Buttons
- #14029: Add
touch-action: manipulation
to buttons to remove the 300ms delay in IE10+. - #14030: Remove superfluous
cursor: pointer;
on.btn-link
since we already set it on.btn
. - #14310: Remove the
box-shadow
on.btn-link.active
to match the existing:active
override.
Button groups
- #14053: Don't show radio/checkbox in justified button groups.
- #14559: Properly hide checkbox and radio inputs in button groups.
Thumbnails
- #14443: Only transition what needs transitioning for thumbnails to avoid Safari/Chrome render bug.
Navbar
- #12738: Using landscape orientation media query for setting
max-height
on the.navbar-collapse
content requires use ofmax-device-width
, notmax-width
. - #13325, #13464: Changed
:last-child
overrides in navbars to:first-child
to prevent elements from overriding one another. - #13943: Lighten the navbar inverse link and text color more since our text contrast change in v3.2.0.
- #14051: Improve
margin
s on.navbar-right
to further fix #13325 and #13464. - #14557: Remove the
margin-bottom
on.form-group:last-child
in xs.navbar-form
. - #14667: Remove
translate3d
from.navbar
and switch totranslate
to prevent iOS dropdown rendering bugs and make the CSS more predictable.
Jumbotron
- #14337: Round
.jumbotron
corners within.container
and.container-fluid
. - #14563: Prevent jumbotron reflow by changing the
padding
of.jumbotron
so it doesn't interfere with the.container
side padding.
List groups
- #13931: Set
not-allowed
cursor on disabled.list-group-item
s. - #14711: Account for list groups in collapsing panels—just replace the
.panel-body
with a.list-group
.
Progress bars
- #13953, #14736: Remove the progress bar
min-width
styles for low percentages to avoid jumping progress.
Media object
- #14801: Add vertical alignment of image in media component. Also deprecated the use of
.pull-left
and.pull-right
in.media
. They are replaced by the new.media-left
and.media-right
classes.
Panels
- #14142: Adding horizontal padding to
caption
s in.table
s in panels. - #14253: Add borders for tables that follow panel bodies.
- #14329: Fix alignment, spacing, and borders for list groups nested within collapsing panels.
- #14437: Round the corners of table rows in panels as well as the cells.
Responsive embed
- #14687: Include
<video>
element support in responsive embed.
Popovers
- #14386: Reset font, text, and
line-height
properties in popovers. Moves thefont-weight
andline-height
resets from.popover-title
to the.popover
, and addsfont-size
. - #14465: Make
@popover-arrow-color
variable use the@popover-bg
variable instead of regular#fff
.
Affix
- #13974, #14123: Remove translate3d repaint performance enhancement for text rendering and position wonkiness.
- #14363: Make affix accept
0
as offsetTop or offsetBottom
Carousel
- #13074: Add WebKit CSS3 carousel
transform
s for supported devices.
Theme
- #14074: Make open dropdown nav links in navbars use gradients to match active links.
- #14814: Use
@navbar-*-link-active-bg
variables in background gradients on active/open navbar items. - #14806: Reset the
text-shadow
on badges in the themed buttons.
Glyphicons
- #14869: Added
.glyphicon-eur
alias for.glyphicon-euro
.
- #14452: Update
print.less
from its H5BP source to consolidate styles and update source URL. - #14790: Update to the latest H5BP.
Dependencies
- #14743: Updated normalize.css to v3.0.2.
JS
- #12815: Make zero-value offsets work on affix plugin via data attributes.
- #13814, #13815: Allow tabs to fade in if there are no initially active panes present.
- #13853: Major unit tests cleanup.
- #13907: Add
.focus
to focused radio and checkbox buttons with the button plugin. - #13998: Namespace the
affixed
event - #14000: When a modal is open, pressing the Esc key to close a native browser dialog or menu no longer also closes the modal
- #14015: Fix positioning of tooltips on SVG elements
- #14034: Deprecated the
remote
option of modals - #14069: Carousel now skip over non-items when its
next
orprev
methods are called - #14090, #14091: Fix IE8 JS unit test problems
- #14244: Remove popover content with
.children().detach()
instead of.empty()
. - #14273: Fix hover-triggered popover/tooltip flickering when mouse re-enters trigger element.
- #14282: Already visible collapse content no longer closes when
.collapse('show')
is called. - #14316: Use closest
.alert
for alert dismissal. - #14357: Recalculate scrollbar width for modal every time in case user resizes the window.
- #13928: Ensure that hidden event is sent when content is really hidden (
collapsing
class is removed). - #14573: Make
inDom
check of tooltip cross document compatible. - #14492: Handle lack of .width and .height from getBoundingClientRect() in IE8.
- #14353: Collapse: count
.collapsing
elements as actives. - #14571: Properly fire hidden event when tooltip is destroyed.
- #13718: Correctly selects arrow placement for a tooltip.
- #14610: Remove unused (and undocumented) Tooltip#validate method.
- #14581: Fix tooltip misplacement with "auto top".
- #14570: Remove
.modal-open
class after backdrop is hidden. - #14599: Tooltip: Rely on
getBoundingClientRect
forwidth
andheight
. - #14623: Use container instead of parent for tooltip/popover auto-placement calculations.
- #14626: Carousel: Only enable
pause: hover
for non-touch browsers. - #14722: Escape key should only close Dropdown.
- #14723: Use
translate
instead oftranslate3d
on modals to fix bug where sometimes modal wouldn't reappear in Safari. - #14590: Add
keyboard
option to carousel. - #14724: Modal no longer closes when dragging and releasing the mouse button outside the dialog.
- #14845: Collapse: Don't fire show event if show is prevented because other element is transitioning.
- #14767: Fixes tooltip misplacements in scrollable viewports with auto positioning.
- #14772: Implement
hide
andhidden
events for tabs. - #14852: Bump minimum required jQuery version to 1.9.1 and throw an error when Bootstrap's JS is used with outdated versions of jQuery.
- #13563: Clear scrollspy selection above first section.
- #14189: Handle multiple delegated selectors on tooltip and popover nodes.
- #14519: Fix tooltip occasionally not hiding when using a hide delay.
- #14457: Change value of stateful button after event loop.
- #14686: Handle
collapsed
class on triggers even when manually invoked. - #14463: Independently delegate data-api selectors.
Accessibility
- #14070: Add
role="tablist"
to.nav-pills
in examples to improve accessibility. - #14071: Add
role="listbox"
to.carousel-inner
to improve accessibility of Carousels. - #14072: Add screenreader text to previous/next carousel buttons in examples to improve accessibility.
- #14085: Add
role="presentation"
to tab<li>
s to improve accessibility. - #14086: Add
role="tabpanel"
to.tab-pane
<div>
s to improve accessibility. - #14088: Add
role="tabpanel"
to.panel-collapse
to improve accessibility. - #14089: Add
role="tablist"
&aria-multiselectable="true"
to accordion.panel-group
. - #14208: Add ARIA attributes to dropdown plugin.
- #14242: Remove
aria-describedby
attribute from tootips later - #14147: ARIA / screenreader support for collapse
- #14577: Wrap
.pagination
&.pager
in<nav>
so that AT can know they're for navigation - #14578: add
aria-labelledby
to accordion example to improve accessibility - #14579: add
role="tab"
to.panel-heading
s in accordion example to improve accessibility - #14673: Add
visibility
styles to navbar and component animations (fade and collapse) for more screenreader friendly components. - #1...
v3.2.0
Be sure to read the blog post for the highlights.
New features
- #12042: Responsive embeds, as seen in SUIT CSS.
- #12204: Visibility and hidden classes for
block
,inline-block
, andinline
elements. - #12690: Added ZeroClipboard to provide a Flash-based copy button on all examples to quickly copy snippets of code.
CSS
Misc
- #12679: Add
.sr-only-focusable
class to provide a focus state for skip nav links. - #13194: Update Normalize to v3.0.1.
- #13649: Add
translate3d
in a few instances to reduce repainting when scrolling. - #13737: Reset the
html
font-size
using pixels instead of percentages.
Mixins
- #12459: Refactor scale mixins to ensure both
.scale(x)
and.scale(x, y)
work. - #12855: Add
.animation-fill-mode()
mixin. - #12993: Add a table of contents to
mixins.less
and reorganize things. - #12998: Modularized the mixins into separate files. We now have a
mixins
directory in ourless
folder that@import
s all the mixins intomixins.less
(for backward compatibility). - #13859: Update the
.skew()
mixin to useskewX(...) skewY(...)
instead of old and deprecatedskew(x,y)
syntax.
Grid system
- #12854, #12863: Properly reset
left
values toauto
instead of0
in.col-*-push-0
and.col-*-pull-0
grid reset classes. - #13616: Add custom grid gutter support to
.container-fixed()
..make-row
and.make-*-col
mixins already had this ability, so this simply completes the package.
Images
- #10073: Add
width: 100% \9;
to.img-responsive
to prevent IE10 and below from distorting<svg>
elements.
Typography
- #12753, #12756: Ensure the
.clearfix
is applied on.dl-horizontal dd
by moving it out of the media query (Less doesn't respect:extend()
within media queries). - #13449: Increase
.lead
font-weight
for better readability on mobile. - #13671: Add
text-transform
utility classes. - #13854: Darken
@gray-light
and.lead
to meet accessibility guidelines. - #13860: Add a new variable for
.dl-horizontal
's offset.
Code
- #12824: Remove
white-space: nowrap
from<code>
elements in favor of defaultpre-wrap
value for better rendering on narrow viewports. - #13351: Add support for nested
kbd
elements.
Tables
- #12722: Scope
.table-responsive
styles toscreen
devices only so they're not cut off when printing from Chrome (Safari is fine, unknown for IE and FF). - #12742: Make
.table-responsive
more mixin-friendly. - #13013: Ensure table cells with contextual states preserve their styles when used within a hover table.
- #13375: Remove bottom margin on tables within collapsible panels.
- #13670: Use
overflow-x: auto;
in responsive tables to hide the scrollbar when it's not needed. - #13707: Remove unnecessary
max-width: 100%;
on<table>
s and place it on.table
s.
Forms
- #12669: Properly reset
line-height
on all date inputs to ensure Mobile Safari and IE8+ display them correctly. - #12759: Make input groups in inline forms use
display: table-cell
so they are sized properly and appear on the same line as intended. - #12794: Fix placement of browser-based form validation popovers for
required
attribute. Applies to Firefox and Chrome. - #12801: Add padding to the bottom of
.form-control-static
to match height of standard form controls. - #12843: Scope label styles for horizontal forms to a media query so their narrow viewport display looks just like a normal form.
- #12868: Vertically center form feedback icons for large and small inputs. Also reorders our
bootstrap.less
file to placeglyphicons.less
closer to the top of our imports to avoid specificity issues. - #13003: Move
padding
on.radio
s and.checkbox
s to their immediate<label>
s to avoid the no-click deadzone caused by negative margin. - #13066: Add
z-index
to the form control feedback icons so input groups don't render on top of them. - #13099: Fix vertical alignment for all time-based inputs on iOS.
- #13141: Add a
max-width: 100%;
to<label>
elements so IE8 wraps text properly. - #13320: Fix
.form-control-feedback
position when labels have the.sr-only
class applied. This makes it super easy to use optional feedback icons with no visible label. - #13548: Use
position: absolute;
and an IE8-9 hack to fix checkbox and radioline-height
problems (and the vertical alignment) that were introduced after #13003. - #13651: Update explanatory comment about iOS date/time inputs bug.
- #13745: Add optional
.disabled
class to set not-allowed cursor on disabled radio and checkbox labels. - #13856: Add
.form-group-sm
and.form-group-lg
. - #13872: Always apply padding to
.form-control-static
for proper vertical alignment.
Buttons
- #12937: Darken active button background colors just a bit.
- #13079: Scope
.open
button state in.button-variant()
mixin to immediate children. - #13549: Use
.opacity()
mixin on button group inputs for IE8 support. - #13903: Restore side padding on
.btn-block
.
Panels
- #12683: Remove the
overflow: hidden;
from.panel-group > .panel
because it apparently serves no purpose and cuts off nested dropdown menus. - #12745: Add
@panel-heading-padding
and@panel-footer-padding
variables for panels. - #12822: Scope panel collapse styles to immediate
.panel-body
s only. - #13689: Fix double border in panel when a list group is followed by panel footer.
- #13735: Fix bug where a panel recieve extra top border when placed within a collapsible panel.
List groups
- #12490: Add support for disabled list items in list groups.
- #12739: Add
@list-group-link-hover-color
variable to customize the text color when hovering on linked list items. - #13857: Properly color
<small>
/.small
within active list group headings.
Progress bars
- #12848: Improve progress bars to better handle low to zero percentage values.
- #13861: Refactor striped and animated striped progress bars to deprecate the required parent class and add new modifier classes.
Badges
Navbar
- #12738: Revamps navbar collapse functionality. Instead of setting a
max-height
on all.navbar-collapse
elements, we only apply it to fixed top and bottom navbars. Also adds a shortermax-height
for landscape views to ensure scrolling still works. - #12694, #12813: Correctly reset
.btn-link
colors in a navbars.
Dropdowns
- #13037: Add
text-align: left;
to.dropdown-menu
to avoid inheritance from any parent that might reset that property (e.g., our.modal-footer
). - #13369: Fix dropdown menu alignment in justified button groups in Firefox.
- #13851: Add
white-space: nowrap;
to.dropdown-header
to match dropdown links.
Tooltips and popovers
- #12934, #12952: Base rounded corners on popover titles on the
@border-radius-large
variable. - #13216, #13217: Increase
z-index
values on tooltips and popovers to always be in front of modals.
Modals
- #12803: Removed unnecessary top margin from
.modal-footer
. All spacing is addressed bypadding
on the.modal-body
, and the.modal-header
never had anymargin
on it. - 7e551ec: Update padding on modals to be
15px
all around. Previously was15px
in the header and20px
everywhere else. - #13609: Update modal CSS to prevent shifting before animation.
Collapse
- #12593: Add support to Collapse plugin for
tr
s andtbody
s.
Carousel
- #13242: Fix horizontal alignment of carousel controls by using appropriate margin for each side.
Theme
- #13093: Reset the
background-color
andbackground-image
on disabled theme buttons.
Glyphicons
- #13542: Fixes #13478 by reverting #10941. This undoes the hardcoded some URL escaping around our icon paths as a way to fix broken assets when Bootstrap was included via Bower. Instead, folks implementing Bootstrap via Bower should use the relative URLs feature of Less.
JavaScript
Misc
- #11464: Improve the JavaScript
noConflict()
mode not working in 3.0.x. - #11966: Fix
.noConflict()
mode. - #12948: Use quotes around all element attribute values in selectors.
Dropdowns
- #11281: When opening a dropdown, focus the toggle before (instead of after) triggering the
shown
event. - #13296, #13354: Don't let dropdown menus disappear with right-click in Firefox.
Buttons
- #13511: Fix button plugin to allow empty string as reset state.
Scrollspy
- #11453: Fix scrollspy for targets within tabs.
- #11937: Correctly determine
scrollheight
of<body>
in IE10 and lower. - #12337: Correct some internal event names in scrollspy plugin.
- #13220: Correct scrollspy offsets when
scrollheight
changes. - #13589: Adjust for Scrollspy offset when calculating
maxScroll
. - #13702: Minor scrollspy refactoring.
Modals
- #11958: Move Modal
removeBackdrop()
call fromhideModal()
intobackdrop()
. - #12761: Remove
.focus()
event aliases from modal and dropdown plugins. - #12850: Stop passing argument of incorrect type to
Modal.hide()
- #13103: Stop modals from shifting
<body>
content to the left. - #13615: Add missing event namespacing in
modal.js
. - #13627: Fix restoration of focus to the triggering element upon dismissal of a modal.
Alerts
- #13406: Fire
closed.bs.alert
event after (instead of before) alert has been detached from the DOM.
Affix
- #9342, #12982: Properly reset affix position when scrolling back to top.
- #12862: Improve flickering and simplify calculations in affix plugin.
- #13342: Add a
target
option to the Affix plugin. - #13541: Improve affix plugin's
affix-bottom
positioning.
Tooltips and popovers
v3.1.1
General bug fix and documentation release.
CSS
- #11659, #12349, #12698: Always show the input above appended buttons in input groups for proper focus and disabled state borders.
- #12025: Ensure responsive utility classes can be combined with one another.
- #12195: Apply
.btn:focused
styles to.btn.active:focused
for improved accessibility. - #12412: Refactored and renamed our internal grid mixins for generating custom number of grid columns.
- #12433: Use negative
margin
on.list-inline
s so we don't override thepadding-left
on the first list item. - #12448: Use
@navbar-height
instead on.navbar-brand
to prevent element from being shorter than navbar height. Corrects a change introduced in v3.1.0. - #12462: Add
border-radius
to tables when in panels for proper rounding with all background settings. - #12470: Scope large modal styles to minimum viewport width.
- #12486: Restore full width inputs for input groups in inline forms and navbars.
- #12502: Remove long deprecated
:-moz-placeholder
styles. - #12532: Scope popover arrow styles to immediate children.
- #12552: Fixes two typos in
carousel.less
for the Glyphicon classes. - #12620, #12621: Use
:extend(.img-responsive)
instead of mixin in thumbnail and carousel. - #12625: Only remove top and bottom borders on list groups in panels if the list group is the first or last element.
- #12629: Override the default rounded corners in iOS's search input with
-webkit-appearance: none;
. - #12633: Properly reset borders on table cells in panels.
- #12639: Drop the unsupported by Opera
-o-user-select
. - #12659: Add
@blockquote-font-size
variable for calculated text size. - #12673: Use
@popover-arrow-width
for popover offsets. - #12674: Update popover
border
colors to use computed values rather than static ones.
Sass
JavaScript
- #12436: Update docs, examples, and tests to use jQuery v1.11.0.
Docs
- #12437: Note specific versions of IE where progress bar animation is supported.
- #12439: Correct docs error about available grid resets.
- #12477: Clarify supported versions of Internet Explorer (we do v8-11) in browser support docs.
- #12494: Update docs to reflect modal remote change from #11933.
- #12497: Remove manual full-width container callout now that there's
.container-fluid
. - #12512: Improve alignment of the Dashboard example placeholder images.
- #12519: Add Bower badge to README.
- #12527: Clarify that dropdowns always require
data-toggle="dropdown"
. - #12543, #12544, #12545, #12546: Various fixes to the migration docs.
- #12555: Rearrange variables to place grids and containers closer together in Customizer.
- #12564: Distribution zip folder renamed to be more descriptive.
- #12589: Add "Back to top" link to bottom of sidenav.
- #12590: Add link to Korean translation.
- #12610: Better and more consistent prefixing of docs CSS with
.bs-docs-
. - #12611: Mention limitation of one JavaScript plugin's data attributes per element.
- #12614: Add progress bar example with visible label.
- #12645: Omit semicolons consistently in JS examples.
- #12655: Upgrade holder.js to v2.3.1 so docs images are rendered properly in Internet Explorer >=9.
Examples
- #12455: Fix typo in Dashboard example's CSS.
- #12512: Improve alignment of the Dashboard example's placeholder images.
- #12526: Add scrollbars when necessary to the Dashboard example's sidebar.
- #12579: Improve sticky footer examples to avoid any wrappers and improve rendering in IE8.
- #12695: Fixed transitions on offcanvas example by adding initial left and right values.
Build tools
- #12466: Add the examples' CSS to the
csslint
task. - #12531: Add
/docs/dist/
to theclean
task. - #12534: Allow the bootstrap package in npm to directly expose CSS and Less files.
- #12568: Add the examples' CSS to the
csscomb
task. - #12581, #12583: Reorganize all Grunt tasks into one directory so that
grunt
runs properly in Bower installations. - #12605: Use license object instead of licenses array in Grunt.
v3.1.0
New features
- Three new templates: Blog, Cover, and Dashboard.
- #10884: Add
.info
variant to contextual table classes. - #11138: Add contextual styles to list groups.
- #11162: Add new sizes,
.modal-lg
and.modal-sm
, to modals for quicker settings on modals. Only applies to modals above the small breakpoint. - #11193: Add
<kbd>
element styles to indicate user input via keyboard. - #11244: Add
.animation()
mixins. - #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.
CSS changes
- #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 theheight
to date inputs for iOS 7 for proper vertical alignment of text in the form control. - #11286: Add
@well-border
variable. - #11302: Refactor the responsive utility classes to cut a few hundred lines of CSS (more context in #11214).
- #11435: Prevent the double borders between multiple buttons in an input group.
- #11561: Add
float: left;
to.form-control
s within input groups to prevent IE9 from screwing up placeholder text and select menu arrows. - #11588: Scope
font-size
to only<p>
elements in.jumbotron
s and remove the super-sizedline-height
from the base class to avoid interference with sub-components. - #11676: Add
-webkit-overflow-scrolling: touch;
to modals for smooth scrolling on iOS devices. - #11744: Clean up some incompatible properties in
forms.less
: block level inputs no longer receivevertical-align: middle;
unless necessary, e.g. in inline forms. - #11748: Updated
.scale()
mixin so that it accepts optional vertical scale as second parameter. - #11750: Reverts v3.0.3's refactor to contextual table classes to ensure they work with striped tables.
- #11757: Darken default navbar toggle bars to meet WCAG criteria.
- #11766: Use
@color
variable in.button-variant()
mixin to setbackground-color
on.badge
s in buttons for proper default button badge styles. - #11741: Don't set
@headings-font-family
to the same font stack as the<body>
; instead, just useinherit
for same default CSS. - #11786: Nest media queries within print utilities for mixin-friendliness.
- #11790: With switch to LESS compiler, remove duplicate CSS generated from the nested
.clearfix
class and mixin by switching to&:extend(.clearfix all)
. - #11801: Use correct variables for grid containers.
- #11817: Rework input groups to use the
font-size: 0;
andwhite-space: nowrap
hack for a more durable component with regards to code formatting and custom font size changes. - #11829: Add
.make-xs-column
mixins to complement the recently added extra small predefined grid classes. - #11836: Along with the form validation update, we reset some key form and icon styles:
- All
.form-control
s within inline forms are set towidth: auto;
to prevent stacking of.form-label
within a.form-group
. - Removes all
select.form-control
settings since those are now inherited by the above change - Removes the
width: 1em;
from the Glyphicons because it was virtually impossible to override.
- All
- #11841: Breadcrumb padding values now use variables.
- #11859: Restore
@dropdown-caret-color
variable, but deprecate it. - #11861: Add
@list-group-active-text-color
variable for improved customization on active list group items. - #11868: Cleanup modal
z-index
values inmodals.less
. - Updated
<blockquote>
to no longer thing text or modifyline-height
for improved readability. - #11990, #12159: Make range inputs block level and 100% wide by default.
- #12073: Make order of component variations consistent throughout the repo.
- #12164: Fix value of SVG font ID and removed hard coded value.
- #12171: Ensure panel groups have a bottom margin since we nuke it on child panels.
- #12247: Add and use
.text-emphasis-variant()
mixin for emphasis classes. Also updated emphasis classes to only apply:hover
styles to linked content. - #12248: Add and use
.bg-variant()
mixin to generate background classes. - #12249: Add and use
@modal-md
Less variable for uniformity. - #12250: Remove print
margin
s per upstream H5BP change, thus deferring to browser defaults, or users' custom values should they set them. - #12286: Only remove appropriate
border-radius
from first and last tables or list groups in panels. - #12353: Scope table border reset in panels to first-child rows.
- #12359: Reset
min-width
on<fieldset>
s so they don't break responsive tables and behave more like standard block level elements. - #12406: Upgrade to Normalize v3.
- #12422: Reset height on
select[multiple]
in.input-size()
mixin. - #12424: Given Normalize v3 upgrade, account for change on
<figure>
element so that we don't cause backward compatibility issues. - #12388: Apply a fixed
height
to.navbar-brand
to ensure adding a Glyphicon doesn't increase it's height.
JavaScript changes
- #9318, #9459, #10105: Properly place remote content within the
.modal-content
instead of.modal-body
(see note below). - #10044: Check that
href
id's are followed by valid characters in dropdowns. - #10134: Don't use jQuery
offset
directly because it uses sub pixel rendering. - #10199: Correct
hidden.bs
andshown.bs
events firing too early in tooltips and popovers. - #10205: Enable support of Chinese characters in Scrollspy targets.
- #10236: Properly calculate offset positioning for affix plugin when reloading a scrolled window.
- #10260, #10568, #10740: Properly hide tooltips and popovers if no animation is set.
- #10283: Prevent IE8 from complaining about
$.support.transition.end
. - #10327: Correctly reset carousel when the slide event is prevented.
- #10359: Pass
$element
to offset top/bottom calc funcs for better dynamic offsets. - #10658: Don't let popover content lose bound events on second
setContent
call. - #10675: Ensure scrollspy target in tab content works properly.
- #10709: Be consistent about type of quotes in our JS—switches double quotes to single quotes throughout.
- #10761: Don't create new tooltip/popover objects just to destroy them immediately.
- #10798: Modal namespacing.
- #10801: Restore
.collapse
to.in
after collapsing animation finishes in collapse plugin. - #10834: Only
preventDefault
on click on[data-toggle="modal"]
when the element is a link. - #10890: Calling
$().button(state)
shouldn't enable a disabled button. - #10911: Add
loaded
event for use with modal'sremote
option. - #10921: Input groups within button toolbars are now supported.
- #11203: Improve scrollspy's handling of hidden targets.
- #11288: Save vertical scroll position of modal between openings.
- #11362: Update affix and scrollspy on speedy scroll to top of page.
- #11373: Add related target to dropdown events.
- #11379: Fix carousel
this.sliding
not getting reset if$next.hasClass('active')
. - #11416: Use the transition duration from the CSS for the carousel.
- #11496: Clear tooltip timeout on destroy.
- #11555: Add
@tooltip-opacity
variable. - #11720: Add events (affix, affixed, affix-top, etc) to affix plugin.
- #11722: Use document scroll height instead of offset height in affix plugin.
- #11788: Use
focusin
/focusout
instead offocus
/blur
for tooltip and popover focus trigger for Firefox and Safari. - #11825: Add dropdown ARIA roles.
- #12270: Add namespace
.bs
also to the eventdismiss.modal
.
Remote modal content
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 one 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.
Deprecations
- #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
inblockquote
citation in favor offooter
element. - #12398: Deprecate
.box-shadow()
mixin.
Documentation
- #10486: Add note about
data-toggle
dropdown dependency. - #10505: Document more of our LESS variables and mixins (not all, but the commonly used ones).
- #11158: Customizer's variables are now generated via Grunt task from the
variables.less
file. - #11447: Document that modal remote URL is only loaded once.
- #11655: Normalize disabled inputs and buttons in iOS with
opacity: 1;
. - #11723: Mention removal of
.pill-content
and.pill-pane
in the migration guide. - #11738, #11765: Load minified assets in the doc...
v3.0.3
General patch release with dozens of bug fixes and more documentation improvements.
Key changes
There are a few dozen bug fixes and changes in this release, but we've called out the ones we think matter most:
- Padding of
.navbar-collapse
and alignment of.navbar-right:last-child
elements has been reworked. - Added a
max-width: 100%;
to.container
s. - Restored the twelfth column's
float: left;
at all grid tiers.
See the list below for more information on those changes and more.
Specific bug fixes and changes
- #9927: Update non-responsive example to prevent
.navbar-collapse
border from increasing height and increase specificity of nav selectors to keep dropdowns looking the same. - #10147: Remove outline from carousel controls on focus.
- #10353: Tell Bower to ignore development and documentation files.
- #10483, #10357: Make .container mixin-friendly by moving the width declarations within one class.
- #10662: Enable individually linked images within thumbnails.
- #10744: Use
border-style: solid;
on.caret
s to undo a previous Firefox fix that appears to no longer work. - #10936: Increase height of large inputs to fix Firefox inconsistencies by using
ceil()
instead offloor()
. - #10941: Fix Glyphicons path for those importing
bootstrap.less
from another directory. - #10979: Don't use
.img-thumbnail
as a mixin for.thumbnail
to avoid duplicate and unnecessary styles. - #11217: Fix vertical alignment of labels within buttons, just like badges in buttons.
- #11268: Account for badges within buttons by matching background to text color and text color to background.
- #11277: Drop the
abbr
element from the.initialism
selector. - #11299: Support
.h1
in jumbotrons. - #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-btn
s 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;
onselect.form-control
within.form-inline
. - #11414: Add
.small
support to blockquote citations. - #11425: Use
margin
instead ofpadding
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;
tooverflow-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 negativemargin
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. - #11598: Remove line breaks in minified CSS.
- #11599: Explicitly call out font files in
bower.json
to avoid npm errors. - #11610: Add
@grid-float-breakpoint-max
to better link navbar behavior across viewports and improve customization when setting@grid-float-breakpoint
. - #11614: Account for responsive tables within panels.
- #11617: Include jspm package configuration in
package.json
. - #11623: Reset
position
tostatic
for grid columns within tables to prevent borders from hiding in IE9, IE10, and Firefox. - #11648: Restore twelfth column's float.
- #11658: Increase
min-height
of.radio
/.checkbox
for horizontal forms to ensure alignment of content below. - #11693: Adds
.table
to responsive visibility mixin. - #11694: Remove unnecessary prefixes for gradient mixins given our stated browser support.
- #11712: Better support for .table-responsive within .panel's.
- 841da88: Remove browser default top margin from
dl
s.
Docs changes
Be sure to run npm install
if you're running grunt
locally—we've updated our build process and have some new dependencies.
- #9898: Improve scrollspy and affix plugin documentation.
- #10716: Update "What's included" docs section with info on full source code download directory structure.
- #11303: Add link to the docs site in compiled assets, and remove personal usernames.
- #11330: Add
overflow-x: hidden;
tobody
in offcanvas example to prevent horizontal scrolling. - #11369: Speed up jQuery and Twitter widgets on docs pages by using Google's CDN for jQuery and the async snippet from the Twitter dev site for the widgets.
- #11385: Warn about Webkit bug for justified nav example.
- #11409: Add release checklist to contributing guidelines.
- #11412: Add
word-wrap: break-word;
to docs Glyphicons class names to ensure proper wrapping in IE10-11. - #11434: Mention form validation class changes in migration docs.
- #11534: Document that modal
show()
andhide()
return before animation finishes. - #11634: Add warning to docs to not combine icon classes with other elements.
- #11671: Updated third party asset libraries (for Customizer and Holder, our thumbnail utility).
- #11701: Switch to Sauce Labs for our cross-browser JS unit testing needs.
- 4cbc8d4: Remove mention of Chrome from Webkit rendering bug for justified nav.
v3.0.2
An impromptu patch release to fix the version numbers in our JavaScript files, restore some missing grid classes, and general improvements to our documentation.
- #10039: Remove
window.jQuery
forjQuery
. - #11273: Add branch alias for
composer.json
. - #11295: Restore offset, push, and pull zero classes (e.g., 1.col-md-offset-0`)
- #11315: Add navigation role to example navbars.
- #11327: Improve nesting of
.thumbnail
styles. - #11334: Remove unnecessary
&
from CSS nesting for panels. - #11335: Add Grunt task to update version numbers across entire project. (Note: If you run our docs locally, you'll need to run
npm install
in order to rungrunt
). - #11336: Don't use nonstandard
window.location.origin
in Customizer. - #11345: Remove duplicate class changes in migration instructions.
- #11349: Add screen reader text for navbar toggles.
- #11378: Use
.navbar-*
alignment classes in.navbar-text
example. - Update Node to v0.10.x (current stable)
- Fix links to same-page anchors
- Drop
media
type on basic template example - Correct download links in readme
For a full list of issues and pull requests in this release, see the v3.0.2 milestone.
v3.0.1
First patch release for v3, featuring dozens of documentation improvements, bug fixes, and small improvements.
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 it's 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 - #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
- 3318a98: Add blog link back to docs homepage
- 8df05b9: Remove links to navbar examples from example navbars in Theme example
- 022e404: Delete smaller touch icons and only include one
- 5d1707a: Remove unused mention of
.prettyprint
styles fromcode.less
(we no longer use that plugin and the class is undocumented, so we're nuking it) - 6e06489: Remove unnecessary
left
andright
properties from.modal-dialog
since we usemargin
to center the modal - 19db69c: Add Linux Firefox to supported browsers list
- 99b3515: 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.container
s instead ofmax-width
as IE8 doesn't fully supportbox-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
- #10126: Update responsive test cases to properly highlight hidden class examples
- #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 addoverflow-x: hidden
to prevent scrollbar on narrow devices - #10232: Scope
.table
styles to immediatethead
,tbody
, andtfoot
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 intheme.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 intbody
andtfoot
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;
fromaddress
element since browsers set that to start - #10590: Mention required jQuery version in docs
- #10601: Use
overflow-y: auto;
for.navbar-collapse
instead ofvisible
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 intheme.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 `-web...
v3.0.0
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-arrangable 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.
Thanks everyone! <3
(P.S. The dist download here includes compiled CSS, JS, and fonts only—no source code or docs.)
v3.0.0 RC2
Overview
Second release candidate for the upcoming Bootstrap 3. For a complete set of changes between RC1 and RC1, see the commit logs. Key changes are summarized below. To check it out, visit http://getbootstrap.com or use one of the download options below.
There's no dedicated ZIP file for the compiled CSS and JS—that falls out of date too quickly.
To stay up to date, download the latest 3.0.0-wip instead of the download options below.
Key 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 ofrgba()
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. .row
s 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.
- Overhauled grid system to include four tiers instead of the original three of RC1. We now have
- 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 customborder-color
andbox-shadow
.
- Similar to the new button classes, we have new input size classes:
- 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.
- Inline forms now require the use of
- 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.
- Navbars now require a
- 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.
- Overhauled navbar to always be responsive and mobile first.
- 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.
- Alerts that are to be dismissed now require
v3.0.0 RC1
First release candidate for the upcoming Bootstrap 3. For a complete set of changes and migration help, visit the BS3 pull request and read through the opening comment.
To check it out, visit http://getbootstrap.com or use one of the download options below. bs-v3.0.0-rc1-dist.zip
is the compiled CSS and JavaScript (you may also just download the entire source code.
<3