Skip to content

Commit 1413f24

Browse files
authored
(DOCSP-44299) [Ruby] Update changelogs to remove updates for EOL'd versions v2.19 & earlier (#78) (#79)
* (DOCSP-44299) Added TOC and quick links, removed 2.19 and earlier. * (DOCSP-44299) Removing standardization. ---------
1 parent effe981 commit 1413f24

File tree

1 file changed

+1
-371
lines changed

1 file changed

+1
-371
lines changed

source/release-notes.txt

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

0 commit comments

Comments
 (0)