You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: source/release-notes.txt
+1-372Lines changed: 1 addition & 372 deletions
Original file line number
Diff line number
Diff line change
@@ -37,375 +37,4 @@ This release includes the following new features:
37
37
- A warning message is now written to the log when the host is detected to be
38
38
a CosmosDB (Azure) or DocumentDB (Amazon) instance.
39
39
- When attempting a retry of a read or write operation in a sharded topology,
40
-
the retry will be attempted on a different mongos instance, if possible.
41
-
42
-
43
-
.. _release-notes-2.19:
44
-
45
-
2.19
46
-
====
47
-
48
-
This release of the Ruby driver supports MongoDB version 7.0. The Ruby driver
49
-
now supports Ruby 3.2. Ruby 2.5 and 2.6 are now deprecated.
50
-
51
-
This release includes the following new features:
52
-
53
-
- The driver now limits the number of connections established by a connection
54
-
pool simultaneously. By default the limit is 2. The limit can be configured
55
-
with the ``:max_connecting`` option of the ``Mongo::Client`` constructor.
56
-
The default should be sufficient for most applications. However, if your
57
-
application is using a large number of threads, you may need to increase
58
-
the limit.
59
-
- Added support for automatic AWS credentials retrieval and authentication
60
-
with temporary credentials when AWS KMS is used for client side encryption.
61
-
- Added support for automatic GCP credentials retrieval when Google Cloud Key
62
-
Management is used for client side encryption.
63
-
- Added support the Azure VM-assigned Managed Identity for Automatic KMS Credentials
64
-
when Azure Key Vault is used for client side encryption.
65
-
- `Queryable Encryption <https://www.mongodb.com/docs/upcoming/core/queryable-encryption/queryable-encryption/>`_ support is extended.
66
-
- Added support for Queryable Encryption Range Indexes.
67
-
- A `crypt_shared <https://www.mongodb.com/docs/manual/core/queryable-encryption/reference/shared-library/#download-the-automatic-encryption-shared-library>`_
68
-
library can be now used instead of ``mongocryptd``.
69
-
- Added support for AWS IAM Roles for service accounts, EKS in particular.
70
-
- AWS Credentials are now cached when possible.
71
-
- Added support for creating and managing `Atlas search indexes <https://www.mongodb.com/docs/atlas/atlas-search/>`_ via the
72
-
Ruby driver.
73
-
74
-
.. _release-notes-2.18:
75
-
76
-
2.18
77
-
====
78
-
79
-
This release of the Ruby driver supports MongoDB version 5.2 and 6.0.
80
-
81
-
This release includes the following new features:
82
-
83
-
- Added support for `queryable encryption <https://www.mongodb.com/docs/upcoming/core/queryable-encryption/queryable-encryption/>`_.
84
-
- Added support for Azure Key Vault, Google Cloud Key Management, and any
85
-
KMIP compliant Key Management System to be used as master key storage for
86
-
client side encryption.
87
-
- It is now possible to provide the :ref:`path to a schema map file <schema-map-path>`
88
-
instead of the entire schema map as an object.
89
-
- The driver now implements the :ref:`feature flag <feature-flags>` mechanism
90
-
for incompatible changes and bug fixes. Changes gated behind feature flags
91
-
for 2.18 are passing view filter and options to ``aggregate`` and validation
92
-
of correct usage of ``update`` vs ``replace`` methods, as described below.
93
-
- Added the ``validate_update_replace`` feature flag which validates the
94
-
parameters to update and replace operations. If this flag is turned on, an
95
-
error will be raised on an invalid update or replacement document.
96
-
- Added the ``broken_view_options`` feature flag which allows the view options
97
-
to be correctly propagated to the ``aggregate``, ``count``, ``count_documents``,
98
-
``distinct``, and ``estimated_document_count`` mehods. When this flag is
99
-
switched on, the view options will be ignored in those methods.
100
-
- The driver now permits :ref:`inserting documents with dollar-prefixed and
101
-
dotted keys <dots-dollars-in-field-names>`.
102
-
- CRUD methods, methods for listing databases, collection, and indexes management
103
-
methods now support a new option ``:comment``. This option enables users to
104
-
specify an arbitrary comment to help trace the operation through the
105
-
database profiler, currentOp and logs.
106
-
- The ``estimated_document_count`` method is now using the ``count`` server
107
-
command instead of ``$collStats`` aggregation pipeline stage, to support
108
-
operation on views. Applications using the Stable API should upgrade to
109
-
server versions 5.0.8 (if using MongoDB 5.0) or 5.3.2 (if using MongoDB
110
-
5.1/5.2/5.3) or newer to use the ``count`` command when API strict is enabled,
111
-
or avoid setting ``api_strict: true`` when constructing ``Mongo::Client``
112
-
instances with server versions 5.0.0-5.0.7 and 5.1.0-5.3.1.
113
-
- The DBRef class has been moved to ``bson-ruby``. For backwards compatibility,
114
-
``BSON::DBRef`` is aliased as ``Mongo::DBRef``. The ``BSON::DBRef`` class
115
-
derives from ``BSON::Document``, unlike the legacy ``Mongo::DBRef`` which
116
-
derived from ``Object``. ``BSON::DBRef`` retains all attributes passed into
117
-
its constructor, unlike ``Mongo::DBRef`` which only allowed ``$ref``,
118
-
``$id``, and ``$db``. ``BSON::DBRef`` also reorders the fields if
119
-
necessary to place ``$ref``, ``$id``, and ``$db`` first, in that order, as
120
-
required by the MongoDB server.
121
-
- ``BulkWrite::Result`` class now has the ``acknowledged?`` attribute.
122
-
- Providing an empty array of operations to the bulk write is now an error.
123
-
- BSON serialization performance has been improved.
124
-
- :ref:`ActiveJob middleware <query-cache-active-job-middleware>` was added to
125
-
the query cache.
126
-
- ``:authorized_collections`` options is recognized when listing collections.
127
-
- ``:wildcard_projection`` option was added to the allowed index specification.
128
-
- Added ``:srv_max_hosts``/``srvMaxHosts`` Ruby and URI options to limit how
129
-
many mongos routers the driver will establish connections to.
130
-
- Custom SRV service names are now supported with the ``:srv_service_name``
131
-
Ruby option and the ``srvServiceName`` URI option.
132
-
- When 0 is given as the max connection pool size, it is now interpreted to
133
-
mean no limit.
134
-
- The default maximum connection pool size has been increased to 20 from 5.
135
-
136
-
This release adds supports for JRuby 9.3.
137
-
138
-
139
-
.. _release-notes-2.17:
140
-
141
-
2.17
142
-
====
143
-
144
-
This release of the Ruby driver supports MongoDB version 5.1. It also increases
145
-
the minimum required Ruby version to 2.5, and drops support for MongoDB
146
-
versions older than 3.6.
147
-
148
-
This release includes the following new features:
149
-
150
-
- Added new readConcern level "snapshot" (non-speculative) for read commands outside of transactions, including on secondaries.
151
-
- Support $merge and $out executing on secondaries.
152
-
- Support 'let' option for aggregate and CRUD commands.
153
-
154
-
The following bugs were fixed:
155
-
156
-
- Push monitor thread can exit when address resolution fails.
157
-
158
-
The following non-breaking changes were made:
159
-
160
-
- mapReduce command is now deprecated.
161
-
- Avoid tight looping in push monitor
162
-
163
-
164
-
.. _release-notes-2.16:
165
-
166
-
2.16
167
-
====
168
-
169
-
This release adds the following new feature:
170
-
171
-
- Load balancer support.
172
-
173
-
The following minor improvement has been made:
174
-
175
-
- GridFS file retrieval no longer requires index creation privileges when
176
-
the indexes already exist, and is thus usable with users that have only
177
-
read permissions.
178
-
179
-
This release of the Ruby driver increases the minimum required Ruby version
180
-
to 2.4 and deprecates support for MongoDB server versions below 3.6.
181
-
182
-
183
-
.. _release-notes-2.15:
184
-
185
-
2.15
186
-
====
187
-
188
-
This release adds the following new features:
189
-
190
-
- Ruby 3.0 support.
191
-
- Ability to specify the :ref:`server API parameters <server-api-parameters>`.
192
-
- Support for Zstandard and Snappy :ref:`wire protocol compression <compression>`.
193
-
- :ref:`Query cache middleware <query-cache-middleware>` was moved to the
194
-
driver from Mongoid and is now usable in applications that do not use Mongoid.
195
-
- It is now possible to create collections with time-series options.
196
-
- Experimental support for `MongoDB Atlas Serverless
197
-
<https://www.mongodb.com/cloud/atlas/serverless>`_ when not using a
198
-
load balancer.
199
-
200
-
The following smaller improvements have been made:
201
-
202
-
- The ``OperationFailure`` exception message now contains the server error code
203
-
name, if provided by the server. The layout of the message was changed to
204
-
accommodate the error code name.
205
-
- The generic SSL messaging has been removed from ``SocketError`` messages
206
-
when TLS is used. TLS connections to MongoDB are now the norm, with Atlas
207
-
requiring TLS, and it is more likely that a connection fails due to failed
208
-
certificate verification than due to the server not having TLS enabled.
209
-
- A hook was added to permit applications to :ref:`modify the TLS context
210
-
<modifying-tls-context>` used for TLS connections, for example to exclude
211
-
ciphers.
212
-
- Heartbeat succeeded and heartbeat failed :ref:`server monitoring events
213
-
<server-heartbeats>` are now linked to the respective heartbeat started
214
-
event, to improve usability.
215
-
- ``skip`` and ``limit`` options are now prohibited when calling
216
-
``estimated_document_count``, because the server command does not accept them.
217
-
- The driver will now omit command monitoring reply payloads when they are
218
-
in response to sensitive commands.
219
-
- When the driver closes network sockets it now enforces the socket timeout.
220
-
- ``estimated_document_count`` collection method now uses the ``$collStats``
221
-
aggregation pipeline stage instead of the count command on 5.0 and newer
222
-
servers.
223
-
- The platform metadata sent by the driver to the server in the handshake
224
-
now includes the purpose of the connection being established, permitting
225
-
administrators to distinguish monitoring connections from application
226
-
connections.
227
-
- The driver now uses monotonic clock for timeouts.
228
-
- The driver will no longer mark servers unknown based on errors in
229
-
``writeErrors`` field in the server response.
230
-
- Server selection timeout for ``mongocryptd`` has been increased to 10 seconds.
231
-
232
-
233
-
.. _release-notes-2.14:
234
-
235
-
2.14
236
-
====
237
-
238
-
This release adds the following new features:
239
-
240
-
- Queries against Atlas Data Lake are now supported.
241
-
- The :ref:`query cache <query-cache>` has been moved from Mongoid into the
242
-
driver. Mongoid will use the driver's query cache as of driver 2.14.
243
-
As part of the move, several issues with the query cache have been fixed
244
-
and its functionality was extended to cover aggregation pipeline queries
245
-
and to support result sets of any size.
246
-
- Explain verbosity can now :ref:`be specified <query-options>` when explaining.
247
-
- Mixed case read preference tag names are now supported.
248
-
- The driver will perform :ref:`OCSP endpoint verification <ocsp-verification>`
249
-
by default when TLS is enabled. Due to lack of support in Ruby's ``openssl``
250
-
extension, OCSP stapling is not yet implemented.
251
-
252
-
The following smaller improvements have been made:
253
-
254
-
- Default logger level for ``Client`` objects is now info (up from debug).
255
-
This reduces the amount of log output produced by the driver by default.
256
-
- Database and collection write methods support specifying write concern for
257
-
the individual operations.
258
-
- ``Client#summary`` method now shows the monitoring state of each server.
259
-
- When objects other than hashes are attempted to be inserted (which is not
260
-
allowed), the driver now provides better diagnostics.
261
-
- DNS queries for SRV URIs are now subject to configured socket timeouts.
262
-
- When the ``Client`` object is reconnected, session pools are now cleared.
263
-
264
-
Support for Ruby versions 2.3 and 2.4 has been deprecated as of this release.
265
-
266
-
267
-
.. _release-notes-2.13:
268
-
269
-
2.13
270
-
====
271
-
272
-
This release implements the necessary client-side functionality to use the
273
-
features added in MongoDB 4.4. Specifically, the following new driver
274
-
functionality has been added:
275
-
276
-
- Support for the ``directConnection`` URI option to provide a consistent
277
-
cross-driver mechanims to discover deployment topology or force direct
278
-
connection.
279
-
- Support for :ref:`MONGODB-AWS authentication mechanism <aws-auth>`.
280
-
- When SCRAM authentication is used with 4.4 and newer servers, the driver will
281
-
complete authentication with fewer network roundtrips.
282
-
- The driver creates an additional monitoring connection for 4.4 and newer
283
-
servers, permitting the server to notify the driver when its state changes.
284
-
This reduces the time for the driver to discover the new primary during
285
-
failover events.
286
-
- ``Client`` constructor can be given a block, in which case the client object
287
-
will be yielded to the block and automatically closed when the block ends.
288
-
- ``start_session`` can be given a block, in which case the session object will
289
-
be yielded to the block and automatically ended when the block ends.
290
-
- Write options can now be specified for individual CRUD operations.
291
-
- The ``:allow_disk_use`` option was added to find operations.
292
-
- The ``:authorized_databases`` option was added to ``list_databases``
293
-
method.
294
-
- The ``list_collections`` method now passes through all options.
295
-
- Ability to set an index :ref:`as hidden <index-options>` when creating it.
296
-
- Ability to specify commit quorum when creating indexes.
297
-
- ``:wrapping_libraries`` :ref:`client option <client-options>`, to be used
298
-
by libraries like Mongoid which wrap the driver to report their version to
299
-
the server for troubleshooting/statistics aggregation purposes.
300
-
301
-
The following smaller improvements have been made:
302
-
303
-
- ``count_documents`` can now be invoked with no arguments.
304
-
- The default TCP keep-alive time has been reduced to make the driver
305
-
correctly detect dropped connections on Microsoft Azure.
306
-
- ``CursorNotFound`` is now a resumable change stream error.
307
-
- The number of backtrace lines in exceptions handled by background threads
0 commit comments