Reactive Streams 1.0.2 is here!

We—the Reactive Streams Special Interest Group—are happy to announce the immediate availability of Reactive Streams version 1.0.2.

When we released 1.0.1, we promised that after JDK9 had shipped, we’d release a compatibility/conversion library to seamlessly convert between the java.util.concurrent.Flow and the org.reactivestreams namespaces.

Not only have we done that in this release—we have also shipped a TCK for implementations of the java.util.concurrent.Flow interfaces, so that they now can be verified without having to manually adapt/convert to the org.reactivestreams interfaces.

As usual, 1.0.2 is binary, and semantically, compatible with the previous 1.0.x releases of Reactive Streams.

The artifacts, documentation and specifications are released under Creative Commons Zero into the Public Domain.

Documentation

Artifacts

Credits

We’d like to thank everyone involved, all contributors and everyone who has given feedback during the development of this project.

Highlights:

Specification clarifications 1.0.2

Subscriber Rule 2

1.0.1: The intent of this rule is that a Subscriber should not obstruct the progress of the Publisher from an execution point-of-view. In other words, the Subscriber should not starve the Publisher from CPU cycles.

1.0.2: The intent of this rule is that a Subscriber should not obstruct the progress of the Publisher from an execution point-of-view. In other words, the Subscriber should not starve the Publisher from receiving CPU cycles.

Subscriber Rule 8

1.0.1: The intent of this rule is to highlight that there may be a delay between calling cancel the Publisher seeing that.

1.0.2 The intent of this rule is to highlight that there may be a delay between calling cancel and the Publisher observing that cancellation.

Flow adapters

An adapter library has been created to convert org.reactivestreams to java.util.concurrent.Flow and vice versa. Read more about it here.

<dependency>
   <groupId>org.reactivestreams</groupId>
   <artifactId>reactive-streams-flow-adapters</artifactId>
  <version>1.0.2</version>
</dependency>

Flow TCK

A TCK artifact has been created to allow for direct TCK verification of java.util.concurrent.Flow implementations, and you can read more about it here.

<dependency>
   <groupId>org.reactivestreams</groupId>
   <artifactId>reactive-streams-tck-flow</artifactId>
  <version>1.0.2</version>
</dependency>

Automatic Module Name

TCK alterations 1.0.2

Contributors

Warm regards, the Reactive Streams Special Interest Group