TimWSpence / cats-stm

A STM implementation for Cats Effect
https://timwspence.github.io/cats-stm/
Apache License 2.0
143 stars 17 forks source link

v0.13.5 artifacts #542

Open durban opened 5 months ago

durban commented 5 months ago

I might be missing something, but artifacts for the new 0.13.5 version don't seem to be on maven central. This is what sbt is trying to resolve, and it indeed doesn't seem to exist:

https://repo1.maven.org/maven2/io/github/timwspence/cats-stm_2.13/0.13.5/cats-stm_2.13-0.13.5.pom
TimWSpence commented 4 months ago

Sorry @durban my pgp key had expired so the publish failed and it took me a while to get round to fixing it or noticing this issue 😅 It should be there now?

durban commented 4 months ago

Thanks, the artifacts are indeed there now.

However, the Scala 3 artifacts seem to have been built with Scala 3.4. Is that intentional? I was under the impression, that libraries are usually recommended to remain on 3.3...

Also, just fyi, I did a quick comparison between 0.13.4 and 0.13.5 (with the 2.13 artifacts), and 0.13.5 seems like a clear win regarding performance.

TimWSpence commented 4 months ago

It was intentional in the sense that I missed the announcement that libraries should remain on 3.3 😅 Why is that?

Oh cool! What tests did you do? I think the only change other than dependency updates in 0.13.5 is your LongMap change so nice one!! :)

durban commented 4 months ago

It was intentional in the sense that I missed the announcement that libraries should remain on 3.3 😅 Why is that?

Well, I actually can't find an announcement :rofl: But there are these issues: https://github.com/scala-steward-org/scala-steward/issues/3302 and https://github.com/scala-steward-org/scala-steward/pull/3328. I think the idea is simply that by upgrading to 3.4, a library forces all its dependents to also upgrade. If a library is on the LTS (currently 3.3), its dependents can decide one by one for themselves whether they want to use LTS or something newer.

Oh cool! What tests did you do?

I did this at work: https://github.com/nokia/stm-benchmark. I also suspect the LongMap, because these tests have large transactions (meaning transactions which touch a lot of TVars), which should stress the log especially.

durban commented 4 months ago

Found the announcement: https://www.scala-lang.org/blog/2024/02/29/scala-3.4.0-and-3.3.3-released.html#-so-which-version-should-i-update-to.