playframework / play-grpc

Play + Pekko gRPC
Apache License 2.0
35 stars 29 forks source link

Switch to Play 3 and Apache Pekko #489

Closed sentenza closed 10 months ago

sentenza commented 10 months ago

In order to upgrade all the services that are now migrating to Apache Pekko and Play 3.x we need to finally drop Akka.

Aside from switching from Akka to Pekko (more details here), Play 3.0 offers identical features and bug fixes as in Play 2.9. Play 3.0 and 2.9 will receive the same features and bug fixes and are maintained in parallel.

https://www.playframework.com/documentation/3.0.x/Migration30

mkurz commented 10 months ago

As you wish:

mkurz commented 10 months ago

More or less done in

(forgot the docs/ folder though :facepalm:)

sentenza commented 10 months ago

@mkurz I believe that we should release a v1.0.0, because this is actually a major release targeting Play3, abandoning Akka for Pekko.

mkurz commented 10 months ago

Not sure about 1.0.0, @ihostage what do you think?

So everything is ready now, we can release 0.11.x, which will support Play 2.9 and Akka, but does not provide Scala 3 artifacts (for now), because of https://github.com/playframework/play-grpc/pull/498#issuecomment-1867470382. We could ship Scala 3 support later in a 0.11.x release if desired (everything is set up since I backported the necessary changes from main), but I will not spend time on that right now since it's for BSL users. Be aware, that release would depend on sbt-akka-grp 2.1.5 because of the ALPN problem, see

Also we can release 0.12.x (or v1?) with Pekko and full Scala 3 support right now. Also be aware this release would ship with a pekko-grpc-sbt-plugin version which does have the ALPN problem not fixed yet (but hopes are that the pekko team would merge a PR soon with a fix).

Should we proceed with the releases? Hmm... actually, should we also upgrade sbt-akka-grp to 2.1.6 and also just comment out the failing tests like in the main branch? Maybe not yet, because we could upgrade to 2.1.6 in a 0.11.x later if someone desires that, or people can just upgrade manually themselves (so if we upgrade now there is no easy way back).

sentenza commented 10 months ago

Also we can release 0.12.x (or v1?) with Pekko and full Scala 3 support right now. Also be aware this release would ship with a pekko-grpc-sbt-plugin version which does have the ALPN problem not fixed yet (but hopes are that the pekko team would merge a PR soon with a fix).

Should we proceed with the releases?

I would say yes, we should release v1.0.0 to support Play 3 / Pekko users. This is a blocker right now. As soon as the new pekko-grpc-sbt-plugin is released we can simply release a new 1.x version.

ihostage commented 10 months ago

Not sure about 1.0.0, @ihostage what do you think?

I really think we should release 0.12.0, not 1.0.0. I can't say that this version is final and I plan invest my time in future to review this module fully together with Pekko gRPC.

Should we proceed with the releases?

I don't see a reason not do that 😄 Lets go 🚀

Hmm... actually, should we also upgrade sbt-akka-grp to 2.1.6 and also just comment out the failing tests like in the main branch? Maybe not yet, because we could upgrade to 2.1.6 in a 0.11.x later if someone desires that, or people can just upgrade manually themselves (so if we upgrade now there is no easy way back).

I agree, not yet 😄 I also think we should stay on 2.1.5 for 0.11.x.

sentenza commented 10 months ago

I really think we should release 0.12.0, not 1.0.0. I can't say that this version is final and I plan invest my time in future to review this module fully together with Pekko gRPC.

Considering that the next version will drop Akka for Pekko and the new Play version we should really consider the release of a major version (1.0.0) because this will a breaking change, am I wrong?

mkurz commented 10 months ago

@sentenza This whole library seems it's not really stable yet according to the readme:

So let's just make it 0.12 for now, like Sergey said he wants to invest more time to perfect this library so when time comes we will increase to v1. Does it really matter for you right now? Just having new release should be great on it's own already :wink:

ihostage commented 10 months ago

Considering that the next version will drop Akka for Pekko and the new Play version we should really consider the release of a major version (1.0.0) because this will a breaking change, am I wrong?

In fact, Play PC hasn't had a major version yet and I think it still doesn't ready yet. Migrate from Akka to Pekko changes nothing in this context for me 🤷‍♂️

@sentenza This whole library seems it's not really stable yet according to the readme:

Yep, Matthias @mkurz! You caught my thoughts! 👍

mkurz commented 10 months ago

Pushed the tags: https://github.com/playframework/play-grpc/actions/workflows/publish.yml

sentenza commented 10 months ago

Does it really matter for you right now? Just having new release should be great on it's own already 😉

@mkurz @ihostage it's alright. Thank you for your help and effort in releasing this new version. :)

mkurz commented 10 months ago

Added PR's for scala steward:

sentenza commented 10 months ago

@mkurz Probably it would make sense to add a table in the README to indicate the actual compatibility between play-grpc and Play versions.

mkurz commented 10 months ago

@mkurz Probably it would make sense to add a table in the README to indicate the actual compatibility between play-grpc and Play versions.

@sentenza Probably makes sense, feel free to provide a pull request :wink: