Skip to content

Releases: veliovgroup/Meteor-Files

1.5.5

02 Jun 15:49
Compare
Choose a tag to compare
  • Release was somewhow broken during publish to Atmosphere
  • Republished as v1.5.6

v1.5.4

25 May 18:58
Compare
Choose a tag to compare
  • 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 last meta 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 than DDP. Note: HTTP will properly work only with "sticky sessions"
  • Fix #84
  • Implement #82
  • Demo application update

v1.5.3

17 May 02:50
Compare
Choose a tag to compare
  • Minor stability updates
  • Avoid errors if packages accounts-base and/or accounts-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

15 May 22:19
Compare
Choose a tag to compare
  • Fix issue when downloadCallback wasn’t called if interceptDownload is presented
  • unlink() method now supports “unlinking” by version (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

14 May 21:28
Compare
Choose a tag to compare
  • 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
  • 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 to false, 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

27 Apr 01:23
Compare
Choose a tag to compare

Breaking changes:

  • 100% new behaviour only for public collections. Now downloadRoute must point to web root of web/proxy-server, and storagePath must point to absolute path (on server) to root path of web/proxy-server
  • Remove dependency for collection2 and simple-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 returning false in case of failed upload). For failed/aborted uploads state is aborted

Changes:

  • Own namespace FilesCollection (We will keep backward compatibility for Meteor.Files until v2.0.0)
  • Add file-type NPM package, which is used only then client passes file to upload with undefined mime-type and tries to define mime-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 returns FileUpload instance {Object}, this will help to avoid mess with variables in different scopes, but for failed upload you need to check its state (previously false was returned when upload is failed)
  • .deny(), .allow(), .update() methods now can be called right from FilesCollection instance, see collection section
  • Add denyClient() and allowClient() 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 to true for text 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

16 Apr 15:07
Compare
Choose a tag to compare
  • Better debug messages
  • WebWorker usage for file reading (avoid thread blocking)
  • estimateTime {ReactiveVar} - Remaining upload time in milliseconds
  • estimateSpeed {ReactiveVar} - Current upload speed in bytes/second
  • onError - Callback, triggered when upload is finished with error
  • onAfterUpload - Callback, triggered right after file fully written to FS, use to run further tasks with file itself, like move to third-party storage
  • interceptDownload - 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 for chunkSize and streams
  • 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 to onProgress and onbeforeunloadMessage callbacks
  • Security update(s):
    • Remove server-only configuration on client, like: integrityCheck, downloadCallback, storagePath, etc.
    • Overall functions/variables protection from prying eyes
  • 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 and streams properties to meet your needs, or use dynamic for better balance between small and large files

v1.4.2

09 Apr 16:10
Compare
Choose a tag to compare
  • Avoid using fibres directly, fix #64
  • Allow call find() and findOne() without arguments, partial fix #65
  • Fix 404 error page
  • Update demo app

v1.4.1

09 Apr 02:10
Compare
Choose a tag to compare
  • Add explicit dependency to Fibers
  • Update demo app

v1.4.0

09 Apr 00:36
Compare
Choose a tag to compare
  • 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 and streams to dynamic in Insert options

Breaking changes:

  • Insert callbacks have different context, and first argument is slightly extended

For more info read wiki