Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.0.2 #413

Closed
viktorklang opened this issue Nov 22, 2017 · 55 comments
Closed

Release 1.0.2 #413

viktorklang opened this issue Nov 22, 2017 · 55 comments

Comments

@viktorklang
Copy link
Contributor

Given the number of improvements which have been merged since 1.0.1 I'm thinking if we should consider releasing everything as a 1.0.2 rather than issuing the new jars (flow adapters, flow tck) against 1.0.1.

Thoughts?

@akarnokd
Copy link
Contributor

Sounds good.

@viktorklang
Copy link
Contributor Author

A followup question: what should we try to merge/fix additionally—if we want to issue 1.0.2 before the end of the year?

@ktoso
Copy link
Contributor

ktoso commented Nov 22, 2017

As for required things the automatic module names are the single thing I think #412

The other things look like nice to have I guess?

@DougLea
Copy link
Contributor

DougLea commented Nov 26, 2017

OK, but given all of the config and tck changes, I no longer know how to test compliance of jdk java.util.concurrent.SubmissionPublisher, which was just now updated and should be checked. Can anyone try this and explain how they did it? Existing tests should run using java --patch-module java.base="jsr166.jar with the updated http://gee.cs.oswego.edu/dl/jsr166/dist/jsr166.jar

@viktorklang
Copy link
Contributor Author

@DougLea We're planning on releasing the RC of the Flow TCK next week.

@akarnokd
Copy link
Contributor

I'll submit a PR to the Flow-TCK to have SubmissionPublisher. I'm not sure how I could do that --patch-module with Gradle though.

@viktorklang
Copy link
Contributor Author

For RC1 see #417

@viktorklang
Copy link
Contributor Author

@reactive-streams/contributors Current master is now updated to what I think will make for a good 1.0.2-RC1 (see #417). I have pushed a tag for v1.0.2-RC1 which can/will be used to make the release from.

So, who wants to do the honors of building the release? @rkuhn? @ktoso? :)

@viktorklang
Copy link
Contributor Author

@reactive-streams/contributors No volunteers for the prestigious job of making an RS release? :)

@rkuhn
Copy link
Member

rkuhn commented Dec 4, 2017

Sorry, I currently don’t have my GPG key with me, so I’m blocked from releasing until Thursday evening when I get back home. (will fix that to prevent recurrance of this problem in the future)

@ktoso
Copy link
Contributor

ktoso commented Dec 4, 2017

Missed that, was offline for a few days. Sure, I can cut it when we want. AFAIR I did cut one some time ago so should work.

@viktorklang
Copy link
Contributor Author

viktorklang commented Dec 4, 2017 via email

@viktorklang
Copy link
Contributor Author

viktorklang commented Dec 4, 2017 via email

@ktoso
Copy link
Contributor

ktoso commented Dec 5, 2017

Awaiting merge of #418 (review) and can cut the release then

@viktorklang
Copy link
Contributor Author

viktorklang commented Dec 5, 2017

@ktoso Alright, I think we should be set for the 1.0.2-RC1 release. I have pushed the tag to the repo (git fetch --tags to refresh) and it shoul be pointing to f403f4e . Would you mind staging the release, @ktoso? (I'll help you verify the bits)

EDIT: updated hash to signal the latest commit (updating RELEASE-NOTES.md)

@ktoso
Copy link
Contributor

ktoso commented Dec 5, 2017

RC1 is staged: https://oss.sonatype.org/content/repositories/orgreactivestreams-1033
Let's verify it.

MANIFEST:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Created-By: 9 (Oracle Corporation)
Tool: Bnd-3.4.0.201707252008
Bnd-LastModified: 1512465241000
Export-Package: org.reactivestreams.tck;version="1.0.2-RC1";uses:="org
 .reactivestreams,org.reactivestreams.tck.flow.support,org.testng.anno
 tations",org.reactivestreams.tck.flow.support;version="1.0.2-RC1";use
 s:="org.reactivestreams.example.unicast"
Import-Package: org.reactivestreams;version="[1.0,2)",org.reactivestre
 ams.example.unicast;version="[1.0,2)",org.reactivestreams.tck.flow.su
 pport;version="[1.0,2)",org.testng;version="[5.14,6)",org.testng.anno
 tations;version="[5.14,6)"
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.6))"
Bundle-DocURL: http://reactive-streams.org
Bundle-Vendor: Reactive Streams SIG
Bundle-Description: Reactive Streams API
Bundle-Name: reactive-streams-tck
Bundle-Version: 1.0.2-RC1
Automatic-Module-Name: org.reactivestreams.tck
Bundle-SymbolicName: org.reactivestreams.reactive-streams-tck

