Quantcast
Channel: Bootstrap Blog
Viewing all 134 articles
Browse latest View live

Help test Bootstrap 2.0.3

$
0
0

Our next release, 2.0.3, is almost ready to rock, but we need your help to get the finish line in the best shape possible. Similar to what we did for the big 2.0 launch, we're asking for the community's help in testing out the release's work-in-progress branch. We have a ton of bug fixes—another 80 or so since 2.0.2—and want to have the highest quality release we can.

Why?

Good question. 2.0.2 introduced some bad bugs in component behavior, publicized outdated documentation, and introduced some ugly regressions. That sucks, and when those things happen, we get held up tracking them down because we missed something in our haste to get a release out the door. We want to focus all our efforts on the 2.1 release after 2.0.3, and to do that we need to get as bug free as we can with this one.

We'll leave 2.0.3-wip open for widespread testing all this week (April 16-20) and then push a release while Jacob and I are in London on April 24. That should give folks, including us, enough time to test the waters and report any back on any issues.

How?

Just like last time, we're pushing out a release candidate of the 2.0.3 code and docs. Here's how you can help us out:

  • Head to GitHub and checkout the branch, 2.0.3-wip.
  • Don't want to check out any code? We're hosting the latest version of the docs here 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.
  • When you find a bug or have feedback, open a new issue on GitHub. 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 it's a code fix you can make yourself, go ahead and submit a pull request against `2.0.3-wip. Be sure to read the Contributing to Bootstrap wiki page first though for a bit of insight into our code practices. (Unsure how to submit a pull request? Learn more here.)

We're only human, and we're bound to make a few mistakes in our code as Bootstrap continues to grow. Thanks in advance for all your help and support—it's appreciated more than you know.


Bootstrap, JSHint, and Recess

$
0
0

This last week we've added two new developer tools to the Bootstrap tool chain and I wanted to take a minute to let you know a little bit more about what they are, why we've added them, and why it matters.

JSHint

JSHint is an awesome community-driven linting tool, used to detect errors and potential problems in your JS, and to enforce coding conventions. It's super flexible and can easily adapt to whichever coding guidelines and environment you expect your code to execute in.

As of 2.0.3, all JS (including tests) will be run through JSHint as a part of the build process. We're hoping that this will both catch potentially unsafe syntax as well as encourage a convention around Bootstap's JavaScript style.

To begin with, Bootstrap's JS will use the following options (stored in a .jshintrc file in the js dir):

{
    "validthis" : true
  , "laxcomma"  : true
  , "laxbreak"  : true
  , "browser"   : true
  , "boss"      : true
  , "expr"      : true
  , "asi"       : true
}

We hope this will make it a little easier for those looking to contribute to Bootstrap, and lessen the pain around pull requests with divergent styles. If you haven't played with JSHint, you should definitely take a moment to check it out right now!

Recess

Recess is a project developed at Twitter to help support our internal style guide.

null

At it’s core, Recess is a linter, but with the added ability to compile and/or reformat your css/less files: normalizing whitespace, stripping 0 values, reordering properties, and any other safe stylistic optimizations it can find.

What this means is that instead of just telling you where you have problems, you can actually tell Recess to just go ahead and tidy your code up for you.

To begin with, we're only using Recess in this manner — as a compiler for our Less (rather than the lessc compiler directly). This gives us strict control over the output of Bootstrap and let's Mark and I really geekout, which we're super excited about (we like things to be perfect... we're nerds like that).

The Future

Eventually we'd like to try to roll these tools (along with our unit tests) into some sort of continuous integration service. At Twitter, we're already using travis-ci on a number of our other projects (Hogan.js, Recess), so we may follow suit with Bootstrap soon. This will make it even easier for us to accept pull requests from the community, as we'll be able to see all our tests passing! :)

Anyways — that's all for now. As always, if you have any questions or feedback, let us know! thanks!

<3

Bootstrap 2.0.3 released

$
0
0

Today we're releasing Bootstrap 2.0.3, another bugfix release that aims to squash as many regressions and documentation inaccuracies as possible. There are almost 100 closed issues in the 2.0.3 milestone on GitHub, but below is a comprehensive list of the most important fixes with clear explanations of what's changed.

Makefile

In the spirit of always improving the LESS functionality and build tools, we've updated our makefile to utilize JSHint and Recess, linters for javascript and CSS. To continue to run make via Terminal, do the following:

$ npm install -g recess jshint

