title: Shrine 2.2.0

New plugins

class MyUploader < Shrine
  plugin :processing

  process(:store) do |io, context|
    # ...
  end
end
class ImageUploader < Shrine
  plugin :add_metadata

  add_metadata :exif do |io, context|
    MiniMagick::Image.new(io.path).exif
  end
end
uploaded_file.metadata["exif"]
# or
uploaded_file.exif

Other features

uploaded_file.open do |io|
  # ...
end # closes the IO

Other improvements

Storage changes

Backwards compatibility