Skip to content

Commit 4e78dee

Browse files
elyse-mdbyour proper name
authored and
your proper name
committed
(DOCSP-44299) [Ruby] Update changelogs to remove updates for EOL'd versions v2.19 & earlier (#78)
* (DOCSP-44299) Added TOC and quick links, removed 2.19 and earlier. * (DOCSP-44299) Removing standardization. --------- Co-authored-by: Elyse Foreman <elyse.foreman@mongodb.com>
1 parent 954b47f commit 4e78dee

File tree

1 file changed

+1
-372
lines changed

1 file changed

+1
-372
lines changed

source/release-notes.txt

Lines changed: 1 addition & 372 deletions
Original file line numberDiff line numberDiff line change
@@ -37,375 +37,4 @@ This release includes the following new features:
3737
- A warning message is now written to the log when the host is detected to be
3838
a CosmosDB (Azure) or DocumentDB (Amazon) instance.
3939
- 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
308-
can now be configured.
309-
310-
311-
.. _release-notes-2.12:
312-
313-
2.12
314-
====
315-
316-
This release adds the following new features:
317-
318-
- :ref:`Client-side encryption <client-side-encryption>`.
319-
- ``list_collections`` method now accepts the ``:filter`` option.
320-
321-
The following smaller improvements have been made:
322-
323-
- Authentication exceptions now include server information to aid in
324-
troubleshooting.
325-
326-
327-
.. _release-notes-2.11:
328-
329-
2.11
330-
====
331-
332-
This release adds the following new features:
333-
334-
- If a minimum connection pool size is specified, the pool for each server
335-
will create a background thread to eagerly establish connections up to
336-
the specified minimum pool size.
337-
- If the driver connects to the deployment using a SRV URI and the deployment
338-
is a sharded cluster, the driver will poll the SRV DNS records to
339-
automatically discover new and removed mongos servers and adjust the
340-
set of known servers accordingly.
341-
342-
The following smaller improvements have been made:
343-
344-
- The driver now permits unencoded subdelimiters in usernames and passwords in
345-
MongoDB URIs.
346-
- User management helpers now accept the write concern option.
347-
- The :ref:`command monitoring <command-monitoring>` logger provided with the
348-
driver will now log connection ids used for each command.
349-
- When legacy read retries are used, retry on the same set of server errors
350-
that the modern retries would have retried on.
351-
- The ``distinct(nil)`` call is prohibited because it is rejected by MongoDB
352-
4.4 and newer servers.
353-
354-
This release of the Ruby driver increases the minimum required Ruby version
355-
to 2.3, as well as minimum supported JRuby version to 9.2.
356-
357-
358-
.. _release-notes-2.10:
359-
360-
2.10
361-
====
362-
363-
This release implements the necessary client-side functionality to use the
364-
features added in MongoDB 4.2. Specifically, the following new driver
365-
functionality has been added:
366-
367-
- Support for sharded transactions.
368-
- Applications can set the ``:max_time_ms`` option in ``commit_transaction``
369-
method.
370-
- Support for database-level aggregation.
371-
- Support for ``$merge`` aggregation pipeline stage.
372-
- The update operations now accept an aggregation pipeline as an array.
373-
- TLS regenotiation is now disabled when possible.
374-
- Change streams now handle post-batch resume tokens provided by the server.
375-
376-
The following smaller improvements have been made:
377-
378-
- All methods now accept ``:write_concern`` option for the write concern,
379-
including those that previously accepted the ``:write`` option.
380-
- The query string in a MongoDB URI can now start with ``&``.
381-
382-
Support for Ruby versions less than 2.3 is deprecated in this release.
383-
384-
385-
.. _release-notes-2.9:
386-
387-
2.9
388-
===
389-
390-
This release adds the following new features:
391-
392-
- A rewrite of the connection pool code with improved monitoring,
393-
compliant with the CMAP specification
394-
- A modern retryable reads implementation compliant with the cross-driver
395-
retryable reads specification, enabled by default.
396-
- Modern retryable writes are now enabled by default.
397-
- Legacy retryable writes can be disabled in most cases.
398-
- The driver now supports certificate chains being provided as client
399-
certificates for TLS connections.
400-
- Ability to specify multiple CA certificates when creating a ``Client``.
401-
- Ability to pass the private key and certificate via URI options.
402-
403-
The following smaller improvements have been made:
404-
405-
- Support for the ``startAfter`` option in the ``$changeStream``
406-
aggregation pipeline stage.
407-
- Field order of BSON documents sent to the server changed for better logging.
408-
- Certificate paths with unescaped slashes can now be specified in
409-
MongoDB URIs.
410-
411-
This release deprecates support for Ruby versions less than 2.3.
40+
the retry will be attempted on a different mongos instance, if possible.

0 commit comments

Comments
 (0)