Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

v3.3.5

@mdo mdo released this · 45 commits to master since this release

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

Downloads

v3.3.4

@cvrebert cvrebert released this · 382 commits to master since this release

CSS

  • #15561, #15628: Properly resize .badges 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's margin-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 existing display properties

JS

  • #15378: Modal: Work around IE scrollbars not taking up page width
  • #15496: Make $(document).tooltip({...}) without the selector 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()'s isHorizontal parameter to isVertical for accuracy
  • #15693: Remove duplicate implementation of tip() method in popover.js
  • #15930: Modal: Apply any preexisting inline body padding again after closing
  • #15941: Update the .collapsed class and aria-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 and disabled inputs
  • #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

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

  • #15611: Use local HTML validator to improve performance
  • #15778: Upgrade Travis to Node.js v0.12

Downloads

v3.3.2

@mdo mdo released this · 715 commits to master since this release

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 margins on default .dropdown-menu as .dropup .dropdown-menus.
  • #15244: Vertically center .icon-prev and .icon-next in carousel controls with line-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 from 1.33 to 1.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 using nth-of-type instead of nth-child.
  • #15565, #15567: Use @link-hover-decoration for .btn-link to match default a:hover styles.
  • #15594: Reset the color on <small> and .small elements 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.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 and th/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 of sr-only text with aria-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 with aria-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/clarified multiple 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

Bots

Downloads

v3.3.1

@mdo mdo released this · 1077 commits to master since this release

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 to focus 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 inputs and textareas.

Docs

Browser bugs

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 .containers 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

Downloads

v3.3.0

@mdo mdo released this · 1200 commits to master since this release

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's font-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 from float to position: 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 of max-device-width, not max-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 margins 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 to translate 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-items.
  • #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 captions in .tables 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 the font-weight and line-height resets from .popover-title to the .popover, and adds font-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 transforms 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.

Print

  • #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 or prev 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 for width and height.
  • #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 of translate3d 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 and hidden 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-headings in accordion example to improve accessibility
  • #14673: Add visibility styles to navbar and component animations (fade and collapse) for more screenreader friendly components.
  • #14841: Add role="button" to a couple more non-link <a> buttons
  • #14819: Add aria-pressed to single toggle buttons.
  • #14154: Add aria-expanded toggling to tabs plugin. Also adds aria-labelledBy, aria-controls, and aria-expanded to the tabs docs.

Docs

  • Moved from Pygments to Rouge for syntax highlighting in the docs. (For folks developing the docs locally, be sure to run gem install rouge before building.)
  • #13746: Add docs section for swapping .navbar-brand for an image.
  • #13835: More explicitly document mobile dropdown menu dismissing behavior.
  • #13937: Fix broken live demos for popovers.
  • #13940, #13954: Save "Preview theme" state with local storage.
  • #13942: Fix link to Less compilation section of docs.
  • #13968: Add missing input group code to inline form example.
  • #13986: Use valid JSON in compound option value examples in tooltip & popover docs so that they can be safely copy-pasted for data-api usage too.
  • #14011: Document radio and checkbox validation states.
  • #14021: Add .collapsed default class to .navbar-collapse for consistency.
  • #14036: Have Jekyll use non-minified assets for local, non-hosted docs, for easier testing/debugging.
  • #14037: Add new Wall of Browser Bugs entry for Chrome regarding input[type="password"] and width of floated elements.
  • #14047: Add missing example code code for kbd after #13351.
  • #14111: Update JS Bin template in CONTRIBUTING.md.
  • #14116: Use <button> elements over empty <a>s in dropdown docs.
  • #14143: Add note about JS plugins and users who have JavaScript disabled.
  • #14156: Fix dismiss-on-next-click popover example.
  • #14192: Use HTTPS for CDN URLs.
  • #14203: Document that form field feedback icons only work with <input class="form-control">.
  • #14211: Add new Wall of Browser Bugs entry for IE regarding :hover and scrolling.
  • #14256: Correctly document arguments passed to title & content options of tooltips & popovers when the option values are functions.
  • #14257: Document that empty tooltips & popovers do not get displayed.
  • #14258: Move Windows Phone 8 IE10 viewport bug workaround script from <head> to end of <body>.
  • #14264: Document arguments passed to placement function option of tooltip/popover.
  • #14332: Clarify that closing an Alert removes it from the DOM.
  • #14406: Consistently use <nav> instead of <div> for .navbar in the docs.
  • #14439: Add static tooltip example to docs.
  • #14451: Bootstrap's IRC channel is now named ##bootstrap.
  • #14516: Document that fieldset[disabled] is somewhat broken in IE11.
  • #14527: Add Wall of Browser Bugs entry for #793.
  • #14531: Add Wall of Browser Bugs entry for IE11 <select> cursor bug.
  • #14709: Add default .collapsed class to accordion examples.
  • #14745: Use https for Twitter links.
  • #14858: Document .alert-dismissible .close button usage restrictions
  • #14901: Add Wall of Browser Bugs entry for iOS Safari transform: translate3d(0, 0, 0) bug

