Earlier this week, I was excited to announce that our next release, 2.2.2-wip, would include the new Glyphicons icon font. In hindsight I got a little carried away and forgot about something.
IE7 doesn’t really do icon fonts.
I could put together a hack to add IE7 support, duplicating tons of code, but that doesn’t feel right as we’re dropping IE7 support in BS3. Instead of spending time on something we’ll just remove later on, we’re going to focus on things that will be here in the next major version.
So, it’s with some sadness that I inform you we will not be including the Glyphicons font in 2.2.2-wip.
Backwards compatibility is always a pain in the ass, and to avoid huge headaches for folks, we sometimes have to bend over, well, backwards. I hope this doesn’t screw up your plans too much and that you understand we have the community’s best interests at heart.
There’s some good news though. For you nerds who live on the edge, I’ve been working on tons of BS3-esque changes in the 3.0.0-wip branch on GitHub. If you really cannot wait for the Glyphicons font (and don’t mind using unsupported code), do check it out. I plan on accelerating work on it in the coming weeks. (Please don’t submit issues for it though, but rather email me or ping me on Twitter for questions.)
After the 2.2.0 release last night, a few bugs were reported, but only one major one: malfunctioning carousels. To address that, @fat just pushed out a 2.2.1 hotfix release that fixes the bug. Upgrading should be super simple given the scope of this release.
Aww yeah, our first release since leaving Twitter is here with Bootstrap 2.2.0! We originally planned to release this as 2.1.2, but given the timing and scope we’re bumping the version. Included in this release are dozens of bug fixes, documentation enhancements, and a few new and improved features.
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 @baseFontSize and @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.
Miscellaneous variable improvements across the board.
Miscellaneous documentation typos fixed.
For the full list of issues included in this release, visit the 2.2.0 milestone on GitHub. Otherwise, be sure to visit the docs or download the latest to get your hands on 2.2.0.
As a quick side note, we’re still working on moving Bootstrap to its own organization on GitHub. That will come with a couple other big changes, but more on that soon. We’ll be jumping on the next release shortly for more bugfixes, but until then enjoy the fixes and new hotness!
Lastly, thanks everyone again for submitting issues and contributing—you rock!
Working at Twitter the last two and a half years has been incredible. Both Jacob and I have worked with a lot of amazing people on some pretty amazing projects, but nothing has been more enjoyable or rewarding than working on Bootstrap. Despite us leaving Twitter to go our separate ways, we’ll both be continuing our work on the project.
Bootstrap will remain a Twitter project on GitHub for the time being, but we’ve realized the project has grown beyond us and the Twitter brand. It’s a huge project playing a pretty awesome role in the web development industry, and we’re excited to see it continue to grow. To that end, we’ve begun working to move Bootstrap into its own open source organization. It will take time, but we’re dedicated to making it happen.
In the coming weeks, we’ll release another bugfix update (2.1.2) to address a few things, and then it’s full steam ahead on improving some key areas of the framework (modals, carousels, customizer, etc). We’ll share more info on those updates as plans take shape.
Until then, we have nothing but love for Twitter and the web development community. Thank you all so much for everything.
Two weeks later, we’ve closed another 500 issues against Bootstrap. That includes all the dupes—you nerds like reporting typos—and invalid issues that don’t end up making it on the official release milestone. But, what’s awesome is that we have 2.1.1 ready to rock with 73 bugfixes.
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 dt and .horizontal-form .control-group to 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.
select now utilizes @inputBorder.
.lead now scales up from @baseFontSize instead 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.
There’s a bunch more, so do run through the 2.1.1 milestone when you can, but those are the big ones.
Next up
More bug fixes, more feature improvements. 2.1.2 will be coming shortly and we’ll work to improve a handful of issues that we punted on for 2.1.1. Beyond that, we’ve scoped out the next few releases around a set of key components like modals and carousels.
We’ll continue to add new features as appropriate, but we’re primarily focused on improving current functionality in the next few months.
Roughly two weeks ago we upgraded the blog to use Jekyll and GitHub Pages instead of WordPress. When we did that, we forgot about the RSS feed. A few awesome folks noted we were missing it and so we’ve added it back. Unfortunately it’s not the same URL, but it’s there nonetheless.
It’s also in the <head> of the blog’s pages, so entering just the root URL should resolve fine for you in most RSS apps. Again, sorry for the oversight and please continue to let us know if we can do anything else to improve the blog.
After a smaller 2.0.4 release, we’ve got another huge update that resolves tons of bugs, improves the flexibility and durability of our code, and introduces a few awesome new features. It’s a big release wrapped in a brand new set of docs and we couldn’t be more stoked to launch it.
tl;dr
New docs, affix plugin, submenus on dropdowns, block buttons, image styles, fluid grid offsets, new navbar, increased font-size and line-height, 120+ closed bugs, and more. Go get it.
Improved documentation
In addition to sporting a fresh visual style, the content of our docs has been overhauled once again. Good-bye long-winded marketing copy and multiple columns, hello succinct and directive single-column documentation. We’ve got a new tagline, new layout and navigation, and (more) clearer examples.
Key changes and new features
We had higher expectations for the number of new features in 2.1, but we toned it back to get this release out the door in a manageable form. We’ve still added some great new features and fixed tones of bugs, so here’s a brief overview of what’s new.
Submenu support on dropdowns. We avoided this for some time as we thought it would unnecessarily complicate things, but we’ve backtracked on that and opted to add them in. See the docs for more info.
Affix JavaScript plugin. Make anything stick to the top of the viewport as you scroll with our newest plugin, built to power our new docs navigation.
Block level buttons. Add .btn-block to a button to make it full-width.
State classes on table rows. Better convey success, warning, and error messages in tables.
Improved disabled states on navs and dropdowns. Where by “improve” we mean actually present—just add .disabled to the li.
The navbar component is now white by default, with an optional class to darken it. In order to have two options for the navbar, light and dark, we needed to have better defaults. Having a lighter default navbar means fewer lines of code as we don’t need to override anything for the basic navbar functionality and the override it again to restore the default styles. Missing the black? Just add .navbar-inverse to get the dark gray navbar back.
Improved prepended and appended inputs. No need to place the input and .add-on on the same line of code (sorry about that by the way). Break them up as you like and they’ll still stick together with some crafty font-size working.
New base font-size and line-height. 13px/18px is out, 14px/20px is in. This also has changed the size, line-height, and margin of our heading elements, buttons, and more.
Added variable for navbar collapse trigger point. Instead of a fixed pixel width of 980px for triggering the collapsed navbar, we now use a variable so you can customize it for your projects.
Fluid grid offsets. Thanks to our contributors, the fluid grid now has offset support to match our fixed (pixel) grid.
Fluid grid system variables are no longer fixed percentages. Instead, they are calculated in LESS with percentage() based on the default, fixed-width grid variables. Math!
Removed LESS docs page. We will no longer document variables and mixins in two places—rewriting that stuff was painful and took too much time. Instead, just checkout the .less files.
Thanks, nerds
Once again, we couldn’t have done this without all you nerds out there supporting us with your contributions, bugfixes, and feature requests. You keep this project going strong and we thank you deeply for your support.
<3
For the full changelog, visit the GitHub wiki page and the 2.1.0 milestone. We’ve already begun slating things for 2.2, but currently have no estimates on when that will be released or what exactly will make it in. We also may do a 2.1.1, but again, no promises at this point. Live in the now!
We’re stoked to release Bootstrap 2.1 next week Monday at our first birthday party, but to make it a great release, we need your help testing it out.
While 2.0.4 was a smaller release, 2.1 is a much larger effort that closes nearly 100 issues and adds a handful of great features. You can see the full list of changes changes in 2.1 thus far by browsing the milestone on GitHub.
What’s included
At a broad level, we’ve got overhauled docs. They’re drastically streamlined, redesigned, and better than ever. They even include a new page for getting started with an overview of the framework. New framework features include submenu support on dropdowns, block level buttons, and the affix plugin. We’ve made many other key changes, so be sure to check it out.
We’ll have a more complete list of changes with our release next week.
How to help
Just like last time, we’re pushing out a release candidate of the 2.1 code and docs. Here’s how you can help us out:
Checkout the 2.1.0-wip branch, or browse the release candidate docs so you can easily load it up on devices and such for testing.
Load up the new docs in your favorite, or your least favorite, browser or device and start testing.
Open a new issue on GitHub to report bugs. Please include as much context and information as possible. If it’s a visual bug, please include a screenshot. If it pertains to JavaScript, consider including a jsfiddle or jsbin.
If you’re submitting a pull request against 2.1-wip, be sure to read the Contributing to Bootstrap wiki page first.
Sorry about the database connection issues some of you may have seen in the last 24 hours. We’ve moved off WordPress for our blog and are now using GitHub pages and Jekyll. Jekyll is an amazingly lightweight and simple site generator from Tom Preston-Werner, cofounder of GitHub. Here’s why:
Instead of a database, we have flat Markdown files.
Instead of hosting code on servers from Media Temple or another hosting provider, everything is on GitHub.
The posting process is as simple as writing a post and pushing the gh-pages branch.
It’s simple, fast, and pain free. We love it and encourage you to check it out in the future. Stay tuned in the next two weeks or so for more information on our next release. Until then, enjoy the updated blog.
Following up on the large 2.0.3 release a few weeks ago, we have a fresh update to address some documentation issues and basic CSS bugs. 2.0.4 includes around thirty closed issues and is our first version under our updated release approach (shorter, more concise releases).
As always, here’s a quick overview of some of the top changes.
Docs
Added type="button" to all dismiss buttons in alerts and modals to avoid a bug in which they prevent their parent’s form from 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 input selector and various resets, we target each type of input like input[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> for font-family, font-size, and line-height.
Removed redundant color declaration from the <label> element.
Added variables for dropdown dividers border colors.
legend and .form-actions share the same border-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-placeholder to .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.