.NET/C# Driver Strong Naming

A typical example. In our project we use GitHub - elsa-workflows/elsa-core: A .NET workflows library and uses mongodb extensions. We use Elsa 2 (moving to 3 has too much breaking changes). The version 2 is still using an old version of the driver.

Since we are extending some other classes, using reflection to call those extensions is literally a nightmare. Now we should hope that Elsa maintainer wants to patch an old version to support strongly type version of the driver. Elsa is a .NET core project so it does not benefit from strongly typed naming, but it is impacted too :(.

1 Like

Trying to fork elsa mongodb support to upgrade driver does not works because it uses MongoDb.Bson.NodaTime that uses old driver. So I use a library, that uses a second library I fork that second library and I need to fork the third library, now I need to fork the fourth library … seriously … this is a nightmare.

You put us developer in an infinite hell of fork and a maintenance nightmare, even if in .NET core signed assembly is absolutely an unused feature…

I’m absolutely tired, the only solution is to stick to the older driver and probably never update because there are too many libraries that are old and not maintained and we need to fork an ecosystem.

2 Likes

Thanks for raising this. We’ve been working with maintainers like NServiceBus (recently merged a change to use the Strong Named driver) and Elsa (they’ve agreed to update both Elsa 2 and 3 to start using the Strong Named version of the MongoDB driver). I’d like to again thank all maintainers for making these updates and apologize for the inconvenience.

I do also want to share that updating beyond v2.27 is not necessary per say especially from a feature standpoint. Our focus is mainly on the next major version of the driver (v3.0.0) and all new features will be added in that version and beyond. The only anticipated 2.x releases we foresee are as follows:

  • v2.29.0 : Adds support for Range Indexes as GA which had been in preview previously
  • v2.30.0: Adds deprecations for the upcoming 3.0.0 release

I agree. It’s much easier to switch from MongoDB to another database provider than trying to update the entire OSS ecosystem. The last time I checked, there were around 1,500 NuGet packages that had dependencies on the MongoDB driver.

Breaking an ecosystem to support a deprecated / out of support framework is pure madness.

2 Likes