Releases: twbs/bootstrap
v4.0.0-beta.3
Breaking changes
As mentioned in our Beta 2 release, we needed to make a few more breaking changes in Beta 3. We've summarized them here and in our migration docs—be sure to read them!
-
Rewrote native and custom check controls. Both browser default and custom checkboxes and radios now have simpler markup after removing the
<input>from the<label>. Now, all checkboxes and radios have a parent<div>and sibling<input>and<label>pair. This is essential for form validation and disabled inputs because we can use the input's state to style the label.In addition, custom checkbox and radio elements no longer have a
.custom-control-indicator. This is generated from the new.custom-control-label. -
Input groups were rewritten with specific
.input-group-{prepend|append}classes. The new approach allows us to support validation styles and messages within input groups, while also adding support for custom selects, custom file inputs, and multiple.form-controls. -
Responsive tables are once again parent classes to avoid accessiblity issues with changing a
<table>'sdisplay. -
Deleted the
.col-form-legendclass, consolidating it's styles into the.col-form-labelclass.
Read the Migration page for further details.
More highlights
In addition to the breaking changes, we've addressed a few more general issues that may impact your project.
-
Restored
cursor: pointerto non-disabled links, buttons,.close, navbar toggler, and pagination links. -
Added a new vertically centered modal option with
.modal-dialog-centered. -
Added new dropleft and dropright variants for dropdowns in #23860.
-
Our npm package no longer includes any files other than our source and dist JavaScript and CSS files. If you previously relied on our running our scripts via the
node_modulesfolder, you'll need to update your build tools. -
Print styles have moved to bottom of the import stack to properly override styles.
For more details on this release's changes, take a look at the Beta 3 ship list issue, as well as the Beta 3 project.
v4.0.0-beta.2
Beta 2 is here! Read the full ship list for details on what issues were closed and PRs merged.
Highlights
- Improved Sass map customization with #23260. With this change, it's now possible to override specific key value pairs instead of resetting the entire map, ideal for color scheme customization.
- Restored grid
.offset-modifiers in #23445. Originally our intent was to supplement this with our margin utilities, but we underestimated the appeal of fixed number column offsets. - Remove unnecessary
colorfrom.badge, and it's associated$badge-colorvariable, in #23529. - Rename
grayscalefunction tograyto avoid breaking CSS nativegrayscalefilter in #23579. - Renamed
.table-inverse,.thead-inverse, and.thead-defaultto.*-darkand.*-light, matching our color schemes used elsewhere in #23560. - Responsive tables now generate classes for each grid breakpoint, meaning we've added
.table-responsive-{sm,md,lg,xl}to the already present.table-responsive. You might need to adjust your usage depending on when you want a table to resize. See #22804. - Include two new dist files which contain Popper.js inside
bootstrap.bundle.jsandbootstrap.bundle.min.js. See #23735. - Dropped support for Bower as they've deprecated the package manager. See #23568.
- Switched breadcrumbs from
floatto flexbox in #23683. - Added new CSS variables in #23761.
- Switched to Stylelint in #23572.
- New Theming page in the docs from #23611
- #23943: Changed the
color-yiqfrom a mixin that included thecolorproperty to a function that returns a value, allowing you to use it for any CSS property. For example, instead ofcolor-yiq(#000), you'd writecolor: color-yiq(#000);. - New and improved theming in #24429.
v4.0.0-beta
It's a beta! Holy crap this took forever. Thanks for sticking with me on this one—means a lot, y'all <3.
Highlights!
- Dropped Normalize.css as a dependency, forking some of it and remixing it with our own Reboot for a more stable normalization approach.
- Update navbar responsive behaviors to be mobile first, use a new class name
.navbar-expandinstead of.navbar-toggleable, remove toggler position modifiers (relies on flex utils now), and fix a handful of bugs. - Stabilize some grid behaviors and update the docs.
- Updated the grid to drop push, pull, and offset in favor of new
.order-modifiers and margin utilities. - Renamed tons of variables (see #22414 and #22092) for a more consistent naming scheme.
- Removed remaining
cursor: pointers to restore browser defaults and better indicate actions vs hyperlinks. - Renamed flexbox
orderutilities to better match utility naming scheme of.property-value. - Restored Alpha 5's placement of
_custom.scssin our import order. - Rewrote display and responsive utilities to de-dupe a bunch of functionality.
- Removed Gruntfile and docs from package manager builds.
- Overhauled our color system with new Sass maps, variables, classes, and component variants.
- Updated browser support to bring ranges up to more recent versions.
- Added a bash script for linting unused variables.
- Moved jQuery and Popper to
peerDependenciesas they're not requirements for every part of Bootstrap.
v4.0.0-alpha.6
Happy New Year! It's our final alpha for Bootstrap 4.
Details
Highlights
- Flexbox is now on by default, with no fallback! This means we've dropped IE9 support, but with significant savings to our code base, simpler components, and improved customization thanks to the power of flexbox.
- Rebuilt the navbar with flexbox in mind, leading to some structural changes, but including more flexibility and customization. Includes updated docs, code snippets, more responsive options. All navbars in our examples are also using the latest markup and styles now. Also solves around 10 bugs in the process!
- Overhauled flexbox utilities and documented them. Replaced all the previous flexbox utilities with new ones that are named after
property: valuepairs (instead of creating new names for things). For example,.flex-items-betweenis now.justify-content-betweento applyjustify-content: between;. This also adds tons of new flexbox utilities fordisplay,order,wrap, and more. - Revamped navs Sass with flexbox and updated docs. All the
floats and clearfixs have been removed,.nav-inlineremoved (on account ofdisplay: flexinlining for us on.nav), added fill and justify options, and more. - Building on the grid improvements from Alpha 5, you can now customize container padding across grid breakpoints and optionally remove grid gutters with
.no-gutters. - Similarly, our flexbox grid system has new classes for automatically sizing columns to the size of their content across viewports (e.g., you can now apply
col-xs-6,col-md-auto, andcol-xl-4to a single element). - Grid, display, float, margin, padding, and text utility classes have been significantly overhauled. In addition to all classes now being responsive, the
xstier no longer requires a breakpoint abbreviation, making for shorter and more descriptive classes and an easier migration from v3. For example, instead of.d-xs-none, it's back to.d-nonewhile it remains.d-{sm,md,lg,xl}-nonefor those breakpoints. - Renamed some
.active, all.in, and all.openclasses for our JavaScript powered components for more consistent naming. For example, instead it's now.collapse.showinstead of.collapse.inand.show > .dropdown-menuinstead of.open > .dropdown-menuto better communicate the visibility of elements. - Refactored carousel with new, simpler styles, better documentation, and less specific selectors.
- Rewrote progress component without the
<progress>element due to lack of animations, no support for multiple bars, and no support for labels on the progress bars. - Fixed some unescaped
#s in our SVG data URLs that are used to add vector background-images. - Renamed
.tagback to.badge, like v3, to avoid conflicts with common WordPress styles. - A number of custom form enhancements and bugfixes were made. Label-less custom radios and cehckboxes, fixed SVG URLs in
background-images, and more. - Updated Normalize.css to v5.0.0.
.form-checkand.form-check-inlinenow share the same markup. Switch between the two by adding or removing.form-check-inlineas a modifier.- Added support for justified navigation when in flexbox mode.
- Renamed
_animation.scssto_transitions.scssfor clarity. - Added new color variables (e.g.,
$blue) for additional customization.
v4.0.0-alpha.5
Fifth alpha! View the milestone for details: #20630.
v4.0.0-alpha.4
Fourth alpha release!
See the closed milestone for details.
v4.0.0-alpha.3
Third alpha release!
See the closed milestone for details.
v3.3.7
Release announcement blog post: https://blog.getbootstrap.com/2016/07/25/bootstrap-3-3-7-released/
JavaScript
- #19192 Fix keyboard navigation for toggle buttons (checkbox, radio, single toggle) following a mouse click
- #19659: Clear tooltip's
$elementto prevent leaking memory - #20019: Avoid calling
jQuery('#')since it's a syntax error in jQuery 3 - #20259: Backport jQuery-related JS unit test fixes from v4
- #20278: button.js: Set disabled property in addition to disabled attribute, for jQuery 3 compatibility
- #20313: Avoid using
$.offset()on SVGs since it gives incorrect results in jQuery 3 - #20338: Update jQuery version check and jQuery dependency version range to allow jQuery 3
CSS
No significant changes.
Accessibility
- #19704: Add
aria-labeland callout about labeling pagination components
Docs
v4.0.0-alpha.2
Second alpha release!
See the closed milestone or the blog post for more details.
v3.3.6
CSS
- #16492: Use
@input-border-radiusvariables on input groups. - #16529: Un-style the caret on
<select>s in IE10+. - #16562, #16563: Create and implement a new
@dl-horizontal-breakpointvariable to replace the@grid-float-breakpointon.dl-horizontal. - #16646, #16651: Fix hover border covering active links in pagination.
- #16684: Fix
border-radiusnot being set on two corners of vertical btn group. - #16718: Full 4-digit Unicode escape sequences in CSS for asterisk and plus Glyphicons.
- #16769: Remove the
min-heighton modal headers and replace with a clearfix to avoid collapsing when no title exists. - #16779: Adjust the
paddingon jumbotrons within containers. - #16785: Round the
paddingon containers to match the new rounding of negativemargins on rows. - #16796: Ensure carousel controls are clickable in IE9.
- #16804: Indicate which buttons in a button group are selected, even when disabled.
- #16824: Correct a math error in the
padding-topof.control-labels in large and small horizontal forms. - #16975: Use
@carousel-control-font-sizefor in specific pixel values. - #17001: Fix borders on focused inputs in input groups.
JS
- #16865: Fix triggering of
shown.bs.dropdown&hidden.bs.dropdownevents so thatrelatedTargetproperty gets set properly. - #16896: Note jQuery v3 incompatibility.
Docs
- #16630, #16632: Update mention of not-allowed cursor in disabled checkboxes, radios, and fieldsets docs section.
- #16744: Mention in the README where Bootstrap's changelogs can be found.
- #16745: Add
CHANGELOG.mdfile that points to GitHub Releases and our blog. - #16747: Document that Collapse and Tab methods are asynchronous.
- #16793: Add example with visible
<label>and input group addon. - #16888: Add a local jQuery fallback.
- #16902: Fix grid in modal example by removing
.container-fluid. - #16965: Call out
.icon-next,.icon-prevalternative classes for carousel. - #17003: Add
.col-offset-0example addition to docs. - #17726: Clarify the purpose of adding
.into the.fadeof the initially-open Tab. - #17729: Add Subresource Integrity (SRI) hashes to BootstrapCDN links
- #17742: Add CSS portion of IE10 viewport bug workaround to docs & examples
- #17809: Note that
container: 'body'should be used for tooltips/popovers on tabular elements - #17910: Document that
.panel-titleoverrides the font size of<h1>–<h6>tags - #18080: Document conflict between strict Content Security Policy and inline
styleattributes of.progressbars, and available workarounds
Packaging
Build tools
- #16589: Enable source maps for
bootstrap.min.css. - #17769: Setup Hound for JSHint linting in pull requests
Customizer
- #16897: Clarify that Collapse requires Component animations
Browser bugs
- #16689: Add Wall of Browser Bugs entry for #16671.
- #16691: Add Wall of Browser Bugs entry for #15968.
- #16813/#16839: Reported WebKit bug (http://wkbug.com/146896) for #16809, which WebKit then fixed.
- #16840: Remove entry from Wall of Browser Bugs because http://wkbug.com/141804 has been fixed.
- #16841: Remove entry from Wall of Browser Bugs because http://wkbug.com/139803 has been fixed.
- #16842: Remove entry from Wall of Browser Bugs because http://wkbug.com/144990 has been fixed.
- #16881: Add Wall of Browser Bugs entry for #16814.
- #16908: Remove entry from Wall of Browser Bugs because http://crbug.com/309483 is most likely invalid.
- #16994: Add Wall of Browser Bugs entry for #16988.
- #17438 / #14237: Add Wall of Browser Bugs entry for http://wkbug.com/149935
- #17712: Mention Chrome meta-bug on Wall of Browser Bugs
- #17753: Remove entry from Wall of Browser Bugs because http://bugzil.la/1048279 was closed as WONTFIX.
- #17820: Add Wall of Browser Bugs entry for http://crbug.com/534750
- #17902: Remove entry from Wall of Browser Bugs because http://wkbug.com/138167 has been fixed.
- #17906: Add Wall of Browser Bugs entry for #14975
- #18111: Add Wall of Browser Bugs entry for http://wkbug.com/150715