We've also removed the bootstrap.zip file from the repository, so make runs much faster as it has no need to compress any files. For more info, see the updated readme.

HTML and CSS

  • Overhauled the responsive utility classes to simplify required CSS, add !important to all declarations, and use display: inherit in place of display: block to account for different types of elements.
  • Removed > from fluid grid column selectors, meaning every element with a .span* class within a .row-fluid will 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 @navbarBrandColor for the brand element in navbars, which defaults to @navbarLinkColor.
  • Font-family mixins now use variables for their stacks.
  • Fixed an unescaped filter on the .reset-filter() mixin that was causing some errors depending on your compiler.
  • Fixed regression in .form-actions background, which was too dark, by adding a new variable @formActionsBackground and changing the color to #f5f5f5 instead 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-toggle styles (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-input was being floated and a missing comma meant its border-radius for the append option wasn't being applied properly.
  • Removed height: auto; from img since 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 @navbarHeight on 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-query inputs in IE7 since it doesn't have border-radius.
  • Updated alert messages in Components to use button elements as close icons instead of a. Both can be used, but an a will require href="#" for dismissal on iOS devices.
  • Fixed an issue with prepended/appended inputs in Firefox where select elements required two clicks to toggle the dropdown. Resolved by moving the position: relative to the select by 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, and textarea elements 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-content would not growing to its parent's full width due to display: table. We removed that and the width: 100% and instead just set overflow: auto to 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 static 3px value everywhere.
  • Changed the way we do border-radius for 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 offset paramater to the .makeColumn.
  • Increased the specificity of all tabbable nav selectors to include .nav-collapse to 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, badges-labels.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 @buttonPrimaryBackground variable, 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-error with .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 p tag, but the required HTML is any element with class .navbar-text.
  • Clarified the use of .tabbable for tabs. The wrapping class is only required for left and right tabs to clear their floats. Also added mention of .fade to fade in tabs.
  • Updated forms documentation:
    • Remove unnecessary duplicate help text in first example
    • Added mention of required input class, .search-query, for the search form variation
    • Removed incorrect mention of form fields being display: block; to start as fields are inline-block to start.
  • Added mention of data-target attribute for the dropdowns javascript plugin to show how to keep custom URLs intact on links with .dropdown-toggle class.
  • Updated the Kippt screenshot on the homepage to reflect their recent responsive redesign and upgrade to 2.0.2.

We're continually updating issues and tracking them for our next release in the 2.1 milestone, which will focus on adding a few new features and tackle the inevitable bugs and edge cases from this release.

Talking about Bootstrap

$
0
0

There is a thread on the mailing list about how to describe Bootstrap and instead of isolating our response to just one email, I'll just blog about it. As it stands, some folks are unsure how to describe Bootstrap to those unfamiliar with it. So here it is, straight from the official horse's mouth.

Name

Casually, it's just Bootstrap. That's noun and verb, for those wondering—Bootstrap the project and "to Bootstrap a project", respectively. Formally, we call it Twitter Bootstrap, a change that came with v2.0.0. Previously we called it "Bootstrap, from Twitter" to emphasize the project over our employer, but it just became too verbose and awkward to say.

Related, the shorthand abbreviation we use is BS—not TB, TBS, or TwBs. I don't know why, but this feels better than TB since that's the name of an infectious disease and all that.

Description

We worked at this for a good bit before setting on our current tagline, "Simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions." Previously, it was much more descriptive to the framework's contents, and thus quite long and wordy. We wanted to convey the technical details properly heading into 2.0.0 (when we changed the tagline), but without the bulk. Instead, we focus on the roles Bootstrap can assist folks with: HTML, CSS, and Javascript. Any other description is fine, but I wanted to share some insight into the official tagline just for context.

Framework

Another focal point in the email thread was the question of referring to Bootstrap as a framework. That's accurate enough for sure, but also somewhat limiting depending on how you want to use it. Holistically, Bootstrap certainly is a framework (or toolkit or whatever) for prototyping and building production ready stuff on the web. That said, on an individual component level, Bootstrap is a tool for performing common web development tasks faster and easier.


So there you have it, a quick low-down on how we're thinking and talking about Bootstrap. When it comes right down to it, Bootstrap is whatever you want to make of it, so dive in and see where it can help you out the most.

New release strategy

$
0
0

After three large point releases focusing on massive amounts of bugfixes and documentation changes, we're going to change up our release strategy to push out smaller, more frequent updates.

