Skip to content

Latest commit

 

History

History
141 lines (105 loc) · 6.94 KB

announce-1.0.2.md

File metadata and controls

141 lines (105 loc) · 6.94 KB

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

  • the Reactive Streams interfaces

    • org.reactivestreams:reactive-streams:1.0.2
  • the Reactive Streams interfaces

    • org.reactivestreams:reactive-streams-flow-adapters:1.0.2
  • the Reactive Streams TCK

    • org.reactivestreams:reactive-streams-tck:1.0.2
  • the Reactive Streams Flow TCK

    • org.reactivestreams:reactive-streams-tck-flow:1.0.2
  • Example implementations—documented & verified—to draw inspiration from

    • org.reactivestreams:reactive-streams-examples:1.0.2

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. 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

  • org.reactivestreams:reactive-streams => org.reactivestreams
  • org.reactivestreams:reactive-streams-examples => org.reactivestreams.examples
  • org.reactivestreams:reactive-streams-tck => org.reactivestreams.tck
  • org.reactivestreams:reactive-streams-flow-adapters => org.reactivestreams.flowadapters
  • org.reactivestreams:reactive-streams-tck-flow => org.reactivestreams.tckflow

TCK alterations 1.0.2

  • Added support for Publisher verification of Publishers who do coordinated emission, i.e. where elements only are emitted after all current Subscribers have signalled demand. (#284)
  • The SubscriberWhiteboxVerification has been given more user friendly error messages in the case where the user forgets to call registerOnSubscribe. (#416)[reactive-streams/reactive-streams-jvm#416]

Contributors

Warm regards, the Reactive Streams Special Interest Group