carrierwaveuploader/carrierwave — pull request #1099 by woodwardjd (2013-05-22 18:47:39+00:00)
Title: Maintain file type conversion across processing

One might expect

```ruby
version :small do
process :convert => :png
process :resize_and_pad => [64, 64, :transparent]
end
```

to produce a 64x64 PNG, padded with transparency, but, due to imagemagick's default behavior of automatically setting output type based on file extension, it doesn't if you don't start with a png original.

This pull request adjusts carrierwave's default manipulation helpers to remember if a 'convert' step was taken on a particular version, and to carry that through subsequent manipulations.

Also, I included a patch which addresses testing with MiniMagick v3.6.0, which was just recently released and included some incompatible changes.