All Versions
Latest Version
Avg Release Cycle
65 days
Latest Release
172 days ago

Changelog History
Page 2

  • v3.0.0.beta2

    September 11, 2019
  • v3.0.0.beta

    August 29, 2019
  • v2.19.4

    January 16, 2020
  • v2.19.0 Changes

    July 18, 2019
    • pretty_location – Allow specifying a different identifier from id (@00dav00)

    • 🚚 data_uri – Soft-move Shrine::Plugins::DataUri::DataFile to Shrine::DataFile (@janko)

    • 🚚 rack_file – Soft-move Shrine::Plugins::RackFile::UploadedFile to Shrine::RackFile (@janko)

    • 🗄 backup – Deprecate the plugin over mirroring uploads via the instrumentation plugin (@janko)

    • 🚚 moving – Deprecate the plugin in favor of the :move option for FileSystem#upload (@janko)

    • 🚚 file_system – Add :move option for FileSystem#upload (@janko)

    • 📇 file_system – Don't fill size metadata if missing in FileSystem#upload (@janko)

    • 🗄 logging – Deprecate plugin in favour of instrumentation (@janko)

    • 🔌 instrumentation – Add plugin which sends events via ActiveSupport::Notifications or dry-monitor (@janko)

    • 📇 core – Add UploadedFile#[] shorthand for accessing metadata (@janko)

    • 📇 add_metadata – Allow calling super when overriding dynamically defined UploadedFile methods (@janko)

    • store_dimensions – Add :on_error option for specifying the exception strategy (@janko)

    • store_dimensions – Print warnings when exception occurred while extracting dimensions (@janko)

    • core – Add Shrine.logger and make any warnings go through it (@janko)

    • 🗄 copy – Deprecate the plugin (@janko)

    • 📇 core – Add ability to force metadata extraction by passing metadata: true to Shrine#upload (@janko)

    • 📇 core – Add ability to skip metadata extraction by passing metadata: false to Shrine#upload (@janko)

    • 🗄 file_system – Deprecate :older_than option for FileSystem#clear! in favour of a block (@janko)

    • file_system – Add the ability for FileSystem#clear! to take a block (@janko)

    • signature – Add Shrine.signature alias for Shrine.calculcate_signature (@janko)

    • store_dimensions – Add Shrine.dimensions alias for Shrine.extract_dimensions (@janko)

    • determine_mime_type – Add Shrine.mime_type alias for Shrine.determine_mime_type (@janko)

    • validation_helpers – Add #validate_max_dimensions, #validate_min_dimensions, and #validate_dimensions (@janko)

    • validation_helpers - Add #validate_size, #validate_width, and #validate_height shorthands (@janko)

    • validation_helpers – Add #validate_mime_type and #validate_extension aliases for inclusion (@janko)

    • 0️⃣ validation_helpers – Simplify default validation error messages (@janko)

    • core – Allow registering storage objects under string keys (@janko)

  • v2.18.0 Changes

    June 24, 2019
    • core – Add Shrine.upload method as a shorthand for (@janko)

    • 0️⃣ upload_endpoint – Accept file uploads from Uppy's default files[] array (@janko)

    • core – Add Shrine::Attachment() shorthand for (@janko)

    • upload_endpoint – Add :url option for adding uploaded file URL to response body (@janko)

    • s3 – Deprecate :download URL option over :response_content_disposition (@janko)

    • 📇 s3 – Remove backfilling size metadata when uploading IO objects of unknown size (@janko)

    • 🗄 s3 – Deprecate aws-sdk-s3 version less than 1.14.0 (@janko)

    • presign_endpoint – Add Shrine.presign_response for handling presigns inside a custom controller (@janko)

    • upload_endpoint – Add Shrine.upload_response for handling uploads inside a custom controller (@janko)

    • rack_file – Fix overriden Attacher#assign not accepting second argument (@janko)

    • 📜 parsed_json – Fix overriden Attacher#assign not accepting second argument (@janko)

  • v2.17.0 Changes

    May 06, 2019
    • data_uri – Add Attacher#assign_data_uri which accepts additional Shrine#upload options (@janko)

    • remote_url – Accept additional Shrine#upload options in Attacher#assign_remote_url (@janko)

    • download_endpoint – Allow passing options to Shrine.download_endpoint (@janko)

    • download_endpoint – Fix Shrine.download_endpoint not being accepted by Rails' #mount (@janko)

    • 🚚 download_endpoint – Remove Roda dependency (@janko)

    • 🔌 presign_endpoint – Soft-rename Shrine::Plugins::PresignEndpoint::App class to Shrine::PresignEndpoint (@janko)

    • 🔌 upload_endpoint – Soft-rename Shrine::Plugins::UploadEndpoint::App class to Shrine::UploadEndpoint (@janko)

    • processing – Fix defining process blocks being applied to Shrine superclasses (@ksol)

    • derivation_endpoint – Add ETag header to prevent Rack::ETag from buffering file content (@janko)

    • rack_response – Add ETag header to prevent Rack::ETag from buffering file content (@janko)

    • download_endpoint – Add ETag header to prevent Rack::ETag from buffering file content (@janko)

    • 0️⃣ default_url – Add :host for specifying the URL host (@janko)

    • versions – Fix uploaded versions being deleted when string version names are used (@janko)

    • versions – Allow Attacher#url to accept version name indifferently (@FunkyloverOne)

    • 👌 Improve performance of cleaning empty directories on deletion in FileSystem storage (@adamniedzielski)

    • ⬇️ Drop MRI 2.3 support (@janko)

    • 📇 metadata_attributes – Fix Attacher#assign not accepting additional options anymore (@janko)

    • 👍 derivation_endpoint – Add support for Rack < 2 (@Antsiscool)

    • 🔌 derivation_endpoint – Fix :upload option being incompatible with moving plugin (@speedo-spin)

    • determine_mime_type – Allow passing options to analzyers (Marcel accepts :filename_fallback option) (@hmistry)

    • determine_mime_type – Revert "Extended determine MIME type with Marcel" (@hmistry)

    • 🐎 rack_response – improve performance for upper bounded Range header values (@zarqman)

    • rack_response – prevent response body from yielding nil-chunks (@zarqman)

    • 📜 parsed_json – Accepts hashes with symbols keys (@aglushkov)

  • v2.16.0 Changes

    February 18, 2019
    • derivation_endpoint – Add :upload_open_options for download option for derivation result (@janko)

    • derivation_endpoint – Fix :upload option being incompatible with delete_raw plugin (@janko)

    • derivation_endpoint – Require input file in Derivation#upload to respond to #path (@janko)

    • derivation_endpoint – Delete generated derivation result after uploading in Derivation#upload (@janko)

    • derivation_endpoint – Fix Derivation#processed breaking when derivation result is a File object (@janko)

    • derivation_endpoint – Don't close input file on Derivation#upload (@janko)

    • ➕ Add :delete parameter for skipping delete when delete_raw plugin is loaded (@janko)

    • Don't return Content-Type when it couldn't be determined from file extension in derivation_endpoint (@janko)

    • Add :download_options option to download_endpoint plugin for specifying options for Storage#open (@janko)

    • Don't return Content-Type header in rack_response when MIME type could not be determined (@janko)

    • Open the UploadedFile object in #to_rack_response in rack_response plugin (@janko)

    • 🔌 Fix store_dimensions plugin making second argument in Shrine#extract_metadata mandatory (@jrochkind)

  • v2.15.0 Changes

    February 08, 2019
    • ➕ Add derivation_endpoint plugin for processing uploaded files on-the-fly (@janko)

    • Allow Marcel to fall back to the file extension in determine_mime_type plugin (@skarlcf)

    • Don't return cached app instance in Shrine.download_endpoint in download_endpoint plugin (@janko)

    • 🔌 Yield a new File object on Shrine.with_file when tempfile plugin is loaded (@janko)

  • v2.14.0 Changes

    December 27, 2018
    • ➕ Add tempfile plugin for easier reusing of the same uploaded file copy on disk (@janko)

    • 📇 Don't re-open the uploaded file if it's already open in refresh_metadata plugin (@janko)

    • ⬇️ Drop support for MRI 2.1 and 2.2 (@janko)

    • 🛠 Fix backgrounding not working when default storage was changed with (@janko)

    • 📇 Don't clear existing metadata definitions when loading add_metadata plugin (@janko)

    • 🔌 Don't clear existing processing blocks when loading processing plugin (@janko)

    • 🗄 Deprecate automatic escaping of :content_disposition in Shrine::Storage::S3 (@janko)

    • Use content_disposition gem in Shrine::Storage::S3 and rack_response plugin (@janko)

    • 👉 Make FileSystem#clear! work correctly when the storage directory is a symlink (@janko)

    • 📇 Don't abort promotion in backgrounding plugin when original metadata was updated (@janko)

    • 📇 Don't mutate the UploadedFile data hash in refresh_metadata plugin (@janko)

    • 🗄 Deprecate Storage::S3#download (@janko)

    • Stop using Storage#download in UploadedFile#download for peformance (@janko)

    • ✂ Remove #download from the Shrine storage specification (@janko)

    • 📇 Keep context argument in #extract_metadata optional after loading add_metadata plugin (@janko)

    • 📇 Include metadata key with nil value when nil is returned in add_metadata block (@janko)

    • Strip query params in upload location when re-uploading from shrine-url storage (@jrochkind)

    • 🔌 Inline Base plugin into core classes, extract them to separate files (@printercu)

    • 🔌 Make rack_response plugin work with Rack::Sendfile for FileSystem storage (@janko)

    • ➕ Add :filename and :type options to rack_response plugin (@janko)

    • Add :host option to UploadedFile#download_url in download_endpoint plugin (@janko)

    • ➕ Add support for client-side encryption to S3 storage (@janko)

    • 🖨 Don't look up the attachment class in each new model instance (@printercu)

    • 👍 Allow Attacher#cached? and Attacher#stored? to take an UploadedFile object (@jrochkind)

    • 👍 Allow assigning a filename to the DataFile object in Shrine.data_uri (@janko)

    • 🔌 Don't strip media type parameters for the DataFile object in data_uri plugin (@janko)

    • Add :content_type analyzer to Shrine.mime_type_analyzers in determine_mime_type plugin (@janko)

    • Rename :default analyzer to :content_type in determine_mime_type plugin (@janko)

    • Don't display a warning when determine_mime_type plugin is loaded with :default analyzer (@janko)

    • Exclude media type parameters when copying IO#content_type into mime_type metadata (@janko)

    • ✂ Remove superfluous #head_object S3 API call in S3#download (@janko)

    • 👉 Make S3#download and S3#open work with server side encryption options (@janko)

    • 📇 Make previously extracted metadata available under :metadata in add_metadata plugin (@jrochkind)

    • 👉 Use a guard raise cause for bucket argument in S3 for an appropriate error message (@ardecvz)

  • v2.13.0 Changes

    November 04, 2018
    • 🔌 Specify UTF-8 charset in Content-Type response header in presign_endpoint plugin (@janko)

    • 🔌 Specify UTF-8 charset in Content-Type response header in upload_endpoint plugin (@janko)

    • 🔌 Force UTF-8 encoding on filenames coming from Rack's multipart request params in rack_file plugin (@janko)

    • Raise Shrine::Error if file command returns error in stdout in determine_mime_type plugin (@janko)

    • 👍 Allow :host in S3#url to specify a host URL with an additional path prefix (@janko)

    • Revert adding bucket name to URL path in S3#url when :host is used with :force_path_style (@janko)

    • In upload_endpoint error with "Upload Not Valid" when file parameter is present but not a file (@janko)

    • 👍 Allow Attacher#assign to accept options for Shrine#upload (@janko)

    • ➕ Add :metadata option to Shrine#upload for manually overriding extracted metadata (@janko)

    • ➕ Add :force option to infer_extension plugin for always replacing the current extension (@jrochkind)

    • ➕ Add :public option to S3#initialize for enabling public uploads (@janko)

    • ➕ Add ability to specify a custom :signer for Shrine::Storage::S3#url (@janko)

    • In S3#upload do multipart upload for large non-file IO objects (@janko)

    • In S3#upload switch to Aws::S3::Object#upload_stream for multipart uploads of IO objects of unknown size (@janko)

    • 🗄 In S3#upload deprecate using aws-sdk-s3 lower than 1.14 when uploading IO objects of unknown size (@janko)