Examples

  • #13964: Fix markup of "Remember me" checkbox in Sign In example for accurate horizontal alignment.
  • #14500: Replace nonexistent .col-6 classes in offcanvas example with .col-xs-6.

Build tools / Packaging

  • #14050: Ensure that Bower installs include useful dotfiles (.jshintrc, .csscomb.json, etc.)
  • #14290: Fix watch task to also watch files in subdirectories of /less/.
  • #14336: Have watch task regenerate bootstrap.js when JS source files are modified.
  • #14394: Adjust Gruntfile so that grunt dist works when Bootstrap has been downloaded via Bower.
  • #14488: Simplify copy task.
  • #14497: Set Travis's git clone depth to 10 to make it faster.
  • #14852: Bump required minimum jQuery version to 1.9.1 in bower.json
  • #13824: Added dist/js/npm.js so the npm module can be properly required.

Customizer

  • #13790: Add feature to import customization config.json files via drag-and-drop.
  • #14411: Fix Gist creation API call.

Downloads

v3.2.0

@mdo mdo released this · 1960 commits to master since this release

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, and inline 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 our less folder that @imports all the mixins into mixins.less (for backward compatibility).
  • #13859: Update the .skew() mixin to use skewX(...) skewY(...) instead of old and deprecated skew(x,y) syntax.

Grid system

  • #12854, #12863: Properly reset left values to auto instead of 0 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 default pre-wrap value for better rendering on narrow viewports.
  • #13351: Add support for nested kbd elements.

Tables

  • #12722: Scope .table-responsive styles to screen 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 .tables.

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 place glyphicons.less closer to the top of our imports to avoid specificity issues.
  • #13003: Move padding on .radios and .checkboxs 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 radio line-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-bodys 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

  • #12969: Improve badge mixinability with better nesting.
  • #13687: Colorize badges in panel headings.

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 shorter max-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 by padding on the .modal-body, and the .modal-header never had any margin on it.
  • 7e551ec: Update padding on modals to be 15px all around. Previously was 15px in the header and 20px everywhere else.
  • #13609: Update modal CSS to prevent shifting before animation.

Collapse

  • #12593: Add support to Collapse plugin for trs and tbodys.

Carousel

  • #13242: Fix horizontal alignment of carousel controls by using appropriate margin for each side.

Theme

  • #13093: Reset the background-color and background-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 from hideModal() into backdrop().
  • #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

  • #12328: Add tooltip viewport option, respect bounds of the viewport.
  • #12377: Stop using document.body.scrollTop, because it's deprecated.
  • #13060, #13481: Add role="tooltip" to tooltips & popovers by default to improve accessibility.
  • #13165: Fix popover when using append.
  • #13557: Add aria-describedby attribute to tooltips and popovers to improve accessibility
  • #13593: Add reference to triggering element to tooltip/popover element's data.
  • #13752: Avoid error when trying to show an auto-placed tooltip that gets removed from the DOM.

