bson 4.5.4 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/HISTORY.md ADDED
@@ -0,0 +1,572 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
+
5
+ ## [4.6.0](https://github.com/mongodb/js-bson/compare/v4.5.4...v4.6.0) (2021-11-23)
6
+
7
+
8
+ ### Features
9
+
10
+ * **NODE-3740:** Implement root and top level key utf-8 validation settings for BSON ([#472](https://github.com/mongodb/js-bson/issues/472)) ([07019a0](https://github.com/mongodb/js-bson/commit/07019a036ca4a4a15976707099bd949d2c042699))
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * **NODE-3724:** Fix BSONTypeError and BSONError to correctly handle instanceof checks ([#471](https://github.com/mongodb/js-bson/issues/471)) ([d8f334b](https://github.com/mongodb/js-bson/commit/d8f334bd3086ee7764849dd145ad513dd1067eaf))
16
+
17
+ ### [4.5.4](https://github.com/mongodb/js-bson/compare/v4.5.3...v4.5.4) (2021-11-03)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **NODE-3640:** Fix Int32 constructor to coerce its argument to int32 ([#466](https://github.com/mongodb/js-bson/issues/466)) ([d388f1e](https://github.com/mongodb/js-bson/commit/d388f1efc1831ceecec11b79dc564d3116a97779))
23
+ * **NODE-3662:** error checking to make sure that ObjectId results in object with correct properties ([#467](https://github.com/mongodb/js-bson/issues/467)) ([5f99b1b](https://github.com/mongodb/js-bson/commit/5f99b1bfa74bcf75700174f8d4a8b974f9753e7f))
24
+
25
+ ### [4.5.3](https://github.com/mongodb/js-bson/compare/v4.5.2...v4.5.3) (2021-10-05)
26
+
27
+
28
+ ### Bug Fixes
29
+
30
+ * **NODE-3493:** code and symbol tests are partially testing the wrong types ([#459](https://github.com/mongodb/js-bson/issues/459)) ([80d7f03](https://github.com/mongodb/js-bson/commit/80d7f039af5472fd51b8a1f7873f4340ed5f0d5e))
31
+ * **NODE-3534:** add subtype 0x6 and 0x7 constants on Binary class ([#461](https://github.com/mongodb/js-bson/issues/461)) ([52cfe9c](https://github.com/mongodb/js-bson/commit/52cfe9c02a2483e197140e9838bf969c6f8e750e))
32
+ * **NODE-3629:** correct corpus runner and add null checks ([#464](https://github.com/mongodb/js-bson/issues/464)) ([d75102d](https://github.com/mongodb/js-bson/commit/d75102d6bb995c5146d7bc1fb8606c1851c8bbc0))
33
+
34
+ ### [4.5.2](https://github.com/mongodb/js-bson/compare/v4.5.1...v4.5.2) (2021-09-14)
35
+
36
+
37
+ ### Bug Fixes
38
+
39
+ * **NODE-3021:** fix a long standing bug in Decimal128.fromString() ([#458](https://github.com/mongodb/js-bson/issues/458)) ([824939a](https://github.com/mongodb/js-bson/commit/824939a4a47759b0c422010129480eb121620c83))
40
+ * **NODE-3582:** fix internal marked APIs, add toString methods to Int32 and Double ([#457](https://github.com/mongodb/js-bson/issues/457)) ([b46ab5f](https://github.com/mongodb/js-bson/commit/b46ab5feff2090351be464ab5b180b4aeb675f69))
41
+
42
+ ### [4.5.1](https://github.com/mongodb/js-bson/compare/v4.5.0...v4.5.1) (2021-08-24)
43
+
44
+
45
+ ### Bug Fixes
46
+
47
+ * **NODE-3561:** umd bundle fails to require util ([#455](https://github.com/mongodb/js-bson/issues/455)) ([1c15155](https://github.com/mongodb/js-bson/commit/1c151555c76f2b80e699ae9090a256f7dbdfb8ca))
48
+
49
+ ## [4.5.0](https://github.com/mongodb/js-bson/compare/v4.4.1...v4.5.0) (2021-08-19)
50
+
51
+
52
+ ### Features
53
+
54
+ * **NODE-3504:** add unambiguous `Timestamp()` constructor overload ([#449](https://github.com/mongodb/js-bson/issues/449)) ([0298dd8](https://github.com/mongodb/js-bson/commit/0298dd8293523869433beccb8c17671b7f9b6fbd))
55
+
56
+
57
+ ### Bug Fixes
58
+
59
+ * **NODE-3451:** fix performance regression from v1 ([#451](https://github.com/mongodb/js-bson/issues/451)) ([2330ab1](https://github.com/mongodb/js-bson/commit/2330ab1274166c285cbd8a0c3eff5a52573cf34d))
60
+ * **NODE-3520:** global not defined in esm bundles ([#452](https://github.com/mongodb/js-bson/issues/452)) ([cb82a80](https://github.com/mongodb/js-bson/commit/cb82a802aff4039bc397bea2402c5f76450bb0f0))
61
+
62
+ ### [4.4.1](https://github.com/mongodb/js-bson/compare/v4.4.0...v4.4.1) (2021-07-06)
63
+
64
+
65
+ ### Bug Fixes
66
+
67
+ * **NODE-3247:** DBRef special handling ([#443](https://github.com/mongodb/js-bson/issues/443)) ([f5d984d](https://github.com/mongodb/js-bson/commit/f5d984d88b2e20310ec5cc3a39b91b0fd1e0b3c9))
68
+ * **NODE-3282:** BSONRegExp options not alphabetized ([#441](https://github.com/mongodb/js-bson/issues/441)) ([18c3512](https://github.com/mongodb/js-bson/commit/18c3512befe54908e4b816056dbde0d1b998d81b))
69
+ * **NODE-3376:** use standard JS methods for copying Buffers ([#444](https://github.com/mongodb/js-bson/issues/444)) ([804050d](https://github.com/mongodb/js-bson/commit/804050d40b03a02116995e63671e05ffa033dc45))
70
+ * **NODE-3390:** serialize non-finite doubles correctly in EJSON ([#445](https://github.com/mongodb/js-bson/issues/445)) ([7eb7998](https://github.com/mongodb/js-bson/commit/7eb79981e16d73a391c567b7f9748943997a424d))
71
+
72
+ ## [4.4.0](https://github.com/mongodb/js-bson/compare/v4.3.0...v4.4.0) (2021-05-18)
73
+
74
+
75
+ ### Features
76
+
77
+ * **NODE-3264:** allow Decimal128(string), Long(string), Long(bigint) ([#437](https://github.com/mongodb/js-bson/issues/437)) ([392c1bc](https://github.com/mongodb/js-bson/commit/392c1bcbe003b185f38d64a8a24bc21a6661cb26))
78
+ * make circular input errors for EJSON expressive ([#433](https://github.com/mongodb/js-bson/issues/433)) ([7b351cc](https://github.com/mongodb/js-bson/commit/7b351cc217786e5ee992f0fb64588f9c3fddd828))
79
+
80
+
81
+ ### Bug Fixes
82
+
83
+ * make Long inspect result evaluable ([3a2eff1](https://github.com/mongodb/js-bson/commit/3a2eff127175c7f94c9ccc940074537b7ad972f1))
84
+ * **NODE-3153:** correctly deserialize `__proto__` properties ([#431](https://github.com/mongodb/js-bson/issues/431)) ([f34cabc](https://github.com/mongodb/js-bson/commit/f34cabc31e66bc809d8e3cc6b0d203739f40aa41))
85
+ * accept Uint8Array where Buffer is accepted ([#432](https://github.com/mongodb/js-bson/issues/432)) ([4613763](https://github.com/mongodb/js-bson/commit/46137636ac8e59010ba3bfdd317d5d13d9d3066d))
86
+ * clean up instanceof usage ([9b6d52a](https://github.com/mongodb/js-bson/commit/9b6d52a84a20641b22732355e56c3bae3fe857f1))
87
+ * improve ArrayBuffer brand check in ensureBuffer ([#429](https://github.com/mongodb/js-bson/issues/429)) ([99722f6](https://github.com/mongodb/js-bson/commit/99722f66d9f5eeb0ab57e74bab26049a425fa3e8))
88
+
89
+ ## [4.3.0](https://github.com/mongodb/js-bson/compare/v4.2.3...v4.3.0) (2021-04-06)
90
+
91
+
92
+ ### Features
93
+
94
+ * UUID convenience class ([#425](https://github.com/mongodb/js-bson/issues/425)) ([76e1826](https://github.com/mongodb/js-bson/commit/76e1826eed852d4cca9fafabbcf826af1367c9af))
95
+
96
+ ### [4.2.3](https://github.com/mongodb/js-bson/compare/v4.2.2...v4.2.3) (2021-03-02)
97
+
98
+
99
+ ### Bug Fixes
100
+
101
+ * allow library to be loaded in web workeds ([#423](https://github.com/mongodb/js-bson/issues/423)) ([023f57e](https://github.com/mongodb/js-bson/commit/5ae057d3c6dd87e1407dcdc7b8d9da668023f57e))
102
+
103
+ * make inspection result of BSON types evaluable ([#416](https://github.com/mongodb/js-bson/issues/416)) ([616665f](https://github.com/mongodb/js-bson/commit/616665f5e6f7dd06a88de450aaccaa203fa6c652))
104
+ * permit BSON types to be created without new ([#424](https://github.com/mongodb/js-bson/issues/424)) ([d2bc284](https://github.com/mongodb/js-bson/commit/d2bc284943649ac27116701a4ed91ff731a4bdf7))
105
+
106
+ ### [4.2.2](https://github.com/mongodb/js-bson/compare/v4.2.1...v4.2.2) (2020-12-01)
107
+
108
+
109
+ ### Bug Fixes
110
+
111
+ * remove tslib usage and fix Long method alias ([#415](https://github.com/mongodb/js-bson/issues/415)) ([2d9a8e6](https://github.com/mongodb/js-bson/commit/2d9a8e678417ec43a0b82377743ab9c30a3c3b6b))
112
+
113
+ ### [4.2.1](https://github.com/mongodb/js-bson/compare/v4.2.0...v4.2.1) (2020-12-01)
114
+
115
+
116
+ ### Bug Fixes
117
+
118
+ * backwards compatibility with older BSON package versions ([#411](https://github.com/mongodb/js-bson/issues/411)) ([5167be2](https://github.com/mongodb/js-bson/commit/5167be2752369d5832057f7b69da0e240ed4c204))
119
+ * Downlevel type definitions ([#410](https://github.com/mongodb/js-bson/issues/410)) ([203402f](https://github.com/mongodb/js-bson/commit/203402f5cd9dd496a4103dc1008bad382d3c69c4))
120
+ * make inspect method for ObjectId work ([#412](https://github.com/mongodb/js-bson/issues/412)) ([a585a0c](https://github.com/mongodb/js-bson/commit/a585a0cf8cd1212617fb8f37581194e6c31e33fa))
121
+ * remove stringify overloads ([2df6b42](https://github.com/mongodb/js-bson/commit/2df6b42de4cbf81a307d2db144d15470d543976e))
122
+
123
+ ## [4.2.0](https://github.com/mongodb/js-bson/compare/v4.1.0...v4.2.0) (2020-10-13)
124
+
125
+
126
+ ### Features
127
+
128
+ * add extended json parsing for $uuid ([b1b2a0e](https://github.com/mongodb/js-bson/commit/b1b2a0ee5f497c971aa28961cf80bde522fc1779))
129
+ * convert to TypeScript ([#393](https://github.com/mongodb/js-bson/issues/393)) ([9aad874](https://github.com/mongodb/js-bson/commit/9aad8746bbb2159012193a53a206509130a95fb0))
130
+ * Improve TS Typings ([#389](https://github.com/mongodb/js-bson/issues/389)) ([ae9ae2d](https://github.com/mongodb/js-bson/commit/ae9ae2df0d5d0a88adf27523d7fca7f3ad59a57a))
131
+
132
+
133
+ ### Bug Fixes
134
+
135
+ * adds interfaces for EJSON objects ([7f5f1a3](https://github.com/mongodb/js-bson/commit/7f5f1a38d99d1d50b8bf261cc72916f5bce506ae))
136
+ * Correct API Extractor config to omit definition file from dist ([#407](https://github.com/mongodb/js-bson/issues/407)) ([ace8647](https://github.com/mongodb/js-bson/commit/ace8647646e20df61e77d0ce8ed7ea84a3ff7738))
137
+ * coverage ([992e2e0](https://github.com/mongodb/js-bson/commit/992e2e040806701d1c69e09d07186a6e1deacc0e))
138
+ * deprecate cacheFunctionsCrc32 ([ea83bf5](https://github.com/mongodb/js-bson/commit/ea83bf5200f4a936692f710063941ba802386da4))
139
+ * Rework rollup config to output named and default exports ([#404](https://github.com/mongodb/js-bson/issues/404)) ([a48676b](https://github.com/mongodb/js-bson/commit/a48676b0d442e06a71a413500194d35a7bea7587))
140
+ * Throw on BigInt type values ([#397](https://github.com/mongodb/js-bson/issues/397)) ([2dd54e5](https://github.com/mongodb/js-bson/commit/2dd54e5275fc72dd8cd579a1636d2a73b7b0e790))
141
+ * type issues with SerializeOptions and Long methods accepting Timestamp ([c18ba71](https://github.com/mongodb/js-bson/commit/c18ba71229129c8ea34e40265a9503c10e29a9e0))
142
+
143
+ <a name="4.1.0"></a>
144
+ # [4.1.0](https://github.com/mongodb/js-bson/compare/v4.0.4...v4.1.0) (2020-08-10)
145
+
146
+
147
+ ### Bug Fixes
148
+
149
+ * spelling in deserializer errors ([4c6f2e4](https://github.com/mongodb/js-bson/commit/4c6f2e4))
150
+ * **object-id:** harden the duck-typing ([4b800ae](https://github.com/mongodb/js-bson/commit/4b800ae))
151
+ * parse value of Int32 in constructor ([5cda40f](https://github.com/mongodb/js-bson/commit/5cda40f))
152
+ * Reduce floating point precision required of extended json implementations ([#369](https://github.com/mongodb/js-bson/issues/369)) ([5e35d1a](https://github.com/mongodb/js-bson/commit/5e35d1a))
153
+
154
+
155
+ ### Features
156
+
157
+ * add support for primitives to EJSON.stringify ([329857d](https://github.com/mongodb/js-bson/commit/329857d))
158
+
159
+
160
+
161
+ <a name="4.0.4"></a>
162
+ ## [4.0.4](https://github.com/mongodb/js-bson/compare/v4.0.3...v4.0.4) (2020-03-26)
163
+
164
+
165
+ ### Bug Fixes
166
+
167
+ * improve EJSON generation for previously skipped edge cases ([30f5a8f](https://github.com/mongodb/js-bson/commit/30f5a8f))
168
+ * only upgrade `symbol` to `string` if `promoteValues` is true ([067a7ba](https://github.com/mongodb/js-bson/commit/067a7ba))
169
+
170
+
171
+
172
+ <a name="4.0.3"></a>
173
+ ## [4.0.3](https://github.com/mongodb/js-bson/compare/v4.0.2...v4.0.3) (2020-01-09)
174
+
175
+
176
+ ### Bug Fixes
177
+
178
+ * support Number object in Int32 and Double constructors ([fe3f0dc](https://github.com/mongodb/js-bson/commit/fe3f0dc))
179
+ * **Timestamp:** make sure timestamp is always unsigned ([36b2d43](https://github.com/mongodb/js-bson/commit/36b2d43))
180
+
181
+
182
+
183
+ <a name="4.0.2"></a>
184
+ ## [4.0.2](https://github.com/mongodb/js-bson/compare/v4.0.0...v4.0.2) (2019-03-08)
185
+
186
+
187
+ ### Bug Fixes
188
+
189
+ * **buffer:** don't use deprecated Buffer constructors ([7bb9c57](https://github.com/mongodb/js-bson/commit/7bb9c57))
190
+ * **Buffer:** import buffer for binary, decimal128, and fnv1a ([6be7b8d](https://github.com/mongodb/js-bson/commit/6be7b8d))
191
+ * **ejson:** enable serialization of legacy `ObjectID` ([ba98ccb](https://github.com/mongodb/js-bson/commit/ba98ccb)), closes [#303](https://github.com/mongodb/js-bson/issues/303)
192
+ * **ejson:** support array for replacer parameter in `EJSON.stringify` ([9f43809](https://github.com/mongodb/js-bson/commit/9f43809)), closes [#303](https://github.com/mongodb/js-bson/issues/303) [#302](https://github.com/mongodb/js-bson/issues/302) [#303](https://github.com/mongodb/js-bson/issues/303)
193
+ * **ejson-serialize:** prevent double serialization for nested documents ([ab790c9](https://github.com/mongodb/js-bson/commit/ab790c9)), closes [#303](https://github.com/mongodb/js-bson/issues/303)
194
+ * **object-id:** correct serialization of old ObjectID types ([8d57a8c](https://github.com/mongodb/js-bson/commit/8d57a8c))
195
+ * **timestamp:** getTimestamp support times beyond 2038 ([a0820d5](https://github.com/mongodb/js-bson/commit/a0820d5))
196
+ * 4.x-1.x interop (incl. ObjectID _bsontype) ([f4b16d9](https://github.com/mongodb/js-bson/commit/f4b16d9))
197
+
198
+
199
+
200
+ <a name="4.0.1"></a>
201
+ ## [4.0.1](https://github.com/mongodb/js-bson/compare/v4.0.0...v4.0.1) (2018-12-06)
202
+
203
+
204
+ ### Bug Fixes
205
+
206
+ * **object-id:** correct serialization of old ObjectID types ([8d57a8c](https://github.com/mongodb/js-bson/commit/8d57a8c))
207
+
208
+
209
+
210
+ <a name="4.0.0"></a>
211
+ # [4.0.0](https://github.com/mongodb/js-bson/compare/v3.0.2...v4.0.0) (2018-11-13)
212
+
213
+ ### Migration Guide
214
+
215
+ Please see the [migration guide](https://github.com/mongodb/js-bson/blob/master/docs/upgrade-to-v4.md) for detailed discussion of breaking changes in this release.
216
+
217
+ ### Bug Fixes
218
+
219
+ * **buffer:** replace deprecated Buffer constructor ([5acdebf](https://github.com/mongodb/js-bson/commit/5acdebf))
220
+ * **dbPointer:** fix utf8 bug for dbPointer ([018c769](https://github.com/mongodb/js-bson/commit/018c769))
221
+ * **deserialize:** fix deserialization of 0xFFFD ([c682ae3](https://github.com/mongodb/js-bson/commit/c682ae3)), closes [#277](https://github.com/mongodb/js-bson/issues/277)
222
+ * **ext-json:** deserialize doubles as `Number` in relaxed mode ([a767fa1](https://github.com/mongodb/js-bson/commit/a767fa1))
223
+ * **ObjectId:** will now throw if an invalid character is passed ([6f30b4e](https://github.com/mongodb/js-bson/commit/6f30b4e))
224
+ * **ObjectID:** ObjectId.isValid should check buffer length ([06af813](https://github.com/mongodb/js-bson/commit/06af813))
225
+ * **package:** `browser` section needs to point to correct index ([08337e3](https://github.com/mongodb/js-bson/commit/08337e3))
226
+ * **random-bytes:** fallback to insecure path if require is null ([963b12b](https://github.com/mongodb/js-bson/commit/963b12b))
227
+ * **random-bytes:** wrap crypto require in try/catch for fallback ([47fd5f7](https://github.com/mongodb/js-bson/commit/47fd5f7))
228
+ * **serializer:** do not use checkKeys for $clusterTime ([cbb4724](https://github.com/mongodb/js-bson/commit/cbb4724))
229
+ * **serializer:** map insert expects only string keys ([aba3a18](https://github.com/mongodb/js-bson/commit/aba3a18))
230
+
231
+
232
+ ### Code Refactoring
233
+
234
+ * **symbol:** rename Symbol to BSONSymbol ([5d5b3d2](https://github.com/mongodb/js-bson/commit/5d5b3d2))
235
+
236
+
237
+ ### Features
238
+
239
+ * **BSON:** simplify and flatten module exports ([f8920c6](https://github.com/mongodb/js-bson/commit/f8920c6))
240
+ * **bsontype:** move all `_bsontypes` to non-enumerable properties ([16f5bf6](https://github.com/mongodb/js-bson/commit/16f5bf6))
241
+ * **ext-json:** add extended JSON codecs directly to BSON types ([10e5f00](https://github.com/mongodb/js-bson/commit/10e5f00))
242
+ * **ext-json:** add extended JSON support to the bson library ([d6b71ab](https://github.com/mongodb/js-bson/commit/d6b71ab))
243
+ * **ext-json:** export EJSON at top level of module ([c356a5a](https://github.com/mongodb/js-bson/commit/c356a5a))
244
+ * **karma:** test bson in the browser ([cd593ca](https://github.com/mongodb/js-bson/commit/cd593ca))
245
+ * **long:** replace long implementatin with long.js ([545900d](https://github.com/mongodb/js-bson/commit/545900d))
246
+
247
+
248
+ ### BREAKING CHANGES
249
+
250
+ * **ObjectId:** Where code was previously silently erroring, users may now
251
+ experience TypeErrors
252
+ * **symbol:** This was conflicting with the ES6 Symbol type
253
+
254
+
255
+
256
+ <a name="3.0.2"></a>
257
+ ## [3.0.2](https://github.com/mongodb/js-bson/compare/v3.0.1...v3.0.2) (2018-07-13)
258
+
259
+
260
+ ### Bug Fixes
261
+
262
+ * **revert:** Reverting v3.0.1 ([efb0720](https://github.com/mongodb/js-bson/commit/efb0720))
263
+
264
+
265
+
266
+ <a name="3.0.0"></a>
267
+ # [3.0.0](https://github.com/mongodb/js-bson/compare/v2.0.8...v3.0.0) (2018-06-13)
268
+
269
+
270
+ ### Features
271
+
272
+ * **ObjectID:** use FNV-1a hash for objectId ([4f545b1](https://github.com/mongodb/js-bson/commit/4f545b1))
273
+ * **rollup:** initial commit of rollup-generated bundle ([474b8f7](https://github.com/mongodb/js-bson/commit/474b8f7))
274
+ * **rollup:** switch from webpack to rollup for bundling ([98068fa](https://github.com/mongodb/js-bson/commit/98068fa))
275
+
276
+
277
+
278
+ <a name="2.0.8"></a>
279
+ ## [2.0.8](https://github.com/mongodb/js-bson/compare/v2.0.7...v2.0.8) (2018-06-06)
280
+
281
+
282
+ ### Bug Fixes
283
+
284
+ * **readme:** clarify documentation about deserialize methods ([e311056](https://github.com/mongodb/js-bson/commit/e311056))
285
+ * **serialization:** normalize function stringification ([21eb0b0](https://github.com/mongodb/js-bson/commit/21eb0b0))
286
+
287
+
288
+
289
+ <a name="2.0.7"></a>
290
+ ## [2.0.7](https://github.com/mongodb/js-bson/compare/v2.0.6...v2.0.7) (2018-05-31)
291
+
292
+
293
+ ### Bug Fixes
294
+
295
+ * **binary:** add type checking for buffer ([cbfb25d](https://github.com/mongodb/js-bson/commit/cbfb25d))
296
+
297
+
298
+
299
+ <a name="2.0.6"></a>
300
+ ## [2.0.6](https://github.com/mongodb/js-bson/compare/v2.0.5...v2.0.6) (2018-04-27)
301
+
302
+
303
+ ### Bug Fixes
304
+
305
+ * **deserializeStream:** allow multiple documents to be deserialized ([6fc5984](https://github.com/mongodb/js-bson/commit/6fc5984)), closes [#244](https://github.com/mongodb/js-bson/issues/244)
306
+
307
+
308
+
309
+ <a name="2.0.5"></a>
310
+ ## [2.0.5](https://github.com/mongodb/js-bson/compare/v2.0.4...v2.0.5) (2018-04-06)
311
+
312
+
313
+ ### Bug Fixes
314
+
315
+ * **regexp:** properly construct new BSONRegExp when constructor called without new ([#242](https://github.com/mongodb/js-bson/issues/242)) ([93ae799](https://github.com/mongodb/js-bson/commit/93ae799))
316
+
317
+
318
+
319
+ <a name="2.0.4"></a>
320
+ ## [2.0.4](https://github.com/mongodb/js-bson/compare/v2.0.3...v2.0.4) (2018-03-12)
321
+
322
+
323
+
324
+ <a name="2.0.3"></a>
325
+ ## [2.0.3](https://github.com/mongodb/js-bson/compare/v2.0.2...v2.0.3) (2018-03-12)
326
+
327
+
328
+ ### Features
329
+
330
+ * **serialization:** support arbitrary sizes for the internal serialization buffer ([a6bd45c](https://github.com/mongodb/js-bson/commit/a6bd45c))
331
+
332
+
333
+
334
+ <a name="2.0.2"></a>
335
+ ## [2.0.2](https://github.com/mongodb/js-bson/compare/v2.0.1...v2.0.2) (2018-03-02)
336
+
337
+
338
+ ### Bug Fixes
339
+
340
+ * make sure all functions are named consistently ([6df9022](https://github.com/mongodb/js-bson/commit/6df9022))
341
+
342
+
343
+
344
+ <a name="2.0.1"></a>
345
+ ## [2.0.1](https://github.com/mongodb/js-bson/compare/v2.0.0...v2.0.1) (2018-02-28)
346
+
347
+
348
+ ### Bug Fixes
349
+
350
+ * **serializer:** ensure RegExp options are alphabetically sorted ([d60659d](https://github.com/mongodb/js-bson/commit/d60659d))
351
+
352
+
353
+ ### Features
354
+
355
+ * **db-ref:** support passing a namespace into a DBRef ctor ([604831b](https://github.com/mongodb/js-bson/commit/604831b))
356
+
357
+
358
+
359
+ <a name="2.0.0"></a>
360
+ # 2.0.0 (2018-02-26)
361
+
362
+
363
+ ### Bug Fixes
364
+
365
+ * **browser:** fixing browser property in package.json ([095fba9](https://github.com/mongodb/js-bson/commit/095fba9))
366
+ * **dbref:** only upgrade objects with allowed $keys to DBRefs ([98eb9e2](https://github.com/mongodb/js-bson/commit/98eb9e2))
367
+ * **decimal128:** add basic guard against REDOS attacks ([511ecc4](https://github.com/mongodb/js-bson/commit/511ecc4))
368
+ * **Decimal128:** update toString and fromString methods to correctly handle the case of too many significant digits ([25ed43e](https://github.com/mongodb/js-bson/commit/25ed43e))
369
+ * **objectid:** if pid is 1, use random value ([e188ae6](https://github.com/mongodb/js-bson/commit/e188ae6))
370
+ * **serializeWithBufferAndIndex:** write documents to start of intermediate buffer ([b4e4ac5](https://github.com/mongodb/js-bson/commit/b4e4ac5))
371
+
372
+
373
+
374
+ 1.0.4 2016-01-11
375
+ ----------------
376
+ - #204 remove Buffer.from as it's partially broken in early 4.x.x. series of node releases.
377
+
378
+ 1.0.3 2016-01-03
379
+ ----------------
380
+ - Fixed toString for ObjectId so it will work with inspect.
381
+
382
+ 1.0.2 2016-01-02
383
+ ----------------
384
+ - Minor optimizations for ObjectID to use Buffer.from where available.
385
+
386
+ 1.0.1 2016-12-06
387
+ ----------------
388
+ - Reverse behavior for undefined to be serialized as NULL. MongoDB 3.4 does not allow for undefined comparisons.
389
+
390
+ 1.0.0 2016-12-06
391
+ ----------------
392
+ - Introduced new BSON API and documentation.
393
+
394
+ 0.5.7 2016-11-18
395
+ -----------------
396
+ - NODE-848 BSON Regex flags must be alphabetically ordered.
397
+
398
+ 0.5.6 2016-10-19
399
+ -----------------
400
+ - NODE-833, Detects cyclic dependencies in documents and throws error if one is found.
401
+ - Fix(deserializer): corrected the check for (size + index) comparison… (Issue #195, https://github.com/JoelParke).
402
+
403
+ 0.5.5 2016-09-15
404
+ -----------------
405
+ - Added DBPointer up conversion to DBRef
406
+
407
+ 0.5.4 2016-08-23
408
+ -----------------
409
+ - Added promoteValues flag (default to true) allowing user to specify if deserialization should be into wrapper classes only.
410
+
411
+ 0.5.3 2016-07-11
412
+ -----------------
413
+ - Throw error if ObjectId is not a string or a buffer.
414
+
415
+ 0.5.2 2016-07-11
416
+ -----------------
417
+ - All values encoded big-endian style for ObjectId.
418
+
419
+ 0.5.1 2016-07-11
420
+ -----------------
421
+ - Fixed encoding/decoding issue in ObjectId timestamp generation.
422
+ - Removed BinaryParser dependency from the serializer/deserializer.
423
+
424
+ 0.5.0 2016-07-05
425
+ -----------------
426
+ - Added Decimal128 type and extended test suite to include entire bson corpus.
427
+
428
+ 0.4.23 2016-04-08
429
+ -----------------
430
+ - Allow for proper detection of ObjectId or objects that look like ObjectId, improving compatibility across third party libraries.
431
+ - Remove one package from dependency due to having been pulled from NPM.
432
+
433
+ 0.4.22 2016-03-04
434
+ -----------------
435
+ - Fix "TypeError: data.copy is not a function" in Electron (Issue #170, https://github.com/kangas).
436
+ - Fixed issue with undefined type on deserializing.
437
+
438
+ 0.4.21 2016-01-12
439
+ -----------------
440
+ - Minor optimizations to avoid non needed object creation.
441
+
442
+ 0.4.20 2015-10-15
443
+ -----------------
444
+ - Added bower file to repository.
445
+ - Fixed browser pid sometimes set greater than 0xFFFF on browsers (Issue #155, https://github.com/rahatarmanahmed)
446
+
447
+ 0.4.19 2015-10-15
448
+ -----------------
449
+ - Remove all support for bson-ext.
450
+
451
+ 0.4.18 2015-10-15
452
+ -----------------
453
+ - ObjectID equality check should return boolean instead of throwing exception for invalid oid string #139
454
+ - add option for deserializing binary into Buffer object #116
455
+
456
+ 0.4.17 2015-10-15
457
+ -----------------
458
+ - Validate regexp string for null bytes and throw if there is one.
459
+
460
+ 0.4.16 2015-10-07
461
+ -----------------
462
+ - Fixed issue with return statement in Map.js.
463
+
464
+ 0.4.15 2015-10-06
465
+ -----------------
466
+ - Exposed Map correctly via index.js file.
467
+
468
+ 0.4.14 2015-10-06
469
+ -----------------
470
+ - Exposed Map correctly via bson.js file.
471
+
472
+ 0.4.13 2015-10-06
473
+ -----------------
474
+ - Added ES6 Map type serialization as well as a polyfill for ES5.
475
+
476
+ 0.4.12 2015-09-18
477
+ -----------------
478
+ - Made ignore undefined an optional parameter.
479
+
480
+ 0.4.11 2015-08-06
481
+ -----------------
482
+ - Minor fix for invalid key checking.
483
+
484
+ 0.4.10 2015-08-06
485
+ -----------------
486
+ - NODE-38 Added new BSONRegExp type to allow direct serialization to MongoDB type.
487
+ - Some performance improvements by in lining code.
488
+
489
+ 0.4.9 2015-08-06
490
+ ----------------
491
+ - Undefined fields are omitted from serialization in objects.
492
+
493
+ 0.4.8 2015-07-14
494
+ ----------------
495
+ - Fixed size validation to ensure we can deserialize from dumped files.
496
+
497
+ 0.4.7 2015-06-26
498
+ ----------------
499
+ - Added ability to instruct deserializer to return raw BSON buffers for named array fields.
500
+ - Minor deserialization optimization by moving inlined function out.
501
+
502
+ 0.4.6 2015-06-17
503
+ ----------------
504
+ - Fixed serializeWithBufferAndIndex bug.
505
+
506
+ 0.4.5 2015-06-17
507
+ ----------------
508
+ - Removed any references to the shared buffer to avoid non GC collectible bson instances.
509
+
510
+ 0.4.4 2015-06-17
511
+ ----------------
512
+ - Fixed rethrowing of error when not RangeError.
513
+
514
+ 0.4.3 2015-06-17
515
+ ----------------
516
+ - Start buffer at 64K and double as needed, meaning we keep a low memory profile until needed.
517
+
518
+ 0.4.2 2015-06-16
519
+ ----------------
520
+ - More fixes for corrupt Bson
521
+
522
+ 0.4.1 2015-06-16
523
+ ----------------
524
+ - More fixes for corrupt Bson
525
+
526
+ 0.4.0 2015-06-16
527
+ ----------------
528
+ - New JS serializer serializing into a single buffer then copying out the new buffer. Performance is similar to current C++ parser.
529
+ - Removed bson-ext extension dependency for now.
530
+
531
+ 0.3.2 2015-03-27
532
+ ----------------
533
+ - Removed node-gyp from install script in package.json.
534
+
535
+ 0.3.1 2015-03-27
536
+ ----------------
537
+ - Return pure js version on native() call if failed to initialize.
538
+
539
+ 0.3.0 2015-03-26
540
+ ----------------
541
+ - Pulled out all C++ code into bson-ext and made it an optional dependency.
542
+
543
+ 0.2.21 2015-03-21
544
+ -----------------
545
+ - Updated Nan to 1.7.0 to support io.js and node 0.12.0
546
+
547
+ 0.2.19 2015-02-16
548
+ -----------------
549
+ - Updated Nan to 1.6.2 to support io.js and node 0.12.0
550
+
551
+ 0.2.18 2015-01-20
552
+ -----------------
553
+ - Updated Nan to 1.5.1 to support io.js
554
+
555
+ 0.2.16 2014-12-17
556
+ -----------------
557
+ - Made pid cycle on 0xffff to avoid weird overflows on creation of ObjectID's
558
+
559
+ 0.2.12 2014-08-24
560
+ -----------------
561
+ - Fixes for fortify review of c++ extension
562
+ - toBSON correctly allows returns of non objects
563
+
564
+ 0.2.3 2013-10-01
565
+ ----------------
566
+ - Drying of ObjectId code for generation of id (Issue #54, https://github.com/moredip)
567
+ - Fixed issue where corrupt CString's could cause endless loop
568
+ - Support for Node 0.11.X > (Issue #49, https://github.com/kkoopa)
569
+
570
+ 0.1.4 2012-09-25
571
+ ----------------
572
+ - Added precompiled c++ native extensions for win32 ia32 and x64
package/bower.json CHANGED
@@ -22,5 +22,5 @@
22
22
  "test",
23
23
  "tools"
24
24
  ],
25
- "version": "4.5.4"
25
+ "version": "4.6.0"
26
26
  }
package/bson.d.ts CHANGED
@@ -156,6 +156,7 @@ export default BSON;
156
156
  /* Excluded from this release type: BSON_INT64_MIN */
157
157
  /** @public */
158
158
  export declare class BSONError extends Error {
159
+ constructor(message: string);
159
160
  readonly name: string;
160
161
  }
161
162
  /**
@@ -208,6 +209,7 @@ export declare interface BSONSymbolExtended {
208
209
  }
209
210
  /** @public */
210
211
  export declare class BSONTypeError extends TypeError {
212
+ constructor(message: string);
211
213
  readonly name: string;
212
214
  }
213
215
  /**
@@ -339,6 +341,24 @@ export declare interface DeserializeOptions {
339
341
  /** Offset into buffer to begin reading document from */
340
342
  index?: number;
341
343
  raw?: boolean;
344
+ /** Allows for opt-out utf-8 validation for all keys or
345
+ * specified keys. Must be all true or all false.
346
+ *
347
+ * @example
348
+ * ```js
349
+ * // disables validation on all keys
350
+ * validation: { utf8: false }
351
+ *
352
+ * // enables validation only on specified keys a, b, and c
353
+ * validation: { utf8: { a: true, b: true, c: true } }
354
+ *
355
+ * // disables validation only on specified keys a, b
356
+ * validation: { utf8: { a: false, b: false } }
357
+ * ```
358
+ */
359
+ validation?: {
360
+ utf8: boolean | Record<string, true> | Record<string, false>;
361
+ };
342
362
  }
343
363
  /**
344
364
  * Deserialize stream data as BSON documents.