apache / pekko

Build highly concurrent, distributed, and resilient message-driven applications using Java/Scala
https://pekko.apache.org/
Apache License 2.0
1.18k stars 142 forks source link

release notes for 1.0.0 release #334

Closed pjfanning closed 1 year ago

pjfanning commented 1 year ago

We can put a 'Release Notes' page on https://pekko.apache.org or we can use https://github.com/apache/incubator-pekko/releases

For a v1.0.0 release, we probably will only want a set of headline changes (compared to Akka).

For example:

We should go through the merged PRs anyway to see if there is anything that doesn't fit under the headline changes and needs to be called out separately. For instance, we did change the Jackson dependency version to 2.14.3 - and the reactivestreams version to 1.0.4 (off the top of my head).

pjfanning commented 1 year ago

I've created https://cwiki.apache.org/confluence/display/PEKKO/Pekko+Core+Release+Notes

Using Confluence as it allows for comments and collaborative edits.

I tried using GitHub to get diffs from the 'forked-from-akka' git tag to the HEAD of trunk but GitHub only displays a small subset because the diff is so big. This is unfortunate but it is a reflection of how big the code base is and with all the package name changes, etc, the diff is just too big to display.

I would welcome some outside perspectives on draft release notes.

pjfanning commented 1 year ago

@He-Pin @mdedetrich would either of you have time to review the release notes (see previous comment)?

mdedetrich commented 1 year ago

I'll have tomorrow

pjfanning commented 1 year ago

@mdedetrich would you be able to review https://cwiki.apache.org/confluence/display/PEKKO/Pekko+Core+Release+Notes ?

mkurz commented 1 year ago

When do you expect to release 1.0? Or a milestone / RC? Like weeks? Do you publish sonatype snapshots?

mdedetrich commented 1 year ago

When do you expect to release 1.0? Or a milestone / RC? Like weeks?

We are nearing the finish line, it will likely be announced in the coming days

Do you publish sonatype snapshots

Yes and we have been doing so for some time https://repository.apache.org/content/groups/snapshots/org/apache/pekko/

pjfanning commented 1 year ago

@mkurz it's only the jars related to this git repo that are part of the first release cycle. Once we get this set of jars released, we'll quickly push onto pekko-http repo, etc. Snapshots are there for all repos.

mkurz commented 1 year ago

Once we get this set of jars released, we'll quickly push onto pekko-http repo, etc. Snapshots are there for all repos.

Sure, that's what I expected :wink:

mdedetrich commented 1 year ago

@mkurz Regarding my earlier comment with snapshots, I didn't realize that you mentioned sonatype specifically. We do publish snapshots but as you may have noticed from the link provided earlier its to Apache repo, not Sonatype. If you are using latest version of SBT (i.e. 1.9.0) you can just do this to add the resolver

resolvers += Resolver.ApacheMavenSnapshotsRepo

Otherwise you can do

resolvers += "Apache Nexus Snapshots".at("https://repository.apache.org/content/repositories/snapshots/")
mkurz commented 1 year ago

@mdedetrich I figured that out already yesterday and pushed a first draft migrating Play to pekko yesterday late night: https://github.com/playframework/playframework/pull/11847 The PR is still incomplete, but in case I experience any problems I will let you know.

Also I want to mention this does not necessarily mean Play will move to pekko, this is not decided yet. I just want to validate and test how the current state is. The final decision will be done by the Play steering committee. It will depend a lot on how we see the commitment to pekko from you, the maintainers, and the community, and maybe even companies that decide to move to pekko, since of course we don't want to move to a framework that might be dead in one year from now. So it's more or less about the trust that the project will be kept alive and not decay anytime soon.

mkurz commented 1 year ago

The snapshots are a bit inconsistent.

Makes cross compiling a bit cumbersome. Using 0.0.0+26705-97cf472a-SNAPSHOT for now since that is published for both Scala 2.13 and Scala 3

pjfanning commented 1 year ago

We've been having a few issues with the nightly build the last few days.

0.0.0+26669-ec5b6764-SNAPSHOT is currently the recommended snapshot

See this thread https://lists.apache.org/thread/ln8o1rxmmkz61w5kd8ndh57vqf3omxdh

The thread has recommendations for pekko-http version too.

mdedetrich commented 1 year ago
pekko: 0.0.0+26669-ec5b6764-SNAPSHOT
pekko-http: 0.0.0+4411-6fe04045-SNAPSHOT
pekko-grpc: 0.0.0-41-ab1c00da-SNAPSHOT
pekko-connectors-kafka: 0.0.0+1738-07a19b8e-SNAPSHOT

Are snapshots that are known to consistently work with each other. It's not the latest version but you want get classpath/resolution issues

EDIT: @pjfanning beat me

This will improve once RCs start getting released.

mkurz commented 1 year ago

Found a problem, pretty sure it's a bug in pekko-http Scala 3 (if not then in Scala 3): https://github.com/apache/incubator-pekko-http/issues/183

mkurz commented 1 year ago

it's a bug in pekko-http Scala 3

sorry, more likely pekko-stream, since SessionBytes lives there.

pjfanning commented 1 year ago

SessionBytes and ProtocolSwitch are both in pekko-http-core

mkurz commented 1 year ago

SessionBytes

Are you sure? Or maybe I am too tired. (I don't really care who is right to be honest :wink: )

https://github.com/apache/incubator-pekko/blob/bed33cd4f00613f033638928904a29b8ce79071a/stream/src/main/scala/org/apache/pekko/stream/SslTlsOptions.scala#L182-L184

stream/src/main/scala/org/apache/pekko/stream/SslTlsOptions.scala

package org.apache.pekko.stream

Or am I missing something?

Thanks for the very quick fix!

pjfanning commented 1 year ago

My mistake, SessionBytes is in pekko-streams ok. I was confused by the TLS code. I have a draft PR for pekko-http-core to try to work around this. https://github.com/apache/incubator-pekko-http/pull/184

I still think this is more likely to be a Scala3 issue than a problem in the Pekko code but it is worth experimenting nonetheless.

mkurz commented 1 year ago

I too had the suspicion from the beginning this is a bug in Scala 3. The PR looks good to me.