Carousel

  • #9461, #13173: Make carousel ignore content that's not an .item.
  • #12592: Change carousel indicators behavior to immediately move active classes from one indicator to the next.
  • #13396: Add direction & relatedTarget properties to slid.bs.carousel event.
  • #13787: Add left and right keyboard support to the carousel.

Collapse

  • #9836, #12983: Prevent collapse animation from jumping when an input holds focus.
  • #11099: Prevent $.collapse() from overriding original dimensions of the collapsed element when uncollapsing.
  • #13157, #13176: Fix issues with transition end event bubbling in the collapse plugin.
  • #13306: Don't override the original height/width of a collapsed element when uncollapsing it.
  • #13330: Wait for the transition of the expected target to complete during a collapse.

Docs

  • #12487: Document required use of position: relative; for Scrollspy plugin.
  • #12697: Document support for input[readonly].
  • #12744: Document ability to remove animation on modals.
  • #12790: Add link to unofficial Italian translation (http://hackerstribe.com/guide/IT-bootstrap-3.1.1/).
  • #12808: Correct grid column values listed in Grid Options.
  • #12810: Document .container-fluid in the CSS overview docs.
  • #12818: Small table tweak to browser support table.
  • #12866: Add sitemap.xml and robots.txt files.
  • #12748, #12956: Document missing examples for common inline typography tags.
  • #12688: Document ability to dismiss popover via focus and next click.
  • #13024: Add role="alert" to alert examples to improve accessibility.
  • #13026: Document more Bootstrap components in the Theme and RTL examples.
  • #13095: Generate translations list from YAML _data file.
  • #13167: Use underscore prefix to ignore certain directories.
  • #13184: Document the template option of tooltip & popover plugins.
  • #13190: Document that a function for Popover's content parameter is called with the element as an argument.
  • #13222: Explicitly document how to change the mobile navbar breakpoint.
  • #13332: Document specificity collisions of well backgrounds and contextual background classes.
  • #13337: Mention removal of .progress-* contextual classes in the migration guide.
  • #13340: Document default assumption about icon font's location (and how to change it).
  • #13362: Document that you shouldn't show() tooltips and popovers on hidden elements.
  • #13367: Update gradient mixin docs to use percentage values instead of decimals for color stops.
  • #13396: Document direction & relatedTarget properties of Carousel events.
  • #13397: Document that invisible (non-jQuery-:visible) scrollspy targets are ignored.
  • #13422: Warn about browsing the docs in IE when using an emulation mode to simulate older IE versions; these emulation modes can behave significantly differently than actual older IE versions.
  • #13434: Explicitly document grid column wrapping behavior better.
  • #13463: Add optional theme preview toggle to the docs sidebar on certain pages.
  • #13493: Improve accessibility of .close buttons in docs examples.
  • #13495: Mark Android Firefox (Fennec) as an officially supported OS+browser combination.
  • #13700: Add missing role="menu" attrs to .dropdown-menus.
  • #13768: Simpler and updated docs copy for icon font file paths given escaped path reversion.

Customizer

  • #9951, #12865, #13205: Add Gist and Customizer URLs to customized files and config.json.
  • #10632: Show an alert with links when customizer config is successfully saved as Gist
  • #12617, #12666: Show proper browser support errors for the Customizer.
  • #12773: Add feature detection to block Safari, since it doesn't fully support the necessary Blob API.
  • #12719, #12875: Update to Less 1.7.x.
  • #12966: Ensure icon font vars are loaded into Customizer.
  • #13373: Make variable deprecation notices visible in the Customizer.
  • #13151: Update the Customizer to use to UglifyJS 2.
  • #13472: Disabled the v2.x customizer.
  • #13543: Customizer: make utilities.less inclusion mandatory
  • #13626: Show proper error message when viewing the Customizer in IE8

Examples

  • #12735: Fix sidebar hover state in Dashboard example.
  • #12894: Remove margin-bottom from last <p> of .blog-footer in the Blog example.
  • #12897: Remove border-bottom from navbar in Dashboard example for easier customization of navbar content.
  • #13390: Add IE10 viewport bug workaround to examples.
  • #13905: Update the Cover example to move the box-shadow from the <body> to the .site-wrapper so it surrounds content of all lengths.

