On Thu, 7 Nov 2024 at 07:38, Christian Ortlepp wrote: > > > Semantic versioning is followed. > > Even if no Jakarta Interfaces/Annotations are part of Pulsars public > API, switching to jakarta can (and probably will) mess with the > dependency resolution of everybody who uses the client. So I do think > this is a breaking change, even if no javax/jakarta interfaces are used > explicitly anywhere in Pulsars API.
It's true that some use cases could break. Relying on transitive dependencies is not a great idea in general. We won't be incrementing the major version for fixing issues in transitive dependencies. > > It looks like there are problems with the shading configuration of > > > pulsar-client-all and pulsar-client-admin-shaded. > > We are just using the pulsar-client. I also did not know that pulsar > shades its dependencies, but from a quick look at the pom it looks to me > that (of the javax libraries) it only shades javax.annotation, but not > javax.ws.rs-api, javax.activation, javax.validation. But this is just > what I'm reading from the POM, I have not tried it out yet. So I also do > not have any acute problems yet, but I will IF pulsar actually needs any > of the javax libraries like it advertises this in the POM (if it shades > them all I should not have any problems). That's exactly the issue in the shading configuration. > I am honestly a bit confused at the moment, is what is published on > maven central as "pulsar-client" actually "pulsar-client-shaded"? Yes, "pulsar-client" in maven central is published by the "pulsar-client-shaded" module in the source code. The "pulsar-client" module in source code is published as "pulsar-client-original" to maven central. -Lari