---
title: This week in open source
teaser:
tags: news,open source
author: Mike Burns
published_on: 2012-02-24
---

## shoulda

[shoulda](https://github.com/thoughtbot/shoulda) is version 3.0.0! Someone needed to cut it, and Joe Ferris ([jferris](http://github.com/jferris)) stepped up to make the release ([4f0c363](http://github.com/thoughtbot/shoulda/commit/4f0c36391c663c244e184f55e4f848b9e37963ef "Bump to 3.0.0")).

## high_voltage

A new version of [high_voltage](https://github.com/thoughtbot/high_voltage) is out this week, with contributions from Matthew Horan ([mhoran](http://github.com/mhoran)). Matt fixed the `content_path` hack on `PagesController` such that you can subclass and override the content path properly ([0d84952](http://github.com/thoughtbot/high_voltage/commit/0d84952509ef51ff2ff18d5aa9ae8a9a0ca26724 "Fix for Proc arity and Ruby 1.9"), [9c7c0ad](http://github.com/thoughtbot/high_voltage/commit/9c7c0ad655ba0b0365a355b064a3abce93b9c70a "Update README instructions for subclassed PagesController"), [8884f70](http://github.com/thoughtbot/high_voltage/commit/8884f70be1bd01e306d1f9ee3f5ad4daa4783095 "Allow content_path override for PagesController subclasses"), and [d4ba056](http://github.com/thoughtbot/high_voltage/commit/d4ba056415bb57f34d1ee8596e8cdd25b6508c33 "Reset content_path and layout after running specs"), [e4b1ce9](http://github.com/thoughtbot/high_voltage/commit/e4b1ce9dfc936b90ef33975ca73f4eaac2fd9a43 "Fix subclassed PagesController with custom layout")). He also added Rails 3.1 compatibility ([7556fcd](http://github.com/thoughtbot/high_voltage/commit/7556fcdbdba09cd14f6e8e4acdede45e8ca5f954 "Get the dummy app running with Rails 3.1 and ignore vim swap files")). Joe Ferris ([jferris](http://github.com/jferris)) pushed version 1.1.1 out ([09c2da4](http://github.com/thoughtbot/high_voltage/commit/09c2da4d672b8806feec03fcf9c6530c31a32c43 "Bump to 1.1.1"), [a60cc5b](http://github.com/thoughtbot/high_voltage/commit/a60cc5bae143f3efc05bb06a61d669f8a4729d91 "Bump to 1.1.0"), and [a1f2476](http://github.com/thoughtbot/high_voltage/commit/a1f24765e90efb7d9cac80b3748207810c84d38d "Update lock files")).

## bourbon

What's new in version 1.4.0 of [bourbon](https://github.com/thoughtbot/bourbon)? Glad I asked myself, in writing. Phil LaPier ([plapier](http://github.com/plapier)) changed buttons from `display: inline` to `display: inline-block`, removing text decoration on anchor buttons ([8bea3a7](http://github.com/thoughtbot/bourbon/commit/8bea3a72b62ae1cdb5b925a8a5bed426db5bbfc8 "Changed default display to inline block for buttons. Removed text-decoration when buttons are used on anchors")). He executed the "extract mixin" Bourbon refactoring pattern on `render-gradients` ([9fd50d1](http://github.com/thoughtbot/bourbon/commit/9fd50d1e52b4611a6b080b0d6bfdce6c298a6a86 "Removed linear and radial gradients from background-image mixin. Extracted out render-gradients function to seperate partial")), moving the linear and radial gradients to the root ([92ecae3](http://github.com/thoughtbot/bourbon/commit/92ecae3e4c3df3726904a62f1f5ee9874f2349b0 "Moved the linear and radial-gradient functions to the root file")), all so he could support more gradients in the `border-image` mixin ([0f91303](http://github.com/thoughtbot/bourbon/commit/0f9130308c522639ef4e517693c7d52fe7c5d28b "Add support for linear and radial gradients to the border-image mixin")). Transparent fallback colors are now allowed ([b409982](http://github.com/thoughtbot/bourbon/commit/b4099827a44413e5faafedf9a687d4b24dc945e5 "Allow transparent fallback color for linear and radial-gradient mixins") and [5d86ebd](http://github.com/thoughtbot/bourbon/commit/5d86ebda2ba080a65f2cefdcf2e2f6cde8301e87 "Added optional fallback argument for radial-gradient mixin")), a new `user-select` mixin was added ([b00d334](http://github.com/thoughtbot/bourbon/commit/b00d3341d2e43427c64f4430b49d7978a438e72c "Added user-select mixin")), and finally Phil bumped the version ([f9ee911](http://github.com/thoughtbot/bourbon/commit/f9ee9114f65b6c557a84caaa4f70670c4061bfef "Version bump to 1.4.0")).

## paperclip

A new version of [paperclip](https://github.com/thoughtbot/paperclip) is out&mdash;version 2.7.0 was pushed by Mike Burns ([mike-burns](http://github.com/mike-burns)) to Rubygems ([760a4e0](http://github.com/thoughtbot/paperclip/commit/760a4e05924b23064c5116f14a8b484a9b2a56fe "Bump to 2.7.0")).

Mike&mdash;that's me&mdash;flipped out at a failing test and reverted the `:swallow_stderr` support that was pull in last week ([04c9514](http://github.com/thoughtbot/paperclip/commit/04c951484fb8fba4951a06ef5eae7e47a7bd3288 "Revert &quot;Paperclip#run now respects swallow_stderr setting. Fix for #741&quot;

This reverts commit 58671ebfffe3b03177d9ad248737932441fe4016.

I am reverting this because the tests broke and because the code itself
looks hideous.")). The tests didn't work and the code was ugly. As a general request: if you're adding code to an ugly codebase, add beautiful code!

Prem Sichanugrist ([sikachu](http://github.com/sikachu)) updated the docs to point out that `awk-sdk` must be a specific version ([22a2a85](http://github.com/thoughtbot/paperclip/commit/22a2a85d117ec1c45691e225448e71af4e707f1d "Lock `aws-sdk` version in the readme")). He also added support for Rails 3.2 ([77c5268](http://github.com/thoughtbot/paperclip/commit/77c5268457e05cc1aaefeb22facbb9fe043a3b2e "Update Rails dependency, add Rails 3.2.x")).

Tom Hughes ([tomhughes](http://github.com/tomhughes)) noted that the `fingerprint` field is not cleared when an attachment is deleted, though all other fields are&hellip;and he fixed that ([189ee9c](http://github.com/thoughtbot/paperclip/commit/189ee9c3b26de3dcbd2bd1931844e7173151ece1 "Clear the fingerprint when an attachment is removed")). Pat George ([pcg79](http://github.com/pcg79)) finally fixed the failure message for `validates_attachment_size`, which was written very incorrectly, for years ([45b7dac](http://github.com/thoughtbot/paperclip/commit/45b7dac13b7f0fd0f73ab4c6da676d9ad86fc733 "Fixed error message on validates_attachment_size to not include the term ")).

## kumade

Nothing new on [kumade](https://github.com/thoughtbot/kumade). Gabe Berke-Williams ([gabebw](http://github.com/gabebw)) stopped ignoring the `Gemfile.lock`, despite [what Yehuda suggests](http://yehudakatz.com/2010/12/16/clarifying-the-roles-of-the-gemspec-and-gemfile/) ([a2a2278](http://github.com/thoughtbot/kumade/commit/a2a2278d7d88d9751122353c7e2d3fe3edfabf38 "Add Gemfile.lock to repo.")); simplified the name of a scenario ([ffd1aef](http://github.com/thoughtbot/kumade/commit/ffd1aefe498879b34e2a2a5861584a29353a9b70 "Fix wording.")); and set up Travis CI to run a full integration test ([04d9f6b](http://github.com/thoughtbot/kumade/commit/04d9f6b89065f8a03bddc8ce1cad371ef648897e "Add Heroku")).

## shoulda-matchers

The [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) project had a very ancient list of contribution guidelines so I, Mike Burns ([mike-burns](http://github.com/mike-burns)), updated them to reflect the fact that pull requests do not actually suck ([81cd02b](http://github.com/thoughtbot/shoulda-matchers/commit/81cd02bab095a12541a33dccdeb08a3223f4ffc1 "Update the contribution guidelines.")).

## bourne

More tiny commits on [bourne](https://github.com/thoughtbot/bourne) from Gabe Berke-Williams ([gabebw](http://github.com/gabebw)), where he added Travis CI support ([55248d6](http://github.com/thoughtbot/bourne/commit/55248d6bff2081f4a4ffb9a550b07fb057276ca7 "Add travis.yml.")) and fixed some code formatting ([f31aa72](http://github.com/thoughtbot/bourne/commit/f31aa72b9b2c5cd9e8ed8a73576dacd9ed61e3ba "Revert silly change.")). Yup.

## capybara-webkit

The only news for [capybara-webkit](https://github.com/thoughtbot/capybara-webkit) this week is that Joe Ferris ([jferris](http://github.com/jferris), a.k.a. J&fnof;F) does not want bug reports about system-specific compilation issues ([6b724ef](http://github.com/thoughtbot/capybara-webkit/commit/6b724ef4ff90d6dec8d75bb0d99ec3157f814dd8 "Update README instructions about compiler issues")). We simply can't fix them.

## clearance

Nothing new on [clearance](https://github.com/thoughtbot/clearance), but Dan Croak ([croaky](http://github.com/croaky)) did get it working under Travis CI ([3430e88](http://github.com/thoughtbot/clearance/commit/3430e888e31959407c0f87b75f31ad44b8dde855 "[#180] Specify all rake commands for Travis")).

## appraisal

Tiny cleanups on [appraisal](https://github.com/thoughtbot/appraisal) as Gabe Berke-Williams ([gabebw](http://github.com/gabebw)) changed some parens around and removed some of those awful `if` modifiers ([7a5af59](http://github.com/thoughtbot/appraisal/commit/7a5af59c8f7777716e7a5bb0bf76353d9459ebac "A bit of cleanup.")), and Brian Cardarella ([bcardarella](http://github.com/bcardarella)) updated the README to use actual English ([1883b80](http://github.com/thoughtbot/appraisal/commit/1883b807b2ed651a2407c78f9b0a3a491e84a1d9 "Grammar correction")).