Build system

  • #12670: Drop use of vendor prefix mixins and use autoprefixer as part of our Gruntfile. Mixins are still available and supported.
  • #12672: Add logging to build-raw-files Grunt task.
  • #12760: Misc Grunt improvements.
  • #12798: Updated QUnit test reporting so Sauce Labs can report exact failing tests.
  • #12949: Switch to grunt-css-flip Grunt plugin for RTL CSS generation.
  • #12829: package.json cleanup.
  • #12834: Update Sauce Labs config to use new name for Chrome browser for tests.
  • #12853: Switch to JSCS to prepare for removal of style changes coming in JSHint 3.
  • #12861: Add docs.css to the CSSComb task.
  • #12989: Don't ignore every dot file in Bower installs, only the ones in the root directory.
  • #13064: Add description field to bower.json
  • #13065: Exclude /test-infra/ from Bower installs.
  • #13328: Include a reference to bootstrap.less in Bower for easier installs.
  • #13587: Switch to Kramdown for Jekyll.
  • #13740: Add replace entry to composer.json.
  • #13877: Switch to uber/npm-shrinkwrap for npm-shrinkwrap.json generation

Browser bugs

We've started tracking unresolved browser bugs that currently impact Bootstrap's development in some way. We call it the Wall of browser bugs. We've also documented a few new bugs with this release:

  • #10690: Reported a bug in Firefox for responsive images (those with max-width: 100%) in table cells. No other browsers are affected. See https://bugzilla.mozilla.org/show_bug.cgi?id=975632. Until a fix is shipped, add width: 100%; to your responsive images in table cells.
  • #12548: Reported a bug in Chrome where date inputs stop resizing when appearing with display: table-cell;. See https://code.google.com/p/chromium/issues/detail?id=346051.
  • #12476: Document IE8's limitation of borders on buttons in a justified button group. Currently the only way to get borders on those buttons is to wrap each button in an additional .btn-group, just like the button groups using <button> elements.

Downloads

v3.1.1

@mdo mdo released this · 2981 commits to master since this release

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-inlines so we don't override the padding-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

  • #523: Rails 3.2 compatibility
  • #518: scale mixin Sass compatibility issue
  • Updated Bower docs

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 the clean 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.

Downloads

v3.1.0

@mdo mdo released this · 3189 commits to master since this release

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 the height 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-controls within input groups to prevent IE9 from screwing up placeholder text and select menu arrows.
  • #11588: Scope font-size to only <p> elements in .jumbotrons and remove the super-sized line-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 receive vertical-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 set background-color on .badges 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 use inherit 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; and white-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-controls within inline forms are set to width: 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.
  • #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 in modals.less.
  • Updated <blockquote> to no longer thing text or modify line-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 margins 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 and shown.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's remote 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 of focus/blur for tooltip and popover focus trigger for Firefox and Safari.
  • #11825: Add dropdown ARIA roles.
  • #12270: Add namespace .bs also to the event dismiss.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 in blockquote citation in favor of footer 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 docs to improve performance.
  • #11742: Add link to French translation in About page (v3.0.3 saw Ukrainian added as well).
  • #11760: Remove mailing list links from readme and about pages.
  • #11764: Add meta tags to docs for description, keywords, and authors.
  • #11770: Move component-animations.less to the utility section of import list to match Customizer
  • #11830, #11832: More help for Windows users installing Jekyll with requirement of Python and link to @juthilo's guide, Run Jekyll on Windows.
  • #11876: Enable failHard grunt-html-validation option.
  • #11977: Concatenate and minify all docs assets.
  • #12037: Move docs .html pages and assets into docs/ subfolder to clean up project root directory. Also moves .csscomb.json and .csslintrc to less/ to further clean up project root.
  • Updated browser and device support documentation:
    • #11055: add mention of select menu styling on Android stock browsers with included optional fix.
    • Update IDs and docs nav to include bookmark links to each section.
    • Add callout to navbar docs about fixed position, inputs, and virtual keyboard.
  • #12073: Make order of component variations consistent throughout the repo.
  • #12244: Move v2.x to v3.x migration docs to a separate page.
  • #12311: Expand information on how to handle overflowing content in navbars.
  • #12314: Add warning about modal markup placement affecting modal appearance/functionality.
  • #12345: Add note about printer viewport weirdness.
  • #12380: Add link to unofficial German translation, http://holdirbootstrap.de.