Why?

Releases with a hundred bugfixes are difficult to test, take much longer to ship, make changelogs super long and verbose, and have a tendency to introduce additional unforeseen bugs. In hindsight, our 2.0.3 release should have been a 2.1 given its sheer scope and the time it took to ship. Going forward, we'll try to improve the frequency of the patches to get you better code faster.

So what's next?

At the Twitter UK Open House in London last week, we said 2.1 was our next priority. While that's still true, we're backing up and rethinking it's scope. Bootstrap 2.1 may end up much narrower in focus to help us ship it earlier. We'll still tackle all the same issues and new features we originally planned for, but across more releases. In addition, 2.1 might not be our very next release as some of those unforeseen bugs have already cropped up.

tl;dr

To keep up with the community and improve code quality, we'll be shipping more releases more frequently.


Questions? Mention us on Twitter.

Bootstrap 2.0.4 released

$
0
0

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 &lt;p&gt; for font-family, font-size, and line-height.
  • Removed redundant color declaration from the &lt;label&gt; 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.

For a full changelog, visit the now complete 2.0.4 milestone on GitHub.

Now powered by Jekyll and GitHub Pages

$
0
0

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

Help test Bootstrap 2.1

$
0
0

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:

If you're submitting a pull request against 2.1-wip, be sure to read the Contributing to Bootstrap wiki page first.


Bootstrap 2.1.0 released

$
0
0

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!

New RSS feed

$
0
0

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.

Here's the URL for the new feed: http://blog.getbootstrap.com/feed.xml.

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.

Thanks!

Bootstrap 2.1.1 released

$
0
0

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.

Get it

Head on over to http://getbootstrap.com and get your fix, or download the latest master ZIP right from GitHub.

What's changed

Here's the rundown:

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

Onward

$
0
0

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.

<3,

@mdo and @fat

Bootstrap 2.2.0 released

$
0
0

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.
  • Added Contributing.md file.
  • Added support for installing Bootstrap via Bower.
  • 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.

Download Bootstrap 2.2.0(latest master ZIP)

Next steps

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!

<3,

@mdo and @fat

2.2.1 hotfix released

Update on the Glyphicons font

$
0
0

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 exploratory 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 accelarating 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.)

Thanks for listening, and as always, <3<3<3.

@mdo


Help test Bootstrap 2.2.2

$
0
0

In the next week or so, we plan on releasing v2.2.2. To date, there are over 50 CSS and documentation related issues already closed, and we want to get those out in your hands. We still have some significant JavaScript issues to work out, but those will be punted to 2.2.3 so we don't hold up development. Our hope is to have that release out by end of year at the latest.

Key changes

  • Added retina assets in the docs.
  • Added HTML5 Boilerplate print styles.
  • Swapped placehold.it for Holder.js.
  • Fixed issues with popovers inheriting font-size: 0; in button groups.
  • Refactorered popover arrows to fix IE8 display bug and use less code.
  • Updated popover plugin to remove the <p> within .popover-content. Popover text and HTML now directly inserts into .popover-content.
  • Enabled badges and labels to automatically collapse when empty.

For a more complete set of changes, view the 2.2.2 milestone on GitHub. Most of the issues not mentioned above are minor CSS tweaks and documentation typos.

How to help

We would love to have folks help test these changes to prevent further regressions.

  • Checkout the branch, 2.2.2-wip, or browser the release candidate docs so you can easily load it up on devices and such for testing. Note: downloads on the RC docs do not work.
  • Take a look at the docs and give 'em a run on the docs, on your phone, your (least?) favorite browser, etc.
  • 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.

If you're submitting a pull request against 2.2.2-wip, be sure to read the Contributing to Bootstrap wiki page first.

Bootstrap 2.2.2 released

$
0
0

Today we're launching Bootstrap 2.2.2, another larger bugfix release that focuses mostly on CSS and documentation fixes, with a few key JS issues mixed in as well. Here's the rundown on what's new in this release:

  • Docs:
    • Assets (illustrations and examples) are now retina-ready.
    • Replaced Placehold.it with Holder.js, a client-side and retina-ready placeholder image tool.
  • Dropdowns: Temporary fix added for dropdowns on mobile to prevent them from closing early.
  • Popovers:
    • No longer inherits font-size: 0; when placed in button groups.
    • Arrows refactored to work in IE8, and use less code.
    • Plugin no longer inserts popover content into a <p>, but rather directly into .popover-content.
  • Labels and badges: Now automatically collapse if they have no content.
  • Tables: Nesting support with .table-bordered and .table-striped greatly improved.
  • Typeahead:
  • Print styles, from HTML5 Boilerplate, have been added.

