[DRIVERS-767] Add client metadata support for wrapping libraries Created: 14/Nov/19  Updated: 01/Aug/22  Resolved: 01/Aug/22

Status: Closed
Project: Drivers
Component/s: None
Fix Version/s: None

Type: New Feature Priority: Major - P3
Reporter: Matt Broadstone Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on CDRIVER-3434 Add client metadata support for wrapp... Closed
depends on CSHARP-2857 Add client metadata support for wrapp... Closed
depends on CXX-1881 Add client metadata support for wrapp... Closed
depends on GODRIVER-1412 Add client metadata support for wrapp... Closed
depends on JAVA-3512 Add client metadata support for wrapp... Closed
depends on MOTOR-465 Add client metadata support for wrapp... Closed
depends on NODE-2340 Add client metadata support for wrapp... Closed
depends on PHPC-1494 Add client metadata support for wrapp... Closed
depends on PHPLIB-516 Add client metadata support for wrapp... Closed
depends on PYTHON-2057 Make 'name' a required argument for D... Closed
depends on RUBY-2018 Add client metadata support for wrapp... Closed
depends on RUST-409 Add DriverInfoOptions to client metadata Closed
Driver Compliance:
Key Status/Resolution FixVersion
NODE-2340 Duplicate
JAVA-3512 Works as Designed
PYTHON-2057 Fixed 4.0
PHPC-1494 Fixed 1.8.0-beta1, 1.8.0
CXX-1881 Won't Do
MOTOR-465 Duplicate
CSHARP-2857 Won't Fix
GODRIVER-1412 Won't Fix
RUBY-2018 Fixed 2.13.0
CDRIVER-3434 Works as Designed
PHPLIB-516 Fixed 1.7.0-beta1, 1.7.0
SWIFT-985 Fixed 1.1.0
RUST-409 Fixed 0.11.0

 Description   

The data warehouse team is tracking driver usage in Atlas and working on a set of charts for that data. As part of that project we would like to begin tracking projects built at MongoDB or maintained by MongoDB employees that wrap drivers. For example, Mongoid, PyMODM, Doctrine, Mongoose, etc. Note that these are wrapping libraries, not applications, so using the appname field is not appropriate.

The Python and Java drivers provide an API for a wrapping library to append its name, version and limited platform information to the standard metadata. See the Python implementation here:

https://github.com/mongodb/mongo-python-driver/commit/c63c068611bd4ea3387fc1a08082a96869ac82a1#diff-987f063428999f063731ab71d5f5c3ac

Let's add similar functionality to all drivers. This is particularly important for projects that have popular ODMs.

Spec change: https://github.com/mongodb/specifications/commit/393edc8b07d32de6bb1506a38748b927a7c120fb


Generated at Thu Feb 08 08:22:19 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.