title: Shrine 3.3.0

New features

rb Shrine.plugin :derivatives, create_on_promote: true

rb Shrine.plugin :store_dimensions, auto_extraction: false

rb class PdfUploader < Shrine add_metadata :pages, skip_nil: true do |io| if is_pdf?(io) reader = PDF::Reader.new(io) reader.page_count else # If this is not a PDF, then the pages metadata will not be stored nil end end end

rb Attacher.derivatives :my_processor, download: false do |source| source #=> Could be File, Shrine::UploadedFile, or other IO-like object shrine_class.with_file(source) do |file| # can force download/copy if necessary with `with_file`, end end

Bug fixes

Other improvements

Backwards compatibility