Get a more complete list by viewing the 2.2.2 milestone on GitHub. Most of the issues not mentioned above are minor CSS tweaks and documentation typos.

Download Bootstrap 2.2.2(latest master ZIP)


We have a 2.2.3 release slated for further bugs and improvements we couldn't tackle in this version, but most of our ongoing efforts are going to transition to development on 3.0.0. More details on that will come next week.

Bootstrap 3 plans

$
0
0

With 2.2.2 out the door, our attention has shifted almost entirely to the next major update to the project, Bootstrap 3. Things are coming together and we want to give you an update on what's next and give you a chance to share your thoughts.

Specifics of v3

Overall, Bootstrap 3 will be rather narrow in focus compared to the last major update. In short, we'll drop legacy code, improve responsive CSS, and centralize community efforts. Specifically, v3 will address the following:

  • Migrate twitter/bootstrap, twitter/bootstrap-server, and mdo/bootstrap-blog (currently a private repo) to the twbs organization.
  • Change site URLs to http://getbootstrap.com (more on that below).
  • Compile all Less code, including responsive styles, into a single CSS file.
  • Drop IE7/FF3x support entirely.
  • Use the @font-face version of Glyphicons instead of the current PNGs.
  • Switch to the MIT license instead of Apache.
  • Drop the *-wip branch style of development.
  • Use tags for all versioned downloads, use smaller feature branches for dev work, and merge right into master (after 3.0 launches).

To help communicate and track changes, we put together a wiki page for upcoming 3.0 changes. Follow along with what we're working on, ask questions, or contribute by using that page as a reference point. We'll do our best to keep it up to date as development progresses.

In addition, we're going to try to accelerate versioning by focusing on individual components for major releases after 3.0 (e.g., modals or the carousel could be punted to a 4.0 release). Given this approach, it's less important for us to stuff a lot of feature work into 3.0.

Beyond that, we're open to addressing a couple of things with 3.0 like form styles and mobile enhancements. We want to limit these kind of changes for 3.0 though, so let us know what features are most important to you.

New GitHub organization

We mentioned this a few times in recent months, but with 3.0 we'll be transitioning to a new organization on GitHub, twbs. The username is homage to H5BP, one of the most notable front-end tools out there, and of course, Twitter. The move shouldn't present any problems to you fine folks.

New URLs

With the move to the new organization, the URLs of the Bootstrap docs must change. We host our docs on GitHub Pages and those URLs are based on user or organization names. To better future-proof things, we'll be making http://getbootstrap.com our base URL instead of just a redirect.

For us, this will be the most painful part of the move. Given how prolific links are, we'll also try to setup something at the old URLs to redirect folks, but we're unsure how we will do that just yet. Perhaps a shell repository with dummy pages pointing to their replacements? Time will tell.

Strengthening the community

The larger goal behind the organization move is to bolster the Bootstrap community. To start, we'll be transferring the main Bootstrap repo, the Heroku customizer app, and the blog to the new organization. But more importantly, we want to bring community projects into the organization as official projects.

From language ports to extensions to snippets, we want to work with leaders of key community efforts to see if this makes sense. We're still working on the criteria for this and have yet to reach out to anyone.

If you think your project fits, hit us up. We'll be looking to add projects shortly after 3.0.

Growing the team

Bringing additional projects into the fold is going to be a huge undertaking as managing the existing code is already a hefty task between Jacob and myself. To that end, we'll be looking to add one or two people to the team to help us manage issues, pull requests, etc. This is a huge deal for us and we'll be taking our time on figuring it all out.

Growing the team with official contributors, other than the two of us, is also a goal. Similarly, we're super nervous about this and have no clear timetable for it as well.

Wrapping up

Bootstrap is still just getting started. There is so much more awesome stuff to do and we want to work with you awesome folks to do it all as best we can. We hope you're as excited as we are.

Please reach out to us on Twitter or GitHub with any questions or feedback.

<3,

@mdo and @fat

Bootstrap 2.3 released

$
0
0

It has been far too long, friends. Nearly three months has gone by since we pushed out a new version of Bootstrap, but fret not, for that void comes to a most excellent halt tonight. After numerous delays, including a bout with the flu, we're happy to announce the release of Bootstrap 2.3.