Build system & packaging

  • #11761: Add JavaScript Code Style checker integration.
  • #11739: Lint docs-assets/js/application.js and docs-assets/js/customizer.js.
  • #11780: Don't ignore Gruntfile.js or package.json in bower.json as they're required for compilation.
  • #11790: Switch from Recess to LESS compiler.
    • Dropped grunt-recess for grunt-contrib-less to get the latest version of LESS (v1.5.x) since Recess was still quite behind.
    • Adds CSScomb to take place of Recess's CSS linting. Includes custom .csscomb.json in project root with basically the same property order as Recess.
    • Fixes duplicate CSS generation from the nested .clearfix class and mixin by switching to &:extend(.mixin all) (also mentioned in changes section).
    • Compiled CSS looks only slightly different—yay!
  • #11804: Enable CSS source maps in grunt-contrib-less.
  • #12003: Customizer now compiles theme.less with updated values.
  • #12315: Add npm caching based on npm-shrinkwrap.canonical.json.

Downloads

v3.0.3

@mdo mdo released this · 4108 commits to master since this release

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 .containers.
  • 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 .carets 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 of floor().
  • #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-btns in the navbar.
  • #11376: Don't deselect radio buttons when double clicking.
  • #11387: Improve nesting on table classes to enable easier use of mixins.
  • #11388: Simplify contextual table styles mixin (also drops the border parameter since we longer apply that anyway).
  • #11390: Add max-width: 100%; to containers within jumbotrons to avoid horizontal scrollbar.
  • #11402: Set width: auto; on select.form-control within .form-inline.
  • #11414: Add .small support to blockquote citations.
  • #11425: Use margin instead of padding on .modal-dialog to click-thru to .modal-backdrop.
  • #11432: Corrected color contrast to WCAG 2.0 AA for @state- variables (applies to forms and labels).
  • #11444: Use @navbar-padding-vertical for nav links vertical padding.
  • #11449: Prefer Menlo over Monaco for monospaced fonts.
  • #11468: Prevent default gradient background-image on .navbar-toggle in Firefox for Android.
  • #11476: Remove unnecessary prefixed keyframe declarations for animated progress bars. Given our browser support requirements, we can drop the -moz- prefix as the last several versions don't require it.
  • #11477: Use namespace events for dropdowns and carousel.
  • #11493: Ensure proper width of dropdown buttons within vertical button groups.
  • #11499: Switch from overflow-y: auto; to overflow-y: visible; to prevent vertical scrollbar in some navbar situations.
  • #11502: Add missing data namespace for dropdown plugin.
  • #11513: Float navbar-text elements only when screen width is above @grid-float-breakpoint.
  • #11515: Reorder the headings with body text and text emphasis classes.
  • #11516: Invert dropdown divider border in navbars.
  • #11530: Reworked padding on .navbar-collapse and negative margin for right-aligned navbar content to ensure proper alignment on the right side.
  • #11536: Add support for button dropdowns within justified button groups.
  • #11544: Add color: inherit; to .panel-title to ensure proper text color when customizing @headings-color.
  • #11551: Remove color from outline reset for improved outlines on focus.
  • #11553: Prevent double border on tables in panels without thead content.
  • #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 to static 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 dls.

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; to body 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() and hide() 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.

Downloads

v3.0.2

@mdo mdo released this · 4307 commits to master since this release

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 for jQuery.
  • #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 run grunt).
  • #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.

Downloads

Something went wrong with that request. Please try again.