Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support strong-named versions of MongoDB.Driver #658

Merged
merged 2 commits into from
Sep 17, 2024

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jul 24, 2024

Fixes #660

Bumps MongoDB.Driver from 2.24.0 to 2.28.0.

Release notes

Sourced from MongoDB.Driver's releases.

.NET Driver Version 2.28.0 Release Notes

This is the general availability release for the 2.28.0 version of the driver.

NOTICE: MongoDB 3.6 reached end-of-life in April 2021. The .NET/C# Driver will be removing support for MongoDB 3.6 in an upcoming release.

The main new features in 2.28.0 include:

  • Provide Strong-Named Assemblies - CSHARP-1276
  • Support additional numeric conversions involving Nullable - CSHARP-5180
  • CSFLE/QE KMIP support "delegated" protocol - CSHARP-4941

Bug fixes:

  • Verify that operands to numeric operators in LINQ expressions are represented as numbers on the server - CSHARP-4985
  • IReadOnlyDictionary indexer access fails to translate in v3 - CSHARP-5171
  • Projection Expressions Fail to Deserialize Data Correctly - CSHARP-5162
  • Enum conversion within IQueryable fails with Expression not supported exception - CSHARP-5043
  • IMongoCollection.AsQueryable().Select() fails for array type (regression) - CSHARP-4957

The full list of issues resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

.NET Driver Version 2.27.0 Release Notes

This is the general availability release for the 2.27.0 version of the driver.

The main new features in 2.27.0 include:

  • Support $sample aggregation operator - CSHARP-2659
  • Implement Equals method for serializers in LINQ3 - CSHARP-3315
  • Avoid Appending Write/Read Concern in Atlas Search Index Helper Commands - CSHARP-4839
  • Disallow comma character in authMechanismProperties connection string value - CSHARP-5106
  • Fix translation issue during serialization of numbers with differing sizes - CSHARP-5163
  • Support Linux distros using libdl.so.2 CSHARP-4889
  • Multiple bug fixes and improvements.

The full list of issues resolved in this release is available at CSHARP JIRA project.

Documentation on the .NET driver can be found here.

.NET Driver Version 2.26.0 Release Notes

This is the general availability release for the 2.26.0 version of the driver.

The main new features in 2.26.0 include:

  • Support SelectMany inside Project/Select - CSHARP-5081
  • Support Dictionary.ContainsValue in LINQ queries - CSHARP-2509
  • Support string concatenation of mixed types - CSHARP-5071
  • Enable use of native crypto in libmongocrypt bindings - CSHARP-4944
  • Support serialization of Memory and ReadOnlyMemory structs - CSHARP-4807
  • OIDC: support for GCP Identity Provider - CSHARP-4610

... (truncated)

Commits
  • 0d8134e 2.28.0 Release notes (#1394)
  • 2ab2868 CSHARP-5162: Continue to use FindExpressionProjectionDefinition to avoid regr...
  • e0849de CSHARP-1276: Provide Strong-Named Assemblies (#1393)
  • acbcd72 CSHARP-5171: Adjust changes to driver conventions.
  • d3a0baa CSHARP-5171: Add IReadOnlyDictionary to existing IDictionary indexer translat...
  • 74fba13 CSHARP-4957: Fix issue with new array expression.
  • 46f39d5 CSHARP-4017: Fix flaky Aggregate_with__out_includes_read_preference_for_5.0__...
  • 41e352e CSHARP-5181: Remove Serverless Proxy Incremental Rollout Tests (#1389)
  • db235b7 CSHARP-5180: Skip new tests on older servers.
  • ce1a394 CSHARP-5180: Support additional numeric conversions involving Nullable<T>.
  • Additional commits viewable in compare view

Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot dependabot bot added .NET Pull requests that update .net code dependencies Pull requests that update a dependency file labels Jul 24, 2024
@dependabot dependabot bot force-pushed the dependabot/nuget/src/MongoDB.Driver-2.28.0 branch 3 times, most recently from 24ba192 to 0c569b9 Compare July 31, 2024 07:06
@mauroservienti
Copy link
Member

We're not alone in this https://jira.mongodb.org/browse/CSHARP-5206

@dependabot dependabot bot force-pushed the dependabot/nuget/src/MongoDB.Driver-2.28.0 branch 2 times, most recently from a3a5376 to 39b7a31 Compare August 23, 2024 06:46
@rishitb-mongodb
Copy link

Hi @johnsimons,

Could I please request a review on this change. We've elaborated on this from the MongoDB side here but it would be super helpful to update this as versions from v2.28 and above will be Strong Named. Apologies for the inconvenience.

Thanks,

Rishit.

@mauroservienti
Copy link
Member

I’m not comfortable with this change. The biggest issue is that is a critical breaking change requiring us to release a new major of the package. However, I believe this is the last of our concerns. By going down the path of incorporating a strong named assembly, it looks like our only option would be to stop using dependency ranges in the main package:

<PackageReference Include="MongoDB.Driver" Version="[2.24.0, 3.0.0)" />

my concern is that it’ll ripple on our users causing major headaches. Not to mention that it’ll force us to release a new version of the package for each release of the MongoDB client package. On top of that there will be the issue that users using more than one package depending on the MongoDB one won’t be to update until all dependencies update and release versions using the latest MongoDB client.

@BorisDog
Copy link

Hi @mauroservienti,

The ranges approach will still work with Strong naming as before, as long as all the versions within the range are all strong named (or all not strong named). As @rishitb-mongodb mentioned starting with 2.28 all MongoDB driver versions will be strong named, so it's safe to update to [2.28, 3.0.0).

Few references:

  • All Microsoft .net assemblies are strong named, for example usually libs can user higher version of Microsoft.Extensions.Logging.Abstractions lib despite lower versions referenced by their dependencies

  • NServiceBus.RabbitMQ uses "RabbitMQ.Client" Version="[6.8.1, 7.0.0)" which is strong named

  • NServiceBus.RavenDB uses "RavenDB.Client" Version="[6.8.1, 7.0.0)" which is strong named

dependabot bot and others added 2 commits September 17, 2024 09:05
Bumps [MongoDB.Driver](https://github.com/mongodb/mongo-csharp-driver) from 2.24.0 to 2.28.0.
- [Release notes](https://github.com/mongodb/mongo-csharp-driver/releases)
- [Commits](mongodb/mongo-csharp-driver@v2.24.0...v2.28.0)

---
updated-dependencies:
- dependency-name: MongoDB.Driver
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@cquirosj cquirosj force-pushed the dependabot/nuget/src/MongoDB.Driver-2.28.0 branch from 7b16091 to 2ff29ca Compare September 17, 2024 15:05
@cquirosj cquirosj merged commit 3ec376a into master Sep 17, 2024
3 checks passed
@cquirosj cquirosj deleted the dependabot/nuget/src/MongoDB.Driver-2.28.0 branch September 17, 2024 15:52
@cquirosj cquirosj modified the milestone: 4.1.0 Sep 17, 2024
@cquirosj cquirosj changed the title Bump MongoDB.Driver from 2.24.0 to 2.28.0 in /src Support strong-named versions of MongoDB.Driver Sep 17, 2024
@cquirosj cquirosj added this to the 4.1.0 milestone Sep 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file Improvement .NET Pull requests that update .net code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Updating MongoDB.Driver to 2.28.0 version breaks the MongoClient
6 participants