Upgrading · Twitter Bootstrap

# 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 `make` in 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

- `h4` elements were dropped from 16px to 14px with a default `line-height` of 18px
- `h5` elements were dropped from 14px to 12px
- `h6` elements 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 `colspan` and `rowspan`
- 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
- The `.secondary` class was removed from modal examples in our docs as it never had associated styles.

### 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
- For horizontal forms, previous classes `.clearfix` and `.input` are equivalent to the new `.control-group` and `.controls`.
- 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>` and the class names are now `.nav-pills` and `.nav-tabs`.
- New nav list variation added that uses the same base class, `.nav`
- Vertical tabs and pills have been added—just add `.nav-stacked` to 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 `.topbar` to `.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-form` to properly scope styles to only the intended forms.
- Navbar search form now requires use of the `.navbar-search` class and its input the use of `.search-query`. To position the search form, you must use `.pull-left` or `.pull-right`.
- Added optional responsive markup for collapsing navbar contents for smaller resolutions and devices. See navbar docs for how to utilize.

### Dropdown menus

- Updated the `.dropdown-menu` to tighten up spacing
- Now requires you to add a `<span class="caret"></span>` to show the dropdown arrow
- Now requires you to add a `data-toggle="dropdown"` attribute to obtain toggling behavior
- 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 `.thumbnail` class

### Alerts

- New base class: `.alert` instead of `.alert-message`
- Class names standardized for other options, now all starting with `.alert-`
- Redesigned base alert styles to combine the default alerts and block-level alerts into one
- Block level alert class changed: `.alert-block` instead 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

Heads up! We've rewritten just about everything for our plugins, so head on over to the Javascript page to learn more.

### Tooltips

- The plugin method has been renamed from `twipsy()` to `tooltip()`, and the class name changed from `twipsy` to `tooltip`.
- The `placement` option value that was `below` is now `bottom`, and `above` is now `top`.
- The `animate` option was renamed to `animation`.
- The `html` option was removed, as the tooltips default to allowing HTML now.

### Popovers

- Child elements now properly namespaced: `.title` to `.popover-title`, `.inner` to `.popover-inner`, and `.content` to `.popover-content`.
- The `placement` option value that was `below` is now `bottom`, and `above` is now `top`.

### New plugins

- Collapse
- Carousel
- Typeahead