# Changelog

## vCurrent
## [v0.5.3] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.5.3)
#### 20/12/14 by Morten Henriksen
- add changelog

- Bump to version 0.5.3

## [v0.5.2] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.5.2)
#### 17/12/14 by Morten Henriksen
- Bump to version 0.5.2

## [v0.5.1] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.5.1)
#### 17/12/14 by Morten Henriksen
- mbr update, remove versions.json

- Bump to version 0.5.1

## [v0.5.0] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.5.0)
#### 17/12/14 by Morten Henriksen
- Merge branch 'devel' of https://github.com/zcfs/Meteor-CollectionFS into devel

- mbr update versions and fix warnings

- update pkg, dependencies, etc.

- Fix #483

- *Merged pull-request:* "mrt graphicsmagick instructions to meteor 0.9+" [#442](https://github.com/zcfs/Meteor-CollectionFS/issues/442) ([yogiben](https://github.com/yogiben))

- mrt graphicsmagick instructions to meteor 0.9+

- mention underlying collection

- *Merged pull-request:* "Added server-side Buffer example to README.md" [#405](https://github.com/zcfs/Meteor-CollectionFS/issues/405) ([abuddenb](https://github.com/abuddenb))

- change prop names

- Merge branch 'devel' of https://github.com/zcfs/Meteor-CollectionFS into devel

- add "Display an Uploaded Image" example

- addition to steps

- correct 0.9.0 steps

- Merge branch 'devel' of github.com:abuddenb/Meteor-CollectionFS into devel

- Added server-side Buffer example to README.md

Patches by GitHub users [@yogiben](https://github.com/yogiben), [@abuddenb](https://github.com/abuddenb).

## [v0.4.9] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.4.9)
#### 27/08/14 by Eric Dobbertin
- add 0.9.0 instructions

- change package name to lowercase

- Added server-side Buffer example to README.md

- *Merged pull-request:* "Updated README.md to reflect that FS.File - Objects can't be stored in t..." [#395](https://github.com/zcfs/Meteor-CollectionFS/issues/395) ([DanielDornhardt](https://github.com/DanielDornhardt))

- Updated README.md to reflect that FS.File - Objects can't be stored in the Server MongoDB at the moment.

- document key

- update the descriptions of collections

- document beforeWrite

- add download button example

- *Merged pull-request:* "Update README.md" [#354](https://github.com/zcfs/Meteor-CollectionFS/issues/354) ([karabijavad](https://github.com/karabijavad))

- should say to use cfs-graphicsmagick pkg

- fix typo

- *Merged pull-request:* "Added "Storing FS.File references in your objects" chapter to README" [#311](https://github.com/zcfs/Meteor-CollectionFS/issues/311) ([Sanjo](https://github.com/Sanjo))

- Added "Storing FS.File references in your objects" chapter to README

- a few more API updates

- updates for changed FS.File API

- additions and clarifications

- *Merged pull-request:* "Custom Metadata misleading example" [#282](https://github.com/zcfs/Meteor-CollectionFS/issues/282) ([czeslaaw](https://github.com/czeslaaw))

- Custom Metadata misleading example

Patches by GitHub users [@DanielDornhardt](https://github.com/DanielDornhardt), [@karabijavad](https://github.com/karabijavad), [@Sanjo](https://github.com/Sanjo), [@czeslaaw](https://github.com/czeslaaw).

## [v0.4.8] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.4.8)
#### 09/04/14 by Eric Dobbertin
- Add cfs-collection-filters pkg by default

- Use FS.Utility.setFileExtension in example

## [v0.4.7] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.4.7)
#### 05/04/14 by Morten Henriksen
- corrections, and move image examples here so we can deprecate cfs-imagemagick

## [v0.4.6] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.4.6)
#### 02/04/14 by Morten Henriksen
- *Fixed bug:* "Documentation Issues" [#241](https://github.com/zcfs/Meteor-CollectionFS/issues/241)

- point to cfs-graphicsmagick readme for transform examples

## [v0.4.5] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.4.5)
#### 31/03/14 by Eric Dobbertin
- use latest releases

- Add yet a note about mrt and collectionFS in the readme

## [v0.4.4] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.4.4)
#### 25/03/14 by Morten Henriksen
- attempt to get everything up to date

- Add notice about mrt having troubles figuring out deps

- *Merged pull-request:* "Removed redundant installation instructions." [#212](https://github.com/zcfs/Meteor-CollectionFS/issues/212) ([lleonard188](https://github.com/lleonard188))

- up to date

- read me update

- add test note

Patches by GitHub user [@lleonard188](https://github.com/lleonard188).

## [v0.4.3] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.4.3)
#### 23/03/14 by Morten Henriksen
- use collectionFS travis version force update

## [v0.4.2] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.4.2)
#### 22/03/14 by Morten Henriksen
- change deps

- Add read me about transformWrite

## [v0.4.1] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.4.1)
#### 21/03/14 by Morten Henriksen
- update reference to devel branch

- Merge branch 'devel' of https://github.com/zcfs/Meteor-CollectionFS into devel

- don't need to install transfer

- mark deprecated api docs

- test strikeout md

- no need to imply cfs-transfer since it doesn't do anything at the moment

- Remove ejson-file imply

## [v0.4.0] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.4.0)
#### 06/03/14 by Eric Dobbertin
- add section for documenting example code for common tasks, and add some of the examples; @raix feel free to add more

- add http upload package to smart.json

- Merge origin/devel into devel

- need to imply the http upload package because it's the default now

- update HTTP access point override docs

- update docs to use `devel` branch

- list component packages in smart.json

- Merge origin/devel into devel-merge

- add the ejson-file and correct doc

- refactor everything into packages

## [devel-merge-old] (https://github.com/zcfs/Meteor-CollectionFS/tree/devel-merge-old)
#### 12/02/14 by Eric Dobbertin
- update to latest FileSaver.js

- one of many refactores

- add optimization section

- add section explaining client vs server insert

- prevent autopublish for the SA collections

- remove arg that isn't used or passed

- changes to support client SA, plus clean/reorg SA code to have less duplication

- merge the concepts of "store" and "copy", update docs, switch to FS.Store namespace

- use wait:true to avoid Meteor issue

- extend allow when insecure package is installed

- document and improve code flow a bit

- faster to use onResultReceived callback

- use onload instead of onloadend because we want only successful loads

- remove some console logging

- fix issue where stuff wasn't uploading because we weren't calling getFileRecord() in the access point methods

- make allowed file extension checks not be case sensitive

- remove DDP "/del" access point since it's not used or necessary

- Remove collection-hooks dependency; use deny instead. Also some cleanup and code docs

- replace `mmmagic` dependency with a `mime` dependency; hopefully fixes issues we've seen with meteor deploy

- refactor to expose saveCopy to API; then change fileworker observes to be per-copy, calling saveCopy and allowing better control of which copies to create at which times

- use observes for all store saving and temp store deleting; add/adjust some api doc comments (didn't regenerate yet)

- improve fileIsAllowed check order and messages

- Add check for the Accounts package

- *Fixed bug:* "no userId passed to download allow validator" [#120](https://github.com/zcfs/Meteor-CollectionFS/issues/120)

- always append access token to url when a user is logged in; makes usage simpler to do opt-out rather than opt-in

- Don't queue ddp method calls

- Merge changes

- Optimize buffer handling

- Switch to MicroQueue

- improve memory management, attempt client side resume implementation, other minor fixes

- fix several issues, make downloading work, improve a few bits of code

- do the isImage test correctly; add some API docs

- isEmpty will be true for null or undefined

- rewrite getExtension so it works for unmounted files, too

- add strong reactive-list dependency for powerqueue

- minor fixes and code improvements; track uploading files by both collection and ID since one queue handles all collections

- Base the upload queue on PowerQueue sub queues

- Add sa note

- limit use of db

- Refactor and documentation

- use mmmagic 0.3.5

- *Fixed bug:* "Option to set Cache-Control and Max-Age" [#117](https://github.com/zcfs/Meteor-CollectionFS/issues/117)

- fix stuff that's broken

## [v0.3.7] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.3.7)
#### 08/01/14 by Morten Henriksen
- *Fixed bug:* "How to store files on the server side?" [#29](https://github.com/zcfs/Meteor-CollectionFS/issues/29)

- rework ejson and remove fsFile.reload

- explain complete upload process in ADVANCED docs

- Adds join to smart.json (its a weak dependency #119)

- link to api docs for acceptDropsOn

- typo/formatting fixes

- docs + insert callback returns `FS.File` instead of `id`

- Add docs and `FS.File.fetch`

- Add support for `Join`

- end with line

- smaller headlines in docs

- init api docs

- Refactor and documentation

- FS.Collection.insert should return the `FS.File` object

- remove some comments and such

- document custom connections

- add livedata ref to access DDP obj

- use separate ddp connection with option to pass in custom

- public folder and gm/im

- fix null options

- *Fixed bug:* "no userId passed to download allow validator" [#120](https://github.com/zcfs/Meteor-CollectionFS/issues/120)

- make useHTTP true by default

- skip auth checks if Package.insecure

- remove `callback` arg from fsFile.get since it's not used or necessary; fix partial gets such that they actually use getBytes, greatly speeding up downloads of large files

- reorg code and speed up downloads

- split TransferQueue into DownloadTransferQueue and UploadTransferQueue

- improvements to make use of new PowerQueue features

- fix issue with previous commit

- add accessPoints option

- Pull out temporary chunk code into a separate tempStore.js file, within a TempStore object. This makes it easier to maintain. Also updated the file worker code to correctly find temporary chunks that can be removed and delete those files.

- add security section

- Internally, change all "master" stuff to be the same as "copies". External API is still the same, but master options are copied to a special copy named "_master" so that all the other code can be cleaner. This may be a step toward being able to blur or eliminate the master/copy distinction, although there are still some benefits to having a master.

- Add instructions for installing for testing

- refactor code to be a bit cleaner

- add functions for getting an FS.File or setting FS.File data from a URL on the server

- clean up and improve some transfer code

- update console log message to be more correct

- ensure that fsFile.bytesUploaded is always set correctly

- fix some issues with recent commits

- *Merged pull-request:* "Updates the filter example area so that it works" [#109](https://github.com/zcfs/Meteor-CollectionFS/issues/109) ([cramhead](https://github.com/cramhead))

- add .npm to gitignore

- Remove .npm folder

- Clean clone just a bit

- Refactor fsCollection and argParser

- Comment on filter options

- Add download url

- refactor access point

- add put/get/del security based on allow/deny functions

- Updates the filter example area so that it works

- update for API change

- more client-side speed improvements and allow passing File/Blob to FS.File constructor again

- fix data mixup

- fix upload slowness and blocking

- change API to adjust issue with data loading callbacks

- revise FS.File API where data handling is concerned; fix some issues with callback handling in client-side methods; upshot should be faster, smoother uploads and downloads

- change names and put everything in exported FS namespace

- fix get/download of copies

- *Fixed bug:* "Files after certain size aren't saved properly. " [#104](https://github.com/zcfs/Meteor-CollectionFS/issues/104)

- add fileobject metadata and acceptDropsOn

- add some methods to load FO data from URL

- Correct allow/deny examples

- call put callback correctly

- add correct temporary installation instructions

- use correct filename when saving download

- filtering fixes

- removed some unused stuff

- adjust some comments

- switch api.remove to api.del for consistency with the other methods

- add hasCopy method

- new api; tons of changes

- use generic queue for server file handling

- update progress in the correct place

- minor changes to comments

- fix gridfs get method

- incorporate #82

- make filtering work (added collection-hooks dependency for core package)

- change UploadsCollection to CollectionFS; change former CollectionFS to GridFS and don't export it (used only by the gridfs storage adaptor); clean up some other areas and update readmes

- *Fixed bug:* "retrieveBlob failure" [#93](https://github.com/zcfs/Meteor-CollectionFS/issues/93)

- implement http methods URLs

- Merge branch 'devel' of https://github.com/zcfs/Meteor-CollectionFS.git into devel

- significant revisions to move downloading support to the UploadsCollection and make collectionFS/gridFS a pure storage adaptor

- Merge branch 'pr/94' into devel

- split and revise readmes

- rename packages and organize package.js

- error handling improvements

- better failure handling for removeCopy

- handlebars helper to display blob image in CFS package

- remove all encoding info

- refactor to fix multiple-file simultaneous uploads

- don't use _id in filesystem destination since it's not set anyway

- remove FileObject.file and instead save file as Blob (.blob) when FileObject.fromFile is called

- revise API a bit

- stop using strings and encoding and pass everything as Uint8Array (fixes downloading corruption)

- only attempt to delete file if it exists

- remove unused file

- complete refactoring; temporary for testing/tweaking and then will split into multiple packages

- *Merged pull-request:* "Implemented max parallel transfers" [#62](https://github.com/zcfs/Meteor-CollectionFS/issues/62) ([floo51](https://github.com/floo51))

Patches by GitHub users [@cramhead](https://github.com/cramhead), [@floo51](https://github.com/floo51).

## [v0.3.6] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.3.6)
#### 10/10/13 by Morten Henriksen
- Edit ideas about storage adapters and filehandlers

- Add MIT License

- Add paypal and weak deps

- Added the org. filemanager demo/example

## [v0.3.5] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.3.5)
#### 20/09/13 by Morten Henriksen
## [v0.3.4] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.3.4)
#### 20/09/13 by Morten Henriksen
- Extract the examples from collectionFS

- Added examples from @mxab

## [v0.3.3] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.3.3)
#### 18/09/13 by Morten Henriksen
- added travis badge

- Added travis badge

- Added basic environment

- Added metadata getter to docs

## [v0.3.2] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.3.2)
#### 17/09/13 by Morten Henriksen
## [v0.3.1] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.3.1)
#### 16/09/13 by Morten Henriksen
- Added some details about http.publishing of collections

- added check in filehandlers

- Updated som docs

- js hint added scope

- jshint clean up

- *Fixed bug:* "Exception from setTimeout callback: { stack: [Getter] }" [#64](https://github.com/zcfs/Meteor-CollectionFS/issues/64)

- Merge branch 'devel'

- Bump version to preview of 0.3.0

- Implemented max parallel transfers

- Revert "began refractoring"

- Revert "Run jshint through files"

- Revert "Preparing file object methods for better api"

- Revert "added fileobject files to package"

- added fileobject files to package

- Preparing file object methods for better api

- Run jshint through files

- *Merged pull-request:* "Improvements and Fixes to built-in helpers, storeFiles, and acceptDropsOn" [#51](https://github.com/zcfs/Meteor-CollectionFS/issues/51) ([aldeed](https://github.com/aldeed))

- Add generic events system, switch to "enums" for invalid event types, and change "fileFilter" to "filter" throughout. Update README to reflect these changes.

- Update readme to reflect storeFiles and acceptDropsOn changes, plus add documentation for all of the new built-in handlebars helpers

- commit some files that should be committed

- -Improve and fix built-in handlebars helpers -Prefix all built-in helpers with "cfs" -Update new example app to reflect helper changes, and improve and fix it a bit, too

- Merge remote-tracking branch 'upstream/master'

- update documentation of storeFiles and acceptDropsOn

- Added credit to @eprochasson

- *Merged pull-request:* "Should fix issue #45" [#50](https://github.com/zcfs/Meteor-CollectionFS/issues/50) ([eprochasson](https://github.com/eprochasson))

- *Fixed bug:* "file handlers not showing up in local demo" [#45](https://github.com/zcfs/Meteor-CollectionFS/issues/45)

- *Merged pull-request:* "Update README.md" [#49](https://github.com/zcfs/Meteor-CollectionFS/issues/49) ([eprochasson](https://github.com/eprochasson))

- Added meteor style guide for jshint

- fix package file

- fixes and improvements to storeFiles() and acceptDropsOn()

- Use a different saveAs shim

- Merge branch 'master' of https://github.com/aldeed/Meteor-CollectionFS

- Fixes and changes to support cfs changes

- -"cfs" prefix, new helpers, improvements and fixes -include saveAs shim in the package so that download button helper can reliably call it

- Add dependencies and files

- Document storeFiles() and acceptDropsOn()

- *Merged pull-request:* "Built-ins, fixes, etc." [#48](https://github.com/zcfs/Meteor-CollectionFS/issues/48) ([aldeed](https://github.com/aldeed))

- Add the new files to the package manifest

- Add underscore as dependency. It seems that Meteor may soon remove underscore from the core.

- Minor changes to support fileHanders() and fileFilter() function changes

- Copy in numeral.js for use by the built-in handlebar helper that displays file size in human readable format. This means the helper supports any of the format strings supported by numeral.js for file sizes.

- -Add fileFilter() function to specify allowed and disallowed files per collectionFS, based on extensions and/or content types -Add fileIsAllowed() function to easily check whether a particular file is allowed based on the rules set up by fileFilter() -Change all of the passthrough functions (find, findOne, update, remove, allow, deny) to pass through all function arguments more simply and more safely. This allows, for example, using find() instead of find({}). -Change fileHandlers() to extend the object whenever called, which means you can safely call it more than once -Add several utility functions for use in either client or server code

- -Add storeFiles API -Check that files are allowed by fileFilter before saving -Add acceptDropsOn API -Use .depend() instead of Deps throughout -Pull out _getProgress calc to use in two places -Add isUploading API -Improve isDownloading code

- New file to hold built-in handlebars helpers, including several initial helpers

- New file manager example app showing how to use new features, built-in handlebars helpers, etc.

- *Merged pull-request:* "Minor doc correction" [#47](https://github.com/zcfs/Meteor-CollectionFS/issues/47) ([aldeed](https://github.com/aldeed))

- *Merged pull-request:* "Documentation Improvement" [#46](https://github.com/zcfs/Meteor-CollectionFS/issues/46) ([aldeed](https://github.com/aldeed))

- Extensively revised README

Patches by GitHub users [@aldeed](https://github.com/aldeed), [@eprochasson](https://github.com/eprochasson).

## [v0.2.3] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.2.3)
#### 04/05/13 by Morten Henriksen
- *Fixed bug:* "Binary File Transfers Corrupted? Truncated?" [#41](https://github.com/zcfs/Meteor-CollectionFS/issues/41)

## [v0.2.2] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.2.2)
#### 03/05/13 by Morten Henriksen
- updated scope for serverConsole

- *Fixed bug:* "Error when using fresh meteor install" [#40](https://github.com/zcfs/Meteor-CollectionFS/issues/40)

- more text edits

- Minor text edits

- Add credit to README

- *Merged pull-request:* "Option for file encoding" [#36](https://github.com/zcfs/Meteor-CollectionFS/issues/36) ([nhibner](https://github.com/nhibner))

- Typo fix.

- Updated documentation (added encoding to the fileRecord structure).

- File encoding is stored in the fileRecord.

- Allow the user to specify an encoding for the buffer when storing on the server.

- *Merged pull-request:* "Fix backwards incompatibility" [#33](https://github.com/zcfs/Meteor-CollectionFS/issues/33) ([mitar](https://github.com/mitar))

- Fix backwards incompatibility.

Patches by GitHub users [@nhibner](https://github.com/nhibner), [@mitar](https://github.com/mitar).

## [v0.2.1] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.2.1)
#### 08/04/13 by Morten Henriksen
- Minor fixes, added dragndrop, minor refractoring

- Only work on completed files

## [v0.2.0] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.2.0)
#### 06/04/13 by Morten Henriksen
- Bump to 0.2.0 - Nice

- Big speed and refractoring

## [v0.1.9] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.1.9)
#### 31/03/13 by Morten Henriksen
- Added some more doc, deprecated autosubscribe to autopublish instead

## [v0.1.8] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.1.8)
#### 31/03/13 by Morten Henriksen
- Added maxFilehandlers to the doc

## [devel-#27-fixed] (https://github.com/zcfs/Meteor-CollectionFS/tree/devel-#27-fixed)
#### 31/03/13 by Morten Henriksen
- Added documentation by @petrocket

- Got filehandlers up and running in bundles

- Make a seperate thread + connection foreach collectionFS

## [v0.1.7] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.1.7)
#### 14/03/13 by Morten Henriksen
## [v0.1.6] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.1.6)
#### 13/01/13 by Morten Henriksen
- Converted .length to string to cope with Meteor use of underscore

## [devel-server-cache] (https://github.com/zcfs/Meteor-CollectionFS/tree/devel-server-cache)
#### 11/01/13 by Morten Henriksen
## [v0.1.5] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.1.5)
#### 11/01/13 by Morten Henriksen
- On going tests - db updates gone, requires refresh to commit changes to db - guess some que not working

- removed setTimeout when spawn == 1

## [v0.1.4] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.1.4)
#### 08/01/13 by Morten Henriksen
## [v0.1.3] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.1.3)
#### 08/01/13 by Morten Henriksen
## [v0.1.2] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.1.2)
#### 08/01/13 by Morten Henriksen
## [v0.1.1] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.1.1)
#### 08/01/13 by Morten Henriksen
- Big one, added fileHandler to create cashed versions of the file

- added made with Meteor in fileHandler example

- corrected param bug in find and findOne

- minor fix and update

- Corrected install guide to use Meteorite

## [v0.1.0] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.1.0)
#### 07/01/13 by Morten Henriksen
## [v0.1] (https://github.com/zcfs/Meteor-CollectionFS/tree/v0.1)
#### 07/01/13 by Morten Henriksen
- updated file strukture and example

- Restructure to package system

- Refractoring filenames and edit package.js

- Package.js added

- Added smart.json for Atmosphere packages - Not tested!

- Readme styling corrected

- Added comments to the upload, storeFile

- StoreFile should return fileId or null

- Added notes about security

- Added only owner can resume, makes sense for now

- Added how to make a download...

- Changed project title git

- And some more corrections

- More readme text

- Added some short reference

- some more md

- Initial commit

