Xabaril / AspNetCore.Diagnostics.HealthChecks

Enterprise HealthChecks for ASP.NET Core Diagnostics Package
Apache License 2.0
4.12k stars 800 forks source link

Add support for RabbitMQ.Client version 7. #2323

Open eerhardt opened 6 days ago

eerhardt commented 6 days ago

RabbitMQ.Client version 7 made major breaking changes - interface renames, all sync methods are removed and only async methods remain.

Handle this breaking change by splitting our package into 2, one for each major version.

  1. For the current HealthChecks.Rabbitmq package, we put a NuGet version limit on our dependency: [6.8.1,7.0.0). This way people won't be able to update to the 7.0.0 version, which will break their app.
  2. We add a new, forked component named HealthChecks.Rabbitmq.v7 which will have a dependency on 7.0.0 and contains updates so the health checks will work with v7. People who explicitly want to use version 7 can opt into using this package.
  3. When the next major version of HealthChecks ships, we can "swap" the dependencies around. The HealthChecks.Rabbitmq package will be updated to depend on version 7 of RabbitMQ.Client. If RabbitMQ.Client v6 is still in support, we can create HeatlhChecks.Rabbitmq.v6 which has the dependency limit [6.8.1, 7.0.0) and works with the version 6 of RabbitMQ.Client. HealthChecks.Rabbitmq.v7 will be dead-ended.

Fix #2319

Please make sure you've completed the relevant tasks for this PR, out of the following list:

AnthonyDewhirst commented 3 days ago

When is the planned release date of release 9.0? We use RabbitMQ for local testing, so I am comfortable commenting out the health check for now, but ideally would like to not do this. As mentioned 8 doesn't work when upgrading other parts to .net 9