Releases: veliovgroup/Meteor-Files
Releases · veliovgroup/Meteor-Files
1.5.5
- Release was somewhow broken during publish to Atmosphere
- Republished as v1.5.6
v1.5.4
- Make sure same data passed into
onBeforeUpload
on Server and Client - On Server
onBeforeUpload
is triggered on each received chunk, but only on the first and lastmeta
object exists - New
Constructor
property:parentDirPermissions
allows you to set parent directory FS-permissions. By default:755
HTTP
transport support. Which is at least twice faster thanDDP
. Note:HTTP
will properly work only with "sticky sessions"- Fix #84
- Implement #82
- Demo application update
v1.5.3
- Minor stability updates
- Avoid errors if packages
accounts-base
and/oraccounts-password
is not installed - Field
userId
now always presented if file was uploaded by authorised user - Fix
500
exception when.remove()
method was called without callback on the Client
v1.5.2
- Fix issue when
downloadCallback
wasn’t called ifinterceptDownload
is presented unlink()
method now supports “unlinking” byversion
(second argument)- Better internal performance, should increase performance up to 25%. This update is avoid heavy FS operations, like rename/copy/append, all incoming chunks goes into writable stream. This will help to avoid unnecessary FS locks
- Security update: now default file permissions is
0644
v1.5.1
- No breaking changes, but a lot of new stuff, improvements and fixes
- New event-driven API (see docs for Constructor and .insert() method)
- Events for Constructor:
afterUpload
- Events for
.insert()
:start
data
readEnd
progress
pause
continue
abort
uploaded
error
end
- Events for Constructor:
- New
isJSON
property - New callback in
.insert()
method:.onStart
- Triggered when upload is started and validations was successful
- New second argument in
.insert()
method:autoStart
{Boolean} - Start upload immediately. If set tofalse
, you need manually call.start()
method on returned class. Useful to set EventListeners, before starting upload
- New method on object returned from
.insert()
method:.pipe()
- Called with single argument:data
{String} - Base64 string (DataURL). Can be used for data modifications, like encryption (see #35) or any other
- Partly move core to EDP, to avoid using
.defer()
and.setTimeout()
- New collection callback
onBeforeRemove
, allows you to check user and file itself before removing it remove()
method now accepts second argument -callback
function- Important security updates
- Fix issue with empty file upload, now it ends with error:
400
,Can't upload empty file
interceptDownload
- now supports file's subversions (passed as third argument)- Overall fixes
v1.5.0
Breaking changes:
- 100% new behaviour only for
public
collections. NowdownloadRoute
must point to web root of web/proxy-server, andstoragePath
must point to absolute path (on server) to root path of web/proxy-server - Remove dependency for
collection2
andsimple-schema
packages, now you have to.attachSchema()
on your own decision, see Schema section in docs - Remove default
deny
rules on collection, see #71 , thanks to @FinnFrotscher .insert()
method now always returns Object (before it was returningfalse
in case of failed upload). For failed/aborted uploadsstate
isaborted
Changes:
- Own namespace
FilesCollection
(We will keep backward compatibility forMeteor.Files
until v2.0.0) - Add
file-type
NPM package, which is used only then client passes file to upload with undefinedmime-type
and tries to definemime-type
from magic numbers - Great support (and well tested) for “public” collections, with new API
- Better support for concurrent uploads, thanks to @FinnFrotscher
.insert()
method now always returnsFileUpload
instance {Object}, this will help to avoid mess with variables in different scopes, but for failed upload you need to check itsstate
(previouslyfalse
was returned when upload is failed).deny()
,.allow()
,.update()
methods now can be called right fromFilesCollection
instance, see collection section- Add
denyClient()
andallowClient()
shorthand methods to fully deny/allow access to collection from client, see collection section - Fix broken WebWorker in FireFox < 46, see Mozilla bug #901097
- Add
isText
property, which set totrue
fortext
mime-type - Fix known critical security issues
- Update all demo applications
- Now main demo app supports multiple concurrent uploads
- Docs update
- Update NPM dependencies
- Meteor`ish in-code docs
v1.4.3
- Better debug messages
- WebWorker usage for file reading (avoid thread blocking)
estimateTime
{ReactiveVar} - Remaining upload time in millisecondsestimateSpeed
{ReactiveVar} - Current upload speed in bytes/secondonError
- Callback, triggered when upload is finished with erroronAfterUpload
- Callback, triggered right after file fully written to FS, use to run further tasks with file itself, like move to third-party storageinterceptDownload
- Callback, intercept download request, so you can serve file from third-party resource- Better server performance: If new chunk received after previous, it's will be appended (instead creating new file for each chunk), after upload all appended chunks is merged to single file
- Better
dynamic
logic forchunkSize
andstreams
- Fix all issues about uploading large files
- Less data transfer
- Keep one worker
- Append chunks, but only which comes in order
- Pass
fileData
as second argument toonProgress
andonbeforeunloadMessage
callbacks - Security update(s):
- Remove server-only configuration on client, like:
integrityCheck
,downloadCallback
,storagePath
, etc. - Overall functions/variables protection from prying eyes
- Remove server-only configuration on client, like:
- Fix #70 - Now data stored in DropBox, see example to do it yourself
- Fix #69 - Now file reading uses smaller chunks, please tweak
chunkSize
to meet your needs - Fix #68 - Tweak
chunkSize
andstreams
properties to meet your needs, or usedynamic
for better balance between small and large files
v1.4.2
v1.4.1
- Add explicit dependency to Fibers
- Update demo app
v1.4.0
- Fix #60 , thanks to @marcchapeau
- New updated docs, and expressive wiki
- New updated demo app
- Follow RFC 2616
- Full lib code refactoring
- Overall improvements, now most of nodejs code is running in real asynchronous way
- Recommended: set
chunkSize
andstreams
todynamic
in Insert options
Breaking changes:
- Insert callbacks have different context, and first argument is slightly extended
For more info read wiki