All Versions
Latest Version
Avg Release Cycle
65 days
Latest Release
175 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)