pulsar4s icon indicating copy to clipboard operation
pulsar4s copied to clipboard

Cats Effect 3 migration

Open amalinkoevo opened this issue 2 years ago • 2 comments

Hello everybody. This mr updates cats effect to cats effect 3. Things to notice:

  • fs2 also updted
  • monix doesn't support ce3 yet, so I commented out this test and added comment about it. When monix is available for ce3, test can be uncommented.
  • StateT in test becomes WriterT since there is no Async instance for StateT in ce3

Could you please review it and merge if you're ok with updating to CE3?

amalinkoevo avatar Apr 25 '22 12:04 amalinkoevo

So, if I understand this well: apart from the major Cats bump (which I'm not opposed to, we'll "just" have to bump the major version to show the change), this breaks the compatibility for people who want to use the pulsar4s-cats-effets with monix. Am I right? @gmethvin Since you've been working on pulsar4s longer than me, what do you think? Should we release a major version of pulsar4s with this?

judu avatar May 07 '22 10:05 judu

@judu we don't currently have a great way to handle this. I think @sksamuel was using an epoch.major.minor versioning scheme, so we would be able to make a breaking change in the next "major" version, which is 2.9.0. That's probably the easiest option for now, until we agree on a better policy.

As I understand it the version was also loosely meant to track the Pulsar client version, but that probably isn't sustainable in the long run.

The most flexible option would be to have separate libraries for the different integrations, though that could become a bit of a pain to manage. The JSON integrations actually don't even need to be tied to the pulsar4s version at all, since they use the Java API's Schema.

gmethvin avatar May 17 '22 02:05 gmethvin