UNPKG

176 kBMarkdownView Raw
1# Changelog
2
3All 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### [3.6.5](https://github.com/mongodb/node-mongodb-native/compare/v3.6.4...v3.6.5) (2021-03-16)
6
7
8### Bug Fixes
9
10* MongoError circular dependency warning ([#2734](https://github.com/mongodb/node-mongodb-native/issues/2734)) ([d67ffa7](https://github.com/mongodb/node-mongodb-native/commit/d67ffa7a2e3f86734c7e9b6944aab1d765b9e75e))
11* move session support check to operation layer ([#2739](https://github.com/mongodb/node-mongodb-native/issues/2739)) ([8b370a7](https://github.com/mongodb/node-mongodb-native/commit/8b370a7ad784f5759c964cdfaec62e06c896dc95))
12* session support detection spec compliance ([#2732](https://github.com/mongodb/node-mongodb-native/issues/2732)) ([9baec71](https://github.com/mongodb/node-mongodb-native/commit/9baec7128f612f2d9c290c85d24e33602f911499))
13* use emitWarning API for internal messages ([#2743](https://github.com/mongodb/node-mongodb-native/issues/2743)) ([8bd9777](https://github.com/mongodb/node-mongodb-native/commit/8bd9777b0aedd56b81675c3e79fae63432319982))
14
15### [3.6.4](https://github.com/mongodb/node-mongodb-native/compare/v3.6.3...v3.6.4) (2021-02-02)
16
17
18### Features
19
20* add explain support ([#2626](https://github.com/mongodb/node-mongodb-native/issues/2626)) ([a827807](https://github.com/mongodb/node-mongodb-native/commit/a8278070992d2de4134dc0841b4027a6cc745a93))
21* Deprecate top-level write concern option keys ([#2624](https://github.com/mongodb/node-mongodb-native/issues/2624)) ([0516d93](https://github.com/mongodb/node-mongodb-native/commit/0516d93f74de4b58a99e8455e59678d4b09cd4a7))
22
23
24### Bug Fixes
25
26* Allow GridFS write stream to destroy ([#2702](https://github.com/mongodb/node-mongodb-native/issues/2702)) ([b5e9d67](https://github.com/mongodb/node-mongodb-native/commit/b5e9d67d5cd9b1912a349789cf2a122e00a46d1b))
27* awaitable isMaster timeout must respect connectTimeoutMS ([#2627](https://github.com/mongodb/node-mongodb-native/issues/2627)) ([b365c50](https://github.com/mongodb/node-mongodb-native/commit/b365c5061ded832e1682167edac58e8a04b05fc4))
28* don't add empty query string items to connection string ([8897259](https://github.com/mongodb/node-mongodb-native/commit/889725980ec1e3b4be4a74170bea0a3e3d23cf13))
29* don't reset monitor if we aren't streaming topology changes ([a10171b](https://github.com/mongodb/node-mongodb-native/commit/a10171b57d2414f6df2aa8ffe9c2d3938ad838d1))
30* dont parse tls/ssl file paths in uri ([#2718](https://github.com/mongodb/node-mongodb-native/issues/2718)) ([f89e4c1](https://github.com/mongodb/node-mongodb-native/commit/f89e4c1bd59c64664e8c9aa218bcb856be325d34))
31* hasAtomicOperator check respects toBSON transformation ([#2696](https://github.com/mongodb/node-mongodb-native/issues/2696)) ([60936dc](https://github.com/mongodb/node-mongodb-native/commit/60936dca74167de239d1bb51a23cc9870860bdc4))
32* honor ignoreUndefined on findAndModify commands ([#2671](https://github.com/mongodb/node-mongodb-native/issues/2671)) ([a25b67c](https://github.com/mongodb/node-mongodb-native/commit/a25b67c6ac13b6347cb78c4fc56613f3daf44300))
33* ignore ENOTFOUND during TXT record lookup ([2036fe7](https://github.com/mongodb/node-mongodb-native/commit/2036fe7b298b9678e29ede87c1035c748ff89fcd))
34* respect readPreference and writeConcern from connection string ([#2711](https://github.com/mongodb/node-mongodb-native/issues/2711)) ([b657c8c](https://github.com/mongodb/node-mongodb-native/commit/b657c8c4f3f86018cc4824f84cb22e1527d9f9af))
35* restore auto direct connection behavior ([#2719](https://github.com/mongodb/node-mongodb-native/issues/2719)) ([617d9de](https://github.com/mongodb/node-mongodb-native/commit/617d9dec5180c5f7b67bd8c944c168d4cbd27e1c))
36* support empty TXT records in legacy url parser ([2fa5c5f](https://github.com/mongodb/node-mongodb-native/commit/2fa5c5f2a113920baa8e67a1c0d65432690d37fc))
37* transition topology state before async calls ([#2637](https://github.com/mongodb/node-mongodb-native/issues/2637)) ([9df093c](https://github.com/mongodb/node-mongodb-native/commit/9df093c1d46e1f8616c7a979324923205ac3dcd2))
38* **cursor:** don't use other operation's session for cloned cursor operation ([#2705](https://github.com/mongodb/node-mongodb-native/issues/2705)) ([8082c89](https://github.com/mongodb/node-mongodb-native/commit/8082c89f8ef3624d22f4bdd6066b6f72c44f763d))
39* **find:** correctly translate timeout option into noCursorTimeout ([#2700](https://github.com/mongodb/node-mongodb-native/issues/2700)) ([e257e6b](https://github.com/mongodb/node-mongodb-native/commit/e257e6b19d810920bafc579e725e09bd0607b74b))
40
41<a name="3.6.3"></a>
42## [3.6.3](https://github.com/mongodb/node-mongodb-native/compare/v3.6.1...v3.6.3) (2020-11-06)
43
44
45### Bug Fixes
46
47* add peerDependenciesMeta to mark optional deps ([#2606](https://github.com/mongodb/node-mongodb-native/issues/2606)) ([186090e](https://github.com/mongodb/node-mongodb-native/commit/186090e))
48* adds topology discovery for sharded cluster ([f8fd310](https://github.com/mongodb/node-mongodb-native/commit/f8fd310))
49* allow event loop to process during wait queue processing ([#2537](https://github.com/mongodb/node-mongodb-native/issues/2537)) ([4e03dfa](https://github.com/mongodb/node-mongodb-native/commit/4e03dfa))
50* Change socket timeout default to 0 ([#2572](https://github.com/mongodb/node-mongodb-native/issues/2572)) ([89b77ed](https://github.com/mongodb/node-mongodb-native/commit/89b77ed))
51* connection leak if wait queue member cancelled ([cafaa1b](https://github.com/mongodb/node-mongodb-native/commit/cafaa1b))
52* correctly assign username to X509 auth command ([#2587](https://github.com/mongodb/node-mongodb-native/issues/2587)) ([9110a45](https://github.com/mongodb/node-mongodb-native/commit/9110a45))
53* correctly re-establishes pipe destinations ([a6e7caf](https://github.com/mongodb/node-mongodb-native/commit/a6e7caf))
54* Fix test filters and revert mocha version ([#2558](https://github.com/mongodb/node-mongodb-native/issues/2558)) ([0e5c45a](https://github.com/mongodb/node-mongodb-native/commit/0e5c45a))
55* move kerberos client setup from prepare to auth ([#2608](https://github.com/mongodb/node-mongodb-native/issues/2608)) ([033b6e7](https://github.com/mongodb/node-mongodb-native/commit/033b6e7))
56* permit waking async interval with unreliable clock ([e0e11bb](https://github.com/mongodb/node-mongodb-native/commit/e0e11bb))
57* remove geoNear deprecation ([4955a52](https://github.com/mongodb/node-mongodb-native/commit/4955a52))
58* revert use of setImmediate to process.nextTick ([#2611](https://github.com/mongodb/node-mongodb-native/issues/2611)) ([c9f9d5e](https://github.com/mongodb/node-mongodb-native/commit/c9f9d5e))
59* sets primary read preference for writes ([ddcd03d](https://github.com/mongodb/node-mongodb-native/commit/ddcd03d))
60* use options for readPreference in client ([6acced0](https://github.com/mongodb/node-mongodb-native/commit/6acced0))
61* user roles take single string & DDL readPreference tests ([967de13](https://github.com/mongodb/node-mongodb-native/commit/967de13))
62
63
64
65<a name="3.6.2"></a>
66## [3.6.2](https://github.com/mongodb/node-mongodb-native/compare/v3.6.1...v3.6.2) (2020-09-10)
67
68
69### Bug Fixes
70
71* allow event loop to process during wait queue processing ([#2537](https://github.com/mongodb/node-mongodb-native/issues/2537)) ([4e03dfa](https://github.com/mongodb/node-mongodb-native/commit/4e03dfa))
72
73
74
75<a name="3.6.1"></a>
76## [3.6.1](https://github.com/mongodb/node-mongodb-native/compare/v3.6.0...v3.6.1) (2020-09-02)
77
78
79### Bug Fixes
80
81* add host/port to cmap connection ([06a2444](https://github.com/mongodb/node-mongodb-native/commit/06a2444))
82* update full list of index options ([0af3191](https://github.com/mongodb/node-mongodb-native/commit/0af3191))
83
84
85### Features
86
87* **db:** deprecate createCollection strict mode ([4cc6bcc](https://github.com/mongodb/node-mongodb-native/commit/4cc6bcc))
88
89
90
91<a name="3.6.0-beta.0"></a>
92# [3.6.0-beta.0](https://github.com/mongodb/node-mongodb-native/compare/v3.5.5...v3.6.0-beta.0) (2020-04-14)
93
94### Bug Fixes
95
96* always return empty array for selection on unknown topology ([af57b57](https://github.com/mongodb/node-mongodb-native/commit/af57b57))
97* always return empty array for selection on unknown topology ([f9e786a](https://github.com/mongodb/node-mongodb-native/commit/f9e786a))
98* correctly use template string for connection string error message ([814e278](https://github.com/mongodb/node-mongodb-native/commit/814e278))
99* createCollection only uses listCollections in strict mode ([d368f12](https://github.com/mongodb/node-mongodb-native/commit/d368f12))
100* don't depend on private node api for `Timeout` wrapper ([e6dc1f4](https://github.com/mongodb/node-mongodb-native/commit/e6dc1f4))
101* don't throw if `withTransaction()` callback rejects with a null reason ([153646c](https://github.com/mongodb/node-mongodb-native/commit/153646c))
102* **cursor:** transforms should only be applied once to documents ([704f30a](https://github.com/mongodb/node-mongodb-native/commit/704f30a))
103* only consider MongoError subclasses for retryability ([265fe40](https://github.com/mongodb/node-mongodb-native/commit/265fe40))
104* **ChangeStream:** whitelist change stream resumable errors ([8a9c108](https://github.com/mongodb/node-mongodb-native/commit/8a9c108)), closes [#17](https://github.com/mongodb/node-mongodb-native/issues/17) [#18](https://github.com/mongodb/node-mongodb-native/issues/18)
105* **sdam:** use ObjectId comparison to track maxElectionId ([db991d6](https://github.com/mongodb/node-mongodb-native/commit/db991d6))
106* only mark server session dirty if the client session is alive ([611be8d](https://github.com/mongodb/node-mongodb-native/commit/611be8d))
107* pass options into `commandSupportsReadConcern` ([e855c83](https://github.com/mongodb/node-mongodb-native/commit/e855c83))
108* polyfill for util.promisify ([1c4cf6c](https://github.com/mongodb/node-mongodb-native/commit/1c4cf6c))
109* single `readPreferenceTags` should be parsed as an array ([a50611b](https://github.com/mongodb/node-mongodb-native/commit/a50611b))
110* store name of collection for more informative error messages ([979d41e](https://github.com/mongodb/node-mongodb-native/commit/979d41e))
111* support write concern provided as string in `fromOptions` ([637f428](https://github.com/mongodb/node-mongodb-native/commit/637f428))
112* use properly camel cased form of `mapReduce` for command ([c1ed2c1](https://github.com/mongodb/node-mongodb-native/commit/c1ed2c1))
113
114
115### Features
116
117* add MONGODB-AWS as a supported auth mechanism ([7f3cfba](https://github.com/mongodb/node-mongodb-native/commit/7f3cfba))
118* bump wire protocol version for 4.4 ([6d3f313](https://github.com/mongodb/node-mongodb-native/commit/6d3f313))
119* deprecate `oplogReplay` for find commands ([24155e7](https://github.com/mongodb/node-mongodb-native/commit/24155e7))
120* directConnection adds unify behavior for replica set discovery ([c5d60fc](https://github.com/mongodb/node-mongodb-native/commit/c5d60fc))
121* expand use of error labels for retryable writes ([c775a4a](https://github.com/mongodb/node-mongodb-native/commit/c775a4a))
122* support `allowDiskUse` for find commands ([dbc0b37](https://github.com/mongodb/node-mongodb-native/commit/dbc0b37))
123* support creating collections and indexes in transactions ([17e4c88](https://github.com/mongodb/node-mongodb-native/commit/17e4c88))
124* support passing a hint to findOneAndReplace/findOneAndUpdate ([faee15b](https://github.com/mongodb/node-mongodb-native/commit/faee15b))
125* support shorter SCRAM conversations ([6b9ff05](https://github.com/mongodb/node-mongodb-native/commit/6b9ff05))
126* use error labels for retryable writes in legacy topologies ([fefc165](https://github.com/mongodb/node-mongodb-native/commit/fefc165))
127
128
129
130
131<a name="3.5.7"></a>
132## [3.5.7](https://github.com/mongodb/node-mongodb-native/compare/v3.5.6...v3.5.7) (2020-04-29)
133
134
135### Bug Fixes
136
137* limit growth of server sessions through lazy acquisition ([3d05a6d](https://github.com/mongodb/node-mongodb-native/commit/3d05a6d))
138* remove circular dependency warnings on node 14 ([56a1b8a](https://github.com/mongodb/node-mongodb-native/commit/56a1b8a))
139
140
141
142<a name="3.5.6"></a>
143## [3.5.6](https://github.com/mongodb/node-mongodb-native/compare/v3.5.5...v3.5.6) (2020-04-14)
144
145### Bug Fixes
146
147* always return empty array for selection on unknown topology ([f9e786a](https://github.com/mongodb/node-mongodb-native/commit/f9e786a))
148* createCollection only uses listCollections in strict mode ([d368f12](https://github.com/mongodb/node-mongodb-native/commit/d368f12))
149* don't throw if `withTransaction()` callback rejects with a null reason ([153646c](https://github.com/mongodb/node-mongodb-native/commit/153646c))
150* only mark server session dirty if the client session is alive ([611be8d](https://github.com/mongodb/node-mongodb-native/commit/611be8d))
151* polyfill for util.promisify ([1c4cf6c](https://github.com/mongodb/node-mongodb-native/commit/1c4cf6c))
152* single `readPreferenceTags` should be parsed as an array ([a50611b](https://github.com/mongodb/node-mongodb-native/commit/a50611b))
153* **cursor:** transforms should only be applied once to documents ([704f30a](https://github.com/mongodb/node-mongodb-native/commit/704f30a))
154
155
156
157<a name="3.5.5"></a>
158## [3.5.5](https://github.com/mongodb/node-mongodb-native/compare/v3.5.4...v3.5.5) (2020-03-11)
159
160
161### Bug Fixes
162
163* correctly use template string for connection string error message ([6238c84](https://github.com/mongodb/node-mongodb-native/commit/6238c84))
164* don't depend on private node api for `Timeout` wrapper ([3ddaa3e](https://github.com/mongodb/node-mongodb-native/commit/3ddaa3e))
165* multiple concurrent attempts to process the queue may fail ([f69f51c](https://github.com/mongodb/node-mongodb-native/commit/f69f51c))
166* pass optional promise lib to maybePromise ([cde11ec](https://github.com/mongodb/node-mongodb-native/commit/cde11ec))
167* **cursor:** hasNext consumes documents on cursor with limit ([ef04d00](https://github.com/mongodb/node-mongodb-native/commit/ef04d00))
168
169
170
171<a name="3.5.4"></a>
172## [3.5.4](https://github.com/mongodb/node-mongodb-native/compare/v3.5.3...v3.5.4) (2020-02-25)
173
174
175### Bug Fixes
176
177* **cmap:** don't run min connection thread if no minimum specified ([2d1b713](https://github.com/mongodb/node-mongodb-native/commit/2d1b713))
178* **sdam:** use ObjectId comparison to track maxElectionId ([a1e0849](https://github.com/mongodb/node-mongodb-native/commit/a1e0849))
179* **topology:** ensure selection wait queue is always processed ([bf701d6](https://github.com/mongodb/node-mongodb-native/commit/bf701d6))
180* **topology:** enter `STATE_CLOSING` before draining waitQueue ([494dffb](https://github.com/mongodb/node-mongodb-native/commit/494dffb))
181* don't consume first document when calling `hasNext` on cursor ([bb359a1](https://github.com/mongodb/node-mongodb-native/commit/bb359a1))
182
183
184### Features
185
186* add utility helper for returning promises or using callbacks ([ac9e4c9](https://github.com/mongodb/node-mongodb-native/commit/ac9e4c9))
187
188
189
190<a name="3.5.3"></a>
191## [3.5.3](https://github.com/mongodb/node-mongodb-native/compare/v3.5.2...v3.5.3) (2020-02-12)
192
193
194### Bug Fixes
195
196* **message-stream:** support multiple inbound message packets ([8388443](https://github.com/mongodb/node-mongodb-native/commit/8388443))
197* **server:** non-timeout network errors transition to Unknown state ([fa4b01b](https://github.com/mongodb/node-mongodb-native/commit/fa4b01b))
198
199
200### Features
201
202* **connection:** support exhaust behavior at the transport level ([9ccf268](https://github.com/mongodb/node-mongodb-native/commit/9ccf268))
203
204
205
206<a name="3.5.2"></a>
207## [3.5.2](https://github.com/mongodb/node-mongodb-native/compare/v3.5.1...v3.5.2) (2020-01-20)
208
209
210### Bug Fixes
211
212* properly handle err messages in MongoDB 2.6 servers ([0f4ab38](https://github.com/mongodb/node-mongodb-native/commit/0f4ab38))
213* **topology:** always emit SDAM unrecoverable errors ([57f158f](https://github.com/mongodb/node-mongodb-native/commit/57f158f))
214
215
216
217<a name="3.5.1"></a>
218## [3.5.1](https://github.com/mongodb/node-mongodb-native/compare/v3.5.0...v3.5.1) (2020-01-17)
219
220
221### Bug Fixes
222
223* **cmap:** accept all node TLS options as pool options ([5995d1d](https://github.com/mongodb/node-mongodb-native/commit/5995d1d))
224* **cmap:** error wait queue members on failed connection creation ([d13b153](https://github.com/mongodb/node-mongodb-native/commit/d13b153))
225* **connect:** listen to `secureConnect` for tls connections ([f8bdb8d](https://github.com/mongodb/node-mongodb-native/commit/f8bdb8d))
226* **transactions:** use options helper to resolve read preference ([9698a76](https://github.com/mongodb/node-mongodb-native/commit/9698a76))
227* **uri_parser:** TLS uri variants imply `ssl=true` ([c8d182e](https://github.com/mongodb/node-mongodb-native/commit/c8d182e))
228
229
230
231<a name="3.5.0"></a>
232# [3.5.0](https://github.com/mongodb/node-mongodb-native/compare/v3.4.1...v3.5.0) (2020-01-14)
233
234
235### Bug Fixes
236
237* copy `ssl` option to pool connection options ([563ced6](https://github.com/mongodb/node-mongodb-native/commit/563ced6))
238* destroy connections marked as closed on checkIn / checkOut ([2bd17a6](https://github.com/mongodb/node-mongodb-native/commit/2bd17a6))
239* ensure sync errors are thrown, and don't callback twice ([cca5b49](https://github.com/mongodb/node-mongodb-native/commit/cca5b49))
240* ignore connection errors during pool destruction ([b8805dc](https://github.com/mongodb/node-mongodb-native/commit/b8805dc))
241* not all message payloads are arrays of Buffer ([e4df5f4](https://github.com/mongodb/node-mongodb-native/commit/e4df5f4))
242* recover on network error during initial connect ([a13dc68](https://github.com/mongodb/node-mongodb-native/commit/a13dc68))
243* remove servers with me mismatch in `updateRsFromPrimary` ([95a772e](https://github.com/mongodb/node-mongodb-native/commit/95a772e))
244* report the correct platform in client metadata ([35d0274](https://github.com/mongodb/node-mongodb-native/commit/35d0274))
245* reschedule monitoring before emitting heartbeat events ([7fcbeb5](https://github.com/mongodb/node-mongodb-native/commit/7fcbeb5))
246* socket timeout for handshake should be `connectTimeoutMS` ([c83af9a](https://github.com/mongodb/node-mongodb-native/commit/c83af9a))
247* timed out streams should be destroyed on `timeout` event ([5319ff9](https://github.com/mongodb/node-mongodb-native/commit/5319ff9))
248* use remote address for stream identifier ([f13c20b](https://github.com/mongodb/node-mongodb-native/commit/f13c20b))
249* used weighted RTT calculation for server selection ([d446be5](https://github.com/mongodb/node-mongodb-native/commit/d446be5))
250* **execute-operation:** don't swallow synchronous errors ([0a2d4e9](https://github.com/mongodb/node-mongodb-native/commit/0a2d4e9))
251* **gridfs:** make a copy of chunk before writing to server ([b4ec5b8](https://github.com/mongodb/node-mongodb-native/commit/b4ec5b8))
252
253
254### Features
255
256* add a `withConnection` helper to the connection pool ([d59dced](https://github.com/mongodb/node-mongodb-native/commit/d59dced))
257* include `connectionId` for APM with new CMAP connection pool ([9bd360c](https://github.com/mongodb/node-mongodb-native/commit/9bd360c))
258* integrate CMAP connection pool into unified topology ([9dd3939](https://github.com/mongodb/node-mongodb-native/commit/9dd3939))
259* introduce `MongoServerSelectionError` ([0cf7ec9](https://github.com/mongodb/node-mongodb-native/commit/0cf7ec9))
260* introduce a class for tracking stream specific attributes ([f6bf82c](https://github.com/mongodb/node-mongodb-native/commit/f6bf82c))
261* introduce a new `Monitor` type for server monitoring ([2bfe2a1](https://github.com/mongodb/node-mongodb-native/commit/2bfe2a1))
262* relay all CMAP events to MongoClient ([1aea4de](https://github.com/mongodb/node-mongodb-native/commit/1aea4de))
263* support socket timeouts on a per-connection level ([93e8ad0](https://github.com/mongodb/node-mongodb-native/commit/93e8ad0))
264
265
266
267<a name="3.4.1"></a>
268## [3.4.1](https://github.com/mongodb/node-mongodb-native/compare/v3.4.0...v3.4.1) (2019-12-19)
269
270
271### Bug Fixes
272
273* **bulk:** use original indexes as map for current op index ([20800ac](https://github.com/mongodb/node-mongodb-native/commit/20800ac))
274* always check for network errors during SCRAM conversation ([e46a70e](https://github.com/mongodb/node-mongodb-native/commit/e46a70e))
275
276
277
278<a name="3.4.0"></a>
279# [3.4.0](https://github.com/mongodb/node-mongodb-native/compare/v3.3.5...v3.4.0) (2019-12-10)
280
281
282### Bug Fixes
283
284* **bulk:** use operation index from input to report operation error ([f713b13](https://github.com/mongodb/node-mongodb-native/commit/f713b13))
285* **command:** only add TransientTransactionError label when in a transaction ([478d714](https://github.com/mongodb/node-mongodb-native/commit/478d714))
286* **compression:** recalculate opcode after determine OP_COMPRESSED ([022f51b](https://github.com/mongodb/node-mongodb-native/commit/022f51b))
287* **connect:** connect with family 0 instead of family 4 ([db07366](https://github.com/mongodb/node-mongodb-native/commit/db07366))
288* **connection:** timed out connections should not be half closed ([850f4f5](https://github.com/mongodb/node-mongodb-native/commit/850f4f5))
289* **cursor:** call `initialize` after session support check ([e50c51a](https://github.com/mongodb/node-mongodb-native/commit/e50c51a))
290* **encryption:** autoEncryption must error on mongodb < 4.2 ([c274615](https://github.com/mongodb/node-mongodb-native/commit/c274615))
291* **encryption:** do not attempt to merge autoEncryption options ([e27fdf9](https://github.com/mongodb/node-mongodb-native/commit/e27fdf9))
292* **encryption:** encryption uses smaller batch size ([cb78e69](https://github.com/mongodb/node-mongodb-native/commit/cb78e69))
293* **encryption:** respect bypassAutoEncryption ([e927499](https://github.com/mongodb/node-mongodb-native/commit/e927499))
294* **encryption:** respect user bson options when using autoEncryption ([cb7a3f7](https://github.com/mongodb/node-mongodb-native/commit/cb7a3f7))
295* add calculated duration to server as `roundTripTime` ([cb107a8](https://github.com/mongodb/node-mongodb-native/commit/cb107a8))
296* **mongodb+srv:** respect overriding SRV-provided properties ([ea83360](https://github.com/mongodb/node-mongodb-native/commit/ea83360))
297* **pool:** flush workItems after next tick to avoid dupe selection ([3ec49e5](https://github.com/mongodb/node-mongodb-native/commit/3ec49e5))
298* **pool:** support a `drain` event for use with unified topology ([da931ea](https://github.com/mongodb/node-mongodb-native/commit/da931ea))
299* **scram:** verify server digest, ensuring mutual authentication ([806cd62](https://github.com/mongodb/node-mongodb-native/commit/806cd62))
300* **srv-poller:** always provide a valid number for `intervalMS` ([afb125f](https://github.com/mongodb/node-mongodb-native/commit/afb125f))
301* **topology:** correct logic for checking for sessions support ([8d157c8](https://github.com/mongodb/node-mongodb-native/commit/8d157c8))
302* **topology:** don't drain iteration timers on server selection ([fed6a57](https://github.com/mongodb/node-mongodb-native/commit/fed6a57))
303
304
305### Features
306
307* add `MessageStream` for streamed wire protocol messaging ([8c44044](https://github.com/mongodb/node-mongodb-native/commit/8c44044))
308* introduce a modern `Connection` replacement for CMAP ([7890e48](https://github.com/mongodb/node-mongodb-native/commit/7890e48))
309* support connection establishment cancellation ([2014b7b](https://github.com/mongodb/node-mongodb-native/commit/2014b7b))
310* support driver info for drivers wrapping the node driver ([1b6670b](https://github.com/mongodb/node-mongodb-native/commit/1b6670b))
311
312
313
314<a name="3.3.5"></a>
315## [3.3.5](https://github.com/mongodb/node-mongodb-native/compare/v3.3.4...v3.3.5) (2019-11-26)
316
317
318### Bug Fixes
319
320* **bulk:** use operation index from input to report operation error ([08ee53e](https://github.com/mongodb/node-mongodb-native/commit/08ee53e))
321* **command:** only add TransientTransactionError label when in a transaction ([8bab074](https://github.com/mongodb/node-mongodb-native/commit/8bab074))
322* **connect:** connect with family 0 instead of family 4 ([7a41279](https://github.com/mongodb/node-mongodb-native/commit/7a41279))
323* **cursor:** call `initialize` after session support check ([3b076b3](https://github.com/mongodb/node-mongodb-native/commit/3b076b3))
324* **mongodb+srv:** respect overriding SRV-provided properties ([5ed4c07](https://github.com/mongodb/node-mongodb-native/commit/5ed4c07))
325* **pool:** support a `drain` event for use with unified topology ([3471c28](https://github.com/mongodb/node-mongodb-native/commit/3471c28))
326* **topology:** correct logic for checking for sessions support ([2d976bd](https://github.com/mongodb/node-mongodb-native/commit/2d976bd))
327* **topology:** don't drain iteration timers on server selection ([261f1e5](https://github.com/mongodb/node-mongodb-native/commit/261f1e5))
328
329
330### Features
331
332* support driver info for drivers wrapping the node driver ([d85c4a8](https://github.com/mongodb/node-mongodb-native/commit/d85c4a8))
333
334
335
336<a name="3.3.4"></a>
337## [3.3.4](https://github.com/mongodb/node-mongodb-native/compare/v3.3.3...v3.3.4) (2019-11-11)
338
339
340### Bug Fixes
341
342* **close:** the unified topology emits a close event on close now ([ee0db01](https://github.com/mongodb/node-mongodb-native/commit/ee0db01))
343* **connect:** prevent multiple callbacks in error scenarios ([5f6a787](https://github.com/mongodb/node-mongodb-native/commit/5f6a787))
344* **monitoring:** incorrect states used to determine rescheduling ([ec1e04c](https://github.com/mongodb/node-mongodb-native/commit/ec1e04c))
345* **pool:** don't reset a pool if we'not already connected ([32316e4](https://github.com/mongodb/node-mongodb-native/commit/32316e4))
346* **pool:** only transition to `DISCONNECTED` if reconnect enabled ([43d461e](https://github.com/mongodb/node-mongodb-native/commit/43d461e))
347* **replset:** don't leak servers failing to connect ([f209160](https://github.com/mongodb/node-mongodb-native/commit/f209160))
348* **replset:** use correct `topologyId` for event emission ([19549ff](https://github.com/mongodb/node-mongodb-native/commit/19549ff))
349* **sdam:** `minHeartbeatIntervalMS` => `minHeartbeatFrequencyMS` ([af9fb45](https://github.com/mongodb/node-mongodb-native/commit/af9fb45))
350* **sdam:** don't emit `close` every time a child server closes ([818055a](https://github.com/mongodb/node-mongodb-native/commit/818055a))
351* **sdam:** don't lose servers when they fail monitoring ([8a534bb](https://github.com/mongodb/node-mongodb-native/commit/8a534bb))
352* **sdam:** don't remove unknown servers in topology updates ([1147ebf](https://github.com/mongodb/node-mongodb-native/commit/1147ebf))
353* **sdam:** ignore server errors when closing/closed ([49d7235](https://github.com/mongodb/node-mongodb-native/commit/49d7235))
354* **server:** don't emit error in connect if closing/closed ([62ada2a](https://github.com/mongodb/node-mongodb-native/commit/62ada2a))
355* **server:** ensure state is transitioned to closed on connect fail ([a471707](https://github.com/mongodb/node-mongodb-native/commit/a471707))
356* **topology:** report unified topology as `nodejs` ([d126665](https://github.com/mongodb/node-mongodb-native/commit/d126665))
357* **topology:** set max listeners to infinity for db event relay ([edb1335](https://github.com/mongodb/node-mongodb-native/commit/edb1335))
358
359
360### Features
361
362* **sdam_viz:** add new tool for visualizing driver sdam changes ([738189a](https://github.com/mongodb/node-mongodb-native/commit/738189a))
363* **sdam_viz:** support legacy topologies in sdam_viz tool ([1a5537e](https://github.com/mongodb/node-mongodb-native/commit/1a5537e))
364* **update-hints:** add support for `hint` to all update methods ([720f5e5](https://github.com/mongodb/node-mongodb-native/commit/720f5e5))
365
366
367
368<a name="3.3.3"></a>
369## [3.3.3](https://github.com/mongodb/node-mongodb-native/compare/v3.3.2...v3.3.3) (2019-10-16)
370
371
372### Bug Fixes
373
374* **change_stream:** emit 'close' event if reconnecting failed ([f24c084](https://github.com/mongodb/node-mongodb-native/commit/f24c084))
375* **ChangeStream:** remove startAtOperationTime once we have resumeToken ([362afd8](https://github.com/mongodb/node-mongodb-native/commit/362afd8))
376* **connect:** Switch new Buffer(size) -> Buffer.alloc(size) ([da90c3a](https://github.com/mongodb/node-mongodb-native/commit/da90c3a))
377* **MongoClient:** only check own properties for valid options ([9cde4b9](https://github.com/mongodb/node-mongodb-native/commit/9cde4b9))
378* **mongos:** disconnect proxies which are not mongos instances ([ee53983](https://github.com/mongodb/node-mongodb-native/commit/ee53983))
379* **mongos:** force close servers during reconnect flow ([186263f](https://github.com/mongodb/node-mongodb-native/commit/186263f))
380* **monitoring:** correct spelling mistake for heartbeat event ([21aa117](https://github.com/mongodb/node-mongodb-native/commit/21aa117))
381* **replset:** correct server leak on initial connect ([da39d1e](https://github.com/mongodb/node-mongodb-native/commit/da39d1e))
382* **replset:** destroy primary before removing from replsetstate ([45ac09a](https://github.com/mongodb/node-mongodb-native/commit/45ac09a))
383* **replset:** destroy servers that are removed during SDAM flow ([9ea0190](https://github.com/mongodb/node-mongodb-native/commit/9ea0190))
384* **saslprep:** add in missing saslprep dependency ([41f1165](https://github.com/mongodb/node-mongodb-native/commit/41f1165))
385* **topology:** don't early abort server selection on network errors ([2b6a359](https://github.com/mongodb/node-mongodb-native/commit/2b6a359))
386* **topology:** don't emit server closed event on network error ([194dcf0](https://github.com/mongodb/node-mongodb-native/commit/194dcf0))
387* **topology:** include all BSON types in ctor for bson-ext support ([aa4c832](https://github.com/mongodb/node-mongodb-native/commit/aa4c832))
388* **topology:** respect the `force` parameter for topology close ([d6e8936](https://github.com/mongodb/node-mongodb-native/commit/d6e8936))
389
390### Features
391
392* **Update:** add the ability to specify a pipeline to an update command ([#2017](https://github.com/mongodb/node-mongodb-native/issues/2017)) ([44a4110](https://github.com/mongodb/node-mongodb-native/commit/44a4110))
393* **urlParser:** default useNewUrlParser to true ([52d76e3](https://github.com/mongodb/node-mongodb-native/commit/52d76e3))
394
395<a name="3.2.7"></a>
396## [3.2.7](https://github.com/mongodb/node-mongodb-native/compare/v3.2.6...v3.2.7) (2019-06-04)
397
398
399### Bug Fixes
400
401* **core:** updating core to version 3.2.7 ([2f91466](https://github.com/mongodb/node-mongodb-native/commit/2f91466))
402* **findOneAndReplace:** throw error if atomic operators provided for findOneAndReplace ([6a860a3](https://github.com/mongodb/node-mongodb-native/commit/6a860a3))
403
404
405
406<a name="3.3.2"></a>
407## [3.3.2](https://github.com/mongodb/node-mongodb-native/compare/v3.3.1...v3.3.2) (2019-08-28)
408
409
410### Bug Fixes
411
412* **change-stream:** default to server default batch size ([b3ae4c5](https://github.com/mongodb/node-mongodb-native/commit/b3ae4c5))
413* **execute-operation:** return promise on session support check ([a976c14](https://github.com/mongodb/node-mongodb-native/commit/a976c14))
414* **gridfs-stream:** ensure `close` is emitted after last chunk ([ae94cb9](https://github.com/mongodb/node-mongodb-native/commit/ae94cb9))
415
416
417
418<a name="3.3.1"></a>
419## [3.3.1](https://github.com/mongodb/node-mongodb-native/compare/v3.3.0...v3.3.1) (2019-08-23)
420
421
422### Bug Fixes
423
424* **find:** respect client-level provided read preference ([fec4f15](https://github.com/mongodb/node-mongodb-native/commit/fec4f15))
425* correct inverted defaults for unified topology ([cf598e1](https://github.com/mongodb/node-mongodb-native/commit/cf598e1))
426
427
428
429<a name="3.3.0"></a>
430# [3.3.0](https://github.com/mongodb/node-mongodb-native/compare/v3.3.0-alpha1...v3.3.0) (2019-08-13)
431
432
433### Bug Fixes
434
435* **aggregate-operation:** move type assertions to constructor ([25b27ff](https://github.com/mongodb/node-mongodb-native/commit/25b27ff))
436* **autoEncryption:** tear down mongocryptd client when main client closes ([fe2f57e](https://github.com/mongodb/node-mongodb-native/commit/fe2f57e))
437* **autoEncryption:** use new url parser for autoEncryption client ([d3670c2](https://github.com/mongodb/node-mongodb-native/commit/d3670c2))
438* **Bulk:** change BulkWriteError message to first item from writeErrors ([#2013](https://github.com/mongodb/node-mongodb-native/issues/2013)) ([6bcf1e4](https://github.com/mongodb/node-mongodb-native/commit/6bcf1e4))
439* **change_stream:** emit 'close' event if reconnecting failed ([41aba90](https://github.com/mongodb/node-mongodb-native/commit/41aba90))
440* **change_stream:** emit close event after cursor is closed during error ([c2d80b2](https://github.com/mongodb/node-mongodb-native/commit/c2d80b2))
441* **change-streams:** don't copy irrelevant resume options ([f190072](https://github.com/mongodb/node-mongodb-native/commit/f190072))
442* **changestream:** removes all event listeners on close ([30eeeb5](https://github.com/mongodb/node-mongodb-native/commit/30eeeb5))
443* **ChangeStream:** remove startAtOperationTime once we have resumeToken ([8d27e6e](https://github.com/mongodb/node-mongodb-native/commit/8d27e6e))
444* **ClientSessions:** initialize clientOptions and cluster time ([b95d64e](https://github.com/mongodb/node-mongodb-native/commit/b95d64e))
445* **connect:** don't treat 'connect' as an error event ([170a011](https://github.com/mongodb/node-mongodb-native/commit/170a011))
446* **connect:** fixed syntax issue in connect error handler ([ff7166d](https://github.com/mongodb/node-mongodb-native/commit/ff7166d))
447* **connections_stepdown_tests:** use correct version of mongo for tests ([ce2c9af](https://github.com/mongodb/node-mongodb-native/commit/ce2c9af))
448* **createCollection:** Db.createCollection should pass readConcern to new collection ([#2026](https://github.com/mongodb/node-mongodb-native/issues/2026)) ([6145d4b](https://github.com/mongodb/node-mongodb-native/commit/6145d4b))
449* **cursor:** do not truncate an existing Long ([317055b](https://github.com/mongodb/node-mongodb-native/commit/317055b)), closes [mongodb-js/mongodb-core#441](https://github.com/mongodb-js/mongodb-core/issues/441)
450* **distinct:** return full response if `full` option was specified ([95a7d05](https://github.com/mongodb/node-mongodb-native/commit/95a7d05))
451* **MongoClient:** allow Object.prototype items as db names ([dc6fc37](https://github.com/mongodb/node-mongodb-native/commit/dc6fc37))
452* **MongoClient:** only check own properties for valid options ([c9dc717](https://github.com/mongodb/node-mongodb-native/commit/c9dc717))
453* **OpMsg:** cap requestIds at 0x7fffffff ([c0e87d5](https://github.com/mongodb/node-mongodb-native/commit/c0e87d5))
454* **read-operations:** send sessions on all read operations ([4d45c8a](https://github.com/mongodb/node-mongodb-native/commit/4d45c8a))
455* **ReadPreference:** improve ReadPreference error message and remove irrelevant sharding test ([dd34ce4](https://github.com/mongodb/node-mongodb-native/commit/dd34ce4))
456* **ReadPreference:** only allow valid ReadPreference modes ([06bbef2](https://github.com/mongodb/node-mongodb-native/commit/06bbef2))
457* **replset:** correct legacy max staleness calculation ([2eab8aa](https://github.com/mongodb/node-mongodb-native/commit/2eab8aa))
458* **replset:** introduce a fixed-time server selection loop ([cf53299](https://github.com/mongodb/node-mongodb-native/commit/cf53299))
459* **server:** emit "first connect" error if initial connect fails due to ECONNREFUSED ([#2016](https://github.com/mongodb/node-mongodb-native/issues/2016)) ([5a7b15b](https://github.com/mongodb/node-mongodb-native/commit/5a7b15b))
460* **serverSelection:** make sure to pass session to serverSelection ([eb5cc6b](https://github.com/mongodb/node-mongodb-native/commit/eb5cc6b))
461* **sessions:** ensure an error is thrown when attempting sharded transactions ([3a1fdc1](https://github.com/mongodb/node-mongodb-native/commit/3a1fdc1))
462* **topology:** add new error for retryWrites on MMAPv1 ([392f5a6](https://github.com/mongodb/node-mongodb-native/commit/392f5a6))
463* don't check non-unified topologies for session support check ([2bccd3f](https://github.com/mongodb/node-mongodb-native/commit/2bccd3f))
464* maintain internal database name on collection rename ([884d46f](https://github.com/mongodb/node-mongodb-native/commit/884d46f))
465* only check for transaction state if session exists ([360975a](https://github.com/mongodb/node-mongodb-native/commit/360975a))
466* preserve aggregate explain support for legacy servers ([032b204](https://github.com/mongodb/node-mongodb-native/commit/032b204))
467* read concern only supported for `mapReduce` without inline ([51a36f3](https://github.com/mongodb/node-mongodb-native/commit/51a36f3))
468* reintroduce support for 2.6 listIndexes ([c3bfc05](https://github.com/mongodb/node-mongodb-native/commit/c3bfc05))
469* return `executeOperation` for explain, if promise is desired ([b4a7ad7](https://github.com/mongodb/node-mongodb-native/commit/b4a7ad7))
470* validate atomic operations in all update methods ([88bb77e](https://github.com/mongodb/node-mongodb-native/commit/88bb77e))
471* **transactions:** fix error message for attempting sharded ([eb5dfc9](https://github.com/mongodb/node-mongodb-native/commit/eb5dfc9))
472* **transactions:** fix sharded transaction error logic ([083e18a](https://github.com/mongodb/node-mongodb-native/commit/083e18a))
473
474
475### Features
476
477* **Aggregate:** support ReadConcern in aggregates with $out ([21cdcf0](https://github.com/mongodb/node-mongodb-native/commit/21cdcf0))
478* **AutoEncryption:** improve error message for missing mongodb-client-encryption ([583f29f](https://github.com/mongodb/node-mongodb-native/commit/583f29f))
479* **ChangeStream:** adds new resume functionality to ChangeStreams ([9ec9b8f](https://github.com/mongodb/node-mongodb-native/commit/9ec9b8f))
480* **ChangeStreamCursor:** introduce new cursor type for change streams ([8813eb0](https://github.com/mongodb/node-mongodb-native/commit/8813eb0))
481* **cryptdConnectionString:** makes mongocryptd uri configurable ([#2049](https://github.com/mongodb/node-mongodb-native/issues/2049)) ([a487be4](https://github.com/mongodb/node-mongodb-native/commit/a487be4))
482* **eachAsync:** dedupe async iteration with a common helper ([c296f3a](https://github.com/mongodb/node-mongodb-native/commit/c296f3a))
483* **execute-operation:** allow execution with server selection ([36bc1fd](https://github.com/mongodb/node-mongodb-native/commit/36bc1fd))
484* **pool:** add support for resetting the connection pool ([2d1ff40](https://github.com/mongodb/node-mongodb-native/commit/2d1ff40))
485* **sessions:** track dirty state of sessions, drop after use ([f61df16](https://github.com/mongodb/node-mongodb-native/commit/f61df16))
486* add concept of `data-bearing` type to `ServerDescription` ([852e14f](https://github.com/mongodb/node-mongodb-native/commit/852e14f))
487* **transaction:** allow applications to set maxTimeMS for commitTransaction ([b3948aa](https://github.com/mongodb/node-mongodb-native/commit/b3948aa))
488* **Update:** add the ability to specify a pipeline to an update command ([#2017](https://github.com/mongodb/node-mongodb-native/issues/2017)) ([dc1387e](https://github.com/mongodb/node-mongodb-native/commit/dc1387e))
489* add `known`, `data-bearing` filters to `TopologyDescription` ([d0ccb56](https://github.com/mongodb/node-mongodb-native/commit/d0ccb56))
490* perform selection before cursor operation execution if needed ([808cf37](https://github.com/mongodb/node-mongodb-native/commit/808cf37))
491* perform selection before operation execution if needed ([1a25876](https://github.com/mongodb/node-mongodb-native/commit/1a25876))
492* support explain operations in `CommandOperationV2` ([86f5ba5](https://github.com/mongodb/node-mongodb-native/commit/86f5ba5))
493* support operations passed to a `Cursor` or subclass ([b78bb89](https://github.com/mongodb/node-mongodb-native/commit/b78bb89))
494
495
496
497<a name="3.2.7"></a>
498## [3.2.7](https://github.com/mongodb/node-mongodb-native/compare/v3.2.6...v3.2.7) (2019-06-04)
499
500
501### Bug Fixes
502
503* **core:** updating core to version 3.2.7 ([2f91466](https://github.com/mongodb/node-mongodb-native/commit/2f91466))
504* **findOneAndReplace:** throw error if atomic operators provided for findOneAndReplace ([6a860a3](https://github.com/mongodb/node-mongodb-native/commit/6a860a3))
505
506
507
508<a name="3.2.6"></a>
509## [3.2.6](https://github.com/mongodb/node-mongodb-native/compare/v3.2.5...v3.2.6) (2019-05-24)
510
511
512
513<a name="3.2.5"></a>
514## [3.2.5](https://github.com/mongodb/node-mongodb-native/compare/v3.2.4...v3.2.5) (2019-05-17)
515
516
517### Bug Fixes
518
519* **core:** updating core to 3.2.5 ([a2766c1](https://github.com/mongodb/node-mongodb-native/commit/a2766c1))
520
521
522
523<a name="3.2.4"></a>
524## [3.2.4](https://github.com/mongodb/node-mongodb-native/compare/v3.2.2...v3.2.4) (2019-05-08)
525
526
527### Bug Fixes
528
529* **aggregation:** fix field name typo ([4235d04](https://github.com/mongodb/node-mongodb-native/commit/4235d04))
530* **async:** rewrote asyncGenerator in node < 10 syntax ([49c8cef](https://github.com/mongodb/node-mongodb-native/commit/49c8cef))
531* **BulkOp:** run unordered bulk ops in serial ([f548bd7](https://github.com/mongodb/node-mongodb-native/commit/f548bd7))
532* **bulkWrite:** fix issue with bulkWrite continuing w/ callback ([2a4a42c](https://github.com/mongodb/node-mongodb-native/commit/2a4a42c))
533* **docs:** correctly document that default for `sslValidate` is false ([1f8e7fa](https://github.com/mongodb/node-mongodb-native/commit/1f8e7fa))
534* **gridfs-stream:** honor chunk size ([9eeb114](https://github.com/mongodb/node-mongodb-native/commit/9eeb114))
535* **unified-topology:** only clone pool size if provided ([8dc2416](https://github.com/mongodb/node-mongodb-native/commit/8dc2416))
536
537
538### Features
539
540* update to mongodb-core v3.2.3 ([1c5357a](https://github.com/mongodb/node-mongodb-native/commit/1c5357a))
541* **core:** update to mongodb-core v3.2.4 ([2059260](https://github.com/mongodb/node-mongodb-native/commit/2059260))
542* **lib:** implement executeOperationV2 ([67d4edf](https://github.com/mongodb/node-mongodb-native/commit/67d4edf))
543
544
545
546<a name="3.2.3"></a>
547## [3.2.3](https://github.com/mongodb/node-mongodb-native/compare/v3.2.2...v3.2.3) (2019-04-05)
548
549
550### Bug Fixes
551
552* **aggregation:** fix field name typo ([4235d04](https://github.com/mongodb/node-mongodb-native/commit/4235d04))
553* **async:** rewrote asyncGenerator in node < 10 syntax ([49c8cef](https://github.com/mongodb/node-mongodb-native/commit/49c8cef))
554* **bulkWrite:** fix issue with bulkWrite continuing w/ callback ([2a4a42c](https://github.com/mongodb/node-mongodb-native/commit/2a4a42c))
555* **docs:** correctly document that default for `sslValidate` is false ([1f8e7fa](https://github.com/mongodb/node-mongodb-native/commit/1f8e7fa))
556
557
558### Features
559
560* update to mongodb-core v3.2.3 ([1c5357a](https://github.com/mongodb/node-mongodb-native/commit/1c5357a))
561
562
563
564<a name="3.2.2"></a>
565## [3.2.2](https://github.com/mongodb/node-mongodb-native/compare/v3.2.1...v3.2.2) (2019-03-22)
566
567
568### Bug Fixes
569
570* **asyncIterator:** stronger guard against importing async generator ([e0826fb](https://github.com/mongodb/node-mongodb-native/commit/e0826fb))
571
572
573### Features
574
575* update to mongodb-core v3.2.2 ([868cfc3](https://github.com/mongodb/node-mongodb-native/commit/868cfc3))
576
577
578
579<a name="3.2.1"></a>
580## [3.2.1](https://github.com/mongodb/node-mongodb-native/compare/v3.2.0...v3.2.1) (2019-03-21)
581
582
583### Features
584
585* **core:** update to mongodb-core v3.2.1 ([30b0100](https://github.com/mongodb/node-mongodb-native/commit/30b0100))
586
587
588
589<a name="3.2.0"></a>
590# [3.2.0](https://github.com/mongodb/node-mongodb-native/compare/v3.1.13...v3.2.0) (2019-03-21)
591
592
593### Bug Fixes
594
595* **aggregate:** do not send batchSize for aggregation with $out ([ddb8d90](https://github.com/mongodb/node-mongodb-native/commit/ddb8d90))
596* **bulkWrite:** always count undefined values in bson size for bulk ([436d340](https://github.com/mongodb/node-mongodb-native/commit/436d340))
597* **db_ops:** rename db to add user on ([79931af](https://github.com/mongodb/node-mongodb-native/commit/79931af))
598* **mongo_client_ops:** only skip authentication if no authMechanism is specified ([3b6957d](https://github.com/mongodb/node-mongodb-native/commit/3b6957d))
599* **mongo-client:** ensure close callback is called with client ([f39e881](https://github.com/mongodb/node-mongodb-native/commit/f39e881))
600
601
602### Features
603
604* **core:** pin to mongodb-core v3.2.0 ([22af15a](https://github.com/mongodb/node-mongodb-native/commit/22af15a))
605* **Cursor:** adds support for AsyncIterator in cursors ([b972c1e](https://github.com/mongodb/node-mongodb-native/commit/b972c1e))
606* **db:** add database-level aggregation ([b629b21](https://github.com/mongodb/node-mongodb-native/commit/b629b21))
607* **mongo-client:** remove deprecated `logout` and print warning ([542859d](https://github.com/mongodb/node-mongodb-native/commit/542859d))
608* **topology-base:** support passing callbacks to `close` method ([7c111e0](https://github.com/mongodb/node-mongodb-native/commit/7c111e0))
609* **transactions:** support pinning mongos for sharded txns ([3886127](https://github.com/mongodb/node-mongodb-native/commit/3886127))
610* **unified-sdam:** backport unified SDAM to master for v3.2.0 ([79f33ca](https://github.com/mongodb/node-mongodb-native/commit/79f33ca))
611
612
613
614<a name="3.1.13"></a>
615## [3.1.13](https://github.com/mongodb/node-mongodb-native/compare/v3.1.12...v3.1.13) (2019-01-23)
616
617
618### Bug Fixes
619
620* restore ability to webpack by removing `makeLazyLoader` ([050267d](https://github.com/mongodb/node-mongodb-native/commit/050267d))
621* **bulk:** honor ignoreUndefined in initializeUnorderedBulkOp ([e806be4](https://github.com/mongodb/node-mongodb-native/commit/e806be4))
622* **changeStream:** properly handle changeStream event mid-close ([#1902](https://github.com/mongodb/node-mongodb-native/issues/1902)) ([5ad9fa9](https://github.com/mongodb/node-mongodb-native/commit/5ad9fa9))
623* **db_ops:** ensure we async resolve errors in createCollection ([210c71d](https://github.com/mongodb/node-mongodb-native/commit/210c71d))
624
625
626
627<a name="3.1.12"></a>
628## [3.1.12](https://github.com/mongodb/node-mongodb-native/compare/v3.1.11...v3.1.12) (2019-01-16)
629
630
631### Features
632
633* **core:** update to mongodb-core v3.1.11 ([9bef6e7](https://github.com/mongodb/node-mongodb-native/commit/9bef6e7))
634
635
636
637<a name="3.1.11"></a>
638## [3.1.11](https://github.com/mongodb/node-mongodb-native/compare/v3.1.10...v3.1.11) (2019-01-15)
639
640
641### Bug Fixes
642
643* **bulk:** fix error propagation in empty bulk.execute ([a3adb3f](https://github.com/mongodb/node-mongodb-native/commit/a3adb3f))
644* **bulk:** make sure that any error in bulk write is propagated ([bedc2d2](https://github.com/mongodb/node-mongodb-native/commit/bedc2d2))
645* **bulk:** properly calculate batch size for bulk writes ([aafe71b](https://github.com/mongodb/node-mongodb-native/commit/aafe71b))
646* **operations:** do not call require in a hot path ([ff82ff4](https://github.com/mongodb/node-mongodb-native/commit/ff82ff4))
647
648
649
650<a name="3.1.10"></a>
651## [3.1.10](https://github.com/mongodb/node-mongodb-native/compare/v3.1.9...v3.1.10) (2018-11-16)
652
653
654### Bug Fixes
655
656* **auth:** remember to default to admin database ([c7dec28](https://github.com/mongodb/node-mongodb-native/commit/c7dec28))
657
658
659### Features
660
661* **core:** update to mongodb-core v3.1.9 ([bd3355b](https://github.com/mongodb/node-mongodb-native/commit/bd3355b))
662
663
664
665<a name="3.1.9"></a>
666## [3.1.9](https://github.com/mongodb/node-mongodb-native/compare/v3.1.8...v3.1.9) (2018-11-06)
667
668
669### Bug Fixes
670
671* **db:** move db constants to other file to avoid circular ref ([#1858](https://github.com/mongodb/node-mongodb-native/issues/1858)) ([239036f](https://github.com/mongodb/node-mongodb-native/commit/239036f))
672* **estimated-document-count:** support options other than maxTimeMs ([36c3c7d](https://github.com/mongodb/node-mongodb-native/commit/36c3c7d))
673
674
675### Features
676
677* **core:** update to mongodb-core v3.1.8 ([80d7c79](https://github.com/mongodb/node-mongodb-native/commit/80d7c79))
678
679
680
681<a name="3.1.8"></a>
682## [3.1.8](https://github.com/mongodb/node-mongodb-native/compare/v3.1.7...v3.1.8) (2018-10-10)
683
684
685### Bug Fixes
686
687* **connect:** use reported default databse from new uri parser ([811f8f8](https://github.com/mongodb/node-mongodb-native/commit/811f8f8))
688
689
690### Features
691
692* **core:** update to mongodb-core v3.1.7 ([dbfc905](https://github.com/mongodb/node-mongodb-native/commit/dbfc905))
693
694
695
696<a name="3.1.7"></a>
697## [3.1.7](https://github.com/mongodb/node-mongodb-native/compare/v3.1.6...v3.1.7) (2018-10-09)
698
699
700### Features
701
702* **core:** update mongodb-core to v3.1.6 ([61b054e](https://github.com/mongodb/node-mongodb-native/commit/61b054e))
703
704
705
706<a name="3.1.6"></a>
707## [3.1.6](https://github.com/mongodb/node-mongodb-native/compare/v3.1.5...v3.1.6) (2018-09-15)
708
709
710### Features
711
712* **core:** update to core v3.1.5 ([c5f823d](https://github.com/mongodb/node-mongodb-native/commit/c5f823d))
713
714
715
716<a name="3.1.5"></a>
717## [3.1.5](https://github.com/mongodb/node-mongodb-native/compare/v3.1.4...v3.1.5) (2018-09-14)
718
719
720### Bug Fixes
721
722* **cursor:** allow `$meta` based sort when passing an array to `sort()` ([f93a8c3](https://github.com/mongodb/node-mongodb-native/commit/f93a8c3))
723* **utils:** only set retryWrites to true for valid operations ([3b725ef](https://github.com/mongodb/node-mongodb-native/commit/3b725ef))
724
725
726### Features
727
728* **core:** bump core to v3.1.4 ([805d58a](https://github.com/mongodb/node-mongodb-native/commit/805d58a))
729
730
731
732<a name="3.1.4"></a>
733## [3.1.4](https://github.com/mongodb/node-mongodb-native/compare/v3.1.3...v3.1.4) (2018-08-25)
734
735
736### Bug Fixes
737
738* **buffer:** use safe-buffer polyfill to maintain compatibility ([327da95](https://github.com/mongodb/node-mongodb-native/commit/327da95))
739* **change-stream:** properly support resumablity in stream mode ([c43a34b](https://github.com/mongodb/node-mongodb-native/commit/c43a34b))
740* **connect:** correct replacement of topology on connect callback ([918a1e0](https://github.com/mongodb/node-mongodb-native/commit/918a1e0))
741* **cursor:** remove deprecated notice on forEach ([a474158](https://github.com/mongodb/node-mongodb-native/commit/a474158))
742* **url-parser:** bail early on validation when using domain socket ([3cb3da3](https://github.com/mongodb/node-mongodb-native/commit/3cb3da3))
743
744
745### Features
746
747* **client-ops:** allow bypassing creation of topologies on connect ([fe39b93](https://github.com/mongodb/node-mongodb-native/commit/fe39b93))
748* **core:** update mongodb-core to 3.1.3 ([a029047](https://github.com/mongodb/node-mongodb-native/commit/a029047))
749* **test:** use connection strings for all calls to `newClient` ([1dac18f](https://github.com/mongodb/node-mongodb-native/commit/1dac18f))
750
751
752
753<a name="3.1.3"></a>
754## [3.1.3](https://github.com/mongodb/node-mongodb-native/compare/v3.1.2...v3.1.3) (2018-08-13)
755
756
757### Features
758
759* **core:** update to mongodb-core 3.1.2 ([337cb79](https://github.com/mongodb/node-mongodb-native/commit/337cb79))
760
761
762
763<a name="3.1.2"></a>
764## [3.1.2](https://github.com/mongodb/node-mongodb-native/compare/v3.0.6...v3.1.2) (2018-08-13)
765
766
767### Bug Fixes
768
769* **aggregate:** support user-provided `batchSize` ([ad10dee](https://github.com/mongodb/node-mongodb-native/commit/ad10dee))
770* **buffer:** replace deprecated Buffer constructor ([759dd85](https://github.com/mongodb/node-mongodb-native/commit/759dd85))
771* **bulk:** fixing retryable writes for mass-change ops ([0604036](https://github.com/mongodb/node-mongodb-native/commit/0604036))
772* **bulk:** handle MongoWriteConcernErrors ([12ff392](https://github.com/mongodb/node-mongodb-native/commit/12ff392))
773* **change_stream:** do not check isGetMore if error[mongoErrorContextSymbol] is undefined ([#1720](https://github.com/mongodb/node-mongodb-native/issues/1720)) ([844c2c8](https://github.com/mongodb/node-mongodb-native/commit/844c2c8))
774* **change-stream:** fix change stream resuming with promises ([3063f00](https://github.com/mongodb/node-mongodb-native/commit/3063f00))
775* **client-ops:** return transform map to map rather than function ([cfb7d83](https://github.com/mongodb/node-mongodb-native/commit/cfb7d83))
776* **collection:** correctly shallow clone passed in options ([7727700](https://github.com/mongodb/node-mongodb-native/commit/7727700))
777* **collection:** countDocuments throws error when query doesn't match docs ([09c7d8e](https://github.com/mongodb/node-mongodb-native/commit/09c7d8e))
778* **collection:** depend on `resolveReadPreference` for inheritance ([a649e35](https://github.com/mongodb/node-mongodb-native/commit/a649e35))
779* **collection:** ensure findAndModify always use readPreference primary ([86344f4](https://github.com/mongodb/node-mongodb-native/commit/86344f4))
780* **collection:** isCapped returns false instead of undefined ([b8471f1](https://github.com/mongodb/node-mongodb-native/commit/b8471f1))
781* **collection:** only send bypassDocumentValidation if true ([fdb828b](https://github.com/mongodb/node-mongodb-native/commit/fdb828b))
782* **count-documents:** return callback on error case ([fca1185](https://github.com/mongodb/node-mongodb-native/commit/fca1185))
783* **cursor:** cursor count with collation fix ([71879c3](https://github.com/mongodb/node-mongodb-native/commit/71879c3))
784* **cursor:** cursor hasNext returns false when exhausted ([184b817](https://github.com/mongodb/node-mongodb-native/commit/184b817))
785* **cursor:** cursor.count not respecting parent readPreference ([5a9fdf0](https://github.com/mongodb/node-mongodb-native/commit/5a9fdf0))
786* **cursor:** set readPreference for cursor.count ([13d776f](https://github.com/mongodb/node-mongodb-native/commit/13d776f))
787* **db:** don't send session down to createIndex command ([559c195](https://github.com/mongodb/node-mongodb-native/commit/559c195))
788* **db:** throw readable error when creating `_id` with background: true ([b3ff3ed](https://github.com/mongodb/node-mongodb-native/commit/b3ff3ed))
789* **db_ops:** call collection.find() with correct parameters ([#1795](https://github.com/mongodb/node-mongodb-native/issues/1795)) ([36e92f1](https://github.com/mongodb/node-mongodb-native/commit/36e92f1))
790* **db_ops:** fix two incorrectly named variables ([15dc808](https://github.com/mongodb/node-mongodb-native/commit/15dc808))
791* **findOneAndUpdate:** ensure that update documents contain atomic operators ([eb68074](https://github.com/mongodb/node-mongodb-native/commit/eb68074))
792* **index:** export MongoNetworkError ([98ab29e](https://github.com/mongodb/node-mongodb-native/commit/98ab29e))
793* **mongo_client:** translate options for connectWithUrl ([78f6977](https://github.com/mongodb/node-mongodb-native/commit/78f6977))
794* **mongo-client:** pass arguments to ctor when new keyword is used ([d6c3417](https://github.com/mongodb/node-mongodb-native/commit/d6c3417))
795* **mongos:** bubble up close events after the first one ([#1713](https://github.com/mongodb/node-mongodb-native/issues/1713)) ([3e91d77](https://github.com/mongodb/node-mongodb-native/commit/3e91d77)), closes [Automattic/mongoose#6249](https://github.com/Automattic/mongoose/issues/6249) [#1685](https://github.com/mongodb/node-mongodb-native/issues/1685)
796* **parallelCollectionScan:** do not use implicit sessions on cursors ([2de470a](https://github.com/mongodb/node-mongodb-native/commit/2de470a))
797* **retryWrites:** fixes more bulk ops to not use retryWrites ([69e5254](https://github.com/mongodb/node-mongodb-native/commit/69e5254))
798* **server:** remove unnecessary print statement ([2bcbc12](https://github.com/mongodb/node-mongodb-native/commit/2bcbc12))
799* **teardown:** properly destroy a topology when initial connect fails ([b8d2f1d](https://github.com/mongodb/node-mongodb-native/commit/b8d2f1d))
800* **topology-base:** sending `endSessions` is always skipped now ([a276cbe](https://github.com/mongodb/node-mongodb-native/commit/a276cbe))
801* **txns:** omit writeConcern when in a transaction ([b88c938](https://github.com/mongodb/node-mongodb-native/commit/b88c938))
802* **utils:** restructure inheritance rules for read preferences ([6a7dac1](https://github.com/mongodb/node-mongodb-native/commit/6a7dac1))
803
804
805### Features
806
807* **auth:** add support for SCRAM-SHA-256 ([f53195d](https://github.com/mongodb/node-mongodb-native/commit/f53195d))
808* **changeStream:** Adding new 4.0 ChangeStream features ([2cb4894](https://github.com/mongodb/node-mongodb-native/commit/2cb4894))
809* **changeStream:** allow resuming on getMore errors ([4ba5adc](https://github.com/mongodb/node-mongodb-native/commit/4ba5adc))
810* **changeStream:** expanding changeStream resumable errors ([49fbafd](https://github.com/mongodb/node-mongodb-native/commit/49fbafd))
811* **ChangeStream:** update default startAtOperationTime ([50a9f65](https://github.com/mongodb/node-mongodb-native/commit/50a9f65))
812* **collection:** add colleciton level document mapping/unmapping ([d03335e](https://github.com/mongodb/node-mongodb-native/commit/d03335e))
813* **collection:** Implement new count API ([a5240ae](https://github.com/mongodb/node-mongodb-native/commit/a5240ae))
814* **Collection:** warn if callback is not function in find and findOne ([cddaba0](https://github.com/mongodb/node-mongodb-native/commit/cddaba0))
815* **core:** bump core dependency to v3.1.0 ([4937240](https://github.com/mongodb/node-mongodb-native/commit/4937240))
816* **cursor:** new cursor.transformStream method ([397fcd2](https://github.com/mongodb/node-mongodb-native/commit/397fcd2))
817* **deprecation:** create deprecation function ([4f907a0](https://github.com/mongodb/node-mongodb-native/commit/4f907a0))
818* **deprecation:** wrap deprecated functions ([a5d0f1d](https://github.com/mongodb/node-mongodb-native/commit/a5d0f1d))
819* **GridFS:** add option to disable md5 in file upload ([704a88e](https://github.com/mongodb/node-mongodb-native/commit/704a88e))
820* **listCollections:** add support for nameOnly option ([d2d0367](https://github.com/mongodb/node-mongodb-native/commit/d2d0367))
821* **parallelCollectionScan:** does not allow user to pass a session ([4da9e03](https://github.com/mongodb/node-mongodb-native/commit/4da9e03))
822* **read-preference:** add transaction to inheritance rules ([18ca41d](https://github.com/mongodb/node-mongodb-native/commit/18ca41d))
823* **read-preference:** unify means of read preference resolution ([#1738](https://github.com/mongodb/node-mongodb-native/issues/1738)) ([2995e11](https://github.com/mongodb/node-mongodb-native/commit/2995e11))
824* **urlParser:** use core URL parser ([c1c5d8d](https://github.com/mongodb/node-mongodb-native/commit/c1c5d8d))
825* **withSession:** add top level helper for session lifetime ([9976b86](https://github.com/mongodb/node-mongodb-native/commit/9976b86))
826
827
828### Reverts
829
830* **collection:** reverting collection-mapping features ([7298c76](https://github.com/mongodb/node-mongodb-native/commit/7298c76)), closes [#1698](https://github.com/mongodb/node-mongodb-native/issues/1698) [mongodb/js-bson#253](https://github.com/mongodb/js-bson/issues/253)
831
832
833
834<a name="3.1.1"></a>
835## [3.1.1](https://github.com/mongodb/node-mongodb-native/compare/v3.1.0...v3.1.1) (2018-07-05)
836
837
838### Bug Fixes
839
840* **client-ops:** return transform map to map rather than function ([b8b4bfa](https://github.com/mongodb/node-mongodb-native/commit/b8b4bfa))
841* **collection:** correctly shallow clone passed in options ([2e6c4fa](https://github.com/mongodb/node-mongodb-native/commit/2e6c4fa))
842* **collection:** countDocuments throws error when query doesn't match docs ([4e83556](https://github.com/mongodb/node-mongodb-native/commit/4e83556))
843* **server:** remove unnecessary print statement ([20e11b3](https://github.com/mongodb/node-mongodb-native/commit/20e11b3))
844
845
846
847<a name="3.1.0"></a>
848# [3.1.0](https://github.com/mongodb/node-mongodb-native/compare/v3.0.6...v3.1.0) (2018-06-27)
849
850
851### Bug Fixes
852
853* **aggregate:** support user-provided `batchSize` ([ad10dee](https://github.com/mongodb/node-mongodb-native/commit/ad10dee))
854* **bulk:** fixing retryable writes for mass-change ops ([0604036](https://github.com/mongodb/node-mongodb-native/commit/0604036))
855* **bulk:** handle MongoWriteConcernErrors ([12ff392](https://github.com/mongodb/node-mongodb-native/commit/12ff392))
856* **change_stream:** do not check isGetMore if error[mongoErrorContextSymbol] is undefined ([#1720](https://github.com/mongodb/node-mongodb-native/issues/1720)) ([844c2c8](https://github.com/mongodb/node-mongodb-native/commit/844c2c8))
857* **change-stream:** fix change stream resuming with promises ([3063f00](https://github.com/mongodb/node-mongodb-native/commit/3063f00))
858* **collection:** depend on `resolveReadPreference` for inheritance ([a649e35](https://github.com/mongodb/node-mongodb-native/commit/a649e35))
859* **collection:** only send bypassDocumentValidation if true ([fdb828b](https://github.com/mongodb/node-mongodb-native/commit/fdb828b))
860* **cursor:** cursor count with collation fix ([71879c3](https://github.com/mongodb/node-mongodb-native/commit/71879c3))
861* **cursor:** cursor hasNext returns false when exhausted ([184b817](https://github.com/mongodb/node-mongodb-native/commit/184b817))
862* **cursor:** cursor.count not respecting parent readPreference ([5a9fdf0](https://github.com/mongodb/node-mongodb-native/commit/5a9fdf0))
863* **db:** don't send session down to createIndex command ([559c195](https://github.com/mongodb/node-mongodb-native/commit/559c195))
864* **db:** throw readable error when creating `_id` with background: true ([b3ff3ed](https://github.com/mongodb/node-mongodb-native/commit/b3ff3ed))
865* **findOneAndUpdate:** ensure that update documents contain atomic operators ([eb68074](https://github.com/mongodb/node-mongodb-native/commit/eb68074))
866* **index:** export MongoNetworkError ([98ab29e](https://github.com/mongodb/node-mongodb-native/commit/98ab29e))
867* **mongo-client:** pass arguments to ctor when new keyword is used ([d6c3417](https://github.com/mongodb/node-mongodb-native/commit/d6c3417))
868* **mongos:** bubble up close events after the first one ([#1713](https://github.com/mongodb/node-mongodb-native/issues/1713)) ([3e91d77](https://github.com/mongodb/node-mongodb-native/commit/3e91d77)), closes [Automattic/mongoose#6249](https://github.com/Automattic/mongoose/issues/6249) [#1685](https://github.com/mongodb/node-mongodb-native/issues/1685)
869* **parallelCollectionScan:** do not use implicit sessions on cursors ([2de470a](https://github.com/mongodb/node-mongodb-native/commit/2de470a))
870* **retryWrites:** fixes more bulk ops to not use retryWrites ([69e5254](https://github.com/mongodb/node-mongodb-native/commit/69e5254))
871* **topology-base:** sending `endSessions` is always skipped now ([a276cbe](https://github.com/mongodb/node-mongodb-native/commit/a276cbe))
872* **txns:** omit writeConcern when in a transaction ([b88c938](https://github.com/mongodb/node-mongodb-native/commit/b88c938))
873* **utils:** restructure inheritance rules for read preferences ([6a7dac1](https://github.com/mongodb/node-mongodb-native/commit/6a7dac1))
874
875
876### Features
877
878* **auth:** add support for SCRAM-SHA-256 ([f53195d](https://github.com/mongodb/node-mongodb-native/commit/f53195d))
879* **changeStream:** Adding new 4.0 ChangeStream features ([2cb4894](https://github.com/mongodb/node-mongodb-native/commit/2cb4894))
880* **changeStream:** allow resuming on getMore errors ([4ba5adc](https://github.com/mongodb/node-mongodb-native/commit/4ba5adc))
881* **changeStream:** expanding changeStream resumable errors ([49fbafd](https://github.com/mongodb/node-mongodb-native/commit/49fbafd))
882* **ChangeStream:** update default startAtOperationTime ([50a9f65](https://github.com/mongodb/node-mongodb-native/commit/50a9f65))
883* **collection:** add colleciton level document mapping/unmapping ([d03335e](https://github.com/mongodb/node-mongodb-native/commit/d03335e))
884* **collection:** Implement new count API ([a5240ae](https://github.com/mongodb/node-mongodb-native/commit/a5240ae))
885* **Collection:** warn if callback is not function in find and findOne ([cddaba0](https://github.com/mongodb/node-mongodb-native/commit/cddaba0))
886* **core:** bump core dependency to v3.1.0 ([855bfdb](https://github.com/mongodb/node-mongodb-native/commit/855bfdb))
887* **cursor:** new cursor.transformStream method ([397fcd2](https://github.com/mongodb/node-mongodb-native/commit/397fcd2))
888* **GridFS:** add option to disable md5 in file upload ([704a88e](https://github.com/mongodb/node-mongodb-native/commit/704a88e))
889* **listCollections:** add support for nameOnly option ([d2d0367](https://github.com/mongodb/node-mongodb-native/commit/d2d0367))
890* **parallelCollectionScan:** does not allow user to pass a session ([4da9e03](https://github.com/mongodb/node-mongodb-native/commit/4da9e03))
891* **read-preference:** add transaction to inheritance rules ([18ca41d](https://github.com/mongodb/node-mongodb-native/commit/18ca41d))
892* **read-preference:** unify means of read preference resolution ([#1738](https://github.com/mongodb/node-mongodb-native/issues/1738)) ([2995e11](https://github.com/mongodb/node-mongodb-native/commit/2995e11))
893* **urlParser:** use core URL parser ([c1c5d8d](https://github.com/mongodb/node-mongodb-native/commit/c1c5d8d))
894* **withSession:** add top level helper for session lifetime ([9976b86](https://github.com/mongodb/node-mongodb-native/commit/9976b86))
895
896
897### Reverts
898
899* **collection:** reverting collection-mapping features ([7298c76](https://github.com/mongodb/node-mongodb-native/commit/7298c76)), closes [#1698](https://github.com/mongodb/node-mongodb-native/issues/1698) [mongodb/js-bson#253](https://github.com/mongodb/js-bson/issues/253)
900
901
902
903<a name="3.0.6"></a>
904## [3.0.6](https://github.com/mongodb/node-mongodb-native/compare/v3.0.5...v3.0.6) (2018-04-09)
905
906
907### Bug Fixes
908
909* **db:** ensure `dropDatabase` always uses primary read preference ([e62e5c9](https://github.com/mongodb/node-mongodb-native/commit/e62e5c9))
910* **driverBench:** driverBench has default options object now ([c557817](https://github.com/mongodb/node-mongodb-native/commit/c557817))
911
912
913### Features
914
915* **command-monitoring:** support enabling command monitoring ([5903680](https://github.com/mongodb/node-mongodb-native/commit/5903680))
916* **core:** update to mongodb-core v3.0.6 ([cfdd0ae](https://github.com/mongodb/node-mongodb-native/commit/cfdd0ae))
917* **driverBench:** Implementing DriverBench ([d10fbad](https://github.com/mongodb/node-mongodb-native/commit/d10fbad))
918
919
920
921<a name="3.0.5"></a>
922## [3.0.5](https://github.com/mongodb/node-mongodb-native/compare/v3.0.4...v3.0.5) (2018-03-23)
923
924
925### Bug Fixes
926
927* **AggregationCursor:** adding session tracking to AggregationCursor ([baca5b7](https://github.com/mongodb/node-mongodb-native/commit/baca5b7))
928* **Collection:** fix session leak in parallelCollectonScan ([3331ec9](https://github.com/mongodb/node-mongodb-native/commit/3331ec9))
929* **comments:** adding fixes for PR comments ([ee110ac](https://github.com/mongodb/node-mongodb-native/commit/ee110ac))
930* **url_parser:** support a default database on mongodb+srv uris ([6d39b2a](https://github.com/mongodb/node-mongodb-native/commit/6d39b2a))
931
932
933### Features
934
935* **sessions:** adding implicit cursor session support ([a81245b](https://github.com/mongodb/node-mongodb-native/commit/a81245b))
936
937
938
939<a name="3.0.4"></a>
940## [3.0.4](https://github.com/mongodb/node-mongodb-native/compare/v3.0.2...v3.0.4) (2018-03-05)
941
942
943### Bug Fixes
944
945* **collection:** fix error when calling remove with no args ([#1657](https://github.com/mongodb/node-mongodb-native/issues/1657)) ([4c9b0f8](https://github.com/mongodb/node-mongodb-native/commit/4c9b0f8))
946* **executeOperation:** don't mutate options passed to commands ([934a43a](https://github.com/mongodb/node-mongodb-native/commit/934a43a))
947* **jsdoc:** mark db.collection callback as optional + typo fix ([#1658](https://github.com/mongodb/node-mongodb-native/issues/1658)) ([c519b9b](https://github.com/mongodb/node-mongodb-native/commit/c519b9b))
948* **sessions:** move active session tracking to topology base ([#1665](https://github.com/mongodb/node-mongodb-native/issues/1665)) ([b1f296f](https://github.com/mongodb/node-mongodb-native/commit/b1f296f))
949* **utils:** fixes executeOperation to clean up sessions ([04e6ef6](https://github.com/mongodb/node-mongodb-native/commit/04e6ef6))
950
951
952### Features
953
954* **default-db:** use dbName from uri if none provided ([23b1938](https://github.com/mongodb/node-mongodb-native/commit/23b1938))
955* **mongodb-core:** update to mongodb-core 3.0.4 ([1fdbaa5](https://github.com/mongodb/node-mongodb-native/commit/1fdbaa5))
956
957
958
959<a name="3.0.3"></a>
960## [3.0.3](https://github.com/mongodb/node-mongodb-native/compare/v3.0.2...v3.0.3) (2018-02-23)
961
962
963### Bug Fixes
964
965* **collection:** fix error when calling remove with no args ([#1657](https://github.com/mongodb/node-mongodb-native/issues/1657)) ([4c9b0f8](https://github.com/mongodb/node-mongodb-native/commit/4c9b0f8))
966* **executeOperation:** don't mutate options passed to commands ([934a43a](https://github.com/mongodb/node-mongodb-native/commit/934a43a))
967* **jsdoc:** mark db.collection callback as optional + typo fix ([#1658](https://github.com/mongodb/node-mongodb-native/issues/1658)) ([c519b9b](https://github.com/mongodb/node-mongodb-native/commit/c519b9b))
968* **sessions:** move active session tracking to topology base ([#1665](https://github.com/mongodb/node-mongodb-native/issues/1665)) ([b1f296f](https://github.com/mongodb/node-mongodb-native/commit/b1f296f))
969
970
971
972<a name="3.0.2"></a>
973## [3.0.2](https://github.com/mongodb/node-mongodb-native/compare/v3.0.1...v3.0.2) (2018-01-29)
974
975
976### Bug Fixes
977
978* **collection:** ensure dynamic require of `db` is wrapped in parentheses ([efa78f0](https://github.com/mongodb/node-mongodb-native/commit/efa78f0))
979* **db:** only callback with MongoError NODE-1293 ([#1652](https://github.com/mongodb/node-mongodb-native/issues/1652)) ([45bc722](https://github.com/mongodb/node-mongodb-native/commit/45bc722))
980* **topology base:** allow more than 10 event listeners ([#1630](https://github.com/mongodb/node-mongodb-native/issues/1630)) ([d9fb750](https://github.com/mongodb/node-mongodb-native/commit/d9fb750))
981* **url parser:** preserve auth creds when composing conn string ([#1640](https://github.com/mongodb/node-mongodb-native/issues/1640)) ([eddca5e](https://github.com/mongodb/node-mongodb-native/commit/eddca5e))
982
983
984### Features
985
986* **bulk:** forward 'checkKeys' option for ordered and unordered bulk operations ([421a6b2](https://github.com/mongodb/node-mongodb-native/commit/421a6b2))
987* **collection:** expose `dbName` property of collection ([6fd05c1](https://github.com/mongodb/node-mongodb-native/commit/6fd05c1))
988
989
990
991<a name="3.0.1"></a>
992## [3.0.1](https://github.com/mongodb/node-mongodb-native/compare/v3.0.0...v3.0.1) (2017-12-24)
993
994* update mongodb-core to 3.0.1
995
996<a name="3.0.0"></a>
997# [3.0.0](https://github.com/mongodb/node-mongodb-native/compare/v3.0.0-rc0...v3.0.0) (2017-12-24)
998
999
1000### Bug Fixes
1001
1002* **aggregate:** remove support for inline results for aggregate ([#1620](https://github.com/mongodb/node-mongodb-native/issues/1620)) ([84457ec](https://github.com/mongodb/node-mongodb-native/commit/84457ec))
1003* **topologies:** unify topologies connect API ([#1615](https://github.com/mongodb/node-mongodb-native/issues/1615)) ([0fb4658](https://github.com/mongodb/node-mongodb-native/commit/0fb4658))
1004
1005
1006### Features
1007
1008* **keepAlive:** make keepAlive options consistent ([#1612](https://github.com/mongodb/node-mongodb-native/issues/1612)) ([f608f44](https://github.com/mongodb/node-mongodb-native/commit/f608f44))
1009
1010
1011### BREAKING CHANGES
1012
1013* **topologies:** Function signature for `.connect` method on replset and mongos has changed. You shouldn't have been using this anyway, but if you were, you only should pass `options` and `callback`.
1014
1015Part of NODE-1089
1016* **keepAlive:** option `keepAlive` is now split into boolean `keepAlive` and
1017number `keepAliveInitialDelay`
1018
1019Fixes NODE-998
1020
1021
1022
1023<a name="3.0.0-rc0"></a>
1024# [3.0.0-rc0](https://github.com/mongodb/node-mongodb-native/compare/v2.2.31...v3.0.0-rc0) (2017-12-05)
1025
1026
1027### Bug Fixes
1028
1029* **aggregation:** ensure that the `cursor` key is always present ([f16f314](https://github.com/mongodb/node-mongodb-native/commit/f16f314))
1030* **apm:** give users access to raw server responses ([88b206b](https://github.com/mongodb/node-mongodb-native/commit/88b206b))
1031* **apm:** only rebuilt cursor if reply is non-null ([96052c8](https://github.com/mongodb/node-mongodb-native/commit/96052c8))
1032* **apm:** rebuild lost `cursor` info on pre-OP_QUERY responses ([4242d49](https://github.com/mongodb/node-mongodb-native/commit/4242d49))
1033* **bulk-unordered:** add check for ignoreUndefined ([f38641a](https://github.com/mongodb/node-mongodb-native/commit/f38641a))
1034* **change stream examples:** use timeouts, cleanup ([c5fec5f](https://github.com/mongodb/node-mongodb-native/commit/c5fec5f))
1035* **change-streams:** ensure a majority read concern on initial agg ([23011e9](https://github.com/mongodb/node-mongodb-native/commit/23011e9))
1036* **changeStreams:** fixing node4 issue with util.inherits ([#1587](https://github.com/mongodb/node-mongodb-native/issues/1587)) ([168bb3d](https://github.com/mongodb/node-mongodb-native/commit/168bb3d))
1037* **collection:** allow { upsert: 1 } for findOneAndUpdate() and update() ([5bcedd6](https://github.com/mongodb/node-mongodb-native/commit/5bcedd6))
1038* **collection:** allow passing `noCursorTimeout` as an option to `find()` ([e9c4ffc](https://github.com/mongodb/node-mongodb-native/commit/e9c4ffc))
1039* **collection:** make the parameters of findOne very explicit ([3054f1a](https://github.com/mongodb/node-mongodb-native/commit/3054f1a))
1040* **cursor:** `hasNext` should propagate errors when using callback ([6339625](https://github.com/mongodb/node-mongodb-native/commit/6339625))
1041* **cursor:** close readable on `null` response for dead cursor ([6aca2c5](https://github.com/mongodb/node-mongodb-native/commit/6aca2c5))
1042* **dns txt records:** check options are set ([e5caf4f](https://github.com/mongodb/node-mongodb-native/commit/e5caf4f))
1043* **docs:** Represent each valid option in docs in both places ([fde6e5d](https://github.com/mongodb/node-mongodb-native/commit/fde6e5d))
1044* **grid-store:** add missing callback ([66a9a05](https://github.com/mongodb/node-mongodb-native/commit/66a9a05))
1045* **grid-store:** move into callback scope ([b53f65f](https://github.com/mongodb/node-mongodb-native/commit/b53f65f))
1046* **GridFS:** fix TypeError: doc.data.length is not a function ([#1570](https://github.com/mongodb/node-mongodb-native/issues/1570)) ([22a4628](https://github.com/mongodb/node-mongodb-native/commit/22a4628))
1047* **list-collections:** ensure default of primary ReadPreference ([4a0cfeb](https://github.com/mongodb/node-mongodb-native/commit/4a0cfeb))
1048* **mongo client:** close client before calling done ([c828aab](https://github.com/mongodb/node-mongodb-native/commit/c828aab))
1049* **mongo client:** do not connect if url parse error ([cd10084](https://github.com/mongodb/node-mongodb-native/commit/cd10084))
1050* **mongo client:** send error to cb ([eafc9e2](https://github.com/mongodb/node-mongodb-native/commit/eafc9e2))
1051* **mongo-client:** move to inside of callback ([68b0fca](https://github.com/mongodb/node-mongodb-native/commit/68b0fca))
1052* **mongo-client:** options should not be passed to `connect` ([474ac65](https://github.com/mongodb/node-mongodb-native/commit/474ac65))
1053* **tests:** migrate 2.x tests to 3.x ([3a5232a](https://github.com/mongodb/node-mongodb-native/commit/3a5232a))
1054* **updateOne/updateMany:** ensure that update documents contain atomic operators ([8b4255a](https://github.com/mongodb/node-mongodb-native/commit/8b4255a))
1055* **url parser:** add check for options as cb ([52b6039](https://github.com/mongodb/node-mongodb-native/commit/52b6039))
1056* **url parser:** compare srv address and parent domains ([daa186d](https://github.com/mongodb/node-mongodb-native/commit/daa186d))
1057* **url parser:** compare string from first period on ([9e5d77e](https://github.com/mongodb/node-mongodb-native/commit/9e5d77e))
1058* **url parser:** default to ssl true for mongodb+srv ([0fbca4b](https://github.com/mongodb/node-mongodb-native/commit/0fbca4b))
1059* **url parser:** error when multiple hostnames used ([c1aa681](https://github.com/mongodb/node-mongodb-native/commit/c1aa681))
1060* **url parser:** keep original uri options and default to ssl true ([e876a72](https://github.com/mongodb/node-mongodb-native/commit/e876a72))
1061* **url parser:** log instead of throw error for unsupported url options ([155de2d](https://github.com/mongodb/node-mongodb-native/commit/155de2d))
1062* **url parser:** make sure uri has 3 parts ([aa9871b](https://github.com/mongodb/node-mongodb-native/commit/aa9871b))
1063* **url parser:** only 1 txt record allowed with 2 possible options ([d9f4218](https://github.com/mongodb/node-mongodb-native/commit/d9f4218))
1064* **url parser:** only check for multiple hostnames with srv protocol ([5542bcc](https://github.com/mongodb/node-mongodb-native/commit/5542bcc))
1065* **url parser:** remove .only from test ([642e39e](https://github.com/mongodb/node-mongodb-native/commit/642e39e))
1066* **url parser:** return callback ([6096afc](https://github.com/mongodb/node-mongodb-native/commit/6096afc))
1067* **url parser:** support single text record with multiple strings ([356fa57](https://github.com/mongodb/node-mongodb-native/commit/356fa57))
1068* **url parser:** try catch bug, not actually returning from try loop ([758892b](https://github.com/mongodb/node-mongodb-native/commit/758892b))
1069* **url parser:** use warn instead of info ([40ed27d](https://github.com/mongodb/node-mongodb-native/commit/40ed27d))
1070* **url-parser:** remove comment, send error to cb ([d44420b](https://github.com/mongodb/node-mongodb-native/commit/d44420b))
1071
1072
1073### Features
1074
1075* **aggregate:** support hit field for aggregate command ([aa7da15](https://github.com/mongodb/node-mongodb-native/commit/aa7da15))
1076* **aggregation:** adds support for comment in aggregation command ([#1571](https://github.com/mongodb/node-mongodb-native/issues/1571)) ([4ac475c](https://github.com/mongodb/node-mongodb-native/commit/4ac475c))
1077* **aggregation:** fail aggregation on explain + readConcern/writeConcern ([e0ca1b4](https://github.com/mongodb/node-mongodb-native/commit/e0ca1b4))
1078* **causal-consistency:** support `afterClusterTime` in readConcern ([a9097f7](https://github.com/mongodb/node-mongodb-native/commit/a9097f7))
1079* **change-streams:** add support for change streams ([c02d25c](https://github.com/mongodb/node-mongodb-native/commit/c02d25c))
1080* **collection:** updating find API ([f26362d](https://github.com/mongodb/node-mongodb-native/commit/f26362d))
1081* **execute-operation:** implementation for common op execution ([67c344f](https://github.com/mongodb/node-mongodb-native/commit/67c344f))
1082* **listDatabases:** add support for nameOnly option to listDatabases ([eb79b5a](https://github.com/mongodb/node-mongodb-native/commit/eb79b5a))
1083* **maxTimeMS:** adding maxTimeMS option to createIndexes and dropIndexes ([90d4a63](https://github.com/mongodb/node-mongodb-native/commit/90d4a63))
1084* **mongo-client:** implement `MongoClient.prototype.startSession` ([bce5adf](https://github.com/mongodb/node-mongodb-native/commit/bce5adf))
1085* **retryable-writes:** add support for `retryWrites` cs option ([2321870](https://github.com/mongodb/node-mongodb-native/commit/2321870))
1086* **sessions:** MongoClient will now track sessions and release ([6829f47](https://github.com/mongodb/node-mongodb-native/commit/6829f47))
1087* **sessions:** support passing sessions via objects in all methods ([a531f05](https://github.com/mongodb/node-mongodb-native/commit/a531f05))
1088* **shared:** add helper utilities for assertion and suite setup ([b6cc34e](https://github.com/mongodb/node-mongodb-native/commit/b6cc34e))
1089* **ssl:** adds missing ssl options ssl options for `ciphers` and `ecdhCurve` ([441b7b1](https://github.com/mongodb/node-mongodb-native/commit/441b7b1))
1090* **test-shared:** add `notEqual` assertion ([41d93fd](https://github.com/mongodb/node-mongodb-native/commit/41d93fd))
1091* **test-shared:** add `strictEqual` assertion method ([cad8e19](https://github.com/mongodb/node-mongodb-native/commit/cad8e19))
1092* **topologies:** expose underlaying `logicalSessionTimeoutMinutes' ([1609a37](https://github.com/mongodb/node-mongodb-native/commit/1609a37))
1093* **url parser:** better error message for slash in hostname ([457bc29](https://github.com/mongodb/node-mongodb-native/commit/457bc29))
1094
1095
1096### BREAKING CHANGES
1097
1098* **aggregation:** If you use aggregation, and try to use the explain flag while you
1099have a readConcern or writeConcern, your query will fail
1100* **collection:** `find` and `findOne` no longer support the `fields` parameter.
1101You can achieve the same results as the `fields` parameter by
1102either using `Cursor.prototype.project`, or by passing the `projection`
1103property in on the `options` object. Additionally, `find` does not
1104support individual options like `skip` and `limit` as positional
1105parameters. You must pass in these parameters in the `options` object
1106
1107
1108
11093.0.0 2017-??-??
1110----------------
1111* NODE-1043 URI-escaping authentication and hostname details in connection string
1112
11132.2.31 2017-08-08
1114-----------------
1115* update mongodb-core to 2.2.15
1116* allow auth option in MongoClient.connect
1117* remove duplicate option `promoteLongs` from MongoClient's `connect`
1118* bulk operations should not throw an error on empty batch
1119
11202.2.30 2017-07-07
1121-----------------
1122* Update mongodb-core to 2.2.14
1123* MongoClient
1124 * add `appname` to list of valid option names
1125 * added test for passing appname as option
1126* NODE-1052 ensure user options are applied while parsing connection string uris
1127
11282.2.29 2017-06-19
1129-----------------
1130* Update mongodb-core to 2.1.13
1131 * NODE-1039 ensure we force destroy server instances, forcing queue to be flushed.
1132 * Use actual server type in standalone SDAM events.
1133* Allow multiple map calls (Issue #1521, https://github.com/Robbilie).
1134* Clone insertMany options before mutating (Issue #1522, https://github.com/vkarpov15).
1135* NODE-1034 Fix GridStore issue caused by Node 8.0.0 breaking backward compatible fs.read API.
1136* NODE-1026, use operator instead of skip function in order to avoid useless fetch stage.
1137
11382.2.28 2017-06-02
1139-----------------
1140* Update mongodb-core to 2.1.12
1141 * NODE-1019 Set keepAlive to 300 seconds or 1/2 of socketTimeout if socketTimeout < keepAlive.
1142 * Minor fix to report the correct state on error.
1143 * NODE-1020 'family' was added to options to provide high priority for ipv6 addresses (Issue #1518, https://github.com/firej).
1144 * Fix require_optional loading of bson-ext.
1145 * Ensure no errors are thrown by replset if topology is destroyed before it finished connecting.
1146 * NODE-999 SDAM fixes for Mongos and single Server event emitting.
1147 * NODE-1014 Set socketTimeout to default to 360 seconds.
1148 * NODE-1019 Set keepAlive to 300 seconds or 1/2 of socketTimeout if socketTimeout < keepAlive.
1149* Just handle Collection name errors distinctly from general callback errors avoiding double callbacks in Db.collection.
1150* NODE-999 SDAM fixes for Mongos and single Server event emitting.
1151* NODE-1000 Added guard condition for upload.js checkDone function in case of race condition caused by late arriving chunk write.
1152
11532.2.27 2017-05-22
1154-----------------
1155* Updated mongodb-core to 2.1.11
1156 * NODE-987 Clear out old intervalIds on when calling topologyMonitor.
1157 * NODE-987 Moved filtering to pingServer method and added test case.
1158 * Check for connection destroyed just before writing out and flush out operations correctly if it is (Issue #179, https://github.com/jmholzinger).
1159 * NODE-989 Refactored Replicaset monitoring to correcly monitor newly added servers, Also extracted setTimeout and setInterval to use custom wrappers Timeout and Interval.
1160* NODE-985 Deprecated Db.authenticate and Admin.authenticate and moved auth methods into authenticate.js to ensure MongoClient.connect does not print deprecation warnings.
1161* NODE-988 Merged readConcern and hint correctly on collection(...).find(...).count()
1162* Fix passing the readConcern option to MongoClient.connect (Issue #1514, https://github.com/bausmeier).
1163* NODE-996 Propegate all events up to a MongoClient instance.
1164* Allow saving doc with null `_id` (Issue #1517, https://github.com/vkarpov15).
1165* NODE-993 Expose hasNext for command cursor and add docs for both CommandCursor and Aggregation Cursor.
1166
11672.2.26 2017-04-18
1168-----------------
1169* Updated mongodb-core to 2.1.10
1170 * NODE-981 delegate auth to replset/mongos if inTopology is set.
1171 * NODE-978 Wrap connection.end in try/catch for node 0.10.x issue causing exceptions to be thrown, Also surfaced getConnection for mongos and replset.
1172 * Remove dynamic require (Issue #175, https://github.com/tellnes).
1173 * NODE-696 Handle interrupted error for createIndexes.
1174 * Fixed isse when user is executing find command using Server.command and it get interpreted as a wire protcol message, #172.
1175 * NODE-966 promoteValues not being promoted correctly to getMore.
1176 * Merged in fix for flushing out monitoring operations.
1177* NODE-983 Add cursorId to aggregate and listCollections commands (Issue, #1510).
1178* Mark group and profilingInfo as deprecated methods
1179* NODE-956 DOCS Examples.
1180* Update readable-stream to version 2.2.7.
1181* NODE-978 Added test case to uncover connection.end issue for node 0.10.x.
1182* NODE-972 Fix(db): don't remove database name if collectionName == dbName (Issue, #1502)
1183* Fixed merging of writeConcerns on db.collection method.
1184* NODE-970 mix in readPreference for strict mode listCollections callback.
1185* NODE-966 added testcase for promoteValues being applied to getMore commands.
1186* NODE-962 Merge in ignoreUndefined from collection level for find/findOne.
1187* Remove multi option from updateMany tests/docs (Issue #1499, https://github.com/spratt).
1188* NODE-963 Correctly handle cursor.count when using APM.
1189
11902.2.25 2017-03-17
1191-----------------
1192* Don't rely on global toString() for checking if object (Issue #1494, https://github.com/vkarpov15).
1193* Remove obsolete option uri_decode_auth (Issue #1488, https://github.com/kamagatos).
1194* NODE-936 Correctly translate ReadPreference to CoreReadPreference for mongos queries.
1195* Exposed BSONRegExp type.
1196* NODE-950 push correct index for INSERT ops (https://github.com/mbroadst).
1197* NODE-951 Added support for sslCRL option and added a test case for it.
1198* NODE-953 Made batchSize issue general at cursor level.
1199* NODE-954 Remove write concern from reindex helper as it will not be supported in 3.6.
1200* Updated mongodb-core to 2.1.9.
1201 * Return lastIsMaster correctly when connecting with secondaryOnlyConnectionAllowed is set to true and only a secondary is available in replica state.
1202 * Clone options when passed to wireProtocol handler to avoid intermittent modifications causing errors.
1203 * Ensure SSL error propegates better for Replset connections when there is a SSL validation error.
1204 * NODE-957 Fixed issue where < batchSize not causing cursor to be closed on execution of first batch.
1205 * NODE-958 Store reconnectConnection on pool object to allow destroy to close immediately.
1206
12072.2.24 2017-02-14
1208-----------------
1209* NODE-935, NODE-931 Make MongoClient strict options validation optional and instead print annoying console.warn entries.
1210
12112.2.23 2017-02-13
1212-----------------
1213* Updated mongodb-core to 2.1.8.
1214 * NODE-925 ensure we reschedule operations while pool is < poolSize while pool is growing and there are no connections with not currently performing work.
1215 * NODE-927 fixes issue where authentication was performed against arbiter instances.
1216 * NODE-915 Normalize all host names to avoid comparison issues.
1217 * Fixed issue where pool.destroy would never finish due to a single operation not being executed and keeping it open.
1218* NODE-931 Validates all the options for MongoClient.connect and fixes missing connection settings.
1219* NODE-929 Update SSL tutorial to correctly reflect the non-need for server/mongos/replset subobjects
1220* Fix sensitive command check (Issue #1473, https://github.com/Annoraaq)
1221
12222.2.22 2017-01-24
1223-----------------
1224* Updated mongodb-core to 2.1.7.
1225 * NODE-919 ReplicaSet connection does not close immediately (Issue #156).
1226 * NODE-901 Fixed bug when normalizing host names.
1227 * NODE-909 Fixed readPreference issue caused by direct connection to primary.
1228 * NODE-910 Fixed issue when bufferMaxEntries == 0 and read preference set to nearest.
1229* Add missing unref implementations for replset, mongos (Issue #1455, https://github.com/zbjornson)
1230
12312.2.21 2017-01-13
1232-----------------
1233* Updated mongodb-core to 2.1.6.
1234 * NODE-908 Keep auth contexts in replset and mongos topology to ensure correct application of authentication credentials when primary is first server to be detected causing an immediate connect event to happen.
1235
12362.2.20 2017-01-11
1237-----------------
1238* Updated mongodb-core to 2.1.5 to include bson 1.0.4 and bson-ext 1.0.4 due to Buffer.from being broken in early node 4.x versions.
1239
12402.2.19 2017-01-03
1241-----------------
1242* Corrupted Npm release fix.
1243
12442.2.18 2017-01-03
1245-----------------
1246* Updated mongodb-core to 2.1.4 to fix bson ObjectId toString issue with utils.inspect messing with toString parameters in node 6.
1247
12482.2.17 2017-01-02
1249-----------------
1250* updated createCollection doc options and linked to create command.
1251* Updated mongodb-core to 2.1.3.
1252 * Monitoring operations are re-scheduled in pool if it cannot find a connection that does not already have scheduled work on it, this is to avoid the monitoring socket timeout being applied to any existing operations on the socket due to pipelining
1253 * Moved replicaset monitoring away from serial mode and to parallel mode.
1254 * updated bson and bson-ext dependencies to 1.0.2.
1255
12562.2.16 2016-12-13
1257-----------------
1258* NODE-899 reversed upsertedId change to bring back old behavior.
1259
12602.2.15 2016-12-10
1261-----------------
1262* Updated mongodb-core to 2.1.2.
1263 * Delay topologyMonitoring on successful attemptReconnect as no need to run a full scan immediately.
1264 * Emit reconnect event in primary joining when in connected status for a replicaset (Fixes mongoose reconnect issue).
1265
12662.2.14 2016-12-08
1267-----------------
1268* Updated mongodb-core to 2.1.1.
1269* NODE-892 Passthrough options.readPreference to mongodb-core ReplSet instance.
1270
12712.2.13 2016-12-05
1272-----------------
1273* Updated mongodb-core to 2.1.0.
1274* NODE-889 Fixed issue where legacy killcursor wire protocol messages would not be sent when APM is enabled.
1275* Expose parserType as property on topology objects.
1276
12772.2.12 2016-11-29
1278-----------------
1279* Updated mongodb-core to 2.0.14.
1280 * Updated bson library to 0.5.7.
1281 * Dont leak connection.workItems elments when killCursor is called (Issue #150, https://github.com/mdlavin).
1282 * Remove unnecessary errors formatting (Issue #149, https://github.com/akryvomaz).
1283 * Only check isConnected against availableConnections (Issue #142).
1284 * NODE-838 Provide better error message on failed to connect on first retry for Mongos topology.
1285 * Set default servername to host is not passed through for sni.
1286 * Made monitoring happen on exclusive connection and using connectionTimeout to handle the wait time before failure (Issue #148).
1287 * NODE-859 Make minimum value of maxStalenessSeconds 90 seconds.
1288 * NODE-852 Fix Kerberos module deprecations on linux and windows and release new kerberos version.
1289 * NODE-850 Update Max Staleness implementation.
1290 * NODE-849 username no longer required for MONGODB-X509 auth.
1291 * NODE-848 BSON Regex flags must be alphabetically ordered.
1292 * NODE-846 Create notice for all third party libraries.
1293 * NODE-843 Executing bulk operations overwrites write concern parameter.
1294 * NODE-842 Re-sync SDAM and SDAM Monitoring tests from Specs repo.
1295 * NODE-840 Resync CRUD spec tests.
1296 * Unescapable while(true) loop (Issue #152).
1297* NODE-864 close event not emits during network issues using single server topology.
1298* Introduced maxStalenessSeconds.
1299* NODE-840 Added CRUD specification test cases and fix minor issues with upserts reporting matchedCount > 0.
1300* Don't ignore Db-level authSource when using auth method. (https://github.com/donaldguy).
1301
13022.2.11 2016-10-21
1303-----------------
1304* Updated mongodb-core to 2.0.13.
1305 - Fire callback when topology was destroyed (Issue #147, https://github.com/vkarpov15).
1306 - Refactoring to support pipelining ala 1.4.x branch will retaining the benefits of the growing/shrinking pool (Issue #146).
1307 - Fix typo in serverHeartbeatFailed event name (Issue #143, https://github.com/jakesjews).
1308 - NODE-798 Driver hangs on count command in replica set with one member (Issue #141, https://github.com/isayme).
1309* Updated bson library to 0.5.6.
1310 - Included cyclic dependency detection
1311* Fix typo in serverHeartbeatFailed event name (Issue #1418, https://github.com/jakesjews).
1312* NODE-824, readPreference "nearest" does not work when specified at collection level.
1313* NODE-822, GridFSBucketWriteStream end method does not handle optional parameters.
1314* NODE-823, GridFSBucketWriteStream end: callback is invoked with invalid parameters.
1315* NODE-829, Using Start/End offset option in GridFSBucketReadStream doesn't return the right sized buffer.
1316
13172.2.10 2016-09-15
1318-----------------
1319* Updated mongodb-core to 2.0.12.
1320* fix debug logging message not printing server name.
1321* fixed application metadata being sent by wrong ismaster.
1322* NODE-812 Fixed mongos stall due to proxy monitoring ismaster failure causing reconnect.
1323* NODE-818 Replicaset timeouts in initial connect sequence can "no primary found".
1324* Updated bson library to 0.5.5.
1325* Added DBPointer up conversion to DBRef.
1326* MongoDB 3.4-RC Pass **appname** through MongoClient.connect uri or options to allow metadata to be passed.
1327* MongoDB 3.4-RC Pass collation options on update, findOne, find, createIndex, aggregate.
1328* MongoDB 3.4-RC Allow write concerns to be passed to all supporting server commands.
1329* MongoDB 3.4-RC Allow passing of **servername** as SSL options to support SNI.
1330
13312.2.9 2016-08-29
1332----------------
1333* Updated mongodb-core to 2.0.11.
1334* NODE-803, Fixed issue in how the latency window is calculated for Mongos topology causing issues for single proxy connections.
1335* Avoid timeout in attemptReconnect causing multiple attemptReconnect attempts to happen (Issue #134, https://github.com/dead-horse).
1336* Ensure promoteBuffers is propegated in same fashion as promoteValues and promoteLongs.
1337* Don't treat ObjectId as object for mapReduce scope (Issue #1397, https://github.com/vkarpov15).
1338
13392.2.8 2016-08-23
1340----------------
1341* Updated mongodb-core to 2.0.10.
1342* Added promoteValues flag (default to true) to allow user to specify they only want wrapped BSON values back instead of promotion to native types.
1343* Do not close mongos proxy connection on failed ismaster check in ha process (Issue #130).
1344
13452.2.7 2016-08-19
1346----------------
1347* If only a single mongos is provided in the seedlist, fix issue where it would be assigned as single standalone server instead of mongos topology (Issue #130).
1348* Updated mongodb-core to 2.0.9.
1349* Allow promoteLongs to be passed in through Response.parse method and overrides default set on the connection.
1350* NODE-798 Driver hangs on count command in replica set with one member.
1351* Allow promoteLongs to be passed in through Response.parse method and overrides default set on the connection.
1352* Allow passing in servername for TLS connections for SNI support.
1353
13542.2.6 2016-08-16
1355----------------
1356* Updated mongodb-core to 2.0.8.
1357* Allow execution of store operations independent of having both a primary and secondary available (Issue #123).
1358* Fixed command execution issue for mongos to ensure buffering of commands when no mongos available.
1359* Allow passing in an array of tags to ReadPreference constructor (Issue #1382, https://github.com/vkarpov15)
1360* Added hashed connection names and fullResult.
1361* Updated bson library to 0.5.3.
1362* Enable maxTimeMS in count, distinct, findAndModify.
1363
13642.2.5 2016-07-28
1365----------------
1366* Updated mongodb-core to 2.0.7.
1367* Allow primary to be returned when secondaryPreferred is passed (Issue #117, https://github.com/dhendo).
1368* Added better warnings when passing in illegal seed list members to a Mongos topology.
1369* Minor attemptReconnect bug that would cause multiple attemptReconnect to run in parallel.
1370* Fix wrong opType passed to disconnectHandler.add (Issue #121, https://github.com/adrian-gierakowski)
1371* Implemented domain backward comp support enabled via domainsEnabled options on Server/ReplSet/Mongos and MongoClient.connect.
1372
13732.2.4 2016-07-19
1374----------------
1375* NPM corrupted upload fix.
1376
13772.2.3 2016-07-19
1378----------------
1379* Updated mongodb-core to 2.0.6.
1380* Destroy connection on socket timeout due to newer node versions not closing the socket.
1381
13822.2.2 2016-07-15
1383----------------
1384* Updated mongodb-core to 2.0.5.
1385* Minor fixes to handle faster MongoClient connectivity from the driver, allowing single server instances to detect if they are a proxy.
1386* Added numberOfConsecutiveTimeouts to pool that will destroy the pool if the number of consecutive timeouts > reconnectTries.
1387* Print warning if seedlist servers host name does not match the one provided in it's ismaster.me field for Replicaset members.
1388* Fix issue where Replicaset connection would not succeeed if there the replicaset was a single primary server setup.
1389
13902.2.1 2016-07-11
1391----------------
1392* Updated mongodb-core to 2.0.4.
1393* handle situation where user is providing seedlist names that do not match host list. fix allows for a single full discovery connection sweep before erroring out.
1394* NODE-747 Polyfill for Object.assign for 0.12.x or 0.10.x.
1395* NODE-746 Improves replicaset errors for wrong setName.
1396
13972.2.0 2016-07-05
1398----------------
1399* Updated mongodb-core to 2.0.3.
1400* Moved all authentication and handling of growing/shrinking of pool connections into actual pool.
1401* All authentication methods now handle both auth/reauthenticate and logout events.
1402* Introduced logout method to get rid of onAll option for logout command.
1403* Updated bson to 0.5.0 that includes Decimal128 support.
1404* Fixed logger error serialization issue.
1405* Documentation fixes.
1406* Implemented Server Selection Specification test suite.
1407* Added warning level to logger.
1408* Added warning message when sockeTimeout < haInterval for Replset/Mongos.
1409* Mongos emits close event on no proxies available or when reconnect attempt fails.
1410* Replset emits close event when no servers available or when attemptReconnect fails to reconnect.
1411* Don't throw in auth methods but return error in callback.
1412
14132.1.21 2016-05-30
1414-----------------
1415* Updated mongodb-core to 1.3.21.
1416* Pool gets stuck if a connection marked for immediateRelease times out (Issue #99, https://github.com/nbrachet).
1417* Make authentication process retry up to authenticationRetries at authenticationRetryIntervalMS interval.
1418* Made ismaster replicaset calls operate with connectTimeout or monitorSocketTimeout to lower impact of big socketTimeouts on monitoring performance.
1419* Make sure connections mark as "immediateRelease" don't linger the inUserConnections list. Otherwise, after that connection times out, getAll() incorrectly returns more connections than are effectively present, causing the pool to not get restarted by reconnectServer. (Issue #99, https://github.com/nbrachet).
1420* Make cursor getMore or killCursor correctly trigger pool reconnect to single server if pool has not been destroyed.
1421* Make ismaster monitoring for single server connection default to avoid user confusion due to change in behavior.
1422
14232.1.20 2016-05-25
1424-----------------
1425* Refactored MongoClient options handling to simplify the logic, unifying it.
1426* NODE-707 Implemented openUploadStreamWithId on GridFS to allow for custom fileIds so users are able to customize shard key and shard distribution.
1427* NODE-710 Allow setting driver loggerLevel and logger function from MongoClient options.
1428* Updated mongodb-core to 1.3.20.
1429* Minor fix for SSL errors on connection attempts, minor fix to reconnect handler for the server.
1430* Don't write to socket before having registered the callback for commands, work around for windows issuing error events twice on node.js when socket gets destroyed by firewall.
1431* Fix minor issue where connectingServers would not be removed correctly causing single server connections to not auto-reconnect.
1432
14332.1.19 2016-05-17
1434----------------
1435* Handle situation where a server connection in a replicaset sometimes fails to be destroyed properly due to being in the middle of authentication when the destroy method is called on the replicaset causing it to be orphaned and never collected.
1436* Ensure replicaset topology destroy is never called by SDAM.
1437* Ensure all paths are correctly returned on inspectServer in replset.
1438* Updated mongodb-core to 1.3.19 to fix minor connectivity issue on quick open/close of MongoClient connections on auth enabled mongodb Replicasets.
1439
14402.1.18 2016-04-27
1441-----------------
1442* Updated mongodb-core to 1.3.18 to fix Node 6.0 issues.
1443
14442.1.17 2016-04-26
1445-----------------
1446* Updated mongodb-core to 1.3.16 to work around issue with early versions of node 0.10.x due to missing unref method on ClearText streams.
1447* INT-1308: Allow listIndexes to inherit readPreference from Collection or DB.
1448* Fix timeout issue using new flags #1361.
1449* Updated mongodb-core to 1.3.17.
1450* Better handling of unique createIndex error.
1451* Emit error only if db instance has an error listener.
1452* DEFAULT authMechanism; don't throw error if explicitly set by user.
1453
14542.1.16 2016-04-06
1455-----------------
1456* Updated mongodb-core to 1.3.16.
1457
14582.1.15 2016-04-06
1459-----------------
1460* Updated mongodb-core to 1.3.15.
1461* Set ssl, sslValidate etc to mongosOptions on url_parser (Issue #1352, https://github.com/rubenstolk).
1462- NODE-687 Fixed issue where a server object failed to be destroyed if the replicaset state did not update successfully. This could leave active connections accumulating over time.
1463- Fixed some situations where all connections are flushed due to a single connection in the connection pool closing.
1464
14652.1.14 2016-03-29
1466-----------------
1467* Updated mongodb-core to 1.3.13.
1468* Handle missing cursor on getMore when going through a mongos proxy by pinning to socket connection and not server.
1469
14702.1.13 2016-03-29
1471-----------------
1472* Updated mongodb-core to 1.3.12.
1473
14742.1.12 2016-03-29
1475-----------------
1476* Updated mongodb-core to 1.3.11.
1477* Mongos setting acceptableLatencyMS exposed to control the latency women for mongos selection.
1478* Mongos pickProxies fall back to closest mongos if no proxies meet latency window specified.
1479* isConnected method for mongos uses same selection code as getServer.
1480* Exceptions in cursor getServer trapped and correctly delegated to high level handler.
1481
14822.1.11 2016-03-23
1483-----------------
1484* Updated mongodb-core to 1.3.10.
1485* Introducing simplified connections settings.
1486
14872.1.10 2016-03-21
1488-----------------
1489* Updated mongodb-core to 1.3.9.
1490* Fixing issue that prevented mapReduce stats from being resolved (Issue #1351, https://github.com/davidgtonge)
1491* Forwards SDAM monitoring events from mongodb-core.
1492
14932.1.9 2016-03-16
1494----------------
1495* Updated mongodb-core to 1.3.7 to fix intermittent race condition that causes some users to experience big amounts of socket connections.
1496* Makde bson parser in ordered/unordered bulk be directly from mongodb-core to avoid intermittent null error on mongoose.
1497
14982.1.8 2016-03-14
1499----------------
1500* Updated mongodb-core to 1.3.5.
1501* NODE-660 TypeError: Cannot read property 'noRelease' of undefined.
1502* Harden MessageHandler in server.js to avoid issues where we cannot find a callback for an operation.
1503* Ensure RequestId can never be larger than Max Number integer size.
1504* NODE-661 typo in url_parser.js resulting in replSetServerOptions is not defined when connecting over ssl.
1505* Confusing error with invalid partial index filter (Issue #1341, https://github.com/vkarpov15).
1506* NODE-669 Should only error out promise for bulkWrite when error is a driver level error not a write error or write concern error.
1507* NODE-662 shallow copy options on methods that are not currently doing it to avoid passed in options mutiation.
1508* NODE-663 added lookup helper on aggregation cursor.
1509* NODE-585 Result object specified incorrectly for findAndModify?.
1510* NODE-666 harden validation for findAndModify CRUD methods.
1511
15122.1.7 2016-02-09
1513----------------
1514* NODE-656 fixed corner case where cursor count command could be left without a connection available.
1515* NODE-658 Work around issue that bufferMaxEntries:-1 for js gets interpreted wrongly due to double nature of Javascript numbers.
1516* Fix: GridFS always returns the oldest version due to incorrect field name (Issue #1338, https://github.com/mdebruijne).
1517* NODE-655 GridFS stream support for cancelling upload streams and download streams (Issue #1339, https://github.com/vkarpov15).
1518* NODE-657 insertOne don`t return promise in some cases.
1519* Added destroy alias for abort function on GridFSBucketWriteStream.
1520
15212.1.6 2016-02-05
1522----------------
1523* Updated mongodb-core to 1.3.1.
1524
15252.1.5 2016-02-04
1526----------------
1527* Updated mongodb-core to 1.3.0.
1528* Added raw support for the command function on topologies.
1529* Fixed issue where raw results that fell on batchSize boundaries failed (Issue #72)
1530* Copy over all the properties to the callback returned from bindToDomain, (Issue #72)
1531* Added connection hash id to be able to reference connection host/name without leaking it outside of driver.
1532* NODE-638, Cannot authenticate database user with utf-8 password.
1533* Refactored pool to be worker queue based, minimizing the impact a slow query have on throughput as long as # slow queries < # connections in the pool.
1534* Pool now grows and shrinks correctly depending on demand not causing a full pool reconnect.
1535* Improvements in monitoring of a Replicaset where in certain situations the inquiry process could get exited.
1536* Switched to using Array.push instead of concat for use cases of a lot of documents.
1537* Fixed issue where re-authentication could loose the credentials if whole Replicaset disconnected at once.
1538* Added peer optional dependencies support using require_optional module.
1539* Bug is listCollections for collection names that start with db name (Issue #1333, https://github.com/flyingfisher)
1540* Emit error before closing stream (Issue #1335, https://github.com/eagleeye)
1541
15422.1.4 2016-01-12
1543----------------
1544* Restricted node engine to >0.10.3 (https://jira.mongodb.org/browse/NODE-635).
1545* Multiple database names ignored without a warning (https://jira.mongodb.org/browse/NODE-636, Issue #1324, https://github.com/yousefhamza).
1546* Convert custom readPreference objects in collection.js (Issue #1326, https://github.com/Machyne).
1547
15482.1.3 2016-01-04
1549----------------
1550* Updated mongodb-core to 1.2.31.
1551* Allow connection to secondary if primaryPreferred or secondaryPreferred (Issue #70, https://github.com/leichter)
1552
15532.1.2 2015-12-23
1554----------------
1555* Updated mongodb-core to 1.2.30.
1556* Pool allocates size + 1 connections when using replicasets, reserving additional pool connection for monitoring exclusively.
1557* Fixes bug when all replicaset members are down, that would cause it to fail to reconnect using the originally provided seedlist.
1558
15592.1.1 2015-12-13
1560----------------
1561* Surfaced checkServerIdentity options for MongoClient, Server, ReplSet and Mongos to allow for control of the checkServerIdentity method available in Node.s 0.12.x or higher.
1562* Added readPreference support to listCollections and listIndexes helpers.
1563* Updated mongodb-core to 1.2.28.
1564
15652.1.0 2015-12-06
1566----------------
1567* Implements the connection string specification, https://github.com/mongodb/specifications/blob/master/source/connection-string/connection-string-spec.rst.
1568* Implements the new GridFS specification, https://github.com/mongodb/specifications/blob/master/source/gridfs/gridfs-spec.rst.
1569* Full MongoDB 3.2 support.
1570* NODE-601 Added maxAwaitTimeMS support for 3.2 getMore to allow for custom timeouts on tailable cursors.
1571* Updated mongodb-core to 1.2.26.
1572* Return destination in GridStore pipe function.
1573* NODE-606 better error handling on destroyed topology for db.js methods.
1574* Added isDestroyed method to server, replset and mongos topologies.
1575* Upgraded test suite to run using mongodb-topology-manager.
1576
15772.0.53 2015-12-23
1578-----------------
1579* Updated mongodb-core to 1.2.30.
1580* Pool allocates size + 1 connections when using replicasets, reserving additional pool connection for monitoring exclusively.
1581* Fixes bug when all replicaset members are down, that would cause it to fail to reconnect using the originally provided seedlist.
1582
15832.0.52 2015-12-14
1584-----------------
1585* removed remove from Gridstore.close.
1586
15872.0.51 2015-12-13
1588-----------------
1589* Surfaced checkServerIdentity options for MongoClient, Server, ReplSet and Mongos to allow for control of the checkServerIdentity method available in Node.s 0.12.x or higher.
1590* Added readPreference support to listCollections and listIndexes helpers.
1591* Updated mongodb-core to 1.2.28.
1592
15932.0.50 2015-12-06
1594-----------------
1595* Updated mongodb-core to 1.2.26.
1596
15972.0.49 2015-11-20
1598-----------------
1599* Updated mongodb-core to 1.2.24 with several fixes.
1600 * Fix Automattic/mongoose#3481; flush callbacks on error, (Issue #57, https://github.com/vkarpov15).
1601 * $explain query for wire protocol 2.6 and 2.4 does not set number of returned documents to -1 but to 0.
1602 * ismaster runs against admin.$cmd instead of system.$cmd.
1603 * Fixes to handle getMore command errors for MongoDB 3.2
1604 * Allows the process to properly close upon a Db.close() call on the replica set by shutting down the haTimer and closing arbiter connections.
1605
16062.0.48 2015-11-07
1607-----------------
1608* GridFS no longer performs any deletes when writing a brand new file that does not have any previous <db>.fs.chunks or <db>.fs.files documents.
1609* Updated mongodb-core to 1.2.21.
1610* Hardened the checking for replicaset equality checks.
1611* OpReplay flag correctly set on Wire protocol query.
1612* Mongos load balancing added, introduced localThresholdMS to control the feature.
1613* Kerberos now a peerDependency, making it not install it by default in Node 5.0 or higher.
1614
16152.0.47 2015-10-28
1616-----------------
1617* Updated mongodb-core to 1.2.20.
1618* Fixed bug in arbiter connection capping code.
1619* NODE-599 correctly handle arrays of server tags in order of priority.
1620* Fix for 2.6 wire protocol handler related to readPreference handling.
1621* Added maxAwaitTimeMS support for 3.2 getMore to allow for custom timeouts on tailable cursors.
1622* Make CoreCursor check for $err before saying that 'next' succeeded (Issue #53, https://github.com/vkarpov15).
1623
16242.0.46 2015-10-15
1625-----------------
1626* Updated mongodb-core to 1.2.19.
1627* NODE-578 Order of sort fields is lost for numeric field names.
1628* Expose BSON Map (ES6 Map or polyfill).
1629* Minor fixes for APM support to pass extended APM test suite.
1630
16312.0.45 2015-09-30
1632-----------------
1633* NODE-566 Fix issue with rewind on capped collections causing cursor state to be reset on connection loss.
1634
16352.0.44 2015-09-28
1636-----------------
1637* Bug fixes for APM upconverting of legacy INSERT/UPDATE/REMOVE wire protocol messages.
1638* NODE-562, fixed issue where a Replicaset MongoDB URI with a single seed and replSet name set would cause a single direct connection instead of topology discovery.
1639* Updated mongodb-core to 1.2.14.
1640* NODE-563 Introduced options.ignoreUndefined for db class and MongoClient db options, made serialize undefined to null default again but allowing for overrides on insert/update/delete operations.
1641* Use handleCallback if result is an error for count queries. (Issue #1298, https://github.com/agclever)
1642* Rewind cursor to correctly force reconnect on capped collections when first query comes back empty.
1643* NODE-571 added code 59 to legacy server errors when SCRAM-SHA-1 mechanism fails.
1644* NODE-572 Remove examples that use the second parameter to `find()`.
1645
16462.0.43 2015-09-14
1647-----------------
1648* Propagate timeout event correctly to db instances.
1649* Application Monitoring API (APM) implemented.
1650* NOT providing replSet name in MongoClient connection URI will force single server connection. Fixes issue where it was impossible to directly connect to a replicaset member server.
1651* Updated mongodb-core to 1.2.12.
1652* NODE-541 Initial Support "read committed" isolation level where "committed" means confimed by the voting majority of a replica set.
1653* GridStore doesn't share readPreference setting from connection string. (Issue #1295, https://github.com/zhangyaoxing)
1654* fixed forceServerObjectId calls (Issue #1292, https://github.com/d-mon-)
1655* Pass promise library through to DB function (Issue #1294, https://github.com/RovingCodeMonkey)
1656
16572.0.42 2015-08-18
1658-----------------
1659* Added test case to exercise all non-crud methods on mongos topologies, fixed numberOfConnectedServers on mongos topology instance.
1660
16612.0.41 2015-08-14
1662-----------------
1663* Added missing Mongos.prototype.parserType function.
1664* Updated mongodb-core to 1.2.10.
1665
16662.0.40 2015-07-14
1667-----------------
1668* Updated mongodb-core to 1.2.9 for 2.4 wire protocol error handler fix.
1669* NODE-525 Reset connectionTimeout after it's overwritten by tls.connect.
1670* NODE-518 connectTimeoutMS is doubled in 2.0.39.
1671* NODE-506 Ensures that errors from bulk unordered and ordered are instanceof Error (Issue #1282, https://github.com/owenallenaz).
1672* NODE-526 Unique index not throwing duplicate key error.
1673* NODE-528 Ignore undefined fields in Collection.find().
1674* NODE-527 The API example for collection.createIndex shows Db.createIndex functionality.
1675
16762.0.39 2015-07-14
1677-----------------
1678* Updated mongodb-core to 1.2.6 for NODE-505.
1679
16802.0.38 2015-07-14
1681-----------------
1682* NODE-505 Query fails to find records that have a 'result' property with an array value.
1683
16842.0.37 2015-07-14
1685-----------------
1686* NODE-504 Collection * Default options when using promiseLibrary.
1687* NODE-500 Accidental repeat of hostname in seed list multiplies total connections persistently.
1688* Updated mongodb-core to 1.2.5 to fix NODE-492.
1689
16902.0.36 2015-07-07
1691-----------------
1692* Fully promisified allowing the use of ES6 generators and libraries like co. Also allows for BYOP (Bring your own promises).
1693* NODE-493 updated mongodb-core to 1.2.4 to ensure we cannot DDOS the mongod or mongos process on large connection pool sizes.
1694
16952.0.35 2015-06-17
1696-----------------
1697* Upgraded to mongodb-core 1.2.2 including removing warnings when C++ bson parser is not available and a fix for SCRAM authentication.
1698
16992.0.34 2015-06-17
1700-----------------
1701* Upgraded to mongodb-core 1.2.1 speeding up serialization and removing the need for the c++ bson extension.
1702* NODE-486 fixed issue related to limit and skip when calling toArray in 2.0 driver.
1703* NODE-483 throw error if capabilities of topology is queries before topology has performed connection setup.
1704* NODE-482 fixed issue where MongoClient.connect would incorrectly identify a replset seed list server as a non replicaset member.
1705* NODE-487 fixed issue where killcursor command was not being sent correctly on limit and skip queries.
1706
17072.0.33 2015-05-20
1708-----------------
1709* Bumped mongodb-core to 1.1.32.
1710
17112.0.32 2015-05-19
1712-----------------
1713* NODE-463 db.close immediately executes its callback.
1714* Don't only emit server close event once (Issue #1276, https://github.com/vkarpov15).
1715* NODE-464 Updated mongodb-core to 1.1.31 that uses a single socket connection to arbiters and hidden servers as well as emitting all event correctly.
1716
17172.0.31 2015-05-08
1718-----------------
1719* NODE-461 Tripping on error "no chunks found for file, possibly corrupt" when there is no error.
1720
17212.0.30 2015-05-07
1722-----------------
1723* NODE-460 fix; don't set authMechanism for user in db.authenticate() to avoid mongoose authentication issue.
1724
17252.0.29 2015-05-07
1726-----------------
1727* NODE-444 Possible memory leak, too many listeners added.
1728* NODE-459 Auth failure using Node 0.8.28, MongoDB 3.0.2 & mongodb-node-native 1.4.35.
1729* Bumped mongodb-core to 1.1.26.
1730
17312.0.28 2015-04-24
1732-----------------
1733* Bumped mongodb-core to 1.1.25
1734* Added Cursor.prototype.setCursorOption to allow for setting node specific cursor options for tailable cursors.
1735* NODE-430 Cursor.count() opts argument masked by var opts = {}
1736* NODE-406 Implemented Cursor.prototype.map function tapping into MongoClient cursor transforms.
1737* NODE-438 replaceOne is not returning the result.ops property as described in the docs.
1738* NODE-433 _read, pipe and write all open gridstore automatically if not open.
1739* NODE-426 ensure drain event is emitted after write function returns, fixes intermittent issues in writing files to gridstore.
1740* NODE-440 GridStoreStream._read() doesn't check GridStore.read() error.
1741* Always use readPreference = primary for findAndModify command (ignore passed in read preferences) (Issue #1274, https://github.com/vkarpov15).
1742* Minor fix in GridStore.exists for dealing with regular expressions searches.
1743
17442.0.27 2015-04-07
1745-----------------
1746* NODE-410 Correctly handle issue with pause/resume in Node 0.10.x that causes exceptions when using the Node 0.12.0 style streams.
1747
17482.0.26 2015-04-07
1749-----------------
1750* Implements the Common Index specification Standard API at https://github.com/mongodb/specifications/blob/master/source/index-management.rst.
1751* NODE-408 Expose GridStore.currentChunk.chunkNumber.
1752
17532.0.25 2015-03-26
1754-----------------
1755* Upgraded mongodb-core to 1.1.21, making the C++ bson code an optional dependency to the bson module.
1756
17572.0.24 2015-03-24
1758-----------------
1759* NODE-395 Socket Not Closing, db.close called before full set finished initalizing leading to server connections in progress not being closed properly.
1760* Upgraded mongodb-core to 1.1.20.
1761
17622.0.23 2015-03-21
1763-----------------
1764* NODE-380 Correctly return MongoError from toError method.
1765* Fixed issue where addCursorFlag was not correctly setting the flag on the command for mongodb-core.
1766* NODE-388 Changed length from method to property on order.js/unordered.js bulk operations.
1767* Upgraded mongodb-core to 1.1.19.
1768
17692.0.22 2015-03-16
1770-----------------
1771* NODE-377, fixed issue where tags would correctly be checked on secondary and nearest to filter out eligible server candidates.
1772* Upgraded mongodb-core to 1.1.17.
1773
17742.0.21 2015-03-06
1775-----------------
1776* Upgraded mongodb-core to 1.1.16 making sslValidate default to true to force validation on connection unless overriden by the user.
1777
17782.0.20 2015-03-04
1779-----------------
1780* Updated mongodb-core 1.1.15 to relax pickserver method.
1781
17822.0.19 2015-03-03
1783-----------------
1784* NODE-376 Fixes issue * Unordered batch incorrectly tracks batch size when switching batch types (Issue #1261, https://github.com/meirgottlieb)
1785* NODE-379 Fixes bug in cursor.count() that causes the result to always be zero for dotted collection names (Issue #1262, https://github.com/vsivsi)
1786* Expose MongoError from mongodb-core (Issue #1260, https://github.com/tjconcept)
1787
17882.0.18 2015-02-27
1789-----------------
1790* Bumped mongodb-core 1.1.14 to ensure passives are correctly added as secondaries.
1791
17922.0.17 2015-02-27
1793-----------------
1794* NODE-336 Added length function to ordered and unordered bulk operations to be able know the amount of current operations in bulk.
1795* Bumped mongodb-core 1.1.13 to ensure passives are correctly added as secondaries.
1796
17972.0.16 2015-02-16
1798-----------------
1799* listCollection now returns filtered result correctly removing db name for 2.6 or earlier servers.
1800* Bumped mongodb-core 1.1.12 to correctly work for node 0.12.0 and io.js.
1801* Add ability to get collection name from cursor (Issue #1253, https://github.com/vkarpov15)
1802
18032.0.15 2015-02-02
1804-----------------
1805* Unified behavior of listCollections results so 3.0 and pre 3.0 return same type of results.
1806* Bumped mongodb-core to 1.1.11 to support per document tranforms in cursors as well as relaxing the setName requirement.
1807* NODE-360 Aggregation cursor and command correctly passing down the maxTimeMS property.
1808* Added ~1.0 mongodb-tools module for test running.
1809* Remove the required setName for replicaset connections, if not set it will pick the first setName returned.
1810
18112.0.14 2015-01-21
1812-----------------
1813* Fixed some MongoClient.connect options pass through issues and added test coverage.
1814* Bumped mongodb-core to 1.1.9 including fixes for io.js
1815
18162.0.13 2015-01-09
1817-----------------
1818* Bumped mongodb-core to 1.1.8.
1819* Optimized query path for performance, moving Object.defineProperty outside of constructors.
1820
18212.0.12 2014-12-22
1822-----------------
1823* Minor fixes to listCollections to ensure correct querying of a collection when using a string.
1824
18252.0.11 2014-12-19
1826-----------------
1827* listCollections filters out index namespaces on < 2.8 correctly
1828* Bumped mongo-client to 1.1.7
1829
18302.0.10 2014-12-18
1831-----------------
1832* NODE-328 fixed db.open return when no callback available issue and added test.
1833* NODE-327 Refactored listCollections to return cursor to support 2.8.
1834* NODE-327 Added listIndexes method and refactored internal methods to use the new command helper.
1835* NODE-335 Cannot create index for nested objects fixed by relaxing key checking for createIndex helper.
1836* Enable setting of connectTimeoutMS (Issue #1235, https://github.com/vkarpov15)
1837* Bumped mongo-client to 1.1.6
1838
18392.0.9 2014-12-01
1840----------------
1841* Bumped mongodb-core to 1.1.3 fixing global leaked variables and introducing strict across all classes.
1842* All classes are now strict (Issue #1233)
1843* NODE-324 Refactored insert/update/remove and all other crud opts to rely on internal methods to avoid any recursion.
1844* Fixed recursion issues in debug logging due to JSON.stringify()
1845* Documentation fixes (Issue #1232, https://github.com/wsmoak)
1846* Fix writeConcern in Db.prototype.ensureIndex (Issue #1231, https://github.com/Qard)
1847
18482.0.8 2014-11-28
1849----------------
1850* NODE-322 Finished up prototype refactoring of Db class.
1851* NODE-322 Exposed Cursor in index.js for New Relic.
1852
18532.0.7 2014-11-20
1854----------------
1855* Bumped mongodb-core to 1.1.2 fixing a UTF8 encoding issue for collection names.
1856* NODE-318 collection.update error while setting a function with serializeFunctions option.
1857* Documentation fixes.
1858
18592.0.6 2014-11-14
1860----------------
1861* Refactored code to be prototype based instead of privileged methods.
1862* Bumped mongodb-core to 1.1.1 to take advantage of the prototype based refactorings.
1863* Implemented missing aspects of the CRUD specification.
1864* Fixed documentation issues.
1865* Fixed global leak REFERENCE_BY_ID in gridfs grid_store (Issue #1225, https://github.com/j)
1866* Fix LearnBoost/mongoose#2313: don't let user accidentally clobber geoNear params (Issue #1223, https://github.com/vkarpov15)
1867
18682.0.5 2014-10-29
1869----------------
1870* Minor fixes to documentation and generation of documentation.
1871* NODE-306 (No results in aggregation cursor when collection name contains a dot), Merged code for cursor and aggregation cursor.
1872
18732.0.4 2014-10-23
1874----------------
1875* Allow for single replicaset seed list with no setName specified (Issue #1220, https://github.com/imaman)
1876* Made each rewind on each call allowing for re-using the cursor.
1877* Fixed issue where incorrect iterations would happen on each for extensive batchSizes.
1878* NODE-301 specifying maxTimeMS on find causes all fields to be omitted from result.
1879
18802.0.3 2014-10-14
1881----------------
1882* NODE-297 Aggregate Broken for case of pipeline with no options.
1883
18842.0.2 2014-10-08
1885----------------
1886* Bumped mongodb-core to 1.0.2.
1887* Fixed bson module dependency issue by relying on the mongodb-core one.
1888* Use findOne instead of find followed by nextObject (Issue #1216, https://github.com/sergeyksv)
1889
18902.0.1 2014-10-07
1891----------------
1892* Dependency fix
1893
18942.0.0 2014-10-07
1895----------------
1896* First release of 2.0 driver
1897
18982.0.0-alpha2 2014-10-02
1899-----------------------
1900* CRUD API (insertOne, insertMany, updateOne, updateMany, removeOne, removeMany, bulkWrite, findOneAndDelete, findOneAndUpdate, findOneAndReplace)
1901* Cluster Management Spec compatible.
1902
19032.0.0-alpha1 2014-09-08
1904-----------------------
1905* Insert method allows only up 1000 pr batch for legacy as well as 2.6 mode
1906* Streaming behavior is 0.10.x or higher with backwards compatibility using readable-stream npm package
1907* Gridfs stream only available through .stream() method due to overlapping names on Gridstore object and streams in 0.10.x and higher of node
1908* remove third result on update and remove and return the whole result document instead (getting rid of the weird 3 result parameters)
1909 * Might break some application
1910* Returns the actual mongodb-core result instead of just the number of records changed for insert/update/remove
1911* MongoClient only has the connect method (no ability instantiate with Server, ReplSet or similar)
1912* Removed Grid class
1913* GridStore only supports w+ for metadata updates, no appending to file as it's not thread safe and can cause corruption of the data
1914 + seek will fail if attempt to use with w or w+
1915 + write will fail if attempted with w+ or r
1916 + w+ only works for updating metadata on a file
1917* Cursor toArray and each resets and re-runs the cursor
1918* FindAndModify returns whole result document instead of just value
1919* Extend cursor to allow for setting all the options via methods instead of dealing with the current messed up find
1920* Removed db.dereference method
1921* Removed db.cursorInfo method
1922* Removed db.stats method
1923* Removed db.collectionNames not needed anymore as it's just a specialized case of listCollections
1924* Removed db.collectionInfo removed due to not being compatible with new storage engines in 2.8 as they need to use the listCollections command due to system collections not working for namespaces.
1925* Added db.listCollections to replace several methods above
1926
19271.4.10 2014-09-04
1928-----------------
1929* Fixed BSON and Kerberos compilation issues
1930* Bumped BSON to ~0.2 always installing latest BSON 0.2.x series
1931* Fixed Kerberos and bumped to 0.0.4
1932
19331.4.9 2014-08-26
1934----------------
1935* Check _bsonType for Binary (Issue #1202, https://github.com/mchapman)
1936* Remove duplicate Cursor constructor (Issue #1201, https://github.com/KenPowers)
1937* Added missing parameter in the documentation (Issue #1199, https://github.com/wpjunior)
1938* Documented third parameter on the update callback(Issue #1196, https://github.com/gabmontes)
1939* NODE-240 Operations on SSL connection hang on node 0.11.x
1940* NODE-235 writeResult is not being passed on when error occurs in insert
1941* NODE-229 Allow count to work with query hints
1942* NODE-233 collection.save() does not support fullResult
1943* NODE-244 Should parseError also emit a `disconnected` event?
1944* NODE-246 Cursors are inefficiently constructed and consequently cannot be promisified.
1945* NODE-248 Crash with X509 auth
1946* NODE-252 Uncaught Exception in Base.__executeAllServerSpecificErrorCallbacks
1947* Bumped BSON parser to 0.2.12
1948
1949
19501.4.8 2014-08-01
1951----------------
1952* NODE-205 correctly emit authenticate event
1953* NODE-210 ensure no undefined connection error when checking server state
1954* NODE-212 correctly inherit socketTimeoutMS from replicaset when HA process adds new servers or reconnects to existing ones
1955* NODE-220 don't throw error if ensureIndex errors out in Gridstore
1956* Updated bson to 0.2.11 to ensure correct toBSON behavior when returning non object in nested classes
1957* Fixed test running filters
1958* Wrap debug log in a call to format (Issue #1187, https://github.com/andyroyle)
1959* False option values should not trigger w:1 (Issue #1186, https://github.com/jsdevel)
1960* Fix aggregatestream.close(Issue #1194, https://github.com/jonathanong)
1961* Fixed parsing issue for w:0 in url parser when in connection string
1962* Modified collection.geoNear to support a geoJSON point or legacy coordinate pair (Issue #1198, https://github.com/mmacmillan)
1963
19641.4.7 2014-06-18
1965----------------
1966* Make callbacks to be executed in right domain when server comes back up (Issue #1184, https://github.com/anton-kotenko)
1967* Fix issue where currentOp query against mongos would fail due to mongos passing through $readPreference field to mongod (CS-X)
1968
19691.4.6 2014-06-12
1970----------------
1971* Added better support for MongoClient IP6 parsing (Issue #1181, https://github.com/micovery)
1972* Remove options check on index creation (Issue #1179, Issue #1183, https://github.com/jdesboeufs, https://github.com/rubenvereecken)
1973* Added missing type check before calling optional callback function (Issue #1180)
1974
19751.4.5 2014-05-21
1976----------------
1977* Added fullResult flag to insert/update/remove which will pass raw result document back. Document contents will vary depending on the server version the driver is talking to. No attempt is made to coerce a joint response.
1978* Fix to avoid MongoClient.connect hanging during auth when secondaries building indexes pre 2.6.
1979* return the destination stream in GridStore.pipe (Issue #1176, https://github.com/iamdoron)
1980
19811.4.4 2014-05-13
1982----------------
1983* Bumped BSON version to use the NaN 1.0 package, fixed strict comparison issue for ObjectID
1984* Removed leaking global variable (Issue #1174, https://github.com/dainis)
1985* MongoClient respects connectTimeoutMS for initial discovery process (NODE-185)
1986* Fix bug with return messages larger than 16MB but smaller than max BSON Message Size (NODE-184)
1987
19881.4.3 2014-05-01
1989----------------
1990* Clone options for commands to avoid polluting original options passed from Mongoose (Issue #1171, https://github.com/vkarpov15)
1991* Made geoNear and geoHaystackSearch only clean out allowed options from command generation (Issue #1167)
1992* Fixed typo for allowDiskUse (Issue #1168, https://github.com/joaofranca)
1993* A 'mapReduce' function changed 'function' to instance '\<Object\>' of 'Code' class (Issue #1165, https://github.com/exabugs)
1994* Made findAndModify set sort only when explicitly set (Issue #1163, https://github.com/sars)
1995* Rewriting a gridStore file by id should use a new filename if provided (Issue #1169, https://github.com/vsivsi)
1996
19971.4.2 2014-04-15
1998----------------
1999* Fix for inheritance of readPreferences from MongoClient NODE-168/NODE-169
2000* Merged in fix for ping strategy to avoid hitting non-pinged servers (Issue #1161, https://github.com/vaseker)
2001* Merged in fix for correct debug output for connection messages (Issue #1158, https://github.com/vaseker)
2002* Fixed global variable leak (Issue #1160, https://github.com/vaseker)
2003
20041.4.1 2014-04-09
2005----------------
2006* Correctly emit joined event when primary change
2007* Add _id to documents correctly when using bulk operations
2008
20091.4.0 2014-04-03
2010----------------
2011* All node exceptions will no longer be caught if on('error') is defined
2012* Added X509 auth support
2013* Fix for MongoClient connection timeout issue (NODE-97)
2014* Pass through error messages from parseError instead of just text (Issue #1125)
2015* Close db connection on error (Issue #1128, https://github.com/benighted)
2016* Fixed documentation generation
2017* Added aggregation cursor for 2.6 and emulated cursor for pre 2.6 (uses stream2)
2018* New Bulk API implementation using write commands for 2.6 and down converts for pre 2.6
2019* Insert/Update/Remove using new write commands when available
2020* Added support for new roles based API's in 2.6 for addUser/removeUser
2021* Added bufferMaxEntries to start failing if the buffer hits the specified number of entries
2022* Upgraded BSON parser to version 0.2.7 to work with < 0.11.10 C++ API changes
2023* Support for OP_LOG_REPLAY flag (NODE-94)
2024* Fixes for SSL HA ping and discovery.
2025* Uses createIndexes if available for ensureIndex/createIndex
2026* Added parallelCollectionScan method to collection returning CommandCursor instances for cursors
2027* Made CommandCursor behave as Readable stream.
2028* Only Db honors readPreference settings, removed Server.js legacy readPreference settings due to user confusion.
2029* Reconnect event emitted by ReplSet/Mongos/Server after reconnect and before replaying of buffered operations.
2030* GridFS buildMongoObject returns error on illegal md5 (NODE-157, https://github.com/iantocristian)
2031* Default GridFS chunk size changed to (255 * 1024) bytes to optimize for collections defaulting to power of 2 sizes on 2.6.
2032* Refactored commands to all go through command function ensuring consistent command execution.
2033* Fixed issues where readPreferences where not correctly passed to mongos.
2034* Catch error == null and make err detection more prominent (NODE-130)
2035* Allow reads from arbiter for single server connection (NODE-117)
2036* Handle error coming back with no documents (NODE-130)
2037* Correctly use close parameter in Gridstore.write() (NODE-125)
2038* Throw an error on a bulk find with no selector (NODE-129, https://github.com/vkarpov15)
2039* Use a shallow copy of options in find() (NODE-124, https://github.com/vkarpov15)
2040* Fix statistical strategy (NODE-158, https://github.com/vkarpov15)
2041* GridFS off-by-one bug in lastChunkNumber() causes uncaught throw and data loss (Issue #1154, https://github.com/vsivsi)
2042* GridStore drops passed `aliases` option, always results in `null` value in GridFS files (Issue #1152, https://github.com/vsivsi)
2043* Remove superfluous connect object copying in index.js (Issue #1145, https://github.com/thomseddon)
2044* Do not return false when the connection buffer is still empty (Issue #1143, https://github.com/eknkc)
2045* Check ReadPreference object on ReplSet.canRead (Issue #1142, https://github.com/eknkc)
2046* Fix unpack error on _executeQueryCommand (Issue #1141, https://github.com/eknkc)
2047* Close db on failed connect so node can exit (Issue #1128, https://github.com/benighted)
2048* Fix global leak with _write_concern (Issue #1126, https://github.com/shanejonas)
2049
20501.3.19 2013-08-21
2051-----------------
2052* Correctly rethrowing errors after change from event emission to callbacks, compatibility with 0.10.X domains without breaking 0.8.X support.
2053* Small fix to return the entire findAndModify result as the third parameter (Issue #1068)
2054* No removal of "close" event handlers on server reconnect, emits "reconnect" event when reconnection happens. Reconnect Only applies for single server connections as of now as semantics for ReplSet and Mongos is not clear (Issue #1056)
2055
20561.3.18 2013-08-10
2057-----------------
2058* Fixed issue when throwing exceptions in MongoClient.connect/Db.open (Issue #1057)
2059* Fixed an issue where _events is not cleaned up correctly causing a slow steady memory leak.
2060
20611.3.17 2013-08-07
2062-----------------
2063* Ignore return commands that have no registered callback
2064* Made collection.count not use the db.command function
2065* Fix throw exception on ping command (Issue #1055)
2066
20671.3.16 2013-08-02
2068-----------------
2069* Fixes connection issue where lots of connections would happen if a server is in recovery mode during connection (Issue #1050, NODE-50, NODE-51)
2070* Bug in unlink mulit filename (Issue #1054)
2071
20721.3.15 2013-08-01
2073-----------------
2074* Memory leak issue due to node Issue #4390 where _events[id] is set to undefined instead of deleted leading to leaks in the Event Emitter over time
2075
20761.3.14 2013-08-01
2077-----------------
2078* Fixed issue with checkKeys where it would error on X.X
2079
20801.3.13 2013-07-31
2081-----------------
2082* Added override for checkKeys on insert/update (Warning will expose you to injection attacks) (Issue #1046)
2083* BSON size checking now done pre serialization (Issue #1037)
2084* Added isConnected returns false when no connection Pool exists (Issue #1043)
2085* Unified command handling to ensure same handling (Issue #1041, #1042)
2086* Correctly emit "open" and "fullsetup" across all Db's associated with Mongos, ReplSet or Server (Issue #1040)
2087* Correctly handles bug in authentication when attempting to connect to a recovering node in a replicaset.
2088* Correctly remove recovering servers from available servers in replicaset. Piggybacks on the ping command.
2089* Removed findAndModify chaining to be compliant with behavior in other official drivers and to fix a known mongos issue.
2090* Fixed issue with Kerberos authentication on Windows for re-authentication.
2091* Fixed Mongos failover behavior to correctly throw out old servers.
2092* Ensure stored queries/write ops are executed correctly after connection timeout
2093* Added promoteLongs option for to allow for overriding the promotion of Longs to Numbers and return the actual Long.
2094
20951.3.12 2013-07-19
2096-----------------
2097* Fixed issue where timeouts sometimes would behave wrongly (Issue #1032)
2098* Fixed bug with callback third parameter on some commands (Issue #1033)
2099* Fixed possible issue where killcursor command might leave hanging functions
2100* Fixed issue where Mongos was not correctly removing dead servers from the pool of eligable servers
2101* Throw error if dbName or collection name contains null character (at command level and at collection level)
2102* Updated bson parser to 0.2.1 with security fix and non-promotion of Long values to javascript Numbers (once a long always a long)
2103
21041.3.11 2013-07-04
2105-----------------
2106* Fixed errors on geoNear and geoSearch (Issue #1024, https://github.com/ebensing)
2107* Add driver version to export (Issue #1021, https://github.com/aheckmann)
2108* Add text to readpreference obedient commands (Issue #1019)
2109* Drivers should check the query failure bit even on getmore response (Issue #1018)
2110* Map reduce has incorrect expectations of 'inline' value for 'out' option (Issue #1016, https://github.com/rcotter)
2111* Support SASL PLAIN authentication (Issue #1009)
2112* Ability to use different Service Name on the driver for Kerberos Authentication (Issue #1008)
2113* Remove unnecessary octal literal to allow the code to run in strict mode (Issue #1005, https://github.com/jamesallardice)
2114* Proper handling of recovering nodes (when they go into recovery and when they return from recovery, Issue #1027)
2115
21161.3.10 2013-06-17
2117-----------------
2118* Guard against possible undefined in server::canCheckoutWriter (Issue #992, https://github.com/willyaranda)
2119* Fixed some duplicate test names (Issue #993, https://github.com/kawanet)
2120* Introduced write and read concerns for GridFS (Issue #996)
2121* Fixed commands not correctly respecting Collection level read preference (Issue #995, #999)
2122* Fixed issue with pool size on replicaset connections (Issue #1000)
2123* Execute all query commands on master switch (Issue #1002, https://github.com/fogaztuc)
2124
21251.3.9 2013-06-05
2126----------------
2127* Fixed memory leak when findAndModify errors out on w>1 and chained callbacks not properly cleaned up.
2128
21291.3.8 2013-05-31
2130----------------
2131* Fixed issue with socket death on windows where it emits error event instead of close event (Issue #987)
2132* Emit authenticate event on db after authenticate method has finished on db instance (Issue #984)
2133* Allows creation of MongoClient and do new MongoClient().connect(..). Emits open event when connection correct allowing for apps to react on event.
2134
21351.3.7 2013-05-29
2136----------------
2137* After reconnect, tailable getMores go on inconsistent connections (Issue #981, #982, https://github.com/glasser)
2138* Updated Bson to 0.1.9 to fix ARM support (Issue #985)
2139
21401.3.6 2013-05-21
2141----------------
2142* Fixed issue where single server reconnect attempt would throw due to missing options variable (Issue #979)
2143* Fixed issue where difference in ismaster server name and seed list caused connections issues, (Issue #976)
2144
21451.3.5 2013-05-14
2146----------------
2147* Fixed issue where HA for replicaset would pick the same broken connection when attempting to ping the replicaset causing the replicaset to never recover.
2148
21491.3.4 2013-05-14
2150----------------
2151* Fixed bug where options not correctly passed in for uri parser (Issue #973, https://github.com/supershabam)
2152* Fixed bug when passing a named index hint (Issue #974)
2153
21541.3.3 2013-05-09
2155----------------
2156* Fixed auto-reconnect issue with single server instance.
2157
21581.3.2 2013-05-08
2159----------------
2160* Fixes for an issue where replicaset would be pronounced dead when high priority primary caused double elections.
2161
21621.3.1 2013-05-06
2163----------------
2164* Fix for replicaset consisting of primary/secondary/arbiter with priority applied failing to reconnect properly
2165* Applied auth before server instance is set as connected when single server connection
2166* Throw error if array of documents passed to save method
2167
21681.3.0 2013-04-25
2169----------------
2170* Whole High availability handling for Replicaset, Server and Mongos connections refactored to ensure better handling of failover cases.
2171* Fixed issue where findAndModify would not correctly skip issuing of chained getLastError (Issue #941)
2172* Fixed throw error issue on errors with findAndModify during write out operation (Issue #939, https://github.com/autopulated)
2173* Gridstore.prototype.writeFile now returns gridstore object correctly (Issue #938)
2174* Kerberos support is now an optional module that allows for use of GSSAPI authentication using MongoDB Subscriber edition
2175* Fixed issue where cursor.toArray could blow the stack on node 0.10.X (#950)
2176
21771.2.14 2013-03-14
2178-----------------
2179* Refactored test suite to speed up running of replicaset tests
2180* Fix of async error handling when error happens in callback (Issue #909, https://github.com/medikoo)
2181* Corrected a slaveOk setting issue (Issue #906, #905)
2182* Fixed HA issue where ping's would not go to correct server on HA server connection failure.
2183* Uses setImmediate if on 0.10 otherwise nextTick for cursor stream
2184* Fixed race condition in Cursor stream (NODE-31)
2185* Fixed issues related to node 0.10 and process.nextTick now correctly using setImmediate where needed on node 0.10
2186* Added support for maxMessageSizeBytes if available (DRIVERS-1)
2187* Added support for authSource (2.4) to MongoClient URL and db.authenticate method (DRIVER-69/NODE-34)
2188* Fixed issue in GridStore seek and GridStore read to correctly work on multiple seeks (Issue #895)
2189
21901.2.13 2013-02-22
2191-----------------
2192* Allow strategy 'none' for repliaset if no strategy wanted (will default to round robin selection of servers on a set readPreference)
2193* Fixed missing MongoErrors on some cursor methods (Issue #882)
2194* Correctly returning a null for the db instance on MongoClient.connect when auth fails (Issue #890)
2195* Added dropTarget option support for renameCollection/rename (Issue #891, help from https://github.com/jbottigliero)
2196* Fixed issue where connection using MongoClient.connect would fail if first server did not exist (Issue #885)
2197
21981.2.12 2013-02-13
2199-----------------
2200* Added limit/skip options to Collection.count (Issue #870)
2201* Added applySkipLimit option to Cursor.count (Issue #870)
2202* Enabled ping strategy as default for Replicaset if none specified (Issue #876)
2203* Should correctly pick nearest server for SECONDARY/SECONDARY_PREFERRED/NEAREST (Issue #878)
2204
22051.2.11 2013-01-29
2206-----------------
2207* Added fixes for handling type 2 binary due to PHP driver (Issue #864)
2208* Moved callBackStore to Base class to have single unified store (Issue #866)
2209* Ping strategy now reuses sockets unless they are closed by the server to avoid overhead
2210
22111.2.10 2013-01-25
2212-----------------
2213* Merged in SSL support for 2.4 supporting certificate validation and presenting certificates to the server.
2214* Only open a new HA socket when previous one dead (Issue #859, #857)
2215* Minor fixes
2216
22171.2.9 2013-01-15
2218----------------
2219* Fixed bug in SSL support for MongoClient/Db.connect when discovering servers (Issue #849)
2220* Connection string with no db specified should default to admin db (Issue #848)
2221* Support port passed as string to Server class (Issue #844)
2222* Removed noOpen support for MongoClient/Db.connect as auto discovery of servers for Mongod/Mongos makes it not possible (Issue #842)
2223* Included toError wrapper code moved to utils.js file (Issue #839, #840)
2224* Rewrote cursor handling to avoid process.nextTick using trampoline instead to avoid stack overflow, speedup about 40%
2225
22261.2.8 2013-01-07
2227----------------
2228* Accept function in a Map Reduce scope object not only a function string (Issue #826, https://github.com/aheckmann)
2229* Typo in db.authenticate caused a check (for provided connection) to return false, causing a connection AND onAll=true to be passed into __executeQueryCommand downstream (Issue #831, https://github.com/m4tty)
2230* Allow gridfs objects to use non ObjectID ids (Issue #825, https://github.com/nailgun)
2231* Removed the double wrap, by not passing an Error object to the wrap function (Issue #832, https://github.com/m4tty)
2232* Fix connection leak (gh-827) for HA replicaset health checks (Issue #833, https://github.com/aheckmann)
2233* Modified findOne to use nextObject instead of toArray avoiding a nextTick operation (Issue #836)
2234* Fixes for cursor stream to avoid multiple getmore issues when one in progress (Issue #818)
2235* Fixes .open replaying all backed up commands correctly if called after operations performed, (Issue #829 and #823)
2236
22371.2.7 2012-12-23
2238----------------
2239* Rolled back batches as they hang in certain situations
2240* Fixes for NODE-25, keep reading from secondaries when primary goes down
2241
22421.2.6 2012-12-21
2243----------------
2244* domain sockets shouldn't require a port arg (Issue #815, https://github.com/aheckmann)
2245* Cannot read property 'info' of null (Issue #809, https://github.com/thesmart)
2246* Cursor.each should work in batches (Issue #804, https://github.com/Swatinem)
2247* Cursor readPreference bug for non-supported read preferences (Issue #817)
2248
22491.2.5 2012-12-12
2250----------------
2251* Fixed ssl regression, added more test coverage (Issue #800)
2252* Added better error reporting to the Db.connect if no valid serverConfig setup found (Issue #798)
2253
22541.2.4 2012-12-11
2255----------------
2256* Fix to ensure authentication is correctly applied across all secondaries when using MongoClient.
2257
22581.2.3 2012-12-10
2259----------------
2260* Fix for new replicaset members correctly authenticating when being added (Issue #791, https://github.com/m4tty)
2261* Fixed seek issue in gridstore when using stream (Issue #790)
2262
22631.2.2 2012-12-03
2264----------------
2265* Fix for journal write concern not correctly being passed under some circumstances.
2266* Fixed correct behavior and re-auth for servers that get stepped down (Issue #779).
2267
22681.2.1 2012-11-30
2269----------------
2270* Fix for double callback on insert with w:0 specified (Issue #783)
2271* Small cleanup of urlparser.
2272
22731.2.0 2012-11-27
2274----------------
2275* Honor connectTimeoutMS option for replicasets (Issue #750, https://github.com/aheckmann)
2276* Fix ping strategy regression (Issue #738, https://github.com/aheckmann)
2277* Small cleanup of code (Issue #753, https://github.com/sokra/node-mongodb-native)
2278* Fixed index declaration using objects/arrays from other contexts (Issue #755, https://github.com/sokra/node-mongodb-native)
2279* Intermittent (and rare) null callback exception when using ReplicaSets (Issue #752)
2280* Force correct setting of read_secondary based on the read preference (Issue #741)
2281* If using read preferences with secondaries queries will not fail if primary is down (Issue #744)
2282* noOpen connection for Db.connect removed as not compatible with autodetection of Mongo type
2283* Mongos connection with auth not working (Issue #737)
2284* Use the connect method directly from the require. require('mongodb')("mongodb://localhost:27017/db")
2285* new MongoClient introduced as the point of connecting to MongoDB's instead of the Db
2286 * open/close/db/connect methods implemented
2287* Implemented common URL connection format using MongoClient.connect allowing for simialar interface across all drivers.
2288* Fixed a bug with aggregation helper not properly accepting readPreference
2289
22901.1.11 2012-10-10
2291-----------------
2292* Removed strict mode and introduced normal handling of safe at DB level.
2293
22941.1.10 2012-10-08
2295-----------------
2296* fix Admin.serverStatus (Issue #723, https://github.com/Contra)
2297* logging on connection open/close(Issue #721, https://github.com/asiletto)
2298* more fixes for windows bson install (Issue #724)
2299
23001.1.9 2012-10-05
2301----------------
2302* Updated bson to 0.1.5 to fix build problem on sunos/windows.
2303
23041.1.8 2012-10-01
2305----------------
2306* Fixed db.eval to correctly handle system.js global javascript functions (Issue #709)
2307* Cleanup of non-closing connections (Issue #706)
2308* More cleanup of connections under replicaset (Issue #707, https://github.com/elbert3)
2309* Set keepalive on as default, override if not needed
2310* Cleanup of jsbon install to correctly build without install.js script (https://github.com/shtylman)
2311* Added domain socket support new Server("/tmp/mongodb.sock") style
2312
23131.1.7 2012-09-10
2314----------------
2315* Protect against starting PingStrategy being called more than once (Issue #694, https://github.com/aheckmann)
2316* Make PingStrategy interval configurable (was 1 second, relaxed to 5) (Issue #693, https://github.com/aheckmann)
2317* Made PingStrategy api more consistant, callback to start/stop methods are optional (Issue #693, https://github.com/aheckmann)
2318* Proper stopping of strategy on replicaset stop
2319* Throw error when gridstore file is not found in read mode (Issue #702, https://github.com/jbrumwell)
2320* Cursor stream resume now using nextTick to avoid duplicated records (Issue #696)
2321
23221.1.6 2012-09-01
2323----------------
2324* Fix for readPreference NEAREST for replicasets (Issue #693, https://github.com/aheckmann)
2325* Emit end correctly on stream cursor (Issue #692, https://github.com/Raynos)
2326
23271.1.5 2012-08-29
2328----------------
2329* Fix for eval on replicaset Issue #684
2330* Use helpful error msg when native parser not compiled (Issue #685, https://github.com/aheckmann)
2331* Arbiter connect hotfix (Issue #681, https://github.com/fengmk2)
2332* Upgraded bson parser to 0.1.2 using gyp, deprecated support for node 0.4.X
2333* Added name parameter to createIndex/ensureIndex to be able to override index names larger than 128 bytes
2334* Added exhaust option for find for feature completion (not recommended for normal use)
2335* Added tailableRetryInterval to find for tailable cursors to allow to control getMore retry time interval
2336* Fixes for read preferences when using MongoS to correctly handle no read preference set when iterating over a cursor (Issue #686)
2337
23381.1.4 2012-08-12
2339----------------
2340* Added Mongos connection type with a fallback list for mongos proxies, supports ha (on by default) and will attempt to reconnect to failed proxies.
2341* Documents can now have a toBSON method that lets the user control the serialization behavior for documents being saved.
2342* Gridstore instance object now works as a readstream or writestream (thanks to code from Aaron heckmann (https://github.com/aheckmann/gridfs-stream)).
2343* Fix gridfs readstream (Issue #607, https://github.com/tedeh).
2344* Added disableDriverBSONSizeCheck property to Server.js for people who wish to push the inserts to the limit (Issue #609).
2345* Fixed bug where collection.group keyf given as Code is processed as a regular object (Issue #608, https://github.com/rrusso2007).
2346* Case mismatch between driver's ObjectID and mongo's ObjectId, allow both (Issue #618).
2347* Cleanup map reduce (Issue #614, https://github.com/aheckmann).
2348* Add proper error handling to gridfs (Issue #615, https://github.com/aheckmann).
2349* Ensure cursor is using same connection for all operations to avoid potential jump of servers when using replicasets.
2350* Date identification handled correctly in bson js parser when running in vm context.
2351* Documentation updates
2352* GridStore filename not set on read (Issue #621)
2353* Optimizations on the C++ bson parser to fix a potential memory leak and avoid non-needed calls
2354* Added support for awaitdata for tailable cursors (Issue #624)
2355* Implementing read preference setting at collection and cursor level
2356 * collection.find().setReadPreference(Server.SECONDARY_PREFERRED)
2357 * db.collection("some", {readPreference:Server.SECONDARY})
2358* Replicaset now returns when the master is discovered on db.open and lets the rest of the connections happen asynchronous.
2359 * ReplSet/ReplSetServers emits "fullsetup" when all servers have been connected to
2360* Prevent callback from executing more than once in getMore function (Issue #631, https://github.com/shankar0306)
2361* Corrupt bson messages now errors out to all callbacks and closes up connections correctly, Issue #634
2362* Replica set member status update when primary changes bug (Issue #635, https://github.com/alinsilvian)
2363* Fixed auth to work better when multiple connections are involved.
2364* Default connection pool size increased to 5 connections.
2365* Fixes for the ReadStream class to work properly with 0.8 of Node.js
2366* Added explain function support to aggregation helper
2367* Added socketTimeoutMS and connectTimeoutMS to socket options for repl_set.js and server.js
2368* Fixed addUser to correctly handle changes in 2.2 for getLastError authentication required
2369* Added index to gridstore chunks on file_id (Issue #649, https://github.com/jacobbubu)
2370* Fixed Always emit db events (Issue #657)
2371* Close event not correctly resets DB openCalled variable to allow reconnect
2372* Added open event on connection established for replicaset, mongos and server
2373* Much faster BSON C++ parser thanks to Lucasfilm Singapore.
2374* Refactoring of replicaset connection logic to simplify the code.
2375* Add `options.connectArbiter` to decide connect arbiters or not (Issue #675)
2376* Minor optimization for findAndModify when not using j,w or fsync for safe
2377
23781.0.2 2012-05-15
2379----------------
2380* Reconnect functionality for replicaset fix for mongodb 2.0.5
2381
23821.0.1 2012-05-12
2383----------------
2384* Passing back getLastError object as 3rd parameter on findAndModify command.
2385* Fixed a bunch of performance regressions in objectId and cursor.
2386* Fixed issue #600 allowing for single document delete to be passed in remove command.
2387
23881.0.0 2012-04-25
2389----------------
2390* Fixes to handling of failover on server error
2391* Only emits error messages if there are error listeners to avoid uncaught events
2392* Server.isConnected using the server state variable not the connection pool state
2393
23940.9.9.8 2012-04-12
2395------------------
2396* _id=0 is being turned into an ObjectID (Issue #551)
2397* fix for error in GridStore write method (Issue #559)
2398* Fix for reading a GridStore from arbitrary, non-chunk aligned offsets, added test (Issue #563, https://github.com/subroutine)
2399* Modified limitRequest to allow negative limits to pass through to Mongo, added test (Issue #561)
2400* Corrupt GridFS files when chunkSize < fileSize, fixed concurrency issue (Issue #555)
2401* Handle dead tailable cursors (Issue #568, https://github.com/aheckmann)
2402* Connection pools handles closing themselves down and clearing the state
2403* Check bson size of documents against maxBsonSize and throw client error instead of server error, (Issue #553)
2404* Returning update status document at the end of the callback for updates, (Issue #569)
2405* Refactor use of Arguments object to gain performance (Issue #574, https://github.com/AaronAsAChimp)
2406
24070.9.9.7 2012-03-16
2408------------------
2409* Stats not returned from map reduce with inline results (Issue #542)
2410* Re-enable testing of whether or not the callback is called in the multi-chunk seek, fix small GridStore bug (Issue #543, https://github.com/pgebheim)
2411* Streaming large files from GridFS causes truncation (Issue #540)
2412* Make callback type checks agnostic to V8 context boundaries (Issue #545)
2413* Correctly throw error if an attempt is made to execute an insert/update/remove/createIndex/ensureIndex with safe enabled and no callback
2414* Db.open throws if the application attemps to call open again without calling close first
2415
24160.9.9.6 2012-03-12
2417------------------
2418* BSON parser is externalized in it's own repository, currently using git master
2419* Fixes for Replicaset connectivity issue (Issue #537)
2420* Fixed issues with node 0.4.X vs 0.6.X (Issue #534)
2421* Removed SimpleEmitter and replaced with standard EventEmitter
2422* GridStore.seek fails to change chunks and call callback when in read mode (Issue #532)
2423
24240.9.9.5 2012-03-07
2425------------------
2426* Merged in replSetGetStatus helper to admin class (Issue #515, https://github.com/mojodna)
2427* Merged in serverStatus helper to admin class (Issue #516, https://github.com/mojodna)
2428* Fixed memory leak in C++ bson parser (Issue #526)
2429* Fix empty MongoError "message" property (Issue #530, https://github.com/aheckmann)
2430* Cannot save files with the same file name to GridFS (Issue #531)
2431
24320.9.9.4 2012-02-26
2433------------------
2434* bugfix for findAndModify: Error: corrupt bson message < 5 bytes long (Issue #519)
2435
24360.9.9.3 2012-02-23
2437------------------
2438* document: save callback arguments are both undefined, (Issue #518)
2439* Native BSON parser install error with npm, (Issue #517)
2440
24410.9.9.2 2012-02-17
2442------------------
2443* Improved detection of Buffers using Buffer.isBuffer instead of instanceof.
2444* Added wrap error around db.dropDatabase to catch all errors (Issue #512)
2445* Added aggregate helper to collection, only for MongoDB >= 2.1
2446
24470.9.9.1 2012-02-15
2448------------------
2449* Better handling of safe when using some commands such as createIndex, ensureIndex, addUser, removeUser, createCollection.
2450* Mapreduce now throws error if out parameter is not specified.
2451
24520.9.9 2012-02-13
2453----------------
2454* Added createFromTime method on ObjectID to allow for queries against _id more easily using the timestamp.
2455* Db.close(true) now makes connection unusable as it's been force closed by app.
2456* Fixed mapReduce and group functions to correctly send slaveOk on queries.
2457* Fixes for find method to correctly work with find(query, fields, callback) (Issue #506).
2458* A fix for connection error handling when using the SSL on MongoDB.
2459
24600.9.8-7 2012-02-06
2461------------------
2462* Simplified findOne to use the find command instead of the custom code (Issue #498).
2463* BSON JS parser not also checks for _bsonType variable in case BSON object is in weird scope (Issue #495).
2464
24650.9.8-6 2012-02-04
2466------------------
2467* Removed the check for replicaset change code as it will never work with node.js.
2468
24690.9.8-5 2012-02-02
2470------------------
2471* Added geoNear command to Collection.
2472* Added geoHaystackSearch command to Collection.
2473* Added indexes command to collection to retrieve the indexes on a Collection.
2474* Added stats command to collection to retrieve the statistics on a Collection.
2475* Added listDatabases command to admin object to allow retrieval of all available dbs.
2476* Changed createCreateIndexCommand to work better with options.
2477* Fixed dereference method on Db class to correctly dereference Db reference objects.
2478* Moved connect object onto Db class(Db.connect) as well as keeping backward compatibility.
2479* Removed writeBuffer method from gridstore, write handles switching automatically now.
2480* Changed readBuffer to read on Gridstore, Gridstore now only supports Binary Buffers no Strings anymore.
2481* Moved Long class to bson directory.
2482
24830.9.8-4 2012-01-28
2484------------------
2485* Added reIndex command to collection and db level.
2486* Added support for $returnKey, $maxScan, $min, $max, $showDiskLoc, $comment to cursor and find/findOne methods.
2487* Added dropDups and v option to createIndex and ensureIndex.
2488* Added isCapped method to Collection.
2489* Added indexExists method to Collection.
2490* Added findAndRemove method to Collection.
2491* Fixed bug for replicaset connection when no active servers in the set.
2492* Fixed bug for replicaset connections when errors occur during connection.
2493* Merged in patch for BSON Number handling from Lee Salzman, did some small fixes and added test coverage.
2494
24950.9.8-3 2012-01-21
2496------------------
2497* Workaround for issue with Object.defineProperty (Issue #484)
2498* ObjectID generation with date does not set rest of fields to zero (Issue #482)
2499
25000.9.8-2 2012-01-20
2501------------------
2502* Fixed a missing this in the ReplSetServers constructor.
2503
25040.9.8-1 2012-01-17
2505------------------
2506* FindAndModify bug fix for duplicate errors (Issue #481)
2507
25080.9.8 2012-01-17
2509----------------
2510* Replicasets now correctly adjusts to live changes in the replicaset configuration on the servers, reconnecting correctly.
2511 * Set the interval for checking for changes setting the replicaSetCheckInterval property when creating the ReplSetServers instance or on db.serverConfig.replicaSetCheckInterval. (default 1000 miliseconds)
2512* Fixes formattedOrderClause in collection.js to accept a plain hash as a parameter (Issue #469) https://github.com/tedeh
2513* Removed duplicate code for formattedOrderClause and moved to utils module
2514* Pass in poolSize for ReplSetServers to set default poolSize for new replicaset members
2515* Bug fix for BSON JS deserializer. Isolating the eval functions in separate functions to avoid V8 deoptimizations
2516* Correct handling of illegal BSON messages during deserialization
2517* Fixed Infinite loop when reading GridFs file with no chunks (Issue #471)
2518* Correctly update existing user password when using addUser (Issue #470)
2519
25200.9.7.3-5 2012-01-04
2521--------------------
2522* Fix for RegExp serialization for 0.4.X where typeof /regexp/ == 'function' vs in 0.6.X typeof /regexp/ == 'object'
2523* Don't allow keepAlive and setNoDelay for 0.4.X as it throws errors
2524
25250.9.7.3-4 2012-01-04
2526--------------------
2527* Chased down potential memory leak on findAndModify, Issue #467 (node.js removeAllListeners leaves the key in the _events object, node.js bug on eventlistener?, leads to extremely slow memory leak on listener object)
2528* Sanity checks for GridFS performance with benchmark added
2529
25300.9.7.3-3 2012-01-04
2531--------------------
2532* Bug fixes for performance issues going form 0.9.6.X to 0.9.7.X on linux
2533* BSON bug fixes for performance
2534
25350.9.7.3-2 2012-01-02
2536--------------------
2537* Fixed up documentation to reflect the preferred way of instantiating bson types
2538* GC bug fix for JS bson parser to avoid stop-and-go GC collection
2539
25400.9.7.3-1 2012-01-02
2541--------------------
2542* Fix to make db.bson_serializer and db.bson_deserializer work as it did previously
2543
25440.9.7.3 2011-12-30
2545--------------------
2546* Moved BSON_BINARY_SUBTYPE_DEFAULT from BSON object to Binary object and removed the BSON_BINARY_ prefixes
2547* Removed Native BSON types, C++ parser uses JS types (faster due to cost of crossing the JS-C++ barrier for each call)
2548* Added build fix for 0.4.X branch of Node.js where GetOwnPropertyNames is not defined in v8
2549* Fix for wire protocol parser for corner situation where the message is larger than the maximum socket buffer in node.js (Issue #464, #461, #447)
2550* Connection pool status set to connected on poolReady, isConnected returns false on anything but connected status (Issue #455)
2551
25520.9.7.2-5 2011-12-22
2553--------------------
2554* Brand spanking new Streaming Cursor support Issue #458 (https://github.com/christkv/node-mongodb-native/pull/458) thanks to Mr Aaron Heckmann
2555
25560.9.7.2-4 2011-12-21
2557--------------------
2558* Refactoring of callback code to work around performance regression on linux
2559* Fixed group function to correctly use the command mode as default
2560
25610.9.7.2-3 2011-12-18
2562--------------------
2563* Fixed error handling for findAndModify while still working for mongodb 1.8.6 (Issue #450).
2564* Allow for force send query to primary, pass option (read:'primary') on find command.
2565 * ``find({a:1}, {read:'primary'}).toArray(function(err, items) {});``
2566
25670.9.7.2-2 2011-12-16
2568--------------------
2569* Fixes infinite streamRecords QueryFailure fix when using Mongos (Issue #442)
2570
25710.9.7.2-1 2011-12-16
2572--------------------
2573* ~10% perf improvement for ObjectId#toHexString (Issue #448, https://github.com/aheckmann)
2574* Only using process.nextTick on errors emitted on callbacks not on all parsing, reduces number of ticks in the driver
2575* Changed parsing off bson messages to use process.nextTick to do bson parsing in batches if the message is over 10K as to yield more time to the event look increasing concurrency on big mongoreply messages with multiple documents
2576
25770.9.7.2 2011-12-15
2578------------------
2579* Added SSL support for future version of mongodb (VERY VERY EXPERIMENTAL)
2580 * pass in the ssl:true option to the server or replicaset server config to enable
2581 * a bug either in mongodb or node.js does not allow for more than 1 connection pr db instance (poolSize:1).
2582* Added getTimestamp() method to objectID that returns a date object
2583* Added finalize function to collection.group
2584 * function group (keys, condition, initial, reduce, finalize, command, callback)
2585* Reaper no longer using setTimeout to handle reaping. Triggering is done in the general flow leading to predictable behavior.
2586 * reaperInterval, set interval for reaper (default 10000 miliseconds)
2587 * reaperTimeout, set timeout for calls (default 30000 miliseconds)
2588 * reaper, enable/disable reaper (default false)
2589* Work around for issues with findAndModify during high concurrency load, insure that the behavior is the same across the 1.8.X branch and 2.X branch of MongoDb
2590* Reworked multiple db's sharing same connection pool to behave correctly on error, timeout and close
2591* EnsureIndex command can be executed without a callback (Issue #438)
2592* Eval function no accepts options including nolock (Issue #432)
2593 * eval(code, parameters, options, callback) (where options = {nolock:true})
2594
25950.9.7.1-4 2011-11-27
2596--------------------
2597* Replaced install.sh with install.js to install correctly on all supported os's
2598
25990.9.7.1-3 2011-11-27
2600--------------------
2601* Fixes incorrect scope for ensureIndex error wrapping (Issue #419) https://github.com/ritch
2602
26030.9.7.1-2 2011-11-27
2604--------------------
2605* Set statistical selection strategy as default for secondary choice.
2606
26070.9.7.1-1 2011-11-27
2608--------------------
2609* Better handling of single server reconnect (fixes some bugs)
2610* Better test coverage of single server failure
2611* Correct handling of callbacks on replicaset servers when firewall dropping packets, correct reconnect
2612
26130.9.7.1 2011-11-24
2614------------------
2615* Better handling of dead server for single server instances
2616* FindOne and find treats selector == null as {}, Issue #403
2617* Possible to pass in a strategy for the replicaset to pick secondary reader node
2618 * parameter strategy
2619 * ping (default), pings the servers and picks the one with the lowest ping time
2620 * statistical, measures each request and pick the one with the lowest mean and std deviation
2621* Set replicaset read preference replicaset.setReadPreference()
2622 * Server.READ_PRIMARY (use primary server for reads)
2623 * Server.READ_SECONDARY (from a secondary server (uses the strategy set))
2624 * tags, {object of tags}
2625* Added replay of commands issued to a closed connection when the connection is re-established
2626* Fix isConnected and close on unopened connections. Issue #409, fix by (https://github.com/sethml)
2627* Moved reaper to db.open instead of constructor (Issue #406)
2628* Allows passing through of socket connection settings to Server or ReplSetServer under the option socketOptions
2629 * timeout = set seconds before connection times out (default 0)
2630 * noDelay = Disables the Nagle algorithm (default true)
2631 * keepAlive = Set if keepAlive is used (default 0, which means no keepAlive, set higher than 0 for keepAlive)
2632 * encoding = ['ascii', 'utf8', or 'base64'] (default null)
2633* Fixes for handling of errors during shutdown off a socket connection
2634* Correctly applies socket options including timeout
2635* Cleanup of test management code to close connections correctly
2636* Handle parser errors better, closing down the connection and emitting an error
2637* Correctly emit errors from server.js only wrapping errors that are strings
2638
26390.9.7 2011-11-10
2640----------------
2641* Added priority setting to replicaset manager
2642* Added correct handling of passive servers in replicaset
2643* Reworked socket code for simpler clearer handling
2644* Correct handling of connections in test helpers
2645* Added control of retries on failure
2646 * control with parameters retryMiliSeconds and numberOfRetries when creating a db instance
2647* Added reaper that will timeout and cleanup queries that never return
2648 * control with parameters reaperInterval and reaperTimeout when creating a db instance
2649* Refactored test helper classes for replicaset tests
2650* Allows raw (no bson parser mode for insert, update, remove, find and findOne)
2651 * control raw mode passing in option raw:true on the commands
2652 * will return buffers with the binary bson objects
2653* Fixed memory leak in cursor.toArray
2654* Fixed bug in command creation for mongodb server with wrong scope of call
2655* Added db(dbName) method to db.js to allow for reuse of connections against other databases
2656* Serialization of functions in an object is off by default, override with parameter
2657 * serializeFunctions [true/false] on db level, collection level or individual insert/update/findAndModify
2658* Added Long.fromString to c++ class and fixed minor bug in the code (Test case for $gt operator on 64-bit integers, Issue #394)
2659* FindOne and find now share same code execution and will work in the same manner, Issue #399
2660* Fix for tailable cursors, Issue #384
2661* Fix for Cursor rewind broken, Issue #389
2662* Allow Gridstore.exist to query using regexp, Issue #387, fix by (https://github.com/kaij)
2663* Updated documentation on https://github.com/christkv/node-mongodb-native
2664* Fixed toJSON methods across all objects for BSON, Binary return Base64 Encoded data
2665
26660.9.6-22 2011-10-15
2667-------------------
2668* Fixed bug in js bson parser that could cause wrong object size on serialization, Issue #370
2669* Fixed bug in findAndModify that did not throw error on replicaset timeout, Issue #373
2670
26710.9.6-21 2011-10-05
2672-------------------
2673* Reworked reconnect code to work correctly
2674* Handling errors in different parts of the code to ensure that it does not lock the connection
2675* Consistent error handling for Object.createFromHexString for JS and C++
2676
26770.9.6-20 2011-10-04
2678-------------------
2679* Reworked bson.js parser to get rid off Array.shift() due to it allocating new memory for each call. Speedup varies between 5-15% depending on doc
2680* Reworked bson.cc to throw error when trying to serialize js bson types
2681* Added MinKey, MaxKey and Double support for JS and C++ parser
2682* Reworked socket handling code to emit errors on unparsable messages
2683* Added logger option for Db class, lets you pass in a function in the shape
2684 {
2685 log : function(message, object) {},
2686 error : function(errorMessage, errorObject) {},
2687 debug : function(debugMessage, object) {},
2688 }
2689
2690 Usage is new Db(new Server(..), {logger: loggerInstance})
2691
26920.9.6-19 2011-09-29
2693-------------------
2694* Fixing compatibility issues between C++ bson parser and js parser
2695* Added Symbol support to C++ parser
2696* Fixed socket handling bug for seldom misaligned message from mongodb
2697* Correctly handles serialization of functions using the C++ bson parser
2698
26990.9.6-18 2011-09-22
2700-------------------
2701* Fixed bug in waitForConnection that would lead to 100% cpu usage, Issue #352
2702
27030.9.6-17 2011-09-21
2704-------------------
2705* Fixed broken exception test causing bamboo to hang
2706* Handling correctly command+lastError when both return results as in findAndModify, Issue #351
2707
27080.9.6-16 2011-09-14
2709-------------------
2710* Fixing a bunch of issues with compatibility with MongoDB 2.0.X branch. Some fairly big changes in behavior from 1.8.X to 2.0.X on the server.
2711* Error Connection MongoDB V2.0.0 with Auth=true, Issue #348
2712
27130.9.6-15 2011-09-09
2714-------------------
2715* Fixed issue where pools would not be correctly cleaned up after an error, Issue #345
2716* Fixed authentication issue with secondary servers in Replicaset, Issue #334
2717* Duplicate replica-set servers when omitting port, Issue #341
2718* Fixing findAndModify to correctly work with Replicasets ensuring proper error handling, Issue #336
2719* Merged in code from (https://github.com/aheckmann) that checks for global variable leaks
2720
27210.9.6-14 2011-09-05
2722-------------------
2723* Minor fixes for error handling in cursor streaming (https://github.com/sethml), Issue #332
2724* Minor doc fixes
2725* Some more cursor sort tests added, Issue #333
2726* Fixes to work with 0.5.X branch
2727* Fix Db not removing reconnect listener from serverConfig, (https://github.com/sbrekken), Issue #337
2728* Removed node_events.h includes (https://github.com/jannehietamaki), Issue #339
2729* Implement correct safe/strict mode for findAndModify.
2730
27310.9.6-13 2011-08-24
2732-------------------
2733* Db names correctly error checked for illegal characters
2734
27350.9.6-12 2011-08-24
2736-------------------
2737* Nasty bug in GridFS if you changed the default chunk size
2738* Fixed error handling bug in findOne
2739
27400.9.6-11 2011-08-23
2741-------------------
2742* Timeout option not correctly making it to the cursor, Issue #320, Fix from (https://github.com/year2013)
2743* Fixes for memory leaks when using buffers and C++ parser
2744* Fixes to make tests pass on 0.5.X
2745* Cleanup of bson.js to remove duplicated code paths
2746* Fix for errors occurring in ensureIndex, Issue #326
2747* Removing require.paths to make tests work with the 0.5.X branch
2748
27490.9.6-10 2011-08-11
2750-------------------
2751* Specific type Double for capped collections (https://github.com/mbostock), Issue #312
2752* Decorating Errors with all all object info from Mongo (https://github.com/laurie71), Issue #308
2753* Implementing fixes for mongodb 1.9.1 and higher to make tests pass
2754* Admin validateCollection now takes an options argument for you to pass in full option
2755* Implemented keepGoing parameter for mongodb 1.9.1 or higher, Issue #310
2756* Added test for read_secondary count issue, merged in fix from (https://github.com/year2013), Issue #317
2757
27580.9.6-9
2759-------
2760* Bug fix for bson parsing the key '':'' correctly without crashing
2761
27620.9.6-8
2763-------
2764* Changed to using node.js crypto library MD5 digest
2765* Connect method support documented mongodb: syntax by (https://github.com/sethml)
2766* Support Symbol type for BSON, serializes to it's own type Symbol, Issue #302, #288
2767* Code object without scope serializing to correct BSON type
2768* Lot's of fixes to avoid double callbacks (https://github.com/aheckmann) Issue #304
2769* Long deserializes as Number for values in the range -2^53 to 2^53, Issue #305 (https://github.com/sethml)
2770* Fixed C++ parser to reflect JS parser handling of long deserialization
2771* Bson small optimizations
2772
27730.9.6-7 2011-07-13
2774------------------
2775* JS Bson deserialization bug #287
2776
27770.9.6-6 2011-07-12
2778------------------
2779* FindAndModify not returning error message as other methods Issue #277
2780* Added test coverage for $push, $pushAll and $inc atomic operations
2781* Correct Error handling for non 12/24 bit ids on Pure JS ObjectID class Issue #276
2782* Fixed terrible deserialization bug in js bson code #285
2783* Fix by andrewjstone to avoid throwing errors when this.primary not defined
2784
27850.9.6-5 2011-07-06
2786------------------
2787* Rewritten BSON js parser now faster than the C parser on my core2duo laptop
2788* Added option full to indexInformation to get all index info Issue #265
2789* Passing in ObjectID for new Gridstore works correctly Issue #272
2790
27910.9.6-4 2011-07-01
2792------------------
2793* Added test and bug fix for insert/update/remove without callback supplied
2794
27950.9.6-3 2011-07-01
2796------------------
2797* Added simple grid class called Grid with put, get, delete methods
2798* Fixed writeBuffer/readBuffer methods on GridStore so they work correctly
2799* Automatic handling of buffers when using write method on GridStore
2800* GridStore now accepts a ObjectID instead of file name for write and read methods
2801* GridStore.list accepts id option to return of file ids instead of filenames
2802* GridStore close method returns document for the file allowing user to reference _id field
2803
28040.9.6-2 2011-06-30
2805------------------
2806* Fixes for reconnect logic for server object (replays auth correctly)
2807* More testcases for auth
2808* Fixes in error handling for replicaset
2809* Fixed bug with safe parameter that would fail to execute safe when passing w or wtimeout
2810* Fixed slaveOk bug for findOne method
2811* Implemented auth support for replicaset and test cases
2812* Fixed error when not passing in rs_name
2813
28140.9.6-1 2011-06-25
2815------------------
2816* Fixes for test to run properly using c++ bson parser
2817* Fixes for dbref in native parser (correctly handles ref without db component)
2818* Connection fixes for replicasets to avoid runtime conditions in cygwin (https://github.com/vincentcr)
2819* Fixes for timestamp in js bson parser (distinct timestamp type now)
2820
28210.9.6 2011-06-21
2822----------------
2823* Worked around npm version handling bug
2824* Race condition fix for cygwin (https://github.com/vincentcr)
2825
28260.9.5-1 2011-06-21
2827------------------
2828* Extracted Timestamp as separate class for bson js parser to avoid instanceof problems
2829* Fixed driver strict mode issue
2830
28310.9.5 2011-06-20
2832----------------
2833* Replicaset support (failover and reading from secondary servers)
2834* Removed ServerPair and ServerCluster
2835* Added connection pool functionality
2836* Fixed serious bug in C++ bson parser where bytes > 127 would generate 2 byte sequences
2837* Allows for forcing the server to assign ObjectID's using the option {forceServerObjectId: true}
2838
28390.6.8
2840-----
2841* Removed multiple message concept from bson
2842* Changed db.open(db) to be db.open(err, db)
2843
28440.1 2010-01-30
2845--------------
2846* Initial release support of driver using native node.js interface
2847* Supports gridfs specification
2848* Supports admin functionality