Non JDK9 projects correctly on language level 50 (Java 6):

$ unzip reactive-streams-tck-1.0.2-RC1.jar  > /dev/null
replace META-INF/MANIFEST.MF? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
ktoso @ 三日月~/.ivy2/cache/org.reactivestreams/reactive-streams-tck/jars
$ javap -v org/reactivestreams/tck/PublisherVerification.class | head -n10
Classfile /Users/ktoso/.ivy2/cache/org.reactivestreams/reactive-streams-tck/jars/org/reactivestreams/tck/PublisherVerification.class
  Last modified Dec 5, 2017; size 19046 bytes
  MD5 checksum da7179717833ab4ddb897fa5014cc054
  Compiled from "PublisherVerification.java"
public abstract class org.reactivestreams.tck.PublisherVerification<T extends java.lang.Object> extends java.lang.Object implements org.reactivestreams.tck.flow.support.PublisherVerificationRules
  minor version: 0
  major version: 50
  flags: ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
Constant pool:
    #1 = Fieldref           #5.#290       // org/reactivestreams/tck/PublisherVerification.publisherReferenceGCTimeoutMillis:J

Akka Streams TCK suite passed, seems no regressions.

@akarnokd
Copy link
Contributor

akarnokd commented Dec 5, 2017

👍 RxJava 2 offline
👍 RxJava 2 Travis CI (link)

@ktoso
Copy link
Contributor

ktoso commented Dec 5, 2017

Excellent, pushing the button then :)
Since it's just an RC, assuming above sanity checks and 2 projects confirming is enough.

@viktorklang
Copy link
Contributor Author

Excellent work everyone! 👍

@akarnokd
Copy link
Contributor

akarnokd commented Dec 6, 2017

Tested with a native Java 9 Flow library:
👍 Reactive4JavaFlow with Flow.Publishers offline
👍 Reactive4JavaFlow with Flow.Publishers Travis CI (link)

However, the IdentityFlowProcessorVerification is defined wrong:

  • requires the implementor to specify abstract methods for support structures which are provided in IdentityProcessorVerification: createFlowSubscriber, createFlowHelperPublisher, createFlowPublisher.
  • uses org.reactivestreams.X in the abstract method signatures requiring manual adapters. The abstract methods implemented from IdentityProcessorVerification just delegate without using the flow-adapter:
@Override
public final Publisher<T> createFailedPublisher() {
    return createFailedFlowPublisher();
}

@viktorklang
Copy link
Contributor Author

viktorklang commented Dec 6, 2017 via email

@akarnokd
Copy link
Contributor

akarnokd commented Dec 6, 2017

Yep, was on it right away: #419.

@viktorklang
Copy link
Contributor Author

viktorklang commented Dec 6, 2017 via email

@viktorklang
Copy link
Contributor Author

@reactive-streams/contributors Given #419 I think we should issue the RC2 ASAP. Anyone disagree?

@ktoso
Copy link
Contributor

ktoso commented Dec 7, 2017

Yeah, let's. Do you want to prep release notes?

@viktorklang
Copy link
Contributor Author

@ktoso I can prepare a tag with bumped versions. Not sure about the release notes. I'll add a comment about fixing a few oversights in the verification fixture for Flow.Processor?

@viktorklang
Copy link
Contributor Author

@ktoso I just updated master to a894aac and the tag v1.0.2-RC2 should point to that commit. Please sanity check my changes in that commit before staging the bits.

@ktoso
Copy link
Contributor

ktoso commented Dec 11, 2017

Looking good, releasing. Includes the fixes done by @akarnokd

