Changelog History
Page 5
-
v1.4.0 Changes
April 15, 2016🔌 Return "Content-Length" response header in download_endpoint plugin (@janko)
Make determine_mime_type and store_dimensions automatically rewind IO with custom analyzer (@janko)
Make
before_*
andafter_*
hooks happen before and afteraround_*
hooks (@janko)⏪ Rename restore_cached plugin to more accurate "restore_cached_data" (@janko)
Prevent errors when attempting to validate dimensions when they are absent (@janko)
✂ Remove "thread" gem dependency in parallelize plugin (@janko)
➕ Add
:filename
to data_uri plugin for generating filenames based on content type (@janko)🌲 Make user-defined hooks always happen around logging (@janko)
Add
:presign_location
to direct_upload for generating the key (@janko)Add separate
:presign_options
option for receiving presign options in direct_upload plugin (@janko)➕ Add ability to generate fake presigns for storages which don't support them for testing (@janko)
🔄 Change the
/:storage/:name
route to/:storage/upload
in direct_upload plugin (@janko)🛠 Fix logger not being inherited in the logging plugin (@janko)
➕ Add delete_promoted plugin for deleting promoted files after record has been updated (@janko)
👍 Allow passing phase to
Attacher#promote
and generalize promoting background job (@janko)📇 Close the cached file after extracting its metadata in restore_cached plugin (@janko)
🔌 Rename delete_uploaded plugin to "delete_raw" to better explain its functionality (@janko)
Pass the SSL CA bundle to open-uri when downloading an S3 file (@janko)
➕ Add
Attacher.dump
andAttacher.load
for writing custom background jobs with custom functionality (@janko)🛠 Fix S3 URL erroring due to not being URL-encoded when
:host
option is used (@janko)✂ Remove a tiny possibility of a race condition with backgrounding on subsequent updates (@janko)
➕ Add
:delegate
option to migration_helpers for opting out of defining methods on the model (@janko)🔌 Make logging plugin log number of both input and output files for processing (@janko)
🔌 Make deleting backup work with backgrounding plugin (@janko)
Make storing backup happen after promoting instead of before (@janko)
➕ Add
:fallbacks
to versions plugin for fallback URLs for versions which haven't finished processing (@janko)🛠 Fix keep_files not to spawn a background job when file will not be deleted (@janko)
-
v1.3.0 Changes
March 12, 2016Add
<attachment>_cached?
and<attachment>_stored?
to migration_helpers plugin (@janko)🛠 Fix
Attacher#backup_file
from backup plugin not to modify the given uploaded file (@janko)👍 Allow modifying UploadedFile's data hash after it's instantiated to change the UploadedFile (@janko)
🗄 Deprecate the keep_location plugin (@janko)
Don't mutate context hash inside the uploader (@janko)
📇 Make extracted metadata accessible in
#generate_location
through:metadata
in context hash (@janko)📇 Don't require the "metadata" key when instantiating a
Shrine::UploadedFile
(@janko)Add
:include_error
option to remote_url for accessing download error in:error_message
block (@janko)Give different error message when file wasn't found or was too large in remote_url (@janko)
Rewind the IO after extracting MIME type with MimeMagic (@janko)
Rewind the IO after extracting image dimensions even when extraction failed (@kaapa)
Correctly infer the extension in
#generate_location
when uploading anUploadedFile
(@janko)Fix ability for errors to accumulate in data_uri and remote_url plugins when assigning mutliples to same record instance (@janko)
⬆️ Bump Down dependency to 2.0.0 in order to fix downloading URLs with "[]" characters (@janko)
➕ Add
:namespace
option to pretty_location for including class namespace in location (@janko)🔌 Don't include the namespace of the class in the location with the pretty_location plugin (@janko)
✂ Remove aws-sdk deprecation warning when storage isn't instantiated with credentials (@reidab)
📇 Don't make uploaded file's metadata methods error when the corresponding key-value pair is missing (@janko)
Close the
UploadedFile
on upload only if it was previously opened, which doesn't happen on S3 COPY (@reidab)🛠 Fix
NameError
when silencing "missing record" errors in backgrounding (@janko)
-
v1.2.0 Changes
January 26, 2016🔌 Make
Shrine::Attacher.promote
andShrine::Attacher.delete
return the record in backgrounding plugin (@janko)Close the IO on upload even if the upload errors (@janko)
👉 Use a transaction when checking if attachment has changed after storing during promotion (@janko)
Don't attempt to start promoting in background if attachment has already changed (@janko)
Don't error in backgrounding when record is missing (@janko)
Prevent multiline content type spoof attempts in validation_helpers (@xzo)
📇 Make custom metadata inherited from uploaded files and make
#extract_metadata
called only on caching (@janko)
-
v1.1.0 Changes
December 26, 2015🔌 Rename the "background_helpers" plugin to "backgrounding" (@janko)
📇 Rename the
:subdirectory
option to:prefix
on FileSystem storage (@janko)➕ Add download_endpoint plugin for downloading files uploaded to database storages and for securing downloads (@janko)
👉 Make
around_*
hooks return the result of the corresponding action (@janko)👉 Make the direct upload endpoint customizable, inheritable and inspectable (@janko)
➕ Add upload_options plugin for dynamically generating storage-specific upload options (@janko)
👍 Allow the context hash to be modified (@janko)
🛠 Fix extension not being returned for storages which remove it from ID (Flickr, SQL, GridFS) (@janko)
✂ Delete underlying Tempfiles when closing an
UploadedFile
(@janko)🛠 Fix background_helpers plugin not working with ActiveJob (@janko)
➕ Add
UploadedFile#base64
to the data_uri plugin (@janko)⚡️ Optimize
UploadedData#data_uri
to not download the file and instantiate file contents string only once (@janko)👍 Allow adding S3 upload options dynamically per upload (@janko)
➕ Add delete_uploaded plugin for automatically deleting files after they're uploaded (@janko)
Close an open file descriptor left after downloading a FileSystem file (@janko)
🏁 Make
FileSystem#url
Windows compatible (@janko)Add
UploadedFile#content_type
alias to#mime_type
for better integration with upload libraries (@janko)Add a
UploadedFile#data_uri
method to the data_uri plugin (@janko)👍 Allow the data_uri plugin to accept "+" symbols in MIME type names (@janko)
🔌 Make the data_uri plugin accept data URIs which aren't base64 encoded (@janko)
Close all IOs after uploading them (@janko)
👍 Allow passing a custom IO object to the Linter (@janko)
➕ Add remove_invalid plugin for automatically deleting and deassigning invalid cached files (@janko)
Add
:max_size
option to the direct_upload plugin (@janko)0️⃣ Move
Shrine#default_url
to default_url plugin (@janko)Enable
S3#multi_delete
to delete more than 1000 objects by batching deletes (@janko)➕ Add the keep_location plugin for easier debugging or backups (@janko)
➕ Add the backup plugin for backing up stored files (@janko)
Storages don't need to rewind the files after upload anymore (@janko)
👉 Make S3 presigns work when the
:endpoint
option is given (@NetsoftHoldings)🛠 Fix parallelize plugin to always work with the moving plugin (@janko)
🛠 Fix S3 storage to handle copying files that are larger than 5GB (@janko)
➕ Add
:upload_options
to S3 storage for applying additional options on upload (@janko)⬇️ Reduce length of URLs generated with pretty_location plugin (@gshaw)
-
v1.0.0 Changes
November 27, 2015👌 Improve Windows compatibility in the FileSystem storage (@janko)
✂ Remove the ability for FileSystem storage to accept IDs starting with a slash (@janko)
🛠 Fix keep_files plugin requiring context for deleting files (@janko)
🔌 Extract assigning cached files by parsed JSON into a parsed_json plugin (@janko)
➕ Add
(before|around|after)_upload
to the hooks plugin (@janko)🛠 Fix
S3#multi_delete
andS3#clear!
not using the prefix (@janko)➕ Add ability to pass presign options to storages in the direct_upload plugin (@janko)
✂ Remove
Shrine.io!
because it was actually meant to be only for internal use (@janko)✂ Remove
Shrine.delete
because of redundancy (@janko)Add default_url_options plugin for specifiying default URL options for uploaded files (@janko)
➕ Add module_include plugin for easily extending core classes for given uploader (@janko)
➕ Add support for Sequel's Postgres JSON column support (@janko)
🛠 Fix migration_helpers plugin not detecting when column changed (@janko)
➕ Add the
:public
option to S3 storage for retrieving public URLs which aren't signed (@janko)✂ Remove the delete_invalid plugin, as it could cause lame errors (@janko)
Don't delete cached files anymore, as it can cause errors with backgrounding (@janko)
➕ Add a
:host
option to the S3 storage for specifying CDNs (@janko)Don't allow same attachment to be promoted multiple times with backgrounding (@janko)
🛠 Fix recache plugin causing an infinite loop (@janko)
Fix an encoding error in determine_mime_type when using
:file
with non-files (@janko)👉 Make
UploadedFile
actually delete itself only once (@janko)👉 Make
UploadedFile#inspect
cleaner by showing only the data hash (@janko)Make determine_mime_type able to accept non-files when using :file (@janko)
🔌 Make logging plugin accept PORO instance which don't have an #id (@janko)
➕ Add rack_file plugin for attaching Rack file hashes to models (@janko)