Changelog History
Page 4
-
v2.4.0 Changes
October 11, 2016Add
#convert_before_write
and#convert_after_read
on the Attacher for data attribute conversion (@janko)Extract the
<attachment>_data
attribute name intoAttacher#data_attribute
(@janko)๐ Support JSON and JSONB PostgreSQL columns with ActiveRecord (@janko)
๐ Fix S3 storage not handling filenames with double quotes in Content-Disposition header (@janko)
โช Work around aws-sdk failing with non-ASCII characters in Content-Disposition header (@janko)
Allow dynamically generating URL options in
default_url_options
plugin (@janko)๐ Don't run file validations when duplicating the record in
copy
plugin (@janko)๐ Don't use
Storage#stream
in download_endpoint plugin anymore, rely onStorage#open
(@janko)โ Remove explicitly unlinking Tempfiles returned by
Storage#open
(@janko)๐ Move
:host
from first-class storage option to#url
option on FileSystem and S3 storage (@janko)Don't fail in FileSystem storage when attempting to delete a file that doesn't exist (@janko)
In
UploadedFile#open
handle the case whenStorage#open
raises an error (@janko)๐ Make the
sequel
plugin use less memory during transactions (@janko)๐ Use Roda's streaming plugin in
download_endpoint
for better EventMachine integration (@janko)๐ Deprecate accepting a JSON string in
Shrine.uploaded_file
(@janko)In S3 storage automatically write original filename to
Content-Disposition
header (@janko)๐ Override
#to_s
inShrine::Attachment
for better introspection withputs
(@janko)
-
v2.3.1 Changes
September 01, 2016- Don't change permissions of existing directories in FileSystem storage (@janko)
-
v2.3.0 Changes
August 27, 2016๐ Prevent client from caching the presign response in direct_upload plugin (@janko)
โก๏ธ Make Sequel update only the attachment in background job (@janko)
โ Add copy plugin for copying files from one record to another (@janko)
Disable moving when uploading stored file to backup storage (@janko)
๐ Make
Attacher#recache
from the recache plugin public for standalone usage (@janko)๐ Allow changing
Shrine::Attacher#context
once the attacher is instantiated (@janko)๐ Make
Attacher#read
for reading the attachment column public (@janko)๐ Don't rely on the
#id
writer on a model instance in backgrounding plugin (@janko)๐ Don't make
Attacher#swap
private in sequel and activerecord plugins (@janko)0๏ธโฃ Set default UNIX permissions to 0644 for files and 0755 for directories (@janko)
Apply directory permissions to all subfolders inside the main folder (@janko)
โ Add
:directory_permissions
toStorage::FileSystem
(@janko)
-
v2.2.0 Changes
July 29, 2016๐ Soft deprecate
:phase
over:action
incontext
(@janko)โ Add ability to sequel and activerecord plugins to disable callbacks and validations (@janko)
The direct_upload endpoint now always includes both upload and presign routes (@janko)
๐ Don't let the combination for delete_raw and moving plugins trigger any errors (@janko)
โ Add
UploadedFile#open
that mimicsFile.open
with a block (@janko)๐ In the storage linter don't require
#clear!
to be implemented (@janko)๐ In backgrounding plugin don't require model to have attachment module included (@janko)
โ Add add_metadata plugin for defining additional metadata values to be extracted (@janko)
In determine_mime_type plugin raise error when file command wasn't found or errored (@janko)
โ Add processing plugin for simpler and more declarative definition of processing (@janko)
Storage classes don't need to implement the
#read
method anymore (@janko)๐ Use aws-sdk in
S3#download
, which will automatically retry failed downloads (@janko)โ Add
:multipart_threshold
for when S3 storage should use parallelized multipart copy/upload (@janko)โก๏ธ Automatically use optimized multipart S3 upload for files larger than 15MB (@janko)
Avoid an additional HEAD request to determine content length in multipart S3 copy (@janko)
-
v2.1.1 Changes
July 14, 2016- ๐ Fix
S3#open
throwing a NameError ifnet/http
isn't required (@janko)
- ๐ Fix
-
v2.1.0 Changes
June 27, 2016โ Remove
:names
from versions plugin, and deprecate generating versions in :cache phase (@janko)Pass a
Shrine::UploadedFile
in restore_cached_data instead of the raw IO (@janko)Increase magic header length in determine_mime_type and make it configurable (@janko)
Execute
file
command in determine_mime_type the same way for files as for general IOs (@janko)๐ Make logging and parallelize plugins work properly when loaded in this order (@janko)
โ Don't assert arity of IO methods, so that objects like
Rack::Test::UploadedFile
are allowed (@janko)Deprecate
#cached_<attachment>_data=
over using<attachment>
for the hidden field (@janko)
-
v2.0.1 Changes
May 30, 2016- 0๏ธโฃ Don't override previously set default_url in versions plugin (@janko)
-
v2.0.0 Changes
May 19, 2016Include query parameters in CDN-ed S3 URLs, making them work for private objects (@janko)
Remove the
:include_error
option from remote_url plugin (@janko)๐ Make previous plugin options persist when reapplying the plugin (@janko)
๐ Improve how upload options and metadata are passed to storage's
#upload
and#move
(@janko)โ Remove
Shrine::Confirm
and confirmingStorage#clear!
in general (@janko)๐ Allow implementing a custom dimensions analyzer using built-in ones (@janko)
Don't error in determine_mime_type when MimeMagic cannot determine the MIME (@janko)
๐ Allow implementing a custom MIME type analyzer using built-in ones (@janko)
Don't check that the cached file exists in restore_cached_data plugin (@janko)
๐ Deprecate migration_helpers plugin and move
Attacher#cached?
andAttacher#stored?
to base (@janko)Don't trigger restore_cached_data plugin functionality when assigning the same cached attachment (@janko)
Give
Attacher#_promote
andAttacher#promote
the same method signature (@janko)โ Add
Attacher#_delete
which now spawns a background job instead ofAttacher#delete!
(@janko)๐ Make
Attacher#cache!
,Attacher#store!
, andAttacher#delete!
public (@janko)๐ Don't cache storages in dynamic_storage plugin (@janko)
๐ Make only one HTTP request in download_endpoint plugin (@janko)
Print secuity warning when not using determine_mime_type plugin (@janko)
๐ Support Mongoid in backgrounding plugin (@janko)
๐ Allow including attachment module to non-
Sequel::Model
objects in sequel plugin (@janko)Handle paths that start with "-" in determine_mime_type plugin when
:file
analyzer is used (@zaeleus)๐ Allow including attachment module to non-
ActiveRecord::Base
objects in activerecord plugin (@janko)โช Remove deprecated "restore_cached" alias for restore_cached_data plugin (@janko)
Remove deprecated "delete_uploaded" alias for delete_raw plugin (@janko)
0๏ธโฃ Make the default generated unique location shorter (@janko)
0๏ธโฃ Make the
:delegate
option in migration_helpers default tofalse
(@janko)๐ Don't require
:storages
option anymore in moving plugin (@janko)๐ Don't delete uploaded IO if storage doesn't support moving in moving plugin (@janko)
๐ Rename delete phases to be shorter and consistent in naming with upload phases (@janko)
โ Remove deprecated
Shrine#default_url
(@janko)โ Remove deprecated
:subdirectory
on FileSystem storage (@janko)Don't return the uploaded file in
Attacher#set
andAttacher#assign
(@janko)๐ Return the attacher instance in
Attacher.promote
andAttacher.delete
in backgrounding plugin (@janko)๐ Rename "attachment" to "name", and "uploaded_file" to "attachment" in backgrounding plugin (@janko)
โ Remove using
:presign
for presign options instead of:presign_options
(@janko)Remove deprecated
Shrine.direct_endpoint
from direct_upload plugin (@janko)โ Remove deprecated keep_location plugin (@janko)
Make
Shrine#extract_dimensions
a private method in store_dimensions plugin (@janko)Keep
Shrine#extract_mime_type
a private method when loading determine_mime_type plugin (@janko)๐ Deprecate loading the backgrounding plugin through the old "background_helpers" alias (@janko)
-
v1.4.2 Changes
April 19, 2016โ Removed ActiveRecord's automatic support for optimistic locking as it wasn't stable (@janko)
๐ Fixed record's dataset being modified after promoting preventing further updates with the same instance (@janko)
-
v1.4.1 Changes
April 18, 2016- ๐ Bring back triggering callbacks on promote in ORM plugins, and add support for optimistic locking (@janko)