<commit_before># Change Log
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).

## [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

## [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
- [#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
- [#160](https://github.com/Kashoo/synctos/issues/160): Unable to import document if it was deleted via Couchbase SDK

## [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
### Fixed
- [#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/v1.10.0...HEAD
[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
<commit_msg>Restore the Unreleased section to the change log<commit_after># Change Log
This project adheres to [Semantic Versioning](http://semver.org/). All notable changes will be documented in this file.

## [Unreleased]
Nothing yet

## [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

## [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
- [#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
- [#160](https://github.com/Kashoo/synctos/issues/160): Unable to import document if it was deleted via Couchbase SDK

## [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
### Fixed
- [#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/v1.10.0...HEAD
[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

{'fraction_non_alphanumeric': 0.17704644865652988, 'fraction_numerical': 0.07637297785183643, 'mean_word_length': 4.1168738898756665, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 128, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '46589', 'n_tokens_mistral': 5685, 'n_tokens_neox': 5054, 'n_words': 1091}