@viktorklang
Copy link
Contributor Author

viktorklang commented Dec 11, 2017 via email

@akarnokd
Copy link
Contributor

1.0.2-RC2 results

👍 RxJava 2 offline
👍 RxJava 2 Travis CI (link)
👍 Reactive4JavaFlow offline
👍 Reactive4JavaFlow Travis CI (link)

@viktorklang
Copy link
Contributor Author

@akarnokd Awesome!

@ktoso
Copy link
Contributor

ktoso commented Dec 12, 2017

Great, thanks!

@viktorklang
Copy link
Contributor Author

@reactive-streams/contributors If no serious defects are reported within a week then we should be able to release 1.0.2-RC2 as 1.0.2.
I have prepared the website.

@viktorklang
Copy link
Contributor Author

@reactive-streams/contributors 1.0.2-RC2 has been out for a week without any issues, I propose we promote it to 1.0.2 and push the bits tomorrow or Wednesday. Is everyone on board with that?

@akarnokd
Copy link
Contributor

Sounds good 👍.

@ktoso
Copy link
Contributor

ktoso commented Dec 18, 2017 via email

@viktorklang
Copy link
Contributor Author

@ktoso I'll prep the branch & tags today (will need sanity check since I have a fever).

@viktorklang
Copy link
Contributor Author

@ktoso Ok, I've prepared the branch (https://github.com/reactive-streams/reactive-streams-jvm/tree/1.0.2) and there's a tag to cut the release from (https://github.com/reactive-streams/reactive-streams-jvm/tree/v1.0.2).

Please sanity check :)

@smaldini
Copy link
Contributor

LGTM

@ktoso
Copy link
Contributor

ktoso commented Dec 18, 2017

Please PR that branch so it ends up in master. LGTM.
I can release from that now already though

@ktoso
Copy link
Contributor

ktoso commented Dec 18, 2017

Confirmed changes are good, not touching any sources so it's the exact same as 1.0.2-RC2 and artifacts are staged here: https://oss.sonatype.org/content/repositories/orgreactivestreams-1035
If someone wants to check, though it's just the same as RC2 :)

Giving a bit of time, later clicking the button, looking all good.

@viktorklang
Copy link
Contributor Author

@ktoso Created this PR: #421

I'll dl the javadoc jars and host them on the website, then prep the 1.0.2 announce docs.

@ktoso
Copy link
Contributor

ktoso commented Dec 18, 2017

Artifacts have been released and are on their way to central: #421 (comment)

@viktorklang
Copy link
Contributor Author

@ktoso 👍 Preparing reactive-streams.org now

@viktorklang
Copy link
Contributor Author

@ktoso Please sanity check the website updates: reactive-streams/reactive-streams.github.io#30 :)

@viktorklang
Copy link
Contributor Author

@reactive-streams/contributors Please verify the 1.0.2 artifacts in your builds as soon as you can (and they are available on Maven Central).

@smaldini
Copy link
Contributor

Some build failing because www.reactive-streams.org/reactive-streams-1.0.2-javadoc is not yet online

@viktorklang
Copy link
Contributor Author

@smaldini Ok, merged the javadoc (website update), can you re-check?

@viktorklang
Copy link
Contributor Author

@reactive-streams/contributors Getting late here and my flu is getting worse.
Waiting with announcement until tomorrow (also gives more time for feedback/checks before announce)

@smaldini
Copy link
Contributor

@viktorklang
Copy link
Contributor Author

@smaldini Thanks, Stephane! Could it be that they were generated by Java 9?

@ktoso
Copy link
Contributor

ktoso commented Dec 19, 2017

Akka Streams all green with 1.0.2: akka/akka#24178

@ktoso
Copy link
Contributor

ktoso commented Dec 19, 2017

Docs look the same, once you click "frames" http://www.reactive-streams.org/reactive-streams-1.0.2-javadoc/index.html?org/reactivestreams/package-summary.html ;)
Seems some default has changed

@viktorklang
Copy link
Contributor Author

Alright, time to announce!

@viktorklang
Copy link
Contributor Author

Great work everyone!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants