mongodb 2.1.0-alpha → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/HISTORY.md +574 -429
  2. package/Makefile +2 -5
  3. package/README.md +108 -15
  4. package/conf.json +17 -13
  5. package/index.js +13 -2
  6. package/lib/admin.js +113 -47
  7. package/lib/aggregation_cursor.js +56 -28
  8. package/lib/apm.js +608 -0
  9. package/lib/bulk/common.js +7 -7
  10. package/lib/bulk/ordered.js +56 -17
  11. package/lib/bulk/unordered.js +52 -14
  12. package/lib/collection.js +671 -212
  13. package/lib/command_cursor.js +60 -32
  14. package/lib/cursor.js +313 -115
  15. package/lib/db.js +264 -105
  16. package/lib/gridfs/chunk.js +26 -29
  17. package/lib/gridfs/grid_store.js +150 -64
  18. package/lib/gridfs-stream/download.js +310 -0
  19. package/lib/gridfs-stream/index.js +335 -0
  20. package/lib/gridfs-stream/upload.js +450 -0
  21. package/lib/metadata.js +64 -0
  22. package/lib/mongo_client.js +69 -39
  23. package/lib/mongos.js +65 -20
  24. package/lib/replset.js +69 -34
  25. package/lib/server.js +35 -1
  26. package/lib/topology_base.js +22 -10
  27. package/lib/url_parser.js +111 -13
  28. package/lib/utils.js +9 -8
  29. package/mongolabs.js +427 -0
  30. package/package.json +8 -6
  31. package/t.js +68 -51
  32. package/test.js +12 -0
  33. package/test_boot/boot.sh +3 -0
  34. package/test_boot/ca.pem +49 -0
  35. package/test_boot/client.pem +48 -0
  36. package/test_boot/client_password.pem +51 -0
  37. package/test_boot/connect.js +29 -0
  38. package/test_boot/data/WiredTiger +2 -0
  39. package/test_boot/data/WiredTiger.lock +1 -0
  40. package/test_boot/data/WiredTiger.turtle +6 -0
  41. package/test_boot/data/WiredTiger.wt +0 -0
  42. package/test_boot/data/WiredTigerLAS.wt +0 -0
  43. package/test_boot/data/_mdb_catalog.wt +0 -0
  44. package/test_boot/data/collection-0-757073248613337118.wt +0 -0
  45. package/test_boot/data/diagnostic.data/metrics.2015-10-07T14-44-37Z-00000 +0 -0
  46. package/test_boot/data/diagnostic.data/metrics.2015-10-07T14-45-15Z-00000 +0 -0
  47. package/test_boot/data/diagnostic.data/metrics.2015-10-07T14-46-31Z-00000 +0 -0
  48. package/test_boot/data/diagnostic.data/metrics.2015-10-07T14-47-25Z-00000 +0 -0
  49. package/test_boot/data/diagnostic.data/metrics.2015-10-07T14-49-07Z-00000 +0 -0
  50. package/test_boot/data/diagnostic.data/metrics.2015-10-07T14-50-41Z-00000 +0 -0
  51. package/test_boot/data/diagnostic.data/metrics.2015-10-07T14-50-53Z-00000 +0 -0
  52. package/test_boot/data/diagnostic.data/metrics.2015-10-07T14-52-31Z-00000 +0 -0
  53. package/test_boot/data/diagnostic.data/metrics.2015-10-07T14-54-53Z-00000 +0 -0
  54. package/test_boot/data/diagnostic.data/metrics.2015-10-07T14-55-09Z-00000 +0 -0
  55. package/test_boot/data/diagnostic.data/metrics.2015-10-07T14-55-38Z-00000 +0 -0
  56. package/test_boot/data/index-1-757073248613337118.wt +0 -0
  57. package/test_boot/data/mongod.lock +0 -0
  58. package/test_boot/data/sizeStorer.wt +0 -0
  59. package/test_boot/data/storage.bson +0 -0
  60. package/test_boot/server_password.pem +51 -0
  61. package/.travis.yml +0 -10
  62. package/t1.js +0 -59
  63. package/wercker.yml +0 -19
package/HISTORY.md CHANGED
@@ -1,727 +1,872 @@
1
+ 2.1.2 12-23-2015
2
+ ----------------
3
+ * Updated mongodb-core to 1.2.30.
4
+ * Pool allocates size + 1 connections when using replicasets, reserving additional pool connection for monitoring exclusively.
5
+ * Fixes bug when all replicaset members are down, that would cause it to fail to reconnect using the originally provided seedlist.
6
+
7
+
8
+ 2.1.1 12-13-2015
9
+ ----------------
10
+ * 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.
11
+ * Added readPreference support to listCollections and listIndexes helpers.
12
+ * Updated mongodb-core to 1.2.28.
13
+
14
+ 2.1.0 12-06-2015
15
+ ----------------
16
+ * Implements the connection string specification, https://github.com/mongodb/specifications/blob/master/source/connection-string/connection-string-spec.rst.
17
+ * Implements the new GridFS specification, https://github.com/mongodb/specifications/blob/master/source/gridfs/gridfs-spec.rst.
18
+ * Full MongoDB 3.2 support.
19
+ * NODE-601 Added maxAwaitTimeMS support for 3.2 getMore to allow for custom timeouts on tailable cursors.
20
+ * Updated mongodb-core to 1.2.26.
21
+ * Return destination in GridStore pipe function.
22
+ * NODE-606 better error handling on destroyed topology for db.js methods.
23
+ * Added isDestroyed method to server, replset and mongos topologies.
24
+ * Upgraded test suite to run using mongodb-topology-manager.
25
+
26
+ 2.0.51 12-13-2015
27
+ -----------------
28
+ * 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.
29
+ * Added readPreference support to listCollections and listIndexes helpers.
30
+ * Updated mongodb-core to 1.2.28.
31
+
32
+ 2.0.50 12-06-2015
33
+ -----------------
34
+ * Updated mongodb-core to 1.2.26.
35
+
36
+ 2.0.49 11-20-2015
37
+ -----------------
38
+ * Updated mongodb-core to 1.2.24 with several fixes.
39
+ * Fix Automattic/mongoose#3481; flush callbacks on error, (Issue #57, https://github.com/vkarpov15).
40
+ * $explain query for wire protocol 2.6 and 2.4 does not set number of returned documents to -1 but to 0.
41
+ * ismaster runs against admin.$cmd instead of system.$cmd.
42
+ * Fixes to handle getMore command errors for MongoDB 3.2
43
+ * Allows the process to properly close upon a Db.close() call on the replica set by shutting down the haTimer and closing arbiter connections.
44
+
45
+ 2.0.48 11-07-2015
46
+ -----------------
47
+ * 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.
48
+ * Updated mongodb-core to 1.2.21.
49
+ * Hardened the checking for replicaset equality checks.
50
+ * OpReplay flag correctly set on Wire protocol query.
51
+ * Mongos load balancing added, introduced localThresholdMS to control the feature.
52
+ * Kerberos now a peerDependency, making it not install it by default in Node 5.0 or higher.
53
+
54
+ 2.0.47 10-28-2015
55
+ -----------------
56
+ * Updated mongodb-core to 1.2.20.
57
+ * Fixed bug in arbiter connection capping code.
58
+ * NODE-599 correctly handle arrays of server tags in order of priority.
59
+ * Fix for 2.6 wire protocol handler related to readPreference handling.
60
+ * Added maxAwaitTimeMS support for 3.2 getMore to allow for custom timeouts on tailable cursors.
61
+ * Make CoreCursor check for $err before saying that 'next' succeeded (Issue #53, https://github.com/vkarpov15).
62
+
63
+ 2.0.46 10-15-2015
64
+ -----------------
65
+ * Updated mongodb-core to 1.2.19.
66
+ * NODE-578 Order of sort fields is lost for numeric field names.
67
+ * Expose BSON Map (ES6 Map or polyfill).
68
+ * Minor fixes for APM support to pass extended APM test suite.
69
+
70
+ 2.0.45 09-30-2015
71
+ -----------------
72
+ * NODE-566 Fix issue with rewind on capped collections causing cursor state to be reset on connection loss.
73
+
74
+ 2.0.44 09-28-2015
75
+ -----------------
76
+ * Bug fixes for APM upconverting of legacy INSERT/UPDATE/REMOVE wire protocol messages.
77
+ * 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.
78
+ * Updated mongodb-core to 1.2.14.
79
+ * 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.
80
+ * Use handleCallback if result is an error for count queries. (Issue #1298, https://github.com/agclever)
81
+ * Rewind cursor to correctly force reconnect on capped collections when first query comes back empty.
82
+ * NODE-571 added code 59 to legacy server errors when SCRAM-SHA-1 mechanism fails.
83
+ * NODE-572 Remove examples that use the second parameter to `find()`.
84
+
85
+ 2.0.43 09-14-2015
86
+ -----------------
87
+ * Propagate timeout event correctly to db instances.
88
+ * Application Monitoring API (APM) implemented.
89
+ * 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.
90
+ * Updated mongodb-core to 1.2.12.
91
+ * NODE-541 Initial Support "read committed" isolation level where "committed" means confimed by the voting majority of a replica set.
92
+ * GridStore doesn't share readPreference setting from connection string. (Issue #1295, https://github.com/zhangyaoxing)
93
+ * fixed forceServerObjectId calls (Issue #1292, https://github.com/d-mon-)
94
+ * Pass promise library through to DB function (Issue #1294, https://github.com/RovingCodeMonkey)
95
+
96
+ 2.0.42 08-18-2015
97
+ -----------------
98
+ * Added test case to exercise all non-crud methods on mongos topologies, fixed numberOfConnectedServers on mongos topology instance.
99
+
100
+ 2.0.41 08-14-2015
101
+ -----------------
102
+ * Added missing Mongos.prototype.parserType function.
103
+ * Updated mongodb-core to 1.2.10.
104
+
105
+ 2.0.40 07-14-2015
106
+ -----------------
107
+ * Updated mongodb-core to 1.2.9 for 2.4 wire protocol error handler fix.
108
+ * NODE-525 Reset connectionTimeout after it's overwritten by tls.connect.
109
+ * NODE-518 connectTimeoutMS is doubled in 2.0.39.
110
+ * NODE-506 Ensures that errors from bulk unordered and ordered are instanceof Error (Issue #1282, https://github.com/owenallenaz).
111
+ * NODE-526 Unique index not throwing duplicate key error.
112
+ * NODE-528 Ignore undefined fields in Collection.find().
113
+ * NODE-527 The API example for collection.createIndex shows Db.createIndex functionality.
114
+
115
+ 2.0.39 07-14-2015
116
+ -----------------
117
+ * Updated mongodb-core to 1.2.6 for NODE-505.
118
+
119
+ 2.0.38 07-14-2015
120
+ -----------------
121
+ * NODE-505 Query fails to find records that have a 'result' property with an array value.
122
+
123
+ 2.0.37 07-14-2015
124
+ -----------------
125
+ * NODE-504 Collection * Default options when using promiseLibrary.
126
+ * NODE-500 Accidental repeat of hostname in seed list multiplies total connections persistently.
127
+ * Updated mongodb-core to 1.2.5 to fix NODE-492.
128
+
129
+ 2.0.36 07-07-2015
130
+ -----------------
131
+ * Fully promisified allowing the use of ES6 generators and libraries like co. Also allows for BYOP (Bring your own promises).
132
+ * NODE-493 updated mongodb-core to 1.2.4 to ensure we cannot DDOS the mongod or mongos process on large connection pool sizes.
133
+
134
+ 2.0.35 06-17-2015
135
+ -----------------
136
+ * Upgraded to mongodb-core 1.2.2 including removing warnings when C++ bson parser is not available and a fix for SCRAM authentication.
137
+
138
+ 2.0.34 06-17-2015
139
+ -----------------
140
+ * Upgraded to mongodb-core 1.2.1 speeding up serialization and removing the need for the c++ bson extension.
141
+ * NODE-486 fixed issue related to limit and skip when calling toArray in 2.0 driver.
142
+ * NODE-483 throw error if capabilities of topology is queries before topology has performed connection setup.
143
+ * NODE-482 fixed issue where MongoClient.connect would incorrectly identify a replset seed list server as a non replicaset member.
144
+ * NODE-487 fixed issue where killcursor command was not being sent correctly on limit and skip queries.
145
+
1
146
  2.0.33 05-20-2015
2
147
  -----------------
3
- - Bumped mongodb-core to 1.1.32.
148
+ * Bumped mongodb-core to 1.1.32.
4
149
 
5
150
  2.0.32 05-19-2015
6
151
  -----------------
7
- - NODE-463 db.close immediately executes its callback.
8
- - Don't only emit server close event once (Issue #1276, https://github.com/vkarpov15).
9
- - 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.
152
+ * NODE-463 db.close immediately executes its callback.
153
+ * Don't only emit server close event once (Issue #1276, https://github.com/vkarpov15).
154
+ * 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.
10
155
 
11
156
  2.0.31 05-08-2015
12
157
  -----------------
13
- - NODE-461 Tripping on error "no chunks found for file, possibly corrupt" when there is no error.
158
+ * NODE-461 Tripping on error "no chunks found for file, possibly corrupt" when there is no error.
14
159
 
15
160
  2.0.30 05-07-2015
16
161
  -----------------
17
- - NODE-460 fix; don't set authMechanism for user in db.authenticate() to avoid mongoose authentication issue.
162
+ * NODE-460 fix; don't set authMechanism for user in db.authenticate() to avoid mongoose authentication issue.
18
163
 
19
164
  2.0.29 05-07-2015
20
165
  -----------------
21
- - NODE-444 Possible memory leak, too many listeners added.
22
- - NODE-459 Auth failure using Node 0.8.28, MongoDB 3.0.2 & mongodb-node-native 1.4.35.
23
- - Bumped mongodb-core to 1.1.26.
166
+ * NODE-444 Possible memory leak, too many listeners added.
167
+ * NODE-459 Auth failure using Node 0.8.28, MongoDB 3.0.2 & mongodb-node-native 1.4.35.
168
+ * Bumped mongodb-core to 1.1.26.
24
169
 
25
170
  2.0.28 04-24-2015
26
171
  -----------------
27
- - Bumped mongodb-core to 1.1.25
28
- - Added Cursor.prototype.setCursorOption to allow for setting node specific cursor options for tailable cursors.
29
- - NODE-430 Cursor.count() opts argument masked by var opts = {}
30
- - NODE-406 Implemented Cursor.prototype.map function tapping into MongoClient cursor transforms.
31
- - NODE-438 replaceOne is not returning the result.ops property as described in the docs.
32
- - NODE-433 _read, pipe and write all open gridstore automatically if not open.
33
- - NODE-426 ensure drain event is emitted after write function returns, fixes intermittent issues in writing files to gridstore.
34
- - NODE-440 GridStoreStream._read() doesn't check GridStore.read() error.
35
- - Always use readPreference = primary for findAndModify command (ignore passed in read preferences) (Issue #1274, https://github.com/vkarpov15).
36
- - Minor fix in GridStore.exists for dealing with regular expressions searches.
172
+ * Bumped mongodb-core to 1.1.25
173
+ * Added Cursor.prototype.setCursorOption to allow for setting node specific cursor options for tailable cursors.
174
+ * NODE-430 Cursor.count() opts argument masked by var opts = {}
175
+ * NODE-406 Implemented Cursor.prototype.map function tapping into MongoClient cursor transforms.
176
+ * NODE-438 replaceOne is not returning the result.ops property as described in the docs.
177
+ * NODE-433 _read, pipe and write all open gridstore automatically if not open.
178
+ * NODE-426 ensure drain event is emitted after write function returns, fixes intermittent issues in writing files to gridstore.
179
+ * NODE-440 GridStoreStream._read() doesn't check GridStore.read() error.
180
+ * Always use readPreference = primary for findAndModify command (ignore passed in read preferences) (Issue #1274, https://github.com/vkarpov15).
181
+ * Minor fix in GridStore.exists for dealing with regular expressions searches.
37
182
 
38
183
  2.0.27 04-07-2015
39
184
  -----------------
40
- - 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.
185
+ * 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.
41
186
 
42
187
  2.0.26 04-07-2015
43
188
  -----------------
44
- - Implements the Common Index specification Standard API at https://github.com/mongodb/specifications/blob/master/source/index-management.rst.
45
- - NODE-408 Expose GridStore.currentChunk.chunkNumber.
189
+ * Implements the Common Index specification Standard API at https://github.com/mongodb/specifications/blob/master/source/index-management.rst.
190
+ * NODE-408 Expose GridStore.currentChunk.chunkNumber.
46
191
 
47
192
  2.0.25 03-26-2015
48
193
  -----------------
49
- - Upgraded mongodb-core to 1.1.21, making the C++ bson code an optional dependency to the bson module.
194
+ * Upgraded mongodb-core to 1.1.21, making the C++ bson code an optional dependency to the bson module.
50
195
 
51
196
  2.0.24 03-24-2015
52
197
  -----------------
53
- - NODE-395 Socket Not Closing, db.close called before full set finished initalizing leading to server connections in progress not being closed properly.
54
- - Upgraded mongodb-core to 1.1.20.
198
+ * NODE-395 Socket Not Closing, db.close called before full set finished initalizing leading to server connections in progress not being closed properly.
199
+ * Upgraded mongodb-core to 1.1.20.
55
200
 
56
201
  2.0.23 2015-03-21
57
202
  -----------------
58
- - NODE-380 Correctly return MongoError from toError method.
59
- - Fixed issue where addCursorFlag was not correctly setting the flag on the command for mongodb-core.
60
- - NODE-388 Changed length from method to property on order.js/unordered.js bulk operations.
61
- - Upgraded mongodb-core to 1.1.19.
203
+ * NODE-380 Correctly return MongoError from toError method.
204
+ * Fixed issue where addCursorFlag was not correctly setting the flag on the command for mongodb-core.
205
+ * NODE-388 Changed length from method to property on order.js/unordered.js bulk operations.
206
+ * Upgraded mongodb-core to 1.1.19.
62
207
 
63
208
  2.0.22 2015-03-16
64
209
  -----------------
65
- - NODE-377, fixed issue where tags would correctly be checked on secondary and nearest to filter out eligible server candidates.
66
- - Upgraded mongodb-core to 1.1.17.
210
+ * NODE-377, fixed issue where tags would correctly be checked on secondary and nearest to filter out eligible server candidates.
211
+ * Upgraded mongodb-core to 1.1.17.
67
212
 
68
213
  2.0.21 2015-03-06
69
214
  -----------------
70
- - Upgraded mongodb-core to 1.1.16 making sslValidate default to true to force validation on connection unless overriden by the user.
215
+ * Upgraded mongodb-core to 1.1.16 making sslValidate default to true to force validation on connection unless overriden by the user.
71
216
 
72
217
  2.0.20 2015-03-04
73
218
  -----------------
74
- - Updated mongodb-core 1.1.15 to relax pickserver method.
219
+ * Updated mongodb-core 1.1.15 to relax pickserver method.
75
220
 
76
221
  2.0.19 2015-03-03
77
222
  -----------------
78
- - NODE-376 Fixes issue - Unordered batch incorrectly tracks batch size when switching batch types (Issue #1261, https://github.com/meirgottlieb)
79
- - 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)
80
- - Expose MongoError from mongodb-core (Issue #1260, https://github.com/tjconcept)
223
+ * NODE-376 Fixes issue * Unordered batch incorrectly tracks batch size when switching batch types (Issue #1261, https://github.com/meirgottlieb)
224
+ * 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)
225
+ * Expose MongoError from mongodb-core (Issue #1260, https://github.com/tjconcept)
81
226
 
82
227
  2.0.18 2015-02-27
83
228
  -----------------
84
- - Bumped mongodb-core 1.1.14 to ensure passives are correctly added as secondaries.
229
+ * Bumped mongodb-core 1.1.14 to ensure passives are correctly added as secondaries.
85
230
 
86
231
  2.0.17 2015-02-27
87
232
  -----------------
88
- - NODE-336 Added length function to ordered and unordered bulk operations to be able know the amount of current operations in bulk.
89
- - Bumped mongodb-core 1.1.13 to ensure passives are correctly added as secondaries.
233
+ * NODE-336 Added length function to ordered and unordered bulk operations to be able know the amount of current operations in bulk.
234
+ * Bumped mongodb-core 1.1.13 to ensure passives are correctly added as secondaries.
90
235
 
91
236
  2.0.16 2015-02-16
92
237
  -----------------
93
- - listCollection now returns filtered result correctly removing db name for 2.6 or earlier servers.
94
- - Bumped mongodb-core 1.1.12 to correctly work for node 0.12.0 and io.js.
95
- - Add ability to get collection name from cursor (Issue #1253, https://github.com/vkarpov15)
238
+ * listCollection now returns filtered result correctly removing db name for 2.6 or earlier servers.
239
+ * Bumped mongodb-core 1.1.12 to correctly work for node 0.12.0 and io.js.
240
+ * Add ability to get collection name from cursor (Issue #1253, https://github.com/vkarpov15)
96
241
 
97
242
  2.0.15 2015-02-02
98
243
  -----------------
99
- - Unified behavior of listCollections results so 3.0 and pre 3.0 return same type of results.
100
- - Bumped mongodb-core to 1.1.11 to support per document tranforms in cursors as well as relaxing the setName requirement.
101
- - NODE-360 Aggregation cursor and command correctly passing down the maxTimeMS property.
102
- - Added ~1.0 mongodb-tools module for test running.
103
- - Remove the required setName for replicaset connections, if not set it will pick the first setName returned.
244
+ * Unified behavior of listCollections results so 3.0 and pre 3.0 return same type of results.
245
+ * Bumped mongodb-core to 1.1.11 to support per document tranforms in cursors as well as relaxing the setName requirement.
246
+ * NODE-360 Aggregation cursor and command correctly passing down the maxTimeMS property.
247
+ * Added ~1.0 mongodb-tools module for test running.
248
+ * Remove the required setName for replicaset connections, if not set it will pick the first setName returned.
104
249
 
105
250
  2.0.14 2015-01-21
106
251
  -----------------
107
- - Fixed some MongoClient.connect options pass through issues and added test coverage.
108
- - Bumped mongodb-core to 1.1.9 including fixes for io.js
252
+ * Fixed some MongoClient.connect options pass through issues and added test coverage.
253
+ * Bumped mongodb-core to 1.1.9 including fixes for io.js
109
254
 
110
255
  2.0.13 2015-01-09
111
256
  -----------------
112
- - Bumped mongodb-core to 1.1.8.
113
- - Optimized query path for performance, moving Object.defineProperty outside of constructors.
257
+ * Bumped mongodb-core to 1.1.8.
258
+ * Optimized query path for performance, moving Object.defineProperty outside of constructors.
114
259
 
115
260
  2.0.12 2014-12-22
116
261
  -----------------
117
- - Minor fixes to listCollections to ensure correct querying of a collection when using a string.
262
+ * Minor fixes to listCollections to ensure correct querying of a collection when using a string.
118
263
 
119
264
  2.0.11 2014-12-19
120
265
  -----------------
121
- - listCollections filters out index namespaces on < 2.8 correctly
122
- - Bumped mongo-client to 1.1.7
266
+ * listCollections filters out index namespaces on < 2.8 correctly
267
+ * Bumped mongo-client to 1.1.7
123
268
 
124
269
  2.0.10 2014-12-18
125
270
  -----------------
126
- - NODE-328 fixed db.open return when no callback available issue and added test.
127
- - NODE-327 Refactored listCollections to return cursor to support 2.8.
128
- - NODE-327 Added listIndexes method and refactored internal methods to use the new command helper.
129
- - NODE-335 Cannot create index for nested objects fixed by relaxing key checking for createIndex helper.
130
- - Enable setting of connectTimeoutMS (Issue #1235, https://github.com/vkarpov15)
131
- - Bumped mongo-client to 1.1.6
271
+ * NODE-328 fixed db.open return when no callback available issue and added test.
272
+ * NODE-327 Refactored listCollections to return cursor to support 2.8.
273
+ * NODE-327 Added listIndexes method and refactored internal methods to use the new command helper.
274
+ * NODE-335 Cannot create index for nested objects fixed by relaxing key checking for createIndex helper.
275
+ * Enable setting of connectTimeoutMS (Issue #1235, https://github.com/vkarpov15)
276
+ * Bumped mongo-client to 1.1.6
132
277
 
133
278
  2.0.9 2014-12-01
134
279
  ----------------
135
- - Bumped mongodb-core to 1.1.3 fixing global leaked variables and introducing strict across all classes.
136
- - All classes are now strict (Issue #1233)
137
- - NODE-324 Refactored insert/update/remove and all other crud opts to rely on internal methods to avoid any recursion.
138
- - Fixed recursion issues in debug logging due to JSON.stringify()
139
- - Documentation fixes (Issue #1232, https://github.com/wsmoak)
140
- - Fix writeConcern in Db.prototype.ensureIndex (Issue #1231, https://github.com/Qard)
280
+ * Bumped mongodb-core to 1.1.3 fixing global leaked variables and introducing strict across all classes.
281
+ * All classes are now strict (Issue #1233)
282
+ * NODE-324 Refactored insert/update/remove and all other crud opts to rely on internal methods to avoid any recursion.
283
+ * Fixed recursion issues in debug logging due to JSON.stringify()
284
+ * Documentation fixes (Issue #1232, https://github.com/wsmoak)
285
+ * Fix writeConcern in Db.prototype.ensureIndex (Issue #1231, https://github.com/Qard)
141
286
 
142
287
  2.0.8 2014-11-28
143
288
  ----------------
144
- - NODE-322 Finished up prototype refactoring of Db class.
145
- - NODE-322 Exposed Cursor in index.js for New Relic.
289
+ * NODE-322 Finished up prototype refactoring of Db class.
290
+ * NODE-322 Exposed Cursor in index.js for New Relic.
146
291
 
147
292
  2.0.7 2014-11-20
148
293
  ----------------
149
- - Bumped mongodb-core to 1.1.2 fixing a UTF8 encoding issue for collection names.
150
- - NODE-318 collection.update error while setting a function with serializeFunctions option.
151
- - Documentation fixes.
294
+ * Bumped mongodb-core to 1.1.2 fixing a UTF8 encoding issue for collection names.
295
+ * NODE-318 collection.update error while setting a function with serializeFunctions option.
296
+ * Documentation fixes.
152
297
 
153
298
  2.0.6 2014-11-14
154
299
  ----------------
155
- - Refactored code to be prototype based instead of privileged methods.
156
- - Bumped mongodb-core to 1.1.1 to take advantage of the prototype based refactorings.
157
- - Implemented missing aspects of the CRUD specification.
158
- - Fixed documentation issues.
159
- - Fixed global leak REFERENCE_BY_ID in gridfs grid_store (Issue #1225, https://github.com/j)
160
- - Fix LearnBoost/mongoose#2313: don't let user accidentally clobber geoNear params (Issue #1223, https://github.com/vkarpov15)
300
+ * Refactored code to be prototype based instead of privileged methods.
301
+ * Bumped mongodb-core to 1.1.1 to take advantage of the prototype based refactorings.
302
+ * Implemented missing aspects of the CRUD specification.
303
+ * Fixed documentation issues.
304
+ * Fixed global leak REFERENCE_BY_ID in gridfs grid_store (Issue #1225, https://github.com/j)
305
+ * Fix LearnBoost/mongoose#2313: don't let user accidentally clobber geoNear params (Issue #1223, https://github.com/vkarpov15)
161
306
 
162
307
  2.0.5 2014-10-29
163
308
  ----------------
164
- - Minor fixes to documentation and generation of documentation.
165
- - NODE-306 (No results in aggregation cursor when collection name contains a dot), Merged code for cursor and aggregation cursor.
309
+ * Minor fixes to documentation and generation of documentation.
310
+ * NODE-306 (No results in aggregation cursor when collection name contains a dot), Merged code for cursor and aggregation cursor.
166
311
 
167
312
  2.0.4 2014-10-23
168
313
  ----------------
169
- - Allow for single replicaset seed list with no setName specified (Issue #1220, https://github.com/imaman)
170
- - Made each rewind on each call allowing for re-using the cursor.
171
- - Fixed issue where incorrect iterations would happen on each for extensive batchSizes.
172
- - NODE-301 specifying maxTimeMS on find causes all fields to be omitted from result.
314
+ * Allow for single replicaset seed list with no setName specified (Issue #1220, https://github.com/imaman)
315
+ * Made each rewind on each call allowing for re-using the cursor.
316
+ * Fixed issue where incorrect iterations would happen on each for extensive batchSizes.
317
+ * NODE-301 specifying maxTimeMS on find causes all fields to be omitted from result.
173
318
 
174
319
  2.0.3 2014-10-14
175
320
  ----------------
176
- - NODE-297 Aggregate Broken for case of pipeline with no options.
321
+ * NODE-297 Aggregate Broken for case of pipeline with no options.
177
322
 
178
323
  2.0.2 2014-10-08
179
324
  ----------------
180
- - Bumped mongodb-core to 1.0.2.
181
- - Fixed bson module dependency issue by relying on the mongodb-core one.
182
- - Use findOne instead of find followed by nextObject (Issue #1216, https://github.com/sergeyksv)
325
+ * Bumped mongodb-core to 1.0.2.
326
+ * Fixed bson module dependency issue by relying on the mongodb-core one.
327
+ * Use findOne instead of find followed by nextObject (Issue #1216, https://github.com/sergeyksv)
183
328
 
184
329
  2.0.1 2014-10-07
185
330
  ----------------
186
- - Dependency fix
331
+ * Dependency fix
187
332
 
188
333
  2.0.0 2014-10-07
189
334
  ----------------
190
- - First release of 2.0 driver
335
+ * First release of 2.0 driver
191
336
 
192
337
  2.0.0-alpha2 2014-10-02
193
338
  -----------------------
194
- - CRUD API (insertOne, insertMany, updateOne, updateMany, removeOne, removeMany, bulkWrite, findOneAndDelete, findOneAndUpdate, findOneAndReplace)
195
- - Cluster Management Spec compatible
339
+ * CRUD API (insertOne, insertMany, updateOne, updateMany, removeOne, removeMany, bulkWrite, findOneAndDelete, findOneAndUpdate, findOneAndReplace)
340
+ * Cluster Management Spec compatible.
196
341
 
197
342
  2.0.0-alpha1 2014-09-08
198
343
  -----------------------
199
- - Insert method allows only up 1000 pr batch for legacy as well as 2.6 mode
200
- - Streaming behavior is 0.10.x or higher with backwards compatibility using readable-stream npm package
201
- - Gridfs stream only available through .stream() method due to overlapping names on Gridstore object and streams in 0.10.x and higher of node
202
- - remove third result on update and remove and return the whole result document instead (getting rid of the weird 3 result parameters)
203
- - Might break some application
204
- - Returns the actual mongodb-core result instead of just the number of records changed for insert/update/remove
205
- - MongoClient only has the connect method (no ability instantiate with Server, ReplSet or similar)
206
- - Removed Grid class
207
- - GridStore only supports w+ for metadata updates, no appending to file as it's not thread safe and can cause corruption of the data
344
+ * Insert method allows only up 1000 pr batch for legacy as well as 2.6 mode
345
+ * Streaming behavior is 0.10.x or higher with backwards compatibility using readable-stream npm package
346
+ * Gridfs stream only available through .stream() method due to overlapping names on Gridstore object and streams in 0.10.x and higher of node
347
+ * remove third result on update and remove and return the whole result document instead (getting rid of the weird 3 result parameters)
348
+ * Might break some application
349
+ * Returns the actual mongodb-core result instead of just the number of records changed for insert/update/remove
350
+ * MongoClient only has the connect method (no ability instantiate with Server, ReplSet or similar)
351
+ * Removed Grid class
352
+ * GridStore only supports w+ for metadata updates, no appending to file as it's not thread safe and can cause corruption of the data
208
353
  + seek will fail if attempt to use with w or w+
209
354
  + write will fail if attempted with w+ or r
210
355
  + w+ only works for updating metadata on a file
211
- - Cursor toArray and each resets and re-runs the cursor
212
- - FindAndModify returns whole result document instead of just value
213
- - Extend cursor to allow for setting all the options via methods instead of dealing with the current messed up find
214
- - Removed db.dereference method
215
- - Removed db.cursorInfo method
216
- - Removed db.stats method
217
- - Removed db.collectionNames not needed anymore as it's just a specialized case of listCollections
218
- - 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.
219
- - Added db.listCollections to replace several methods above
356
+ * Cursor toArray and each resets and re-runs the cursor
357
+ * FindAndModify returns whole result document instead of just value
358
+ * Extend cursor to allow for setting all the options via methods instead of dealing with the current messed up find
359
+ * Removed db.dereference method
360
+ * Removed db.cursorInfo method
361
+ * Removed db.stats method
362
+ * Removed db.collectionNames not needed anymore as it's just a specialized case of listCollections
363
+ * 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.
364
+ * Added db.listCollections to replace several methods above
220
365
 
221
366
  1.4.10 2014-09-04
222
367
  -----------------
223
- - Fixed BSON and Kerberos compilation issues
224
- - Bumped BSON to ~0.2 always installing latest BSON 0.2.x series
225
- - Fixed Kerberos and bumped to 0.0.4
368
+ * Fixed BSON and Kerberos compilation issues
369
+ * Bumped BSON to ~0.2 always installing latest BSON 0.2.x series
370
+ * Fixed Kerberos and bumped to 0.0.4
226
371
 
227
372
  1.4.9 2014-08-26
228
373
  ----------------
229
- - Check _bsonType for Binary (Issue #1202, https://github.com/mchapman)
230
- - Remove duplicate Cursor constructor (Issue #1201, https://github.com/KenPowers)
231
- - Added missing parameter in the documentation (Issue #1199, https://github.com/wpjunior)
232
- - Documented third parameter on the update callback(Issue #1196, https://github.com/gabmontes)
233
- - NODE-240 Operations on SSL connection hang on node 0.11.x
234
- - NODE-235 writeResult is not being passed on when error occurs in insert
235
- - NODE-229 Allow count to work with query hints
236
- - NODE-233 collection.save() does not support fullResult
237
- - NODE-244 Should parseError also emit a `disconnected` event?
238
- - NODE-246 Cursors are inefficiently constructed and consequently cannot be promisified.
239
- - NODE-248 Crash with X509 auth
240
- - NODE-252 Uncaught Exception in Base.__executeAllServerSpecificErrorCallbacks
241
- - Bumped BSON parser to 0.2.12
374
+ * Check _bsonType for Binary (Issue #1202, https://github.com/mchapman)
375
+ * Remove duplicate Cursor constructor (Issue #1201, https://github.com/KenPowers)
376
+ * Added missing parameter in the documentation (Issue #1199, https://github.com/wpjunior)
377
+ * Documented third parameter on the update callback(Issue #1196, https://github.com/gabmontes)
378
+ * NODE-240 Operations on SSL connection hang on node 0.11.x
379
+ * NODE-235 writeResult is not being passed on when error occurs in insert
380
+ * NODE-229 Allow count to work with query hints
381
+ * NODE-233 collection.save() does not support fullResult
382
+ * NODE-244 Should parseError also emit a `disconnected` event?
383
+ * NODE-246 Cursors are inefficiently constructed and consequently cannot be promisified.
384
+ * NODE-248 Crash with X509 auth
385
+ * NODE-252 Uncaught Exception in Base.__executeAllServerSpecificErrorCallbacks
386
+ * Bumped BSON parser to 0.2.12
242
387
 
243
388
 
244
389
  1.4.8 2014-08-01
245
390
  ----------------
246
- - NODE-205 correctly emit authenticate event
247
- - NODE-210 ensure no undefined connection error when checking server state
248
- - NODE-212 correctly inherit socketTimeoutMS from replicaset when HA process adds new servers or reconnects to existing ones
249
- - NODE-220 don't throw error if ensureIndex errors out in Gridstore
250
- - Updated bson to 0.2.11 to ensure correct toBSON behavior when returning non object in nested classes
251
- - Fixed test running filters
252
- - Wrap debug log in a call to format (Issue #1187, https://github.com/andyroyle)
253
- - False option values should not trigger w:1 (Issue #1186, https://github.com/jsdevel)
254
- - Fix aggregatestream.close(Issue #1194, https://github.com/jonathanong)
255
- - Fixed parsing issue for w:0 in url parser when in connection string
256
- - Modified collection.geoNear to support a geoJSON point or legacy coordinate pair (Issue #1198, https://github.com/mmacmillan)
391
+ * NODE-205 correctly emit authenticate event
392
+ * NODE-210 ensure no undefined connection error when checking server state
393
+ * NODE-212 correctly inherit socketTimeoutMS from replicaset when HA process adds new servers or reconnects to existing ones
394
+ * NODE-220 don't throw error if ensureIndex errors out in Gridstore
395
+ * Updated bson to 0.2.11 to ensure correct toBSON behavior when returning non object in nested classes
396
+ * Fixed test running filters
397
+ * Wrap debug log in a call to format (Issue #1187, https://github.com/andyroyle)
398
+ * False option values should not trigger w:1 (Issue #1186, https://github.com/jsdevel)
399
+ * Fix aggregatestream.close(Issue #1194, https://github.com/jonathanong)
400
+ * Fixed parsing issue for w:0 in url parser when in connection string
401
+ * Modified collection.geoNear to support a geoJSON point or legacy coordinate pair (Issue #1198, https://github.com/mmacmillan)
257
402
 
258
403
  1.4.7 2014-06-18
259
404
  ----------------
260
- - Make callbacks to be executed in right domain when server comes back up (Issue #1184, https://github.com/anton-kotenko)
261
- - Fix issue where currentOp query against mongos would fail due to mongos passing through $readPreference field to mongod (CS-X)
405
+ * Make callbacks to be executed in right domain when server comes back up (Issue #1184, https://github.com/anton-kotenko)
406
+ * Fix issue where currentOp query against mongos would fail due to mongos passing through $readPreference field to mongod (CS-X)
262
407
 
263
408
  1.4.6 2014-06-12
264
409
  ----------------
265
- - Added better support for MongoClient IP6 parsing (Issue #1181, https://github.com/micovery)
266
- - Remove options check on index creation (Issue #1179, Issue #1183, https://github.com/jdesboeufs, https://github.com/rubenvereecken)
267
- - Added missing type check before calling optional callback function (Issue #1180)
410
+ * Added better support for MongoClient IP6 parsing (Issue #1181, https://github.com/micovery)
411
+ * Remove options check on index creation (Issue #1179, Issue #1183, https://github.com/jdesboeufs, https://github.com/rubenvereecken)
412
+ * Added missing type check before calling optional callback function (Issue #1180)
268
413
 
269
414
  1.4.5 2014-05-21
270
415
  ----------------
271
- - 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.
272
- - Fix to avoid MongoClient.connect hanging during auth when secondaries building indexes pre 2.6.
273
- - return the destination stream in GridStore.pipe (Issue #1176, https://github.com/iamdoron)
416
+ * 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.
417
+ * Fix to avoid MongoClient.connect hanging during auth when secondaries building indexes pre 2.6.
418
+ * return the destination stream in GridStore.pipe (Issue #1176, https://github.com/iamdoron)
274
419
 
275
420
  1.4.4 2014-05-13
276
421
  ----------------
277
- - Bumped BSON version to use the NaN 1.0 package, fixed strict comparison issue for ObjectID
278
- - Removed leaking global variable (Issue #1174, https://github.com/dainis)
279
- - MongoClient respects connectTimeoutMS for initial discovery process (NODE-185)
280
- - Fix bug with return messages larger than 16MB but smaller than max BSON Message Size (NODE-184)
422
+ * Bumped BSON version to use the NaN 1.0 package, fixed strict comparison issue for ObjectID
423
+ * Removed leaking global variable (Issue #1174, https://github.com/dainis)
424
+ * MongoClient respects connectTimeoutMS for initial discovery process (NODE-185)
425
+ * Fix bug with return messages larger than 16MB but smaller than max BSON Message Size (NODE-184)
281
426
 
282
427
  1.4.3 2014-05-01
283
428
  ----------------
284
- - Clone options for commands to avoid polluting original options passed from Mongoose (Issue #1171, https://github.com/vkarpov15)
285
- - Made geoNear and geoHaystackSearch only clean out allowed options from command generation (Issue #1167)
286
- - Fixed typo for allowDiskUse (Issue #1168, https://github.com/joaofranca)
287
- - A 'mapReduce' function changed 'function' to instance '\<Object\>' of 'Code' class (Issue #1165, https://github.com/exabugs)
288
- - Made findAndModify set sort only when explicitly set (Issue #1163, https://github.com/sars)
289
- - Rewriting a gridStore file by id should use a new filename if provided (Issue #1169, https://github.com/vsivsi)
429
+ * Clone options for commands to avoid polluting original options passed from Mongoose (Issue #1171, https://github.com/vkarpov15)
430
+ * Made geoNear and geoHaystackSearch only clean out allowed options from command generation (Issue #1167)
431
+ * Fixed typo for allowDiskUse (Issue #1168, https://github.com/joaofranca)
432
+ * A 'mapReduce' function changed 'function' to instance '\<Object\>' of 'Code' class (Issue #1165, https://github.com/exabugs)
433
+ * Made findAndModify set sort only when explicitly set (Issue #1163, https://github.com/sars)
434
+ * Rewriting a gridStore file by id should use a new filename if provided (Issue #1169, https://github.com/vsivsi)
290
435
 
291
436
  1.4.2 2014-04-15
292
437
  ----------------
293
- - Fix for inheritance of readPreferences from MongoClient NODE-168/NODE-169
294
- - Merged in fix for ping strategy to avoid hitting non-pinged servers (Issue #1161, https://github.com/vaseker)
295
- - Merged in fix for correct debug output for connection messages (Issue #1158, https://github.com/vaseker)
296
- - Fixed global variable leak (Issue #1160, https://github.com/vaseker)
438
+ * Fix for inheritance of readPreferences from MongoClient NODE-168/NODE-169
439
+ * Merged in fix for ping strategy to avoid hitting non-pinged servers (Issue #1161, https://github.com/vaseker)
440
+ * Merged in fix for correct debug output for connection messages (Issue #1158, https://github.com/vaseker)
441
+ * Fixed global variable leak (Issue #1160, https://github.com/vaseker)
297
442
 
298
443
  1.4.1 2014-04-09
299
444
  ----------------
300
- - Correctly emit joined event when primary change
301
- - Add _id to documents correctly when using bulk operations
445
+ * Correctly emit joined event when primary change
446
+ * Add _id to documents correctly when using bulk operations
302
447
 
303
448
  1.4.0 2014-04-03
304
449
  ----------------
305
- - All node exceptions will no longer be caught if on('error') is defined
306
- - Added X509 auth support
307
- - Fix for MongoClient connection timeout issue (NODE-97)
308
- - Pass through error messages from parseError instead of just text (Issue #1125)
309
- - Close db connection on error (Issue #1128, https://github.com/benighted)
310
- - Fixed documentation generation
311
- - Added aggregation cursor for 2.6 and emulated cursor for pre 2.6 (uses stream2)
312
- - New Bulk API implementation using write commands for 2.6 and down converts for pre 2.6
313
- - Insert/Update/Remove using new write commands when available
314
- - Added support for new roles based API's in 2.6 for addUser/removeUser
315
- - Added bufferMaxEntries to start failing if the buffer hits the specified number of entries
316
- - Upgraded BSON parser to version 0.2.7 to work with < 0.11.10 C++ API changes
317
- - Support for OP_LOG_REPLAY flag (NODE-94)
318
- - Fixes for SSL HA ping and discovery.
319
- - Uses createIndexes if available for ensureIndex/createIndex
320
- - Added parallelCollectionScan method to collection returning CommandCursor instances for cursors
321
- - Made CommandCursor behave as Readable stream.
322
- - Only Db honors readPreference settings, removed Server.js legacy readPreference settings due to user confusion.
323
- - Reconnect event emitted by ReplSet/Mongos/Server after reconnect and before replaying of buffered operations.
324
- - GridFS buildMongoObject returns error on illegal md5 (NODE-157, https://github.com/iantocristian)
325
- - Default GridFS chunk size changed to (255 * 1024) bytes to optimize for collections defaulting to power of 2 sizes on 2.6.
326
- - Refactored commands to all go through command function ensuring consistent command execution.
327
- - Fixed issues where readPreferences where not correctly passed to mongos.
328
- - Catch error == null and make err detection more prominent (NODE-130)
329
- - Allow reads from arbiter for single server connection (NODE-117)
330
- - Handle error coming back with no documents (NODE-130)
331
- - Correctly use close parameter in Gridstore.write() (NODE-125)
332
- - Throw an error on a bulk find with no selector (NODE-129, https://github.com/vkarpov15)
333
- - Use a shallow copy of options in find() (NODE-124, https://github.com/vkarpov15)
334
- - Fix statistical strategy (NODE-158, https://github.com/vkarpov15)
335
- - GridFS off-by-one bug in lastChunkNumber() causes uncaught throw and data loss (Issue #1154, https://github.com/vsivsi)
336
- - GridStore drops passed `aliases` option, always results in `null` value in GridFS files (Issue #1152, https://github.com/vsivsi)
337
- - Remove superfluous connect object copying in index.js (Issue #1145, https://github.com/thomseddon)
338
- - Do not return false when the connection buffer is still empty (Issue #1143, https://github.com/eknkc)
339
- - Check ReadPreference object on ReplSet.canRead (Issue #1142, https://github.com/eknkc)
340
- - Fix unpack error on _executeQueryCommand (Issue #1141, https://github.com/eknkc)
341
- - Close db on failed connect so node can exit (Issue #1128, https://github.com/benighted)
342
- - Fix global leak with _write_concern (Issue #1126, https://github.com/shanejonas)
450
+ * All node exceptions will no longer be caught if on('error') is defined
451
+ * Added X509 auth support
452
+ * Fix for MongoClient connection timeout issue (NODE-97)
453
+ * Pass through error messages from parseError instead of just text (Issue #1125)
454
+ * Close db connection on error (Issue #1128, https://github.com/benighted)
455
+ * Fixed documentation generation
456
+ * Added aggregation cursor for 2.6 and emulated cursor for pre 2.6 (uses stream2)
457
+ * New Bulk API implementation using write commands for 2.6 and down converts for pre 2.6
458
+ * Insert/Update/Remove using new write commands when available
459
+ * Added support for new roles based API's in 2.6 for addUser/removeUser
460
+ * Added bufferMaxEntries to start failing if the buffer hits the specified number of entries
461
+ * Upgraded BSON parser to version 0.2.7 to work with < 0.11.10 C++ API changes
462
+ * Support for OP_LOG_REPLAY flag (NODE-94)
463
+ * Fixes for SSL HA ping and discovery.
464
+ * Uses createIndexes if available for ensureIndex/createIndex
465
+ * Added parallelCollectionScan method to collection returning CommandCursor instances for cursors
466
+ * Made CommandCursor behave as Readable stream.
467
+ * Only Db honors readPreference settings, removed Server.js legacy readPreference settings due to user confusion.
468
+ * Reconnect event emitted by ReplSet/Mongos/Server after reconnect and before replaying of buffered operations.
469
+ * GridFS buildMongoObject returns error on illegal md5 (NODE-157, https://github.com/iantocristian)
470
+ * Default GridFS chunk size changed to (255 * 1024) bytes to optimize for collections defaulting to power of 2 sizes on 2.6.
471
+ * Refactored commands to all go through command function ensuring consistent command execution.
472
+ * Fixed issues where readPreferences where not correctly passed to mongos.
473
+ * Catch error == null and make err detection more prominent (NODE-130)
474
+ * Allow reads from arbiter for single server connection (NODE-117)
475
+ * Handle error coming back with no documents (NODE-130)
476
+ * Correctly use close parameter in Gridstore.write() (NODE-125)
477
+ * Throw an error on a bulk find with no selector (NODE-129, https://github.com/vkarpov15)
478
+ * Use a shallow copy of options in find() (NODE-124, https://github.com/vkarpov15)
479
+ * Fix statistical strategy (NODE-158, https://github.com/vkarpov15)
480
+ * GridFS off-by-one bug in lastChunkNumber() causes uncaught throw and data loss (Issue #1154, https://github.com/vsivsi)
481
+ * GridStore drops passed `aliases` option, always results in `null` value in GridFS files (Issue #1152, https://github.com/vsivsi)
482
+ * Remove superfluous connect object copying in index.js (Issue #1145, https://github.com/thomseddon)
483
+ * Do not return false when the connection buffer is still empty (Issue #1143, https://github.com/eknkc)
484
+ * Check ReadPreference object on ReplSet.canRead (Issue #1142, https://github.com/eknkc)
485
+ * Fix unpack error on _executeQueryCommand (Issue #1141, https://github.com/eknkc)
486
+ * Close db on failed connect so node can exit (Issue #1128, https://github.com/benighted)
487
+ * Fix global leak with _write_concern (Issue #1126, https://github.com/shanejonas)
343
488
 
344
489
  1.3.19 2013-08-21
345
490
  -----------------
346
- - Correctly rethrowing errors after change from event emission to callbacks, compatibility with 0.10.X domains without breaking 0.8.X support.
347
- - Small fix to return the entire findAndModify result as the third parameter (Issue #1068)
348
- - 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)
491
+ * Correctly rethrowing errors after change from event emission to callbacks, compatibility with 0.10.X domains without breaking 0.8.X support.
492
+ * Small fix to return the entire findAndModify result as the third parameter (Issue #1068)
493
+ * 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)
349
494
 
350
495
  1.3.18 2013-08-10
351
496
  -----------------
352
- - Fixed issue when throwing exceptions in MongoClient.connect/Db.open (Issue #1057)
353
- - Fixed an issue where _events is not cleaned up correctly causing a slow steady memory leak.
497
+ * Fixed issue when throwing exceptions in MongoClient.connect/Db.open (Issue #1057)
498
+ * Fixed an issue where _events is not cleaned up correctly causing a slow steady memory leak.
354
499
 
355
500
  1.3.17 2013-08-07
356
501
  -----------------
357
- - Ignore return commands that have no registered callback
358
- - Made collection.count not use the db.command function
359
- - Fix throw exception on ping command (Issue #1055)
502
+ * Ignore return commands that have no registered callback
503
+ * Made collection.count not use the db.command function
504
+ * Fix throw exception on ping command (Issue #1055)
360
505
 
361
506
  1.3.16 2013-08-02
362
507
  -----------------
363
- - Fixes connection issue where lots of connections would happen if a server is in recovery mode during connection (Issue #1050, NODE-50, NODE-51)
364
- - Bug in unlink mulit filename (Issue #1054)
508
+ * Fixes connection issue where lots of connections would happen if a server is in recovery mode during connection (Issue #1050, NODE-50, NODE-51)
509
+ * Bug in unlink mulit filename (Issue #1054)
365
510
 
366
511
  1.3.15 2013-08-01
367
512
  -----------------
368
- - 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
513
+ * 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
369
514
 
370
515
  1.3.14 2013-08-01
371
516
  -----------------
372
- - Fixed issue with checkKeys where it would error on X.X
517
+ * Fixed issue with checkKeys where it would error on X.X
373
518
 
374
519
  1.3.13 2013-07-31
375
520
  -----------------
376
- - Added override for checkKeys on insert/update (Warning will expose you to injection attacks) (Issue #1046)
377
- - BSON size checking now done pre serialization (Issue #1037)
378
- - Added isConnected returns false when no connection Pool exists (Issue #1043)
379
- - Unified command handling to ensure same handling (Issue #1041, #1042)
380
- - Correctly emit "open" and "fullsetup" across all Db's associated with Mongos, ReplSet or Server (Issue #1040)
381
- - Correctly handles bug in authentication when attempting to connect to a recovering node in a replicaset.
382
- - Correctly remove recovering servers from available servers in replicaset. Piggybacks on the ping command.
383
- - Removed findAndModify chaining to be compliant with behavior in other official drivers and to fix a known mongos issue.
384
- - Fixed issue with Kerberos authentication on Windows for re-authentication.
385
- - Fixed Mongos failover behavior to correctly throw out old servers.
386
- - Ensure stored queries/write ops are executed correctly after connection timeout
387
- - Added promoteLongs option for to allow for overriding the promotion of Longs to Numbers and return the actual Long.
521
+ * Added override for checkKeys on insert/update (Warning will expose you to injection attacks) (Issue #1046)
522
+ * BSON size checking now done pre serialization (Issue #1037)
523
+ * Added isConnected returns false when no connection Pool exists (Issue #1043)
524
+ * Unified command handling to ensure same handling (Issue #1041, #1042)
525
+ * Correctly emit "open" and "fullsetup" across all Db's associated with Mongos, ReplSet or Server (Issue #1040)
526
+ * Correctly handles bug in authentication when attempting to connect to a recovering node in a replicaset.
527
+ * Correctly remove recovering servers from available servers in replicaset. Piggybacks on the ping command.
528
+ * Removed findAndModify chaining to be compliant with behavior in other official drivers and to fix a known mongos issue.
529
+ * Fixed issue with Kerberos authentication on Windows for re-authentication.
530
+ * Fixed Mongos failover behavior to correctly throw out old servers.
531
+ * Ensure stored queries/write ops are executed correctly after connection timeout
532
+ * Added promoteLongs option for to allow for overriding the promotion of Longs to Numbers and return the actual Long.
388
533
 
389
534
  1.3.12 2013-07-19
390
535
  -----------------
391
- - Fixed issue where timeouts sometimes would behave wrongly (Issue #1032)
392
- - Fixed bug with callback third parameter on some commands (Issue #1033)
393
- - Fixed possible issue where killcursor command might leave hanging functions
394
- - Fixed issue where Mongos was not correctly removing dead servers from the pool of eligable servers
395
- - Throw error if dbName or collection name contains null character (at command level and at collection level)
396
- - 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)
536
+ * Fixed issue where timeouts sometimes would behave wrongly (Issue #1032)
537
+ * Fixed bug with callback third parameter on some commands (Issue #1033)
538
+ * Fixed possible issue where killcursor command might leave hanging functions
539
+ * Fixed issue where Mongos was not correctly removing dead servers from the pool of eligable servers
540
+ * Throw error if dbName or collection name contains null character (at command level and at collection level)
541
+ * 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)
397
542
 
398
543
  1.3.11 2013-07-04
399
544
  -----------------
400
- - Fixed errors on geoNear and geoSearch (Issue #1024, https://github.com/ebensing)
401
- - Add driver version to export (Issue #1021, https://github.com/aheckmann)
402
- - Add text to readpreference obedient commands (Issue #1019)
403
- - Drivers should check the query failure bit even on getmore response (Issue #1018)
404
- - Map reduce has incorrect expectations of 'inline' value for 'out' option (Issue #1016, https://github.com/rcotter)
405
- - Support SASL PLAIN authentication (Issue #1009)
406
- - Ability to use different Service Name on the driver for Kerberos Authentication (Issue #1008)
407
- - Remove unnecessary octal literal to allow the code to run in strict mode (Issue #1005, https://github.com/jamesallardice)
408
- - Proper handling of recovering nodes (when they go into recovery and when they return from recovery, Issue #1027)
545
+ * Fixed errors on geoNear and geoSearch (Issue #1024, https://github.com/ebensing)
546
+ * Add driver version to export (Issue #1021, https://github.com/aheckmann)
547
+ * Add text to readpreference obedient commands (Issue #1019)
548
+ * Drivers should check the query failure bit even on getmore response (Issue #1018)
549
+ * Map reduce has incorrect expectations of 'inline' value for 'out' option (Issue #1016, https://github.com/rcotter)
550
+ * Support SASL PLAIN authentication (Issue #1009)
551
+ * Ability to use different Service Name on the driver for Kerberos Authentication (Issue #1008)
552
+ * Remove unnecessary octal literal to allow the code to run in strict mode (Issue #1005, https://github.com/jamesallardice)
553
+ * Proper handling of recovering nodes (when they go into recovery and when they return from recovery, Issue #1027)
409
554
 
410
555
  1.3.10 2013-06-17
411
556
  -----------------
412
- - Guard against possible undefined in server::canCheckoutWriter (Issue #992, https://github.com/willyaranda)
413
- - Fixed some duplicate test names (Issue #993, https://github.com/kawanet)
414
- - Introduced write and read concerns for GridFS (Issue #996)
415
- - Fixed commands not correctly respecting Collection level read preference (Issue #995, #999)
416
- - Fixed issue with pool size on replicaset connections (Issue #1000)
417
- - Execute all query commands on master switch (Issue #1002, https://github.com/fogaztuc)
557
+ * Guard against possible undefined in server::canCheckoutWriter (Issue #992, https://github.com/willyaranda)
558
+ * Fixed some duplicate test names (Issue #993, https://github.com/kawanet)
559
+ * Introduced write and read concerns for GridFS (Issue #996)
560
+ * Fixed commands not correctly respecting Collection level read preference (Issue #995, #999)
561
+ * Fixed issue with pool size on replicaset connections (Issue #1000)
562
+ * Execute all query commands on master switch (Issue #1002, https://github.com/fogaztuc)
418
563
 
419
564
  1.3.9 2013-06-05
420
565
  ----------------
421
- - Fixed memory leak when findAndModify errors out on w>1 and chained callbacks not properly cleaned up.
566
+ * Fixed memory leak when findAndModify errors out on w>1 and chained callbacks not properly cleaned up.
422
567
 
423
568
  1.3.8 2013-05-31
424
569
  ----------------
425
- - Fixed issue with socket death on windows where it emits error event instead of close event (Issue #987)
426
- - Emit authenticate event on db after authenticate method has finished on db instance (Issue #984)
427
- - Allows creation of MongoClient and do new MongoClient().connect(..). Emits open event when connection correct allowing for apps to react on event.
570
+ * Fixed issue with socket death on windows where it emits error event instead of close event (Issue #987)
571
+ * Emit authenticate event on db after authenticate method has finished on db instance (Issue #984)
572
+ * Allows creation of MongoClient and do new MongoClient().connect(..). Emits open event when connection correct allowing for apps to react on event.
428
573
 
429
574
  1.3.7 2013-05-29
430
575
  ----------------
431
- - After reconnect, tailable getMores go on inconsistent connections (Issue #981, #982, https://github.com/glasser)
432
- - Updated Bson to 0.1.9 to fix ARM support (Issue #985)
576
+ * After reconnect, tailable getMores go on inconsistent connections (Issue #981, #982, https://github.com/glasser)
577
+ * Updated Bson to 0.1.9 to fix ARM support (Issue #985)
433
578
 
434
579
  1.3.6 2013-05-21
435
580
  ----------------
436
- - Fixed issue where single server reconnect attempt would throw due to missing options variable (Issue #979)
437
- - Fixed issue where difference in ismaster server name and seed list caused connections issues, (Issue #976)
581
+ * Fixed issue where single server reconnect attempt would throw due to missing options variable (Issue #979)
582
+ * Fixed issue where difference in ismaster server name and seed list caused connections issues, (Issue #976)
438
583
 
439
584
  1.3.5 2013-05-14
440
585
  ----------------
441
- - Fixed issue where HA for replicaset would pick the same broken connection when attempting to ping the replicaset causing the replicaset to never recover.
586
+ * Fixed issue where HA for replicaset would pick the same broken connection when attempting to ping the replicaset causing the replicaset to never recover.
442
587
 
443
588
  1.3.4 2013-05-14
444
589
  ----------------
445
- - Fixed bug where options not correctly passed in for uri parser (Issue #973, https://github.com/supershabam)
446
- - Fixed bug when passing a named index hint (Issue #974)
590
+ * Fixed bug where options not correctly passed in for uri parser (Issue #973, https://github.com/supershabam)
591
+ * Fixed bug when passing a named index hint (Issue #974)
447
592
 
448
593
  1.3.3 2013-05-09
449
594
  ----------------
450
- - Fixed auto-reconnect issue with single server instance.
595
+ * Fixed auto-reconnect issue with single server instance.
451
596
 
452
597
  1.3.2 2013-05-08
453
598
  ----------------
454
- - Fixes for an issue where replicaset would be pronounced dead when high priority primary caused double elections.
599
+ * Fixes for an issue where replicaset would be pronounced dead when high priority primary caused double elections.
455
600
 
456
601
  1.3.1 2013-05-06
457
602
  ----------------
458
- - Fix for replicaset consisting of primary/secondary/arbiter with priority applied failing to reconnect properly
459
- - Applied auth before server instance is set as connected when single server connection
460
- - Throw error if array of documents passed to save method
603
+ * Fix for replicaset consisting of primary/secondary/arbiter with priority applied failing to reconnect properly
604
+ * Applied auth before server instance is set as connected when single server connection
605
+ * Throw error if array of documents passed to save method
461
606
 
462
607
  1.3.0 2013-04-25
463
608
  ----------------
464
- - Whole High availability handling for Replicaset, Server and Mongos connections refactored to ensure better handling of failover cases.
465
- - Fixed issue where findAndModify would not correctly skip issuing of chained getLastError (Issue #941)
466
- - Fixed throw error issue on errors with findAndModify during write out operation (Issue #939, https://github.com/autopulated)
467
- - Gridstore.prototype.writeFile now returns gridstore object correctly (Issue #938)
468
- - Kerberos support is now an optional module that allows for use of GSSAPI authentication using MongoDB Subscriber edition
469
- - Fixed issue where cursor.toArray could blow the stack on node 0.10.X (#950)
609
+ * Whole High availability handling for Replicaset, Server and Mongos connections refactored to ensure better handling of failover cases.
610
+ * Fixed issue where findAndModify would not correctly skip issuing of chained getLastError (Issue #941)
611
+ * Fixed throw error issue on errors with findAndModify during write out operation (Issue #939, https://github.com/autopulated)
612
+ * Gridstore.prototype.writeFile now returns gridstore object correctly (Issue #938)
613
+ * Kerberos support is now an optional module that allows for use of GSSAPI authentication using MongoDB Subscriber edition
614
+ * Fixed issue where cursor.toArray could blow the stack on node 0.10.X (#950)
470
615
 
471
616
  1.2.14 2013-03-14
472
617
  -----------------
473
- - Refactored test suite to speed up running of replicaset tests
474
- - Fix of async error handling when error happens in callback (Issue #909, https://github.com/medikoo)
475
- - Corrected a slaveOk setting issue (Issue #906, #905)
476
- - Fixed HA issue where ping's would not go to correct server on HA server connection failure.
477
- - Uses setImmediate if on 0.10 otherwise nextTick for cursor stream
478
- - Fixed race condition in Cursor stream (NODE-31)
479
- - Fixed issues related to node 0.10 and process.nextTick now correctly using setImmediate where needed on node 0.10
480
- - Added support for maxMessageSizeBytes if available (DRIVERS-1)
481
- - Added support for authSource (2.4) to MongoClient URL and db.authenticate method (DRIVER-69/NODE-34)
482
- - Fixed issue in GridStore seek and GridStore read to correctly work on multiple seeks (Issue #895)
618
+ * Refactored test suite to speed up running of replicaset tests
619
+ * Fix of async error handling when error happens in callback (Issue #909, https://github.com/medikoo)
620
+ * Corrected a slaveOk setting issue (Issue #906, #905)
621
+ * Fixed HA issue where ping's would not go to correct server on HA server connection failure.
622
+ * Uses setImmediate if on 0.10 otherwise nextTick for cursor stream
623
+ * Fixed race condition in Cursor stream (NODE-31)
624
+ * Fixed issues related to node 0.10 and process.nextTick now correctly using setImmediate where needed on node 0.10
625
+ * Added support for maxMessageSizeBytes if available (DRIVERS-1)
626
+ * Added support for authSource (2.4) to MongoClient URL and db.authenticate method (DRIVER-69/NODE-34)
627
+ * Fixed issue in GridStore seek and GridStore read to correctly work on multiple seeks (Issue #895)
483
628
 
484
629
  1.2.13 2013-02-22
485
630
  -----------------
486
- - Allow strategy 'none' for repliaset if no strategy wanted (will default to round robin selection of servers on a set readPreference)
487
- - Fixed missing MongoErrors on some cursor methods (Issue #882)
488
- - Correctly returning a null for the db instance on MongoClient.connect when auth fails (Issue #890)
489
- - Added dropTarget option support for renameCollection/rename (Issue #891, help from https://github.com/jbottigliero)
490
- - Fixed issue where connection using MongoClient.connect would fail if first server did not exist (Issue #885)
631
+ * Allow strategy 'none' for repliaset if no strategy wanted (will default to round robin selection of servers on a set readPreference)
632
+ * Fixed missing MongoErrors on some cursor methods (Issue #882)
633
+ * Correctly returning a null for the db instance on MongoClient.connect when auth fails (Issue #890)
634
+ * Added dropTarget option support for renameCollection/rename (Issue #891, help from https://github.com/jbottigliero)
635
+ * Fixed issue where connection using MongoClient.connect would fail if first server did not exist (Issue #885)
491
636
 
492
637
  1.2.12 2013-02-13
493
638
  -----------------
494
- - Added limit/skip options to Collection.count (Issue #870)
495
- - Added applySkipLimit option to Cursor.count (Issue #870)
496
- - Enabled ping strategy as default for Replicaset if none specified (Issue #876)
497
- - Should correctly pick nearest server for SECONDARY/SECONDARY_PREFERRED/NEAREST (Issue #878)
639
+ * Added limit/skip options to Collection.count (Issue #870)
640
+ * Added applySkipLimit option to Cursor.count (Issue #870)
641
+ * Enabled ping strategy as default for Replicaset if none specified (Issue #876)
642
+ * Should correctly pick nearest server for SECONDARY/SECONDARY_PREFERRED/NEAREST (Issue #878)
498
643
 
499
644
  1.2.11 2013-01-29
500
645
  -----------------
501
- - Added fixes for handling type 2 binary due to PHP driver (Issue #864)
502
- - Moved callBackStore to Base class to have single unified store (Issue #866)
503
- - Ping strategy now reuses sockets unless they are closed by the server to avoid overhead
646
+ * Added fixes for handling type 2 binary due to PHP driver (Issue #864)
647
+ * Moved callBackStore to Base class to have single unified store (Issue #866)
648
+ * Ping strategy now reuses sockets unless they are closed by the server to avoid overhead
504
649
 
505
650
  1.2.10 2013-01-25
506
651
  -----------------
507
- - Merged in SSL support for 2.4 supporting certificate validation and presenting certificates to the server.
508
- - Only open a new HA socket when previous one dead (Issue #859, #857)
509
- - Minor fixes
652
+ * Merged in SSL support for 2.4 supporting certificate validation and presenting certificates to the server.
653
+ * Only open a new HA socket when previous one dead (Issue #859, #857)
654
+ * Minor fixes
510
655
 
511
656
  1.2.9 2013-01-15
512
657
  ----------------
513
- - Fixed bug in SSL support for MongoClient/Db.connect when discovering servers (Issue #849)
514
- - Connection string with no db specified should default to admin db (Issue #848)
515
- - Support port passed as string to Server class (Issue #844)
516
- - Removed noOpen support for MongoClient/Db.connect as auto discovery of servers for Mongod/Mongos makes it not possible (Issue #842)
517
- - Included toError wrapper code moved to utils.js file (Issue #839, #840)
518
- - Rewrote cursor handling to avoid process.nextTick using trampoline instead to avoid stack overflow, speedup about 40%
658
+ * Fixed bug in SSL support for MongoClient/Db.connect when discovering servers (Issue #849)
659
+ * Connection string with no db specified should default to admin db (Issue #848)
660
+ * Support port passed as string to Server class (Issue #844)
661
+ * Removed noOpen support for MongoClient/Db.connect as auto discovery of servers for Mongod/Mongos makes it not possible (Issue #842)
662
+ * Included toError wrapper code moved to utils.js file (Issue #839, #840)
663
+ * Rewrote cursor handling to avoid process.nextTick using trampoline instead to avoid stack overflow, speedup about 40%
519
664
 
520
665
  1.2.8 2013-01-07
521
666
  ----------------
522
- - Accept function in a Map Reduce scope object not only a function string (Issue #826, https://github.com/aheckmann)
523
- - 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)
524
- - Allow gridfs objects to use non ObjectID ids (Issue #825, https://github.com/nailgun)
525
- - Removed the double wrap, by not passing an Error object to the wrap function (Issue #832, https://github.com/m4tty)
526
- - Fix connection leak (gh-827) for HA replicaset health checks (Issue #833, https://github.com/aheckmann)
527
- - Modified findOne to use nextObject instead of toArray avoiding a nextTick operation (Issue #836)
528
- - Fixes for cursor stream to avoid multiple getmore issues when one in progress (Issue #818)
529
- - Fixes .open replaying all backed up commands correctly if called after operations performed, (Issue #829 and #823)
667
+ * Accept function in a Map Reduce scope object not only a function string (Issue #826, https://github.com/aheckmann)
668
+ * 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)
669
+ * Allow gridfs objects to use non ObjectID ids (Issue #825, https://github.com/nailgun)
670
+ * Removed the double wrap, by not passing an Error object to the wrap function (Issue #832, https://github.com/m4tty)
671
+ * Fix connection leak (gh-827) for HA replicaset health checks (Issue #833, https://github.com/aheckmann)
672
+ * Modified findOne to use nextObject instead of toArray avoiding a nextTick operation (Issue #836)
673
+ * Fixes for cursor stream to avoid multiple getmore issues when one in progress (Issue #818)
674
+ * Fixes .open replaying all backed up commands correctly if called after operations performed, (Issue #829 and #823)
530
675
 
531
676
  1.2.7 2012-12-23
532
677
  ----------------
533
- - Rolled back batches as they hang in certain situations
534
- - Fixes for NODE-25, keep reading from secondaries when primary goes down
678
+ * Rolled back batches as they hang in certain situations
679
+ * Fixes for NODE-25, keep reading from secondaries when primary goes down
535
680
 
536
681
  1.2.6 2012-12-21
537
682
  ----------------
538
- - domain sockets shouldn't require a port arg (Issue #815, https://github.com/aheckmann)
539
- - Cannot read property 'info' of null (Issue #809, https://github.com/thesmart)
540
- - Cursor.each should work in batches (Issue #804, https://github.com/Swatinem)
541
- - Cursor readPreference bug for non-supported read preferences (Issue #817)
683
+ * domain sockets shouldn't require a port arg (Issue #815, https://github.com/aheckmann)
684
+ * Cannot read property 'info' of null (Issue #809, https://github.com/thesmart)
685
+ * Cursor.each should work in batches (Issue #804, https://github.com/Swatinem)
686
+ * Cursor readPreference bug for non-supported read preferences (Issue #817)
542
687
 
543
688
  1.2.5 2012-12-12
544
689
  ----------------
545
- - Fixed ssl regression, added more test coverage (Issue #800)
546
- - Added better error reporting to the Db.connect if no valid serverConfig setup found (Issue #798)
690
+ * Fixed ssl regression, added more test coverage (Issue #800)
691
+ * Added better error reporting to the Db.connect if no valid serverConfig setup found (Issue #798)
547
692
 
548
693
  1.2.4 2012-12-11
549
694
  ----------------
550
- - Fix to ensure authentication is correctly applied across all secondaries when using MongoClient.
695
+ * Fix to ensure authentication is correctly applied across all secondaries when using MongoClient.
551
696
 
552
697
  1.2.3 2012-12-10
553
698
  ----------------
554
- - Fix for new replicaset members correctly authenticating when being added (Issue #791, https://github.com/m4tty)
555
- - Fixed seek issue in gridstore when using stream (Issue #790)
699
+ * Fix for new replicaset members correctly authenticating when being added (Issue #791, https://github.com/m4tty)
700
+ * Fixed seek issue in gridstore when using stream (Issue #790)
556
701
 
557
702
  1.2.2 2012-12-03
558
703
  ----------------
559
- - Fix for journal write concern not correctly being passed under some circumstances.
560
- - Fixed correct behavior and re-auth for servers that get stepped down (Issue #779).
704
+ * Fix for journal write concern not correctly being passed under some circumstances.
705
+ * Fixed correct behavior and re-auth for servers that get stepped down (Issue #779).
561
706
 
562
707
  1.2.1 2012-11-30
563
708
  ----------------
564
- - Fix for double callback on insert with w:0 specified (Issue #783)
565
- - Small cleanup of urlparser.
709
+ * Fix for double callback on insert with w:0 specified (Issue #783)
710
+ * Small cleanup of urlparser.
566
711
 
567
712
  1.2.0 2012-11-27
568
713
  ----------------
569
- - Honor connectTimeoutMS option for replicasets (Issue #750, https://github.com/aheckmann)
570
- - Fix ping strategy regression (Issue #738, https://github.com/aheckmann)
571
- - Small cleanup of code (Issue #753, https://github.com/sokra/node-mongodb-native)
572
- - Fixed index declaration using objects/arrays from other contexts (Issue #755, https://github.com/sokra/node-mongodb-native)
573
- - Intermittent (and rare) null callback exception when using ReplicaSets (Issue #752)
574
- - Force correct setting of read_secondary based on the read preference (Issue #741)
575
- - If using read preferences with secondaries queries will not fail if primary is down (Issue #744)
576
- - noOpen connection for Db.connect removed as not compatible with autodetection of Mongo type
577
- - Mongos connection with auth not working (Issue #737)
578
- - Use the connect method directly from the require. require('mongodb')("mongodb://localhost:27017/db")
579
- - new MongoClient introduced as the point of connecting to MongoDB's instead of the Db
580
- - open/close/db/connect methods implemented
581
- - Implemented common URL connection format using MongoClient.connect allowing for simialar interface across all drivers.
582
- - Fixed a bug with aggregation helper not properly accepting readPreference
714
+ * Honor connectTimeoutMS option for replicasets (Issue #750, https://github.com/aheckmann)
715
+ * Fix ping strategy regression (Issue #738, https://github.com/aheckmann)
716
+ * Small cleanup of code (Issue #753, https://github.com/sokra/node-mongodb-native)
717
+ * Fixed index declaration using objects/arrays from other contexts (Issue #755, https://github.com/sokra/node-mongodb-native)
718
+ * Intermittent (and rare) null callback exception when using ReplicaSets (Issue #752)
719
+ * Force correct setting of read_secondary based on the read preference (Issue #741)
720
+ * If using read preferences with secondaries queries will not fail if primary is down (Issue #744)
721
+ * noOpen connection for Db.connect removed as not compatible with autodetection of Mongo type
722
+ * Mongos connection with auth not working (Issue #737)
723
+ * Use the connect method directly from the require. require('mongodb')("mongodb://localhost:27017/db")
724
+ * new MongoClient introduced as the point of connecting to MongoDB's instead of the Db
725
+ * open/close/db/connect methods implemented
726
+ * Implemented common URL connection format using MongoClient.connect allowing for simialar interface across all drivers.
727
+ * Fixed a bug with aggregation helper not properly accepting readPreference
583
728
 
584
729
  1.1.11 2012-10-10
585
730
  -----------------
586
- - Removed strict mode and introduced normal handling of safe at DB level.
731
+ * Removed strict mode and introduced normal handling of safe at DB level.
587
732
 
588
733
  1.1.10 2012-10-08
589
734
  -----------------
590
- - fix Admin.serverStatus (Issue #723, https://github.com/Contra)
591
- - logging on connection open/close(Issue #721, https://github.com/asiletto)
592
- - more fixes for windows bson install (Issue #724)
735
+ * fix Admin.serverStatus (Issue #723, https://github.com/Contra)
736
+ * logging on connection open/close(Issue #721, https://github.com/asiletto)
737
+ * more fixes for windows bson install (Issue #724)
593
738
 
594
739
  1.1.9 2012-10-05
595
740
  ----------------
596
- - Updated bson to 0.1.5 to fix build problem on sunos/windows.
741
+ * Updated bson to 0.1.5 to fix build problem on sunos/windows.
597
742
 
598
743
  1.1.8 2012-10-01
599
744
  ----------------
600
- - Fixed db.eval to correctly handle system.js global javascript functions (Issue #709)
601
- - Cleanup of non-closing connections (Issue #706)
602
- - More cleanup of connections under replicaset (Issue #707, https://github.com/elbert3)
603
- - Set keepalive on as default, override if not needed
604
- - Cleanup of jsbon install to correctly build without install.js script (https://github.com/shtylman)
605
- - Added domain socket support new Server("/tmp/mongodb.sock") style
745
+ * Fixed db.eval to correctly handle system.js global javascript functions (Issue #709)
746
+ * Cleanup of non-closing connections (Issue #706)
747
+ * More cleanup of connections under replicaset (Issue #707, https://github.com/elbert3)
748
+ * Set keepalive on as default, override if not needed
749
+ * Cleanup of jsbon install to correctly build without install.js script (https://github.com/shtylman)
750
+ * Added domain socket support new Server("/tmp/mongodb.sock") style
606
751
 
607
752
  1.1.7 2012-09-10
608
753
  ----------------
609
- - Protect against starting PingStrategy being called more than once (Issue #694, https://github.com/aheckmann)
610
- - Make PingStrategy interval configurable (was 1 second, relaxed to 5) (Issue #693, https://github.com/aheckmann)
611
- - Made PingStrategy api more consistant, callback to start/stop methods are optional (Issue #693, https://github.com/aheckmann)
612
- - Proper stopping of strategy on replicaset stop
613
- - Throw error when gridstore file is not found in read mode (Issue #702, https://github.com/jbrumwell)
614
- - Cursor stream resume now using nextTick to avoid duplicated records (Issue #696)
754
+ * Protect against starting PingStrategy being called more than once (Issue #694, https://github.com/aheckmann)
755
+ * Make PingStrategy interval configurable (was 1 second, relaxed to 5) (Issue #693, https://github.com/aheckmann)
756
+ * Made PingStrategy api more consistant, callback to start/stop methods are optional (Issue #693, https://github.com/aheckmann)
757
+ * Proper stopping of strategy on replicaset stop
758
+ * Throw error when gridstore file is not found in read mode (Issue #702, https://github.com/jbrumwell)
759
+ * Cursor stream resume now using nextTick to avoid duplicated records (Issue #696)
615
760
 
616
761
  1.1.6 2012-09-01
617
762
  ----------------
618
- - Fix for readPreference NEAREST for replicasets (Issue #693, https://github.com/aheckmann)
619
- - Emit end correctly on stream cursor (Issue #692, https://github.com/Raynos)
763
+ * Fix for readPreference NEAREST for replicasets (Issue #693, https://github.com/aheckmann)
764
+ * Emit end correctly on stream cursor (Issue #692, https://github.com/Raynos)
620
765
 
621
766
  1.1.5 2012-08-29
622
767
  ----------------
623
- - Fix for eval on replicaset Issue #684
624
- - Use helpful error msg when native parser not compiled (Issue #685, https://github.com/aheckmann)
625
- - Arbiter connect hotfix (Issue #681, https://github.com/fengmk2)
626
- - Upgraded bson parser to 0.1.2 using gyp, deprecated support for node 0.4.X
627
- - Added name parameter to createIndex/ensureIndex to be able to override index names larger than 128 bytes
628
- - Added exhaust option for find for feature completion (not recommended for normal use)
629
- - Added tailableRetryInterval to find for tailable cursors to allow to control getMore retry time interval
630
- - Fixes for read preferences when using MongoS to correctly handle no read preference set when iterating over a cursor (Issue #686)
768
+ * Fix for eval on replicaset Issue #684
769
+ * Use helpful error msg when native parser not compiled (Issue #685, https://github.com/aheckmann)
770
+ * Arbiter connect hotfix (Issue #681, https://github.com/fengmk2)
771
+ * Upgraded bson parser to 0.1.2 using gyp, deprecated support for node 0.4.X
772
+ * Added name parameter to createIndex/ensureIndex to be able to override index names larger than 128 bytes
773
+ * Added exhaust option for find for feature completion (not recommended for normal use)
774
+ * Added tailableRetryInterval to find for tailable cursors to allow to control getMore retry time interval
775
+ * Fixes for read preferences when using MongoS to correctly handle no read preference set when iterating over a cursor (Issue #686)
631
776
 
632
777
  1.1.4 2012-08-12
633
778
  ----------------
634
- - Added Mongos connection type with a fallback list for mongos proxies, supports ha (on by default) and will attempt to reconnect to failed proxies.
635
- - Documents can now have a toBSON method that lets the user control the serialization behavior for documents being saved.
636
- - Gridstore instance object now works as a readstream or writestream (thanks to code from Aaron heckmann (https://github.com/aheckmann/gridfs-stream)).
637
- - Fix gridfs readstream (Issue #607, https://github.com/tedeh).
638
- - Added disableDriverBSONSizeCheck property to Server.js for people who wish to push the inserts to the limit (Issue #609).
639
- - Fixed bug where collection.group keyf given as Code is processed as a regular object (Issue #608, https://github.com/rrusso2007).
640
- - Case mismatch between driver's ObjectID and mongo's ObjectId, allow both (Issue #618).
641
- - Cleanup map reduce (Issue #614, https://github.com/aheckmann).
642
- - Add proper error handling to gridfs (Issue #615, https://github.com/aheckmann).
643
- - Ensure cursor is using same connection for all operations to avoid potential jump of servers when using replicasets.
644
- - Date identification handled correctly in bson js parser when running in vm context.
645
- - Documentation updates
646
- - GridStore filename not set on read (Issue #621)
647
- - Optimizations on the C++ bson parser to fix a potential memory leak and avoid non-needed calls
648
- - Added support for awaitdata for tailable cursors (Issue #624)
649
- - Implementing read preference setting at collection and cursor level
779
+ * Added Mongos connection type with a fallback list for mongos proxies, supports ha (on by default) and will attempt to reconnect to failed proxies.
780
+ * Documents can now have a toBSON method that lets the user control the serialization behavior for documents being saved.
781
+ * Gridstore instance object now works as a readstream or writestream (thanks to code from Aaron heckmann (https://github.com/aheckmann/gridfs-stream)).
782
+ * Fix gridfs readstream (Issue #607, https://github.com/tedeh).
783
+ * Added disableDriverBSONSizeCheck property to Server.js for people who wish to push the inserts to the limit (Issue #609).
784
+ * Fixed bug where collection.group keyf given as Code is processed as a regular object (Issue #608, https://github.com/rrusso2007).
785
+ * Case mismatch between driver's ObjectID and mongo's ObjectId, allow both (Issue #618).
786
+ * Cleanup map reduce (Issue #614, https://github.com/aheckmann).
787
+ * Add proper error handling to gridfs (Issue #615, https://github.com/aheckmann).
788
+ * Ensure cursor is using same connection for all operations to avoid potential jump of servers when using replicasets.
789
+ * Date identification handled correctly in bson js parser when running in vm context.
790
+ * Documentation updates
791
+ * GridStore filename not set on read (Issue #621)
792
+ * Optimizations on the C++ bson parser to fix a potential memory leak and avoid non-needed calls
793
+ * Added support for awaitdata for tailable cursors (Issue #624)
794
+ * Implementing read preference setting at collection and cursor level
650
795
  * collection.find().setReadPreference(Server.SECONDARY_PREFERRED)
651
796
  * db.collection("some", {readPreference:Server.SECONDARY})
652
- - Replicaset now returns when the master is discovered on db.open and lets the rest of the connections happen asynchronous.
653
- - ReplSet/ReplSetServers emits "fullsetup" when all servers have been connected to
654
- - Prevent callback from executing more than once in getMore function (Issue #631, https://github.com/shankar0306)
655
- - Corrupt bson messages now errors out to all callbacks and closes up connections correctly, Issue #634
656
- - Replica set member status update when primary changes bug (Issue #635, https://github.com/alinsilvian)
657
- - Fixed auth to work better when multiple connections are involved.
658
- - Default connection pool size increased to 5 connections.
659
- - Fixes for the ReadStream class to work properly with 0.8 of Node.js
660
- - Added explain function support to aggregation helper
661
- - Added socketTimeoutMS and connectTimeoutMS to socket options for repl_set.js and server.js
662
- - Fixed addUser to correctly handle changes in 2.2 for getLastError authentication required
663
- - Added index to gridstore chunks on file_id (Issue #649, https://github.com/jacobbubu)
664
- - Fixed Always emit db events (Issue #657)
665
- - Close event not correctly resets DB openCalled variable to allow reconnect
666
- - Added open event on connection established for replicaset, mongos and server
667
- - Much faster BSON C++ parser thanks to Lucasfilm Singapore.
668
- - Refactoring of replicaset connection logic to simplify the code.
669
- - Add `options.connectArbiter` to decide connect arbiters or not (Issue #675)
670
- - Minor optimization for findAndModify when not using j,w or fsync for safe
797
+ * Replicaset now returns when the master is discovered on db.open and lets the rest of the connections happen asynchronous.
798
+ * ReplSet/ReplSetServers emits "fullsetup" when all servers have been connected to
799
+ * Prevent callback from executing more than once in getMore function (Issue #631, https://github.com/shankar0306)
800
+ * Corrupt bson messages now errors out to all callbacks and closes up connections correctly, Issue #634
801
+ * Replica set member status update when primary changes bug (Issue #635, https://github.com/alinsilvian)
802
+ * Fixed auth to work better when multiple connections are involved.
803
+ * Default connection pool size increased to 5 connections.
804
+ * Fixes for the ReadStream class to work properly with 0.8 of Node.js
805
+ * Added explain function support to aggregation helper
806
+ * Added socketTimeoutMS and connectTimeoutMS to socket options for repl_set.js and server.js
807
+ * Fixed addUser to correctly handle changes in 2.2 for getLastError authentication required
808
+ * Added index to gridstore chunks on file_id (Issue #649, https://github.com/jacobbubu)
809
+ * Fixed Always emit db events (Issue #657)
810
+ * Close event not correctly resets DB openCalled variable to allow reconnect
811
+ * Added open event on connection established for replicaset, mongos and server
812
+ * Much faster BSON C++ parser thanks to Lucasfilm Singapore.
813
+ * Refactoring of replicaset connection logic to simplify the code.
814
+ * Add `options.connectArbiter` to decide connect arbiters or not (Issue #675)
815
+ * Minor optimization for findAndModify when not using j,w or fsync for safe
671
816
 
672
817
  1.0.2 2012-05-15
673
818
  ----------------
674
- - Reconnect functionality for replicaset fix for mongodb 2.0.5
819
+ * Reconnect functionality for replicaset fix for mongodb 2.0.5
675
820
 
676
821
  1.0.1 2012-05-12
677
822
  ----------------
678
- - Passing back getLastError object as 3rd parameter on findAndModify command.
679
- - Fixed a bunch of performance regressions in objectId and cursor.
680
- - Fixed issue #600 allowing for single document delete to be passed in remove command.
823
+ * Passing back getLastError object as 3rd parameter on findAndModify command.
824
+ * Fixed a bunch of performance regressions in objectId and cursor.
825
+ * Fixed issue #600 allowing for single document delete to be passed in remove command.
681
826
 
682
827
  1.0.0 2012-04-25
683
828
  ----------------
684
- - Fixes to handling of failover on server error
685
- - Only emits error messages if there are error listeners to avoid uncaught events
686
- - Server.isConnected using the server state variable not the connection pool state
829
+ * Fixes to handling of failover on server error
830
+ * Only emits error messages if there are error listeners to avoid uncaught events
831
+ * Server.isConnected using the server state variable not the connection pool state
687
832
 
688
833
  0.9.9.8 2012-04-12
689
834
  ------------------
690
- - _id=0 is being turned into an ObjectID (Issue #551)
691
- - fix for error in GridStore write method (Issue #559)
692
- - Fix for reading a GridStore from arbitrary, non-chunk aligned offsets, added test (Issue #563, https://github.com/subroutine)
693
- - Modified limitRequest to allow negative limits to pass through to Mongo, added test (Issue #561)
694
- - Corrupt GridFS files when chunkSize < fileSize, fixed concurrency issue (Issue #555)
695
- - Handle dead tailable cursors (Issue #568, https://github.com/aheckmann)
696
- - Connection pools handles closing themselves down and clearing the state
697
- - Check bson size of documents against maxBsonSize and throw client error instead of server error, (Issue #553)
698
- - Returning update status document at the end of the callback for updates, (Issue #569)
699
- - Refactor use of Arguments object to gain performance (Issue #574, https://github.com/AaronAsAChimp)
835
+ * _id=0 is being turned into an ObjectID (Issue #551)
836
+ * fix for error in GridStore write method (Issue #559)
837
+ * Fix for reading a GridStore from arbitrary, non-chunk aligned offsets, added test (Issue #563, https://github.com/subroutine)
838
+ * Modified limitRequest to allow negative limits to pass through to Mongo, added test (Issue #561)
839
+ * Corrupt GridFS files when chunkSize < fileSize, fixed concurrency issue (Issue #555)
840
+ * Handle dead tailable cursors (Issue #568, https://github.com/aheckmann)
841
+ * Connection pools handles closing themselves down and clearing the state
842
+ * Check bson size of documents against maxBsonSize and throw client error instead of server error, (Issue #553)
843
+ * Returning update status document at the end of the callback for updates, (Issue #569)
844
+ * Refactor use of Arguments object to gain performance (Issue #574, https://github.com/AaronAsAChimp)
700
845
 
701
846
  0.9.9.7 2012-03-16
702
847
  ------------------
703
- - Stats not returned from map reduce with inline results (Issue #542)
704
- - 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)
705
- - Streaming large files from GridFS causes truncation (Issue #540)
706
- - Make callback type checks agnostic to V8 context boundaries (Issue #545)
707
- - Correctly throw error if an attempt is made to execute an insert/update/remove/createIndex/ensureIndex with safe enabled and no callback
708
- - Db.open throws if the application attemps to call open again without calling close first
848
+ * Stats not returned from map reduce with inline results (Issue #542)
849
+ * 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)
850
+ * Streaming large files from GridFS causes truncation (Issue #540)
851
+ * Make callback type checks agnostic to V8 context boundaries (Issue #545)
852
+ * Correctly throw error if an attempt is made to execute an insert/update/remove/createIndex/ensureIndex with safe enabled and no callback
853
+ * Db.open throws if the application attemps to call open again without calling close first
709
854
 
710
855
  0.9.9.6 2012-03-12
711
856
  ------------------
712
- - BSON parser is externalized in it's own repository, currently using git master
713
- - Fixes for Replicaset connectivity issue (Issue #537)
714
- - Fixed issues with node 0.4.X vs 0.6.X (Issue #534)
715
- - Removed SimpleEmitter and replaced with standard EventEmitter
716
- - GridStore.seek fails to change chunks and call callback when in read mode (Issue #532)
857
+ * BSON parser is externalized in it's own repository, currently using git master
858
+ * Fixes for Replicaset connectivity issue (Issue #537)
859
+ * Fixed issues with node 0.4.X vs 0.6.X (Issue #534)
860
+ * Removed SimpleEmitter and replaced with standard EventEmitter
861
+ * GridStore.seek fails to change chunks and call callback when in read mode (Issue #532)
717
862
 
718
863
  0.9.9.5 2012-03-07
719
864
  ------------------
720
- - Merged in replSetGetStatus helper to admin class (Issue #515, https://github.com/mojodna)
721
- - Merged in serverStatus helper to admin class (Issue #516, https://github.com/mojodna)
722
- - Fixed memory leak in C++ bson parser (Issue #526)
723
- - Fix empty MongoError "message" property (Issue #530, https://github.com/aheckmann)
724
- - Cannot save files with the same file name to GridFS (Issue #531)
865
+ * Merged in replSetGetStatus helper to admin class (Issue #515, https://github.com/mojodna)
866
+ * Merged in serverStatus helper to admin class (Issue #516, https://github.com/mojodna)
867
+ * Fixed memory leak in C++ bson parser (Issue #526)
868
+ * Fix empty MongoError "message" property (Issue #530, https://github.com/aheckmann)
869
+ * Cannot save files with the same file name to GridFS (Issue #531)
725
870
 
726
871
  0.9.9.4 2012-02-26
727
872
  ------------------
@@ -802,7 +947,7 @@
802
947
  0.9.8 2012-01-17
803
948
  ----------------
804
949
  * Replicasets now correctly adjusts to live changes in the replicaset configuration on the servers, reconnecting correctly.
805
- - Set the interval for checking for changes setting the replicaSetCheckInterval property when creating the ReplSetServers instance or on db.serverConfig.replicaSetCheckInterval. (default 1000 miliseconds)
950
+ * Set the interval for checking for changes setting the replicaSetCheckInterval property when creating the ReplSetServers instance or on db.serverConfig.replicaSetCheckInterval. (default 1000 miliseconds)
806
951
  * Fixes formattedOrderClause in collection.js to accept a plain hash as a parameter (Issue #469) https://github.com/tedeh
807
952
  * Removed duplicate code for formattedOrderClause and moved to utils module
808
953
  * Pass in poolSize for ReplSetServers to set default poolSize for new replicaset members