@markg85/webdav-server
Version:
718 lines (531 loc) • 83.2 kB
Markdown
# Changelog
# 2.3.18
### Bug fix
* Fixed the name of the namespace of the elements added when not found in a PROPFIND request/response *[1b2b9cc](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/1b2b9cc)*
# 2.3.17
### Documentation
* Added some comments for some methods/functions *[470c090](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/470c090)*
* Added an example to display how to add logs *[5eafa1a](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/5eafa1a)*
### Bug fix
* Fixed the property name (changed from 'inline namespace' to 'attribute namespace') of not found properties in the response of PROPFIND which was causing errors in the parsing of the XML response *[f215bf7](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/f215bf7)*
# 2.3.16
### Other
* Now provide the stream in the data of the 'openReadStream' and 'openWriteStream' events *[c72def0](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/c72def0)*
### Tests
* Added tests for security about regex *[be2190a](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/be2190a)*
* Exported the 'info.expected(...)' method in the v2 tests *[983da9c](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/983da9c)*
### Bug fix
* Fixed some security flaws about Regex *[d9c7194](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/d9c7194)*
# 2.3.15
### Other
* Removed a missed 'console.log(...)' *[c549111](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/c549111)*
### Tests
* Increased the timeout of the tests of the v2 from 6000 ms to 15000 ms *[b9684be](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/b9684be)*
# 2.3.14
### Other
* Added a npm command for tslint *[25b3dcc](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/25b3dcc)*
* Refactored some code *[2dba204](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/2dba204)*
* Updated the code checking *[75fcf43](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/75fcf43)*
* Updated the code checking *[70abf32](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/70abf32)*
* Trying to decrease cognitive complexity of 'standardCopy' of the standard methods *[d8a495f](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/d8a495f)*
* Refactored similar methods of 'VirtualFileSystem' *[612c91b](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/612c91b)*
* Excluded the 'examples' folder of lint *[1d68ec3](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/1d68ec3)*
* Moved all v1 files into v1 folders *[4a1a417](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/4a1a417)*
* Added v1 to the files to ignore for BitHound *[fe39d58](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/fe39d58)*
* Cleaned the code of Propfind *[371228e](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/371228e)*
* Upgraded the '.codeclimate.yml' file *[07a84ce](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/07a84ce)*
* Excluded v1 from CodeClimate *[60a7e2d](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/60a7e2d)*
* Excluded v1 from tslint *[0f06ed4](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/0f06ed4)*
* Updated the dependency version of @types/request and @types/node *[3f26a18](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/3f26a18)*
### Bug fix
* Fixed the PROPPATCH method => returned LOCKED instead of NOT AUTHORIZED (authentication) *[90acbe1](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/90acbe1)*
* Fixed the OPTIONS result ('Allow' header) on the root element *[2cec981](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/2cec981)*
* Fixed a lot of lint errors *[7de911b](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/7de911b)*
* Fixed some tslint errors *[8f54de5](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/8f54de5)*
* Fixed compilation errors with request headers which can contain 'string[]' *[1fcbbe2](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/1fcbbe2)*
# 2.3.13
### Documentation
* Updated the README to display the ExpressJS extension *[0c9f4af](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/0c9f4af)*
### New features
* Added extension for ExpressJS *[9114666](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/9114666)*
# 2.3.12
### Other
* Added support for a new root path in 'executeRequest' *[876629a](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/876629a)*
### Bug fix
* Fixed the example of using the library in Express *[4bf7bd3](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/4bf7bd3)*
* Fixed the wrong example of use in ExpressJS *[7777cb4](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/7777cb4)*
# 2.3.11
### Documentation
* Added comments / inline doc for the 'WebDAVServer' class's methods *[0e36914](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/0e36914)*
### Tests
* Added tests for the encoding of the URL / displayName in PROPFIND *[45e9c56](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/45e9c56)*
# 2.3.10
### Documentation
* Transformed in README.md 'Javascript' into 'JavaScript' to match 'TypeScript' *[5d1da18](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/5d1da18)*
* Added Express compatibility explaination in the README *[b61c7d5](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/b61c7d5)*
### Other
* Cleaned the code (mainly the imports) *[cad8d1d](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/cad8d1d)*
* Exported the function/method 'executeRequest' to execute requests without the server started *[fc22c3b](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/fc22c3b)*
### Bug fix
* Fixed the parsing of the url when it is empty *[205e28a](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/205e28a)*
# 2.3.9
### Bug fix
* Removed the encoding of the 'displayname' tag *[b151337](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/b151337)*
# 2.3.8
### Bug fix
* Fixed the URL encoding on all 'href', 'location' and 'displayname' tags in the XML responses *[5d48f22](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/5d48f22)*
# 2.3.7
### Bug fix
* Fixed the special character problem with a more generic solution *[6d54bd0](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/6d54bd0)*
# 2.3.6
### Bug fix
* Fixed spaces not being encoded *[55261d5](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/55261d5)*
# 2.3.5
### Other
* Removed old/commented code from the Propfind.ts file *[40e3792](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/40e3792)*
* Compiled the change made by @leak4mk0 *[8e43d93](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/8e43d93)*
* Merge pull request #21 from leak4mk0/patch-1 *[5943f26](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/5943f26)*
### Bug fix
* Fixed an issue where an error 'e' is ignored after readdir. *[716cba6](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/716cba6)*
# 2.3.4
### Tests
* Added a few more tests for the MOVE method on files *[da1c79a](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/da1c79a)*
### Other
* Modified the behaviour of the PROPFIND method when an error occurs in the child resources *[a91227b](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/a91227b)*
### Bug fix
* Fixed the '_move' method in the 'PhysicalFileSystem' class *[656d0f6](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/656d0f6)*
# 2.3.
### Tests
* Added tests for the new features of the 'addSubTree' method *[0f2c1d9](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/0f2c1d9)*
### Other
* Updated the dependencies of the project *[48e7287](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/48e7287)*
* Added the support of a string and a buffer as value in the 'addSubTree' method *[3380374](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/3380374)*
# 2.3.2
### Documentation
* Fixed the wrong link to the example page in the 'README' file *[91c28cd](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/91c28cd)*
# 2.3.1
### Bug fix
* Modified the 'VirtualFileSystemResource' class to test the type of the constructor argument based on it's properties instead of it's constructor *[2f012cd](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/2f012cd)*
# 2.3.0
### New features
* Added the storage manager to allow to limit the storage *[74094e3](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/74094e3)*
* Added a method in the server to give the listing of resources *[18f0e3a](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/18f0e3a)*
* Added a 'autoSave' method to the server to start the auto-save without starting the HTTP server *[481413d](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/481413d)*
* Added 'before-*' file system events *[8763396](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/8763396)*
### Tests
* Added the ability to fail a streaming request in the tests (v2) *[6eb0cd0](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/6eb0cd0)*
* Added tests for the quotas *[d191d72](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/d191d72)*
* Added tests for the 'server.listResources(...)' method *[0caed21](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/0caed21)*
### Bug fix
* Fixed custom properties' attributes removing the property namespace (xmlns) *[70c5341](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/70c5341)*
# 2.2.3
### Bug fix
* Fixed the missing 'lock' argument in the callback of the 'refresh' method of the lock manager returned in the 'FileSystem' class *[3dae2aa](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/3dae2aa)*
# 2.2.2
### Other
* Removed forgotten 'console.log' *[3277908](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/3277908)*
# 2.2.1
### Other
* Exported the 'IRange' interface of the 'Range' header parsing *[961f1e7](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/961f1e7)*
### Bug fix
* Fixed the delete method in the 'PhysicalFileSystem' class *[da9abf0](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/da9abf0)*
# 2.2.0
### New features
* Added support for the sequence/multipart, start and end types of the 'Range' header in the 'GET' method *[dd23bfc](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/dd23bfc)*
* Added 'Range' support in the 'HEAD' method to better fit the 'GET' response without body *[6ebfd98](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/6ebfd98)*
### Tests
* Added more tests for the 'Range' header of the 'Get' method :
* *[6945b31](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/6945b31)*
* *[25a1cf3](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/25a1cf3)*
* Added more server ports to the tests of the v2 :
* *[68172a9](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/68172a9)*
* *[98d16af](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/98d16af)*
### Other
* Exported the 'Range' header parser to be usable in the 'GET' and 'HEAD' methods *[a2aabce](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/a2aabce)*
# 2.1.0
### New features
* Added server wide events *[6786998](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/6786998)*
* Added file system wide events *[9a5688c](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/9a5688c)*
### Tests
* Added tests for the events *[f8d8969](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/f8d8969)*
* Added tests for the ranged GET *[647a8c3](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/647a8c3)*
### Bug fix
* Fixed the GET Range *[3b2d11f](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/3b2d11f)*
# 2.0.19
### Changes
* Added headers to allow cross domain access to the server *[654886c](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/654886c)*
### Bug fix
* Fixed a bug on the mkcol method *[4dcabe7](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/4dcabe7)*
# 2.0.18
### Changes
* Removed the decoding in the 'Path' class *[ad5c8a6](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/ad5c8a6)*
### Bug fix
* Fixed the URL decoding in the 'Path' class to be able to work with fully encoded and partially encoded URL *[5a743a9](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/5a743a9)*
# 2.0.17
### Changes
* Removed the URL encoding in the 'href' tags and in the 'displayname' tags *[014820b](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/014820b)*
### Other
* Excluded the folder experiment :
* *[8abda60](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/8abda60)*
* *[e966921](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/e966921)*
### Bug fix
* Fixed wrong content length when the content contains special characters + Specified the encoding when writing to the response body (UTF-8) + Minimified the 'Content-Type' header in the 'writeBody' method of the 'RequestContext' class *[c12096a](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/c12096a)*
# 2.0.16
### Bug fix
* Fixed the 'HTTPDigestAuthentication' class of the v1 and v2 to work with the level 0 of the digest authentication *[6247297](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/6247297)*
# 2.0.15
### Bug fix
* Fixed the 'LOCK' method which needed the 'owner' in the lock properties (which was made optional in the past) *[21a4a94](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/21a4a94)*
# 2.0.14
### Changes
* Use 'xml-js-builder' npm package instead of built-in XML manager *[15e4f2d](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/15e4f2d)*
# 2.0.13
### Bug fix
* Fixed a bug saying that the callback is not a function when calling the 'readDir' method of a file system *[57056d0](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/57056d0)*
# 2.0.12
### Bug fix
* Fixed the standard copy/move methods to copy/move the source content of the resource *[ec0144e](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/ec0144e)*
# 2.0.11
### Changes
* Modified the 'VirtualSerializer' class serialize 'resources' into a property of the serialized object instead of being the serialized object *[2833836](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/2833836)*
* Added the 'VirtualSerializerVersions' and 'PhysicalSerializerVersions' object to provide a list of versions of the serializers *[2833836](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/2833836)*
# 2.0.10
### Changes
* Modified the class name from '_VirtualFileSystemResource' into 'VirtualFileSystemResource' *[8e8b425](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/8e8b425)*
* Modified the class name from '_PhysicalFileSystemResource' into 'PhysicalFileSystemResource' *[a09fe35](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/a09fe35)*
### Documentation
* Added a 2nd example of creating a custom method for the server *[d191897](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/d191897)*
* Added a README to the examples folder *[5efdead](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/5efdead)*
### Other
* Cleaned the code :
* *[50782df](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/50782df)*
* *[6acbcdd](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/6acbcdd)*
* Removed the 'no-conditional-assignment' lint *[03105d9](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/03105d9)*
### Bug fix
* Fixed the HEAD method crashing when the size of a resource is undefined *[de276ff](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/de276ff)*
# 2.0.9
### Bug fix
* Fixed the constructor by copy of the 'LocalPropertyManager' class and the 'LocalLockManager' class *[a5fb4c0](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/a5fb4c0)*
# 2.0.8
### Bug fix
* Fixed the persistence (untriggered close event on saving) *[7e7f86d](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/7e7f86d)*
# 2.0.7
### Changes
* Removed the initial GZip/GUnZip of the persistence => now it is a default behaviour *[ac1fd34](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/ac1fd34)*
* Modified the 'IAutoSave' interface to fit cases *[ac1fd34](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/ac1fd34)*
### Documentation
* Added the use of the method in the 'Custom Method' example *[c9f34e3](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/c9f34e3)*
* Added a note to the README of the 'Custom Method' example *[e58fdaf](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/e58fdaf)*
* Added the 'Custom Method' example *[eadb2b8](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/eadb2b8)*
### Bug fix
* Fixed the 'create' method of the 'FileSystem' class which was not creating more than 1 intermediate *[4b1cb25](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/4b1cb25)*
# 2.0.6
### Changes
* Modified the LOCK method to make the owner tag optional *[7a34231](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/7a34231)*
### Bug fix
* Fixed the 'SimplePathPrivilegeManager' class to add sub-rights when calling the 'setRights' method *[aaeed0c](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/aaeed0c)*
* Fixed a bad privilege check in the 'FileSystem' class which asked write rights for reading available locks of a resource *[feb1fe0](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/feb1fe0)*
# 2.0.5
### New features
* Allow to override the privilege checking in the context to allow special operations (list all locks, for instance) *[b96fde6](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/b96fde6)*
* Added the 'isLocked' method in the 'Resource' class and in the 'ContextualFileSystem' class *[7e3a142](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/7e3a142)*
### Tests
* Upgraded the tests for the persistence to fail if the an error occurs while saving *[7f7a3cd](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/7f7a3cd)*
### Bug fix
* Removed a bad privilege check in the 'listDeepLocks' method of the 'FileSystem' class *[2023611](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/2023611)*
# 2.0.4
### New features
* Modified the 'FileSystem' class and the serialization method to skip/allow non-serializable file system (skip the serialization of a fs if 'fs.serializer()' returns null/undefined) *[43acf3f](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/43acf3f)*
### Documentation
* Added comments to describe methods of the 'FileSystem' class and the 'FileSystemSerializer' interface for better code completion details *[e95de1a](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/e95de1a)*
* Fixed the missing description of the 2nd example in the README *[218d907](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/218d907)*
* Added the '@webdav-server' npm packages information in the README *[d80b6ab](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/d80b6ab)*
### Bug fix
* Fixed the 'isLocked' method of the 'FileSystem' class to skip privilege checking *[f201b61](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/f201b61)*
* Fixed the 'SimplePathPrivilegeManager' class *[25a9529](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/25a9529)*
# 2.0.3
### Changes
* The default behaviour of the 'size' method in the 'FileSystem' class is now to return 'undefined' as value (= cannot tell the size) *[4aed15f](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/4aed15f)*
* Made the 'Content-Length' header optional in the response when no size can be obtained *[0f1cdcd](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/0f1cdcd)*
# 2.0.2
### Bug fix
* Fixed the MOVE method *[592d2bc](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/592d2bc)*
* Fixed the 'autoLoad' method to not crash when the 'autoSave' option is missing *[a03cc96](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/a03cc96)*
# 2.0.1
### Documentation
* Fixed wrong place of the deprecated comment *[b6ed379](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/b6ed379)*
# 2.0.0
### New features
* Version 2!
* Added the body written through the 'writeBody(...)' method as property of the 'RequestContext' class *[266e900](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/266e900)*
* Added the attributes to the stored properties affected by PROPPATCH *[f8f6e00](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/f8f6e00)*
* Added the reverse operation in the PROPPATCH method to fit the RFC (1 error => reverse changes) *[f14cde3](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/f14cde3)*
* Added an error in the 'Errors' bundle to say that the user has not enough privilege *[f488ecc](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/f488ecc)*
* Modified the 'Workflow' class to stop some executions when possible if the workflow ended *[e0e4232](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/e0e4232)*
* Implemented the 'SimplePathPrivilegeManager' class to manage privileges based on the path *[6656596](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/6656596)*
* Implemented the PrivilegeManager [v2] *[4c526b8](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/4c526b8)*
* Implemented the v2 *[6e58ac6](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/6e58ac6)*
* The XML helper will now throw a more meaningful error message when the 'find(...)' method doesn't find the XMLElement, helping for debugging *[b49c35a](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/b49c35a)*
* Added the depth to the 'Lock' class *[fbeeb71](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/fbeeb71)*
### Changes
* Changed to check by reference by default when seeking for a file system *[e39fd71](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/e39fd71)*
* Added the user as argument in the privilege managers *[8908c87](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/8908c87)*
* Splitted the 'RequestContext' class into 'RequestContext', 'ExternalRequestContext' and 'HTTPRequestContext' *[faf8581](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/faf8581)*
* Added a constructor to help unserialization in the 'LocalPropertyManager' class and the 'LocalLockManager' class0e78d10 Fixed the 'PhysicalFileSystem' class *[f8b3b46](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/f8b3b46)*
* The user used by the 'createExternal(...)' static method of the 'RequestContext' class is now a super-admin user unreferenced by the user manager *[50e1194](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/50e1194)*
* Made the callback optional in the 'addSubTree' of the 'FileSystem' class *[d81a883](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/d81a883)*
* Removed the event system from the server *[882ca71](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/882ca71)*
* Made the 'treeFilePath' server option of 'autoLoad' optional (default value is the 'treeFilePath' of 'autoSave') *[386f04a](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/386f04a)*
* Changed the type of the 'privilegeManager' server option from the old 'IPrivilegeManager' to the new 'PrivilegeManager' *[386f04a](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/386f04a)*
* Added the 'CreateExternalContext' method to the server class to ease the creation of external contexts *[358e2ee](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/358e2ee)*
* Changed the type of the 'path' argument of the methods in 'FileSystem', 'ContextualFileSystem' and 'Resource' from 'Path' to 'Path | string' to be more easy to use *[5c987c6](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/5c987c6)*
* Added the 'PrivilegeManagerInfo' interface *[4d29192](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/4d29192)*
* Added the 'destinationPath' to the 'RenameInfo' interface *[4d29192](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/4d29192)*
* Added the 'setCodeFromError' method and the 'defaultStatusCode' method to the 'RequestContext' class *[8cf9a53](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/8cf9a53)*
* Added an error class for unserialization error (when the serializer is not found) *[f488ecc](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/f488ecc)*
* Added some standard errors to the 'Errors' bundle *[37afaaa](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/37afaaa)*
### Documentation
* Upgraded the README *[29086af](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/29086af)*
* Fixed the README example *[77c44cd](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/77c44cd)*
* Fixed the example 'Web Resource' *[75ff834](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/75ff834)*
* Deprecated the v1 'WebDAVServer' class *[2c609e7](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/2c609e7)*
* Added the 'webResource' example for the v2 *[d406d81](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/d406d81)*
* Splitted the 'examples' folder into 'v1' and 'v2' :
* *[24718da](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/24718da)*
* *[7518929](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/7518929)*
### Tests
* Fixed the tests to use the new 'RequestContext' implementation *[6d41b1b](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/6d41b1b)*
* Added a 'nbReservedSocketPerTest' in the test framework of the v2 *[72696ad](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/72696ad)*
* Added tests for the PROPPATCH method [v2] *[2be8b93](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/2be8b93)*
* Added test for the MOVE and COPY methods [v2] *[0c5e114](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/0c5e114)*
* Added tests for the 'addSubTree' method of the server/file systems [v2] *[5d5d3a2](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/5d5d3a2)*
* Added tests for the HEAD method *[651f797](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/651f797)*
* Added tests for the MKCOL method *[d895732](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/d895732)*
* Added tests for the DELETE method *[59e4201](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/59e4201)*
* Upgraded the test framework of the v2 *[a9edc7e](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/a9edc7e)*
* Added test for the persistence [v2] *[deb443b](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/deb443b)*
* Added test for the LOCK and UNLOCK methods [v2] *[37f17a0](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/37f17a0)*
* Fixed the tests for node.js:5 and node.js:4 *[b43ba41](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/b43ba41)*
* Modified the tests to use 'server.rootFileSystem()' method instead of the removed 'server.rootFileSystem' property *[7c7874c](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/7c7874c)*
* Updated the test commands to compile the TypeScript, run the tests for the v2, then run the tests for the v2 *[3f6c274](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/3f6c274)*
* Added tests for the lock/unlock methods (v2) *[70717b2](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/70717b2)*
* Added tests for the OPTIONS method (v2) *[6e5981a](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/6e5981a)*
* Added tests for the readDir/propfind on a directory (v2) *[9ce23d1](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/9ce23d1)*
* Added tests for the read/write get/put methods (v2) *[b801535](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/b801535)*
* Added tests for the server management (v2) *[735e2ed](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/735e2ed)*
* Added TypeScript tests for better test developments *[f5b48a7](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/f5b48a7)*
* Upgraded the test framework to be more clean and ease the making of new tests *[74c381c](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/74c381c)*
* Splitted the 'test' folder into 'v1' and 'v2' *[ac88f11](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/ac88f11)*
### Other
* Cleaned the code *[1a46154](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/1a46154)*
* Updated the '@types/node' dev dependency *[6491270](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/6491270)*
* Exported the 'PrivilegeManager' class and the 'SimplePathPrivilegeManager' class *[f258c99](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/f258c99)*
* Added the 'Forbidden' standard error *[a209249](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/a209249)*
* Implemented the lock check *[0b41e28](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/0b41e28)*
* Implemented the privilege checks *[0b41e28](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/0b41e28)*
* Removed the FTP packages in the npm dependencies *[3733df7](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/3733df7)*
* Removed the old files from when the v2 was contained in one file *[04762e9](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/04762e9)*
* Removed the empty 'requirePrivilege' methods in the 'RequestContext' class *[8cf9a53](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/8cf9a53)*
* Moved the 'FTPFileSystem' class to the '@webdav-server/ftp' package *[5c04125](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/5c04125)*
* Exported the v1 within the v1 scope too *[1cc4a03](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/1cc4a03)*
* Exported the v2 *[90a6556](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/90a6556)*
* Fixed Travis CI missing 'tsc' *[d4850b7](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/d4850b7)*
* Modified the 'tsconfig.json' file to make TypeScript compile with comments by default *[6e7acd8](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/6e7acd8)*
* Added the TS types for the 'request' package *[3f6c274](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/3f6c274)*
* Added the 'ftp' package in the dependencies *[3f6c274](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/3f6c274)*
* Updated the .gitignore to ignore the transcripted code folder in the tests *[e83b463](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/e83b463)*
### Bug fix
* Fixed the 'VirtualFileSystem' unserialization *[d43f5c9](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/d43f5c9)*
* Fixed the urls in PROPFIND, PROPPATCH and LOCK responses not being encoded *[7bc8928](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/7bc8928)*
* Added encoding for the url in the PROPPATCH and PROPFIND responses [v1] *[30d5bcc](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/30d5bcc)*
* Fixed the 'SimplePathPrivilegeManager' implementation *[489cf28](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/489cf28)*
* Fixed the 'HTTPDigestAuthentication' implementation *[008af5c](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/008af5c)*
* Changed the default namespace from 'DAV:' to nothing, allowing to keep out-of-namespace tags in the properties *[635ce3f](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/635ce3f)*
* Fixed the 'VirtualFileSystem' *[9d3b03e](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/9d3b03e)*
* Fixed the MOVE method *[2c7a84c](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/2c7a84c)*
* Fixed the PROPFIND method *[2c7a84c](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/2c7a84c)*
* Fixed the response status when the parent was missing *[056df31](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/056df31)*
* Fixed the 'starter' method of the OPTIONS method tests to be more robust if some more tests are added in the future *[6fe546a](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/6fe546a)*
* Fixed the '_delete' method in the 'VirtualFileSystem' class which was not deleting the children of deleted folders *[e529f71](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/e529f71)*
* Fixed an unserialization bug (returning undefined as the unserialized data) *[467e91c](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/467e91c)*
* Fixed the serialization [v2] *[14b6e4c](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/14b6e4c)*
# 1.9.1
### New features
* Implemented the physical gateway and its FSManager *[d0aa8c8](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/d0aa8c8)*
* Implemented the static methods 'standardMoveWithoutCopy', 'standardMoveByCopy', 'standardFindChildByName', 'standardFindChildren' and 'standardAddToParent' in the 'StandardResource' class *[2bb7a4b](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/2bb7a4b)*
### Changes
* Compiled the TypeScript code with comments :
* *[e3fbf7a](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/e3fbf7a)*
* *[94077ae](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/94077ae)*
* Use the 'standardMoveByCopy' in 'standardMoveTo' static method as a default behavior *[2bb7a4b](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/2bb7a4b)*
* Implemented a default method for 'moveTo' in the 'StandardResource' class *[2bb7a4b](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/2bb7a4b)*
* Removed the 'moveTo' method in the 'VirtualResource' class to use the default implementation in 'StandardResource' *[1a38d52](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/1a38d52)*
### Documentation
* Added an example of a physical gateway *[9123bf6](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/9123bf6)*
### Tests
* Fixed a wrong test when a move is made by copy in the 'ResourceTester' class *[1b5e3a1](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/1b5e3a1)*
* Fixed the 'movePhysical' test *[48723ee](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/48723ee)*
### Other
* Fixed the package.json of the FTP gateway example *[d17ac14](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/d17ac14)*
### Bug fix
* Fixed the FSManager uid in the FTP Gateway example *[00aed8c](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/00aed8c)*
* Fixed the 'moveTo' method of the 'PhysicalResource' *[500eca5](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/500eca5)*
# 1.9.0
### New features
* A 'FSManager.serialize(...)' returning 'undefined' or 'null' will lead to skip the serialization of the resource *[f5e06ae](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/f5e06ae)*
* Added the 'finalSize' to the 'write(...)' method of resources when available :
* *[a58d38f](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/a58d38f)*
* *[8d4df3e](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/8d4df3e)*
* Added a 'MustIgnore' error which can make the server to skip some checks (mostly lock tests) :
* *[aa8a629](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/aa8a629)*
* *[ccb786e](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/ccb786e)*
* *[a58d38f](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/a58d38f)*
* Added the ability to a resource to provide its own sub-tree based on the requested path (Gateway) :
* *[485b270](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/485b270)*
* *[a58d38f](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/a58d38f)*
* *[05fd08c](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/05fd08c)*
### Changes
* Cleaned the code *[d55ab4d](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/d55ab4d)*
* The user is now optional for lock creation leading to skip the user checking when testing the user privileges :
* *[2c89532](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/2c89532)*
* *[0a9ca37](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/0a9ca37)*
* Added the 'XMLElement' methods 'findText() : string' and 'findTexts() : string[]' *[164022b](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/164022b)*
* Now export the 'XML', 'IfParser' and 'Workflow' to allow easier resource/FSManager creation :
* *[55c71b3](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/55c71b3)*
* *[585b172](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/585b172)*
### Documentation
* Added an example for the gateway : FTP Gateway *[45f1055](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/45f1055)*
* Added the Gitter link to the README *[dbbfb12](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/dbbfb12)*
### Tests
* Fixed a broken test with the 'DAV:lockdiscovery' *[9d5b3c9](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/9d5b3c9)*
### Other
* Improved the XML 'name to namespace' feature *[164022b](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/164022b)*
### Bug fix
* Fixed the 'moveTo(...)' which was calling the the 'rename(...)' method even when the oldName and newName were equal *[05fd08c](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/05fd08c)*
* Fixed ResourceTester error *[083a5c0](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/083a5c0)*
* Modified the 'FSPath' to remove '//' sequences ('//' => '/') *[0315270](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/0315270)*
* Fixed the example of the Custom Web Resource, which was not loading the 'webdav-server' module but the 'lib/index.js' of the root folder *[00661a0](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/00661a0)*
# 1.8.2
### New features
* Implemented an 'autoLoad' method in the server to help loading files saved by the 'autoSave' *[5acdf13](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/5acdf13)*
* Added the static method 'loadFromPath(...)' in the 'PhysicalFolder' class to allow easy resource tree loading based on a url *[b8c5ca0](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/b8c5ca0)*
### Documentation
* Used the 'autoLoad' method to load the content in the 'customWebResource' example *[f0365f2](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/f0365f2)*
* Added the 'loadPhysicalFolder' example *[7ed6c7a](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/7ed6c7a)*
* Added the 'examples' folder in the list of links in the README *[595bcf1](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/595bcf1)*
* Fixed the 'Custom Web Resource' example *[d9b3761](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/d9b3761)*
### Other
* Upgraded the 'webdav-server' version needed in the example 'customWebResource' to 1.8.2 *[9af7d93](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/9af7d93)*
* Moved the 'autoSave' signature (in the server options) to an external interface *[fcb22cf](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/fcb22cf)*
### Bug fix
* Fixed the wrong signature of the 'autoSave.streamProvider' server option *[d80491a](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/d80491a)*
# 1.8.1
### Documentation
* Added an example folder to provide real/full examples *[14cdf33](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/14cdf33)*
* Added the example : Custom Web Resource *[14cdf33](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/14cdf33)*
* Replaced test from the 'Project information' section in the README by a list of links *[be2c77a](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/be2c77a)*
### Other
* Implemented the lock tests for the 'ResourceTester' *[cb90c9f](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/cb90c9f)*
* Added a missing option for the 'ResourceTester' *[b007f28](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/b007f28)*
* Fixed code format *[40dba6b](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/40dba6b)*
* Removed useless exports from 'BeforeAfter.ts' file *[be66fb5](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/be66fb5)*
### Bug fix
* Fixed a bug when a resource added to the server had no fsManager (= volatile resource) *[3c4cd72](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/3c4cd72)*
* Fixed a timeout error for the locks *[6097857](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/6097857)*
# 1.8.0
### New features
* Added the ability to parse JSON in the request body *[cf0debb](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/cf0debb)*
* Added the 'Allow' header to all the methods and filter the allowed methods according to the existence of the requested resource and its 'ResourceType' *[7db537e](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/7db537e)*
* Added the server options 'serverName' and 'version' to display in the 'Server' HTTP header *[fd4158b](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/fd4158b)*
* Added the 'Server' header to the responses *[e015847](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/e015847)*
* Added a 'displayName' optional method in the 'IResource' interface *[c9812d6](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/c9812d6)*
### Changes
* Moved the 'Allow' response header from the 'OPTIONS' method to all the methods *[e015847](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/e015847)*
* Use the 'displayName' method when available as text for the 'DAV:displayname' XML element in the PROPFIND response body *[c9812d6](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/c9812d6)*
* Removed the 'setName' parameter of the 'StandardResource.standardMoveTo(...)' static method to use instead the 'IResource.rename(...)' method *[c3f8b6a](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/c3f8b6a)*
* Removed the unused 'isOnTheSameFSWith' and 'isSame' methods of the 'IResource' interface *[8660bbf](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/8660bbf)*
### Tests
* Added tests for the JSON in the request body *[84bd1c9](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/84bd1c9)*
* Added tests for the 'Overwrite' header for the 'MOVE' method *[4be3904](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/4be3904)*
### Other
* Added a new helper : 'StandardResource.standardMimeType(...)' *[695a93a](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/695a93a)*
### Bug fix
* Fixed the '404' status always in the responses of the 'PROPRFIND' method even when empty *[f1243e7](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/f1243e7)*
* Fixed the overwrite behavior in the 'StandardResource.standardMoveTo' static method *[8b1caad](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/8b1caad)*
# 1.7.4
### Documentation
* Changed the code type from 'typescript' to 'javascript' of the code sample in the README *[34a19f1](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/34a19f1)*
### Tests
* Added tests for the streaming PUT *[ae0cf70](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/ae0cf70)*
### Bug fix
* Changed the behavior of the server regarding the 'Content-Length' header in order to use the chunked version of a method everytime *[0b675b0](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/0b675b0)*
# 1.7.3
### New features
* Added support to HTTPS *[4781457](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/4781457)*
### Changes
* The 'mimeType' method of the implemented resources now return the content type instead of the mime-type only *[d1247af](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/d1247af)*
### Documentation
* Simplified the README.md *[0bc3801](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/0bc3801)*
### Other
* Added a 'Workflow' class to replace similar codes in the project *[eb22a3d](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/eb22a3d)*
### Bug fix
* Added the 'Content-Type' and the 'Content-Length' headers to the GET and HEAD methods *[787ed4e](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/787ed4e)*
# 1.7.2
### Tests
* Removed support for the unstable version 4.0 version of node *[418332a](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/418332a)*
### Other
* Added a way to add new XML elements at the head of the perent's children in the XML file utility *[310b860](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/310b860)*
### Bug fix
* Now write 'DAV:href' at the head of the parent's children, fixing issues with 'cadaver', 'davfs2', etc... *[9d9d512](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/9d9d512)*
# 1.7.1
### Tests
* Improved the tests for the 'source' and 'translate' headers *[b99024b](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/b99024b)*
### Bug fix
* Fixed a bug with the 'translate' header *[ccdd7ed](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/ccdd7ed)*
# 1.7.0
### New features
* Added resource events in the system *[83bb59e](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/83bb59e)*
* Added an 'autoSave' mode to the server to embed a robust way to save the state of the server *[bd2f12f](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/bd2f12f)*
* Implemented a 'SimplePathPrivilegeManager' to manage easily user privileges (pretty bare) *[b5b81f3](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/b5b81f3)*
* Changed the response code/message (to 401 Unauthorized) to ask the client to authenticate the user *[14e7c76](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/14e7c76)*
* Added the 'all' privilege in the 'BasicPrivilege' type *[318e526](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/318e526)*
* Added support for the 'translate' header (alias of the 'source' header) *[2d9627e](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/2d9627e)*
* Added support for ranged GET requests *[5bee991](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/5bee991)*
### Changes
* Use the 'HTTPDigestAuthentication' instance by default instead of a 'HTTPBasicAuthentication' instance in the server's options *[0795df3](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/0795df3)*
* Changed 'addUser' of the 'SimpleUserManager' class to return the created user *[155ea74](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/155ea74)*
* Added the 'Content-Length' header and the 'Accept-Ranges' header in the HEAD method *[992620b](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/992620b)*
* Added the 'DAV:location' tag to the propfind response *[3df40bb](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/3df40bb)*
### Tests
* Use a 'HTTPBasicAuthentication' as a default authentication system for tests *[dde8001](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/dde8001)*
* Added tests for the server events *[759befc](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/759befc)*
* Added tests for the 'translate' header *[30ea0d3](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/30ea0d3)*
### Other
* Added a 'SimpleBasicPrivilege' type to represent the possibilities of the 'SimplePrivilegeManager' classes *[218af11](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/218af11)*
* Added the 'MethodCallArgs' type to a function definition (for better code clarity) *[2175459](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/2175459)*
* Added the export of the 'SimplePathPrivilegeManager' class *[b6548aa](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/b6548aa)*
* Added the 'autoSave' option *[eef40f0](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/eef40f0)*
* Removed duplicates in the code of the 'ResourceTester' class *[b254f51](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/b254f51)*
* Changed the order of the imports to be more stable on future changes *[0ad2594](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/0ad2594)*
* Removed useless imports/exports which could cause circular dependencies *[4e14885](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/4e14885)*
* Centralized the 'source' header check in the 'MethodCallArgs' class *[163914f](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/163914f)*
### Bug fix
* Changed the Unlock response status code/message when unauthorized (to 403 Forbidden) *[65423c8](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/65423c8)*
* Fixed bugs in the 'HTTPBasicAuthentication' and the 'HTTPDigestAuthentication' classes *[4e8c78c](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/4e8c78c)*
* Fixed PROPPATCH and PROPFIND xml parsing errors when the request body was not valid *[e7fed58](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/e7fed58)*
## 1.6.0
### New features
* Now PROPFIND can filter properties depending on the request body (according to the RFC) *[7af0e36](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/7af0e36)*
* Added a 'strictMode' to let more flexibilities to the communications client/server
### Changes
* Added the 'DAV' header with the values '1,2' => class 1 + 2 supported (RFC) *[27abc4e](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/27abc4e)*
* Add a trailing '/' to the resource path of collections (folders) in the 'DAV:href' tag (response) *[7af0e36](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/7af0e36)*
* Removed the 'DAV' in the OPTION method file to provide it to all responses *[63aa8a3](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/63aa8a3)*
* Added more compliance with the WebDAV RFC (body checking, errors returned, etc...) *[46cbef7](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/46cbef7)*
* Added xmlns attribute for 'DAV:' presence in a tag name *[3bc3f07](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/3bc3f07)*
### Documentation
* Added the 'strictMode' server option in the README *[24dd02b](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/24dd02b)*
### Tests
* Removed useless test in the 'VirtualFSManager' class *[c4dc8db](https://github.com/OpenMarshal/npm-WebDAV-Server/commit/c4dc8db)*
### Other
* Removed displays (console.log) *