You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					78 lines
				
				2.2 KiB
			
		
		
			
		
	
	
					78 lines
				
				2.2 KiB
			| 
											3 years ago
										 | ## 13.1.0
 | ||
|  | 
 | ||
|  | - Added stronger types for queries: https://github.com/crcn/sift.js/issues/197 | ||
|  | 
 | ||
|  | ## 13.0.0
 | ||
|  | 
 | ||
|  | - Fix behavior discrepancy with Mongo: https://github.com/crcn/sift.js/issues/196 | ||
|  | 
 | ||
|  | ## 12.0.0
 | ||
|  | 
 | ||
|  | - Fix bug where \$elemMatch tested objects: e.g: `sift({a: {$elemMatch: 1}})({ a: { b: 1}})`. \$elemMatch now expects arrays based on Mongodb syntax. E.g: `sift({a: {$elemMatch: 1}})({ a: { b: 1}})` | ||
|  | 
 | ||
|  | ## 11.0.0
 | ||
|  | 
 | ||
|  | - new custom operations syntax (see API readme) | ||
|  | - null & undefined are not treated equally (change has been added to keep spec as functionality as possible to MongoDB) | ||
|  | - `select` option has been removed | ||
|  | - `compare` option now expects `boolean` return value instead of an integer | ||
|  | - nested queries are no-longer supported | ||
|  | - `expressions` option is now `operations` | ||
|  | - `operations` parameter now expects new operations API | ||
|  | - ImmutableJS support removed for now | ||
|  | - Remove bower support | ||
|  | 
 | ||
|  | ## 9.0.0
 | ||
|  | 
 | ||
|  | - (behavior change) toJSON works for vanilla objects. | ||
|  | 
 | ||
|  | ## 8.5.1
 | ||
|  | 
 | ||
|  | - Fix dependency vulnerability | ||
|  | - Fix #158 | ||
|  | 
 | ||
|  | ## 8.5.0
 | ||
|  | 
 | ||
|  | - Added `comparable` option (fix https://github.com/crcn/sift.js/issues/156) | ||
|  | 
 | ||
|  | ## 8.4.0
 | ||
|  | 
 | ||
|  | - Added `compare` option (fix https://github.com/crcn/sift.js/issues/155) | ||
|  | 
 | ||
|  | ## 8.3.2
 | ||
|  | 
 | ||
|  | - Query _properties_ now excpect exact object shape (based on https://github.com/crcn/sift.js/issues/152). E.g: `[{a: { b: 1}}, {a: { b: 1, c: 2}}]].filter(sift({ a: { b: 1} })) === [{a: {b: 1}]`, and `[{a: 1, b: 1}, {a: 1}]].filter(sift({ a: 1 })) === [{a: 1, b: 1}, {a: 1}]`. | ||
|  | 
 | ||
|  | ## 8.0.0
 | ||
|  | 
 | ||
|  | - DEPRECATED `indexOf` in favor of `array.findIndex(sift(query))` | ||
|  | - second param is now `options` instead of select function. E.g: `sift(query, { expressions: customExpressions, select: selectValue })` | ||
|  | - DEPRECATED `sift(query, array)`. You must now use `array.filter(sift(query))` | ||
|  | - Queries now expect exact object shape (based on https://github.com/crcn/sift.js/issues/117). E.g: `[{a: 1, b: 1}, {a: 1}]].filter(sift({ a: 1 })) === [{a: 1}]` | ||
|  | 
 | ||
|  | ### 7.0.0
 | ||
|  | 
 | ||
|  | - Remove global `*.use()` function. | ||
|  | - converted to ES6 | ||
|  | 
 | ||
|  | ### 3.3.x
 | ||
|  | 
 | ||
|  | - `$in` now uses `toString()` when evaluating objects. Fixes #116. | ||
|  | 
 | ||
|  | #### 2.x
 | ||
|  | 
 | ||
|  | - `use()` now uses a different format: | ||
|  | 
 | ||
|  | ```javascript | ||
|  | sift.use({ | ||
|  |   $operator: function(a) { | ||
|  |     return function(b) { | ||
|  |       // compare here | ||
|  |     }; | ||
|  |   } | ||
|  | }); | ||
|  | ``` | ||
|  | 
 | ||
|  | - all operators are traversable now | ||
|  | - fix #58. |