Oh shit what

Bootstrap 2.3 includes some new features, as well as the standard bunch of bug fixes and docs improvements. Here are the highlights:

  • Repository changes:
    • Local instead of global dependencies for our makefile and install process. Now getting started is way easier—just run npm install.
    • Upgraded to jQuery 1.9. No changes were needed, but we did upgrade the included jQuery file to the latest release.
    • Moved changelog to be within the repo instead of as a wiki page.
  • New and improved features:
    • Added carousel indicators! Add the HTML and it automagically works.
    • Added container option to tooltips. The default option is still insertAfter, but now you may specify where to insert tooltips (and by extension, popovers) with the optional container parameter.
    • Improved popovers now utilize max-width instead of width, have been widened from 240px to 280px, and will automatically hide the title if one has not been set via CSS :empty selector.
    • Improved tooltip alignment on edges with #6713.
    • Improved accessibility for links in all components. After merging #6441, link hover states now apply to the :focus state as well. This goes for basic <a> tags, as well as buttons, navs, dropdowns, and more.
    • Added print utility classes to show and hide content between screen and print via CSS.
    • Updated input groups to make them behave more like default form controls. Added display: inline-block;, increased margin-bottom, and added vertical-align: middle; to match <input> styles.
    • Added .horizontal-three-colors() gradient mixin (with example in the CSS tests file).
    • Added .text-left, .text-center, and .text-right utility classes for easy typographic alignment.
    • Added @ms-viewport so IE10 can use responsive CSS when in split-screen mode.
  • Docs changes:

As always, you can see a more complete list of changes by viewing the 2.3.0 milestone or 2.3.0 pull request on GitHub. Most of the issues not mentioned above are minor CSS tweaks and documentation typos.

Download Bootstrap 2.3.0(latest master ZIP)

A note on tooltips

When we released 2.2.2, we changed the insertion strategy for tooltips and popovers. Instead of appending to the <body> by default, they used insertAfter. This change fixed number z-index issues and ultimately makes controlling and styling tooltips much easier for folks.

Unfortunately, this also resulted in a few bugs, namely breaking input groups by interfering with adjacent CSS selectors. Instead of reverting the insertion method, we've added a new container option. If you run into a situation where insertAfter doesn't work for you, go ahead and set that option to whatever element works best for you.

Bootstrap 3 update

As we've previously mentioned, v2.3 is our last planned release before moving onto v3 fulltime (pending any catastrophic fuckups). For the latest, follow the Bootstrap 3 pull request. Otherwise, here's the lowdown:

  • Bootstrap 3 will be mobile first.
  • No more separate responsive CSS file—all in one now, baby.
  • Dropping support for IE7 and Firefox 3.x.
  • Grids have been overhauled—now simpler and fluid by default.
  • Modals are all responsive and shit now.
  • Dropping submenu support.
  • Carousel has been redesigned.
  • Renamed all of the variables to use dashes instead of camelCase.
  • Dropped image icons in favor of icon font.
  • JavaScript events are going to be namespaced.
  • Docs are getting a bit of a reorganization—Scaffolding and Base CSS have been merged into a single page, CSS.
  • Added a new gallery page to showcase more awesome Bootstrap implementations.
  • And a whole mess of other changes.

And that's just some of the highlights. Again, peep the pull request for the most up to date changes as we continue to chip away at this bad boy. Feel free to comment on that, or hit us up on Twitter, for feedback of any kind.

<3,

@mdo and @fat

Bootstrap 2.3.1 released

$
0
0

While Bootstrap 2.3 was the last planned release ahead of 3.0, we've just pushed out a small patch to address a few lingering JavaScript bugs. Bootstrap 3 is still under development and is trucking along quite nicely. We'll have more to share there soon.

Until then, here's what's new with 2.3.1:

  • Fix missing event type in dropdown plugin
  • Fix delegated data-attrs for popover/tooltip
  • Make carousel actually pause when you click cycle
  • Fix jshint ref in makefile
  • Fix trying to remove backdrop when no backdrop is set

Check out the 2.3.1 pull request for more details on the changes in this release.

Download Bootstrap 2.3.1(latest master ZIP)

Side note: Aside from the fixes in this release, future bugs will only be addressed in 3.0, or punted entirely, as appropriate. This release just fixes a few things left broken that we didn't feel comfortable ignoring for the next several weeks.

<3,

@mdo and @fat

Viewing all 134 articles
Browse latest View live