-
Notifications
You must be signed in to change notification settings - Fork 575
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
chore: bump SLF4j to 2.0.7 (current) #1096
Conversation
@milgner Please sign the Contributor License Agreement! Click here to manually synchronize the status of this Pull Request. See the FAQ for frequently asked questions. |
@pivotal-cla this is an obvious fix |
@milgner This Pull Request contains an obvious fix. Signing the Contributor License Agreement is not necessary. |
@milgner Thank you for signing the Contributor License Agreement! |
@milgner thank you! There was an incompatibility at some point in the 2.x series. I no longer remember what it was but it did result in CI failures. Let's see. |
Fingers crossed then... I ran the "essential" tests on my local system as described in the README and those passed without a problem. I assume there are more running here - let's hope these run now, too. |
@milgner things seem good with |
This is a breaking change. SLF4J 1.x and 2.x bindings are not compatible. So an application using a 1.x binding would break as soon as it upgraded to the Java client that uses SLF4J 2.x. SLF4J 1.x and 2.x are binary-compatible though: applications using the Java client can override SLF4J to 2.x and use the appropriate binding. This is what PerfTest does. Unless I misunderstood how SLF4J 2.x behaves, we'll have to stick to 1.x to avoid breaking applications, especially considering they can override the dependency. |
When I tried to override the dependency, I got an error about incompatible interfaces 🤔 Unfortunately I don't have it at hand anymore - I'll try and override once more and get back to you afterwards. |
Consider PerfTest a regular application that uses the Java client library, it depends on the Java client library and uses SLF4J 2.x: https://github.com/rabbitmq/rabbitmq-perf-test/blob/b10757bcf4b32e7fb16912fc2316ede70f817f5f/pom.xml#L58-L59 It then uses Logback as an implementation (the binding is included in logback): https://github.com/rabbitmq/rabbitmq-perf-test/blob/b10757bcf4b32e7fb16912fc2316ede70f817f5f/pom.xml#L67 PerfTest uses logback 1.3.x because it supports Java 8. |
Proposed Changes
Upgrade the dependency on SLF4j to the current 2.0 version. Interfaces are compatible but have been enhanced.
(I was struggling with two different interface versions on my classpath after adding the RabbitMQ client to a project which already uses SLF4J 2.0)
Types of Changes
fixescontributes to issue Bump dependencies #1066)Checklist
CONTRIBUTING.md
documentFurther Comments
Did not sign the CA as this is a trivial change that is excluded in
CONTRIBUTING.md
- please let me know if it's still necessary.