Shrine v3.4.0 Release Notes

Release Date: 2021-06-14 // 5 months ago
    • 💎 base – Fix passing options to Shrine.Attachment on Ruby 3.0 (@lucianghinda)

    • determine_mime_type – Return correct image/svg+xml MIME type for SVGs with :fastimage analyzer (@Bandes)

    • activerecord – Fix keyword argument warning when adding errors with options (@janko)

    • entity – Make Attacher#read method public (@janko)

    • entity – Reset attachment dirty tracking in Attacher#reload (@janko)

    • activerecord – Don't load the attacher on ActiveRecord::Base#reload if it hasn't yet been initialized (@janko)

    • sequel – Don't load the attacher on Sequel::Model#reload if it hasn't yet been initialized (@janko)

Previous changes from v3.3.0

    • 👍 s3 - Support new Aws::S3::EncryptionV2::Client for client-side encryption (@janko)

    • derivation_endpoint – Reduce possibility of timing attacks when comparing signatures (@esparta)

    • 0️⃣ derivatives – Avoid downloading the attached file when calling default no-op processor (@janko)

    • derivatives – Add :download processor setting for skipping downloading source file (@jrochkind, @janko)

    • derivatives – Copy non-file source IO objects into local file before passing them to the processor (@jrochkind)

    • sequel – Call Attacher#reload in Sequel::Model#reload, which keeps rest of attacher state (@janko, @jrochkind)

    • activerecord – Call Attacher#reload in ActiveRecord::Base#reload, which keeps rest of attacher state (@janko, @jrochkind)

    • 📇 add_metadata – Add :skip_nil option for excluding metadata keys whose values are nil (@renchap)

    • store_dimensions – Add :auto_extraction option for disabling automatically extracting dimensions on upload (@renchap)

    • mirroring – Forward original upload options when mirroring upload (@corneverbruggen)

    • derivation_endpoint – Apply version URL option in derivation endpoint (@janko)

    • 🚚 remove_attachment – Delete removed file if a new file was attached right after removal (@janko)

    • upload_endpoint – Fix Shrine.upload_response not working in a Rails controller (@pldavid2)

    • presign_endpoint – Add OPTIONS route that newer versions of Uppy check (@janko)

    • derivatives – Add :create_on_promote option for auto-creating derivatives on promotion (@janko)

    • 👍 s3 – Add back support for client-side encryption (@janko)

    • memory – Ensure Memory#open returns content in original encoding (@jrochkind)