UNPKG

synctos

Version:

The Syncmaker. A tool to build comprehensive sync functions for Couchbase Sync Gateway.

260 lines (210 loc) 14.4 kB
# Change Log This project adheres to [Semantic Versioning](http://semver.org/). All notable changes will be documented in this file. ## [2.7.1] - 2019-02-11 ### Fixed - [#338](https://github.com/Kashoo/synctos/issues/338): The `mustNotBeMissing` and `mustNotBeNull` constraints do not behave as expected ### Security - [340](https://github.com/Kashoo/synctos/issues/340): Security vulnerability in lodash dev dependency ### Deprecated - `mustNotBeMissing` constraint - `mustNotBeNull` constraint ## [2.7.0] - 2018-10-01 ### Added - [#331](https://github.com/Kashoo/synctos/issues/331): Support the `requireAdmin` function in test fixtures ### Changed - [#332](https://github.com/Kashoo/synctos/issues/332): Update links to official Couchbase documentation ## [2.6.0] - 2018-08-20 ### Added - [#323](https://github.com/Kashoo/synctos/issues/323): Option to ignore item validation errors when value is unchanged - [#324](https://github.com/Kashoo/synctos/issues/324): Validation type that accepts any type of value - [#86](https://github.com/Kashoo/synctos/issues/86): Conditional validation type ## [2.5.0] - 2018-05-30 ### Added - [#311](https://github.com/Kashoo/synctos/issues/311): Case insensitive equality constraint for strings - [#313](https://github.com/Kashoo/synctos/issues/313): Attachment filename regular expression constraint - [#316](https://github.com/Kashoo/synctos/issues/316): Attachment reference regular expression constraint ## [2.4.0] - 2018-04-24 ### Added - [#301](https://github.com/Kashoo/synctos/issues/301): Configuration of document expiry ### Fixed - [#302](https://github.com/Kashoo/synctos/issues/302): Access assignment results are sometimes unavailable to subsequent custom actions ## [2.3.0] - 2018-04-09 ### Added - [#285](https://github.com/Kashoo/synctos/issues/285): Throw an Error object when there is an authorization or validation failure - [#281](https://github.com/Kashoo/synctos/issues/281): Mechanism to reset test environment between test cases - [#278](https://github.com/Kashoo/synctos/issues/278): Extended year format in date strings - [#282](https://github.com/Kashoo/synctos/issues/282): Support hour 24 in date and time validation types - [#292](https://github.com/Kashoo/synctos/issues/292): Permanent workaround for bugs in Date object implementation ### Fixed - [#276](https://github.com/Kashoo/synctos/issues/276): Date range validation is incorrect for dates between years 0 and 99 - [#288](https://github.com/Kashoo/synctos/issues/288): Backticks are escaped even if sync function is not written to a file - [#293](https://github.com/Kashoo/synctos/issues/293): Incorrect line numbers in test case failure stack traces - [#294](https://github.com/Kashoo/synctos/issues/294): Time zones incorrectly allow the colon to be omitted ### Deprecated - `src/loading/sync-function-loader.js` module: the `load` function's `formatOptions` parameter ## [2.2.1] - 2018-03-21 ### Fixed - [#270](https://github.com/Kashoo/synctos/issues/270): JavaScript error on document write in Sync Gateway 1.x ## [2.2.0] - 2018-03-20 ### Added - [#35](https://github.com/Kashoo/synctos/issues/35): Option to output a generated sync function as a single-line JSON string - [#252](https://github.com/Kashoo/synctos/issues/252): Isolate test fixtures - [#257](https://github.com/Kashoo/synctos/issues/257): Regular expression pattern constraint for document ID - [#259](https://github.com/Kashoo/synctos/issues/259): Ensure compatibility with Sync Gateway 2.x ### Deprecated - `src/testing/test-helper.js` module ## [2.1.0] - 2018-03-08 ### Added - [#250](https://github.com/Kashoo/synctos/issues/250): Allow a document with an unknown type to be deleted via the admin API - [#188](https://github.com/Kashoo/synctos/issues/188): Support dynamic definition of channel/role access assignments ### Fixed: - [#243](https://github.com/Kashoo/synctos/issues/243): The test-helper module incorrectly represents an old document that does not exist as undefined ## [2.0.2] - 2018-03-02 ### Security - [#246](https://github.com/Kashoo/synctos/issues/246): Access assignments are not revoked when the corresponding document is deleted ## [2.0.1] - 2018-02-19 ### Fixed - [#98](https://github.com/Kashoo/synctos/issues/98): Final argument of custom validation constraint receives incorrect value ## [2.0.0] - 2018-02-16 ### Added - [#43](https://github.com/Kashoo/synctos/issues/43): Tool to validate structure and semantics of a document definitions file - [#189](https://github.com/Kashoo/synctos/issues/189): Automatically create the output sync function file directory if it does not exist - [#207](https://github.com/Kashoo/synctos/issues/207): Ignore all top-level document properties that start with an underscore - [#204](https://github.com/Kashoo/synctos/issues/204): Constraint that requires string values to be trimmed - [#215](https://github.com/Kashoo/synctos/issues/215): Allow document definition fragments to be nested - [#197](https://github.com/Kashoo/synctos/issues/197): Make month and day components of date validation type optional - [#180](https://github.com/Kashoo/synctos/issues/180): Data validation type for time of day - [#202](https://github.com/Kashoo/synctos/issues/202): Time zone data validation type - [#225](https://github.com/Kashoo/synctos/issues/225): Use intelligent equality comparisons for specialized string types - [#227](https://github.com/Kashoo/synctos/issues/227): Use intelligent immutability comparisons for specialized string types ### Changed - [#212](https://github.com/Kashoo/synctos/issues/212): Improve document validation error messages - [#185](https://github.com/Kashoo/synctos/issues/185): Upgrade minimum supported Node.js version to latest Long Term Support release - [#186](https://github.com/Kashoo/synctos/issues/186): Remove deprecated Node.js modules ### Fixed - [#190](https://github.com/Kashoo/synctos/issues/190): JavaScript error when mustEqual constraint is violated - [#196](https://github.com/Kashoo/synctos/issues/196): Date-time validation type supports invalid time components - [#199](https://github.com/Kashoo/synctos/issues/199): Date and date-time validation types permit dates that are invalid - [#203](https://github.com/Kashoo/synctos/issues/203): Date range validation fails for values far in the past or future ### Removed - `etc/test-helper.js` module - `etc/validation-error-message-formatter.js` module ## [1.10.0] - 2018-01-24 ### Added - [#146](https://github.com/Kashoo/synctos/issues/146): Underscore.js support - [#110](https://github.com/Kashoo/synctos/issues/110): Item constraint that requires an exact value match - [#108](https://github.com/Kashoo/synctos/issues/108): Finer grained control over whether null and missing values are accepted - [#127](https://github.com/Kashoo/synctos/issues/127): Immutable constraints that treat null and missing values as different - [#128](https://github.com/Kashoo/synctos/issues/128): Equality constraint that treats null and missing values as different - [#176](https://github.com/Kashoo/synctos/issues/176): UUID data validation type ### Changed - [#118](https://github.com/Kashoo/synctos/issues/118): Embed indent.js as a static dependency - [#174](https://github.com/Kashoo/synctos/issues/174): Reorganize project source structure ### Deprecated - `etc/test-helper.js` module - `etc/validation-error-message-formatter.js` module ## [1.9.4] - 2018-01-04 ### Changed - [#157](https://github.com/Kashoo/synctos/issues/157): Swap in Chai as the assertion library used in specs throughout the project - [#163](https://github.com/Kashoo/synctos/issues/163): Embed simple-mock as a static development dependency ### Fixed - [#160](https://github.com/Kashoo/synctos/issues/160): Unable to import document if it was deleted via Couchbase SDK ### Security - [#156](https://github.com/Kashoo/synctos/issues/156): Users with a replace role may erroneously gain the privilege of removing a document under certain conditions ## [1.9.3] - 2017-10-23 ### Fixed - [#152](https://github.com/Kashoo/synctos/issues/152): Cannot append a new object with immutable properties to an array ## [1.9.2] - 2017-10-02 ### Security - [#149](https://github.com/Kashoo/synctos/issues/149): Permissions for add operations sometimes applied to other operation types ## [1.9.1] - 2017-05-01 ### Fixed - [#116](https://github.com/Kashoo/synctos/issues/116): Syntax error when the Sync Gateway admin UI loads a generated sync function ## [1.9.0] - 2017-04-26 ### Added - [#94](https://github.com/Kashoo/synctos/issues/94): Support dynamic item validation constraints - [#95](https://github.com/Kashoo/synctos/issues/95): Accept Date object for date/time constraint parameters - [#97](https://github.com/Kashoo/synctos/issues/97): Support dynamic document constraints - [#100](https://github.com/Kashoo/synctos/issues/100): Option to initialize test helper module with document definition file ### Fixed - [#113](https://github.com/Kashoo/synctos/issues/113): Backticks in document definitions cause syntax errors ## [1.8.0] - 2017-03-21 ### Added - [#90](https://github.com/Kashoo/synctos/issues/90): Document-wide constraints on file attachments ### Changed - [#80](https://github.com/Kashoo/synctos/issues/80): Decompose specifications file for sample document definitions - [#88](https://github.com/Kashoo/synctos/issues/88): Move test-helper module documentation to the top of the file ## [1.7.0] - 2017-01-26 ### Added - [#73](https://github.com/Kashoo/synctos/issues/73): Include an implicit type property when a simple type filter is used - [#78](https://github.com/Kashoo/synctos/issues/78): Enum property validation type - [#79](https://github.com/Kashoo/synctos/issues/79): Support minimum/maximum size constraint on hashtable validation type - [#75](https://github.com/Kashoo/synctos/issues/75): Decompose the sync function template ## [1.6.0] - 2017-01-18 ### Added - [#66](https://github.com/Kashoo/synctos/issues/66): Modular document definition files - [#69](https://github.com/Kashoo/synctos/issues/69): Helper function to determine whether a document is missing or deleted - [#72](https://github.com/Kashoo/synctos/issues/72): New property validation type for type identifier properties ## [1.5.0] - 2016-12-14 ### Added - [#25](https://github.com/Kashoo/synctos/issues/25): Support custom actions to be executed on a document type - [#61](https://github.com/Kashoo/synctos/issues/61): Support dynamic assignment of roles to users ## [1.4.0] - 2016-11-30 ### Added - [#22](https://github.com/Kashoo/synctos/issues/22): Support document authorization by role - [#23](https://github.com/Kashoo/synctos/issues/23): Support document authorization by specific users ## [1.3.1] - 2016-11-24 ### Changed - [#52](https://github.com/Kashoo/synctos/issues/52): Upgrade development dependencies ### Fixed - [#54](https://github.com/Kashoo/synctos/issues/54): Access assignments should receive null when old document is deleted ## [1.3.0] - 2016-11-23 ### Added - [#28](https://github.com/Kashoo/synctos/issues/28): Parameter to allow unknown properties in a document or object - [#49](https://github.com/Kashoo/synctos/issues/49): Explicitly declare JSHint rules - [#24](https://github.com/Kashoo/synctos/issues/24): Support dynamic assignment of channels to roles and users ## [1.2.0] - 2016-07-21 ### Added - [#29](https://github.com/Kashoo/synctos/issues/29): Parameter to indicate that an item cannot be modified if it has a value - [#30](https://github.com/Kashoo/synctos/issues/30): Parameter to prevent documents from being replaced - [#31](https://github.com/Kashoo/synctos/issues/31): Parameter to prevent documents from being deleted - [#32](https://github.com/Kashoo/synctos/issues/32): Range validation parameters that exclude the minimum/maximum values - [#39](https://github.com/Kashoo/synctos/issues/39): Test helper convenience functions to build validation error messages ### Fixed - [#42](https://github.com/Kashoo/synctos/issues/42): Arrays can be assigned to items that expect object or hashtable ## [1.1.0] - 2016-07-15 ### Added - [#26](https://github.com/Kashoo/synctos/issues/26): Provide default type filter function ### Fixed - [#36](https://github.com/Kashoo/synctos/issues/36): Does not return a non-zero exit status when sync function generation fails ## [1.0.0] - 2016-07-12 First public release [Unreleased]: https://github.com/Kashoo/synctos/compare/v2.7.1...HEAD [2.7.1]: https://github.com/Kashoo/synctos/compare/v2.7.0...v2.7.1 [2.7.0]: https://github.com/Kashoo/synctos/compare/v2.6.0...v2.7.0 [2.6.0]: https://github.com/Kashoo/synctos/compare/v2.5.0...v2.6.0 [2.5.0]: https://github.com/Kashoo/synctos/compare/v2.4.0...v2.5.0 [2.4.0]: https://github.com/Kashoo/synctos/compare/v2.3.0...v2.4.0 [2.3.0]: https://github.com/Kashoo/synctos/compare/v2.2.1...v2.3.0 [2.2.1]: https://github.com/Kashoo/synctos/compare/v2.2.0...v2.2.1 [2.2.0]: https://github.com/Kashoo/synctos/compare/v2.1.0...v2.2.0 [2.1.0]: https://github.com/Kashoo/synctos/compare/v2.0.2...v2.1.0 [2.0.2]: https://github.com/Kashoo/synctos/compare/v2.0.1...v2.0.2 [2.0.1]: https://github.com/Kashoo/synctos/compare/v2.0.0...v2.0.1 [2.0.0]: https://github.com/Kashoo/synctos/compare/v1.10.0...v2.0.0 [1.10.0]: https://github.com/Kashoo/synctos/compare/v1.9.4...v1.10.0 [1.9.4]: https://github.com/Kashoo/synctos/compare/v1.9.3...v1.9.4 [1.9.3]: https://github.com/Kashoo/synctos/compare/v1.9.2...v1.9.3 [1.9.2]: https://github.com/Kashoo/synctos/compare/v1.9.1...v1.9.2 [1.9.1]: https://github.com/Kashoo/synctos/compare/v1.9.0...v1.9.1 [1.9.0]: https://github.com/Kashoo/synctos/compare/v1.8.0...v1.9.0 [1.8.0]: https://github.com/Kashoo/synctos/compare/v1.7.0...v1.8.0 [1.7.0]: https://github.com/Kashoo/synctos/compare/v1.6.0...v1.7.0 [1.6.0]: https://github.com/Kashoo/synctos/compare/v1.5.0...v1.6.0 [1.5.0]: https://github.com/Kashoo/synctos/compare/v1.4.0...v1.5.0 [1.4.0]: https://github.com/Kashoo/synctos/compare/v1.3.1...v1.4.0 [1.3.1]: https://github.com/Kashoo/synctos/compare/v1.3.0...v1.3.1 [1.3.0]: https://github.com/Kashoo/synctos/compare/v1.2.0...v1.3.0 [1.2.0]: https://github.com/Kashoo/synctos/compare/v1.1.0...v1.2.0 [1.1.0]: https://github.com/Kashoo/synctos/compare/v1.0.0...v1.1.0 [1.0.0]: https://github.com/Kashoo/synctos/compare/57a18bd...v1.0.0