Releases: twbs/bootstrap
Releases · twbs/bootstrap
v2.2.0
tl;dr
2.1.2 is now 2.2.0: four new example templates, added media component, new typographic scale, fixed that box-shadow mixin bug, fixed z-index issues, and more.
Highlights
- Added four new example templates to the docs, including a narrow marketing page, sign in form, sticky footer, and a fancy carousel (created for an upcoming .net magazine article).
- Added the media component, to create larger common components like comments, Tweets, etc.
- New variable-driven typographic scale based on
@baseFontSizeand@baseLineHeight. - Revamped mini, small, and large padding via new variables for inputs and buttons so everything is the same size.
- Reverted 2.1.1's
.box-shadow();mixin change that caused compiler errors. - Improved dropdown submenus to support dropups and left-aligned submenus.
- Fixed z-index issues with tooltips and popovers in modals.
- Hero unit now sets basic type styles for the entire component, rather than on
.hero-unit p { ... }. - Updated JavaScript plugins and docs to jQuery 1.8.1.
- Added Contributing.md file.
- Added support for installing Bootstrap via Bower.
- Miscellaneous variable improvements across the board.
- Miscellaneous documentation typos fixed.
v2.1.1
- New feature: alert text. We documented these new classes, like
.text-success, at the bottom of the Typography section along with the long undocumented.muted. - Fixed a lot of typos in the docs. Spelling is hard.
- Made the
.box-shadow()mixin more durable. It no longer requires escaping for multiple shadows, meaning you can easily use variables and functions in them once again. - Widened
.dl-horizontal dtand.horizontal-form .control-groupto better handle the increased font-size. - Dropdown submenus improved: now you only see the next level, not all levels, on hover of the submenu toggle.
- Clarified jQuery and Bootstrap template requirements in Getting Started section.
selectnow utilizes@inputBorder..leadnow scales up from@baseFontSizeinstead of being a fixed font-size and line-height.- Fixed the vertical three color gradient in latest Firefox.
- Reordered some variables that caused errors in certain Less compilers.
v2.1.0
- Submenu support on dropdowns
- Affix JavaScript plugin
- Block level buttons
- State classes on table rows
- Improved disabled states on navs and dropdowns
- The navbar component is now white by default, with an optional class to darken it
- Improved prepended and appended inputs
- New base font-size and line-height
- Added variable for navbar collapse trigger point
- Fluid grid offsets
- Fluid grid system variables are no longer fixed percentages
- Removed LESS docs page
v2.0.4
Docs
- Added
type="button"to all dismiss buttons in alerts and modals to avoid a bug in which they prevent their parent'sformfrom properly submitting. - Added simple documentation to Base CSS for
.lead. - Added new CSS test to illustrate how the navbar, static and fixed, behaves.
- Clarified grid sizing copy to include mention of responsive variations.
- Reformatted the LESS docs page to prevent terrible table displays at smaller grid sizes.
- Miscellaneous typos and tweaks.
CSS
- Refactored forms.less to make our selectors more specific for fewer overrides and less code. Instead of a generic
inputselector and various resets, we target each type of input likeinput[type="text"],input[type="password"], etc. - Form field state (e.g., success or error) now applies to checkbox and radio labels.
- Removed redundant CSS on
<p>forfont-family,font-size, andline-height. - Removed redundant
colordeclaration from the<label>element. - Added variables for dropdown dividers border colors.
legendand.form-actionsshare the sameborder-color,#e5e5e5.- Fixed some responsive issues with input-prepend and -append, notably with the fluid grid.
- Added special CSS to prevent
max-width: 100%;on images from messing up Google Maps rendering. - Scope opened dropdowns to only immediate children to avoid unintended cascade.
- Similarly, scope floated-right dropdowns to immediate children with
.pull-right > .dropdown-menu. - Updated
.placeholder()mixin to use&operator in Less for proper output when compiling. - Added
-ms-input-placeholderto.placeholder()mixin. - Added CSS3 hyphens mixin.
- Fixed a bug in IE7/8 where certain form controls would not show text if the parent had a filter opacity set.
v2.0.3
HTML and CSS
- Overhauled the responsive utility classes to simplify required CSS, add
!importantto all declarations, and usedisplay: inheritin place ofdisplay: blockto account for different types of elements. - Removed
>from fluid grid column selectors, meaning every element with a.span*class within a.row-fluidwill use percentage widths instead of fixed-pixels. - Fixed regression in responsive images support as of 2.0.1. We've re-added
max-width: 100%;to images by default. We removed it in our last release since we had folks complaining about Google Maps integration and other projects, but we're taking a different stance now on these things and will require developers to make these tweaks on their end. - Added variable
@navbarBrandColorfor the brand element in navbars, which defaults to@navbarLinkColor. - Font-family mixins now use variables for their stacks.
- Fixed an unescaped
filteron the.reset-filter()mixin that was causing some errors depending on your compiler. - Fixed regression in
.form-actionsbackground, which was too dark, by adding a new variable@formActionsBackgroundand changing the color to#f5f5f5instead of#eee. - Fixed an issue on button group dropdowns where the background color was not using the button's darker color when the dropdown is open.
- Generalized and simplified the open dropdown classes while adding smarter defaults. Instead of
.dropdown.open, we now use just.open. On the defaults side, all dropdown menus now have rounded corners to start. - Improved active
.dropdown-togglestyles (for dropdown buttons) by darkening the background and sharpening the inset shadow to match the active state of buttons. - Direction of animation on progress bars reversed.
- Fixed input-prepend/append issue with uneditable inputs:
.uneditable-inputwas being floated and a missing comma meant itsborder-radiusfor the append option wasn't being applied properly. - Removed
height: auto;fromimgsince it was overriding dimensions set via HTML attributes. - Fixed an issue of double borders on the top of tables with captions or colgroups.
- Fixed issue with anchor buttons in the
.navbar-text. Instead of a general styling on all anchors within an element with that class, we now have a new class to specifically apply appropriate link color. - Added support for
@navbarHeighton the brand/project name and nav links for complete navbar height customization. - Fixed the black borders on buttons problem in IE7 by removing the border, increasing the line-height, and providing darker background colors.
- Removed excess padding on
.search-queryinputs in IE7 since it doesn't have border-radius. - Updated alert messages in Components to use
buttonelements as close icons instead ofa. Both can be used, but anawill requirehref="#"for dismissal on iOS devices. - Fixed an issue with prepended/appended inputs in Firefox where
selectelements required two clicks to toggle the dropdown. Resolved by moving theposition: relativeto theselectby default instead of on:focus. - Added a new mixin,
.backface-visibility, to help refine CSS 3D tranforms. Examples and explanation of usage can be found on CSS Tricks. - Changed specificity of grid classes in responsive layouts under 767px to accurately target
input,select, andtextareaelements that use.span*classes. - Horizontal description lists,
.dl-horizontal, now truncate terms that are too long to fit in their fixed-width column. In the < 767px responsive layout, they change to their default stacked layout. - Changed tabbable tabs to prevent issues in left and right aligned tabs.
.tab-contentwould not growing to its parent's full width due todisplay: table. We removed that and thewidth: 100%and instead just setoverflow: autoto clear the left and right aligned tabs. - Updated thumbnails to support fluid grid column sizing.
- Added
>to most of the button group selectors - Added new variable,
@inputBorderRadius, to all form controls that previously made use of the static3pxvalue everywhere. - Changed the way we do
border-radiusfor tables. Instead of the regular mixin that zeros out all other corners, we specify one corner only so they can be combined for use on single column table headers. - Updated Glyphicons Halflings from 1.5 to 1.6, introducing 20 new icons.
- Added an
offsetparamater to the.makeColumn. - Increased the specificity of all tabbable nav selectors to include
.nav-collapseto appropriately scope the responsive navbar behavior. - Fixed uneditable inputs: text now cuts off and does not wrap, making it behave just like a default
input. - Labels and badges are now
vertical-align: baseline;so they line up with surrounding text.
Javascript
- Add jshint support
- Add travis-ci support w/ headless phantom integration
- Replace UA sniffing in bootstrap-transitions.js
- Add MSTransitionEnd event to transition plugin
- Fix pause method in carousel (shouldn't restart when hovering over controls)
- Fix crazy opera bug #1776
- Don't open dropdown if target element is disabled
- Always select last item in scrollspy if you've reached the bottom of the document or element
- Typeahead should escape regexp special chars
- If interval is false on carousel, do not auto-cycle
- Add preventDefault support for all initial event types (show, close, hide, etc.)
- Fix collapse bug in ie7+ for initial collapse in
- Fix nested collapse bug
- If transitioning collapse, don't start new transition
- Try to autodetect when to use html/text method in tooltip/popovers to help prevent xss
- Add bootstrap + bootstrap.min.js to gh-pages for @remy and jsbin support
Documentation and repo
- Combined badges and labels into a single LESS file, labels-badges.less, to reduce repeated CSS.
- Separated responsive features into multiple files. We now have a file for each grouping of media queries (tablets and down, tablets to desktops, and large desktops). Additionally, the visible/hidden utility classes and the responsive navbar are in their own files. The output is the same in the compiled CSS, but this should give folks a bit more flexibility.
- Added a new CSS Tests page in the docs (not in the top nav) for better testing of edge cases and extending the use of standard components.
- Removed the bootstrap.zip file from the repo and the make process for faster building and a lighter repo. From now on, the zip will only be in the documentation branch.
- Fixed incorrect use of class instead of ID for tabs example and added documentation for multiple ways of toggling tabs.
- Fixed required markup listed for the specialized navbar search field.
- Removed all mention of
@siteWidth, a variable no longer in use. - Removed mentions of unused
@buttonPrimaryBackgroundvariable, which is no longer in use. - Updated LESS docs page to include all the new variables we added in previous releases.
- Removed broken "dropup" menus from tabs and pills examples (shouldn't have been there in the first place).
- Replaced
.badge-errorwith.badge-important. The error option is not a valid class and was a typo in the docs. - Fixed mention of how to add plain text to the navbar. Previously the docs stated you only needed a
ptag, but the required HTML is any element with class.navbar-text. - Clarified the use of
.tabbablefor tabs. The wrapping class is only required for left and right tabs to clear their floats. Also added mention of.fadeto fade in tabs. - Updated forms documentation:
- Remove unnecessary duplicate help text in first example
- Added mention of required
inputclass,.search-query, for the search form variation - Removed incorrect mention of form fields being
display: block;to start as fields areinline-blockto start.
- Added mention of
data-targetattribute for the dropdowns javascript plugin to show how to keep custom URLs intact on links with.dropdown-toggleclass. - Updated the Kippt screenshot on the homepage to reflect their recent responsive redesign and upgrade to 2.0.2.
v2.0.2
Documentation updates
- All docs pages now have distinct titles, such as Scaffolding · Twitter Bootstrap.
- Updated the Apple touch icons (now black on black instead of the blue grid) and fixed the links to them in the docs.
- Added new global styles docs section to the Scaffolding page.
- Required use of HTML5 doctype
- Overview of global typographic and links details
- Mention of our embedded CSS reset via Normalize.css
- Added version number to the download button on the docs homepage.
- Updated progress bars section to simplify how the classes stack and more clearly indicate the available optional classes and styles.
- Added a new example, SoundReady.fm, to the homepage
- Added various sizes to the docs for button groups
Resolved bugs
- Removed all IE7 hacks and floats from
.input-prependand.input-append, however, this requires you to ensure there is no whitespace in your code between.add-onand theinput. - In
.input-prependand.input-append, added ability to use add-ons on both sides when you chain the selectors. - Updated lingering
.btn-darkreference to.btn-inverse. - Fixed issue with content being cut off in
.tab-contentfor tabbable sections. - Updated
.navbar .containerto usewidth: auto;to start and then reset the fixed widths via the#gridSystemmixin (it's a little dirty, but required to avoid adding another class). - Modal footer buttons are now aligned by their parent via
text-align: right;instead offloat: righton the button level. This was changed to allow the use of.pull-leftand.pull-rightto align buttons easily. Double check your button order with this change! - Fixed problem where default striped progress bar was green instead of blue.
- Fixed CSS selector used for
inputandtextareagrid sizes to properly apply the CSS (wasinput > .span*and now isinput.span*).
New features
- Horizontal dividers support added to nav lists
- Added basic version of badges
- Added visible/hidden classes for devices
- Added support for buttons in input-prepend/append component
- Added .navbar-fixed-bottom support
- Added .dropup support for dropdown menus to pop them upward instead of downward (this is automatically done for the newly added fixed bottom navbar).
- Added mixin for new image replacement technique
- Added pause on hover for the carousel
- Added tons of new variables for typography, buttons, forms, dropdowns, navbar, and more for the LESS pros out there. These variables have also been reflected on the Customize page.
- Added new horizontal description list variation
- Added
.disabledclass support to the pager component (also added a mention of this to the docs) - Added
.well-largeand.well-smallclasses for extending the well component
v2.0.1
- Previously the docs called for use of
.control-labelin the examples, but the CSS didn't make clear use of it. This class is required for horizontal forms and has been reflected in the CSS. - We've tried our best to improve rendering of buttons and icons across all browsers. Some issues remain; Firefox throws an
!importantonline-heightfor inputs, so that's the big one. - We refined the label component style to move away from uppercase.
- Added the black button option,
.btn-inverse. - Added a mini button class,
.btn-mini. - We had to re-add the protocol,
http:to the HTML5 schim because IE7-8 wouldn't recognize it, dropping some HTML5 support for those browsers and introducing major performance issues. - Resolved some issues with responsive layouts where media queries would overlap at 768px and 980px.
- Rearranged Scaffolding docs page to split fixed and fluid grid systems.
- Tons of docs updates for typos and language changes.
v2.0.0
Essentially an entire rewrite of the library—docs, CSS, and JavaScript. Adds optional responsive CSS for nearly all components.
Project changes
- Docs: major updates across the board to general structure, examples, and code snippets. Also made responsive with new media queries.
- Docs: all docs pages are now powered by Mustache templates and strings are wrapped in i18n tags for translation by the Twitter Translation Center. All changes to documentation must be done here and then compiled (similar to our CSS and LESS).
- Repo directory structure: removed the compiled CSS from the root in favor of a large direct download link on the docs homepage. Compiled CSS is in
/docs/assets/css/. - Docs and repo: one makefile, just type
makein the Terminal and get updated docs and CSS.
Scaffolding
Grid system
- Updated grid system, now only 12 columns instead of 16
- Responsive approach means your projects virtually work out of the box on smartphones, tablets, and more
- Removed unused (by default) grid columns support for 17-24 columns
Responsive (media queries)
- Media queries added for basic support across mobile and tablet devices
- Responsive CSS is compiled separately, as bootstrap-responsive.css
Base CSS
Typography
h4elements were dropped from 16px to 14px with a defaultline-heightof 18pxh5elements were dropped from 14px to 12pxh6elements were dropped from 13px to 11px- Right-aligned option for blockquotes if
float: right;
Code
- New graphical style for
<code> - Google Code Prettify styles updated (based on GitHub's gists)
Tables
- Improved support for
colspanandrowspan - Styles now restricted to new base class,
.table - Table classes standardized with
.table-required as a prefix - Removed unused table color options (too much code for such little impact)
- Dropped support for TableSorter
Buttons
- New classes for colors and sizes, all prefixed with
.btn- - IE9: removed gradients and added rounded corners
- Updated active state to make styling clearer in button groups (new) and look better with custom transition
- New mixin,
.buttonBackground, to set button gradients
Forms
- Default form style is now vertical (stacked) to use less CSS and add greater flexibility
- Form classes standardized with
.form-required as a prefix - New built-in form defaults for search, inline, and horizontal forms
- More flexible horizontal form markup with classes for all styling, including new optional class for the
label - Form states: colors updated and customizable via new LESS variables
Icons, by Glyphicons
- New Glyphicons Halflings icon set added in sprite form, in black and white
- Simple markup required for an icon in tons of contexts:
<i class="icon-cog"></> - Add another class,
.icon-white, for white variation of the same icon
Components
Button groups and dropdowns
- Two brand new components in 2.0: button groups and button dropdowns
- Dependency: button dropdowns are built on button groups, and therefore require all their styles
- Button groups,
.btn-group, can be grouped one level higher with a button toolbar,.btn-toolbar
Navigation
- Tabs and pills now require the use of a new base class,
.nav, on their<ul> - New nav list variation added that uses the same base class,
.nav - Vertical tabs and pills have been added—just add
.nav-stackedto the<ul> - Pills were restyled to be less rounded by default
- Pills now have dropdown menu support (they share the same markup and styles as tabs)
Navbar (formerly topbar)
- Base class changed from
.topbarto.navbar - Now supports static position (default behavior, not fixed) and fixed to the top of viewport via
.navbar-fixed-top(previously only supported fixed) - Added vertical dividers to top-level nav
- Improved support for inline forms in the navbar, which now require
.navbar-formto properly scope styles to only the intended forms. - Navbar search form now requires use of the
.navbar-searchclass and its input the use of.search-query. To position the search form, you must use.pull-leftor.pull-right. - Added optional responsive markup for collapsing navbar contents for smaller resolutions and devices.
Dropdown menus
- Updated the
.dropdown-menuto tighten up spacing - Now requires you to add a
<span class="caret"></span>to show the dropdown arrow - The navbar (fixed topbar) has brand new dropdowns. Gone are the dark versions and in their place are the standard white ones with an additional caret at their tops for clarity of position.
Labels
- Label colors updated to match form state colors
- Not only do they match graphically, but they are powered by the same new variables
Thumbnails
- Formerly
.media-grid, now just.thumbnails, we've thoroughly extended this component for more uses while maintaining overall simplicity out of the box. - Individual thumbnails now require
.thumbnailclass
Alerts
- New base class:
.alertinstead of.alert-message - Class names standardized for other options, now all starting with
.alert- - Redesigned base alert styles to combine the deafult alerts and block-level alerts into one
- Block level alert class changed:
.alert-blockinstead of.block-message
Progress bars
- New in 2.0
- Features multiple styles via classes, including striped and animated variations via CSS3
Miscellaneous components
- Added documentation for the well component and the close icon (used in modals and alerts)
Javascript plugins
We're rewritten just about everything for our plugins, so head on over to the Javascript page to learn more.
Popovers
- Child elements now properly namespaced:
.titleto.popover-title,.innerto.popover-inner, and.contentto.popover-content.
New plugins
- Collapse
- Carousel
- Typeahead
v1.4.0
- Updated tables to make no border the default and add options for condensed and bordered versions
- Updated form states to expand on error styles and provide warning and success variations
- New javascript plugin for button states
- Switched to strict mode for Javascript plugins
- Added more data attribute controls to our plugins
- Full list of 25+ issues fixed: https://github.com/twitter/bootstrap/issues?milestone=6&state=closed
v1.3.0
New features
- Javascript plugins for modals, alerts, dropdowns, scrollspy, tabs, tooltips, and popovers that work with jQuery and Ender
- Massively updated docs for both the main page and for the new javascript plugins
- Inline labels for marking inline content with key visual flags
- Media thumbnails
- Breadcrumbs
Updated docs
- Added complete javascript page with detailed documentation for how to use plugins
- Three complete example pages of using Bootstrap, linked from main docs page with thumbnails
- Added section for compiling Less, for guidelines on how to recompile Bootstrap with Less
- Added section for customizing grid variables in Less to roll your own grid system
- Added section for code for using pre and code tags
- Added section for form field sizes that match grid column sizes
Key bug fixes and changes
- Updated table styles to be just a tad bit more refined
- Added new form input sizes based on the Bootstrap grid system (meaning now you can do
input.span5for a 280px-wide input) - Removed
:focusstates from:activelinks in Firefox - Fixed unqualified
.clearfixin forms.less that added bottom margin to all containers - Updated
.container()mixing to be.fixed-container()to prevent conflicts when compiling - Added focus states (either
box-shadoworoutlineon:focus) to all buttons, links, and inputs - No longer require
h3in topbar, but still support for backwards compatibility