diff --git a/README.md b/README.md index faef51c9..6bcb3d9b 100644 --- a/README.md +++ b/README.md @@ -8,12 +8,12 @@ The latest release is available on Maven Central as org.reactivestreams reactive-streams - 1.0.2-RC2 + 1.0.2 org.reactivestreams reactive-streams-tck - 1.0.2-RC2 + 1.0.2 test ``` @@ -84,7 +84,7 @@ followed by a possibly unbounded number of `onNext` signals (as requested by `Su ### SPECIFICATION -#### 1. Publisher ([Code](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.2-RC2/api/src/main/java/org/reactivestreams/Publisher.java)) +#### 1. Publisher ([Code](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.2/api/src/main/java/org/reactivestreams/Publisher.java)) ```java public interface Publisher { @@ -117,7 +117,7 @@ public interface Publisher { | 11 | A `Publisher` MAY support multiple `Subscriber`s and decides whether each `Subscription` is unicast or multicast. | | [:bulb:](#1.11 "1.11 explained") | *The intent of this rule is to give Publisher implementations the flexibility to decide how many, if any, Subscribers they will support, and how elements are going to be distributed.* | -#### 2. Subscriber ([Code](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.2-RC2/api/src/main/java/org/reactivestreams/Subscriber.java)) +#### 2. Subscriber ([Code](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.2/api/src/main/java/org/reactivestreams/Subscriber.java)) ```java public interface Subscriber { @@ -157,7 +157,7 @@ public interface Subscriber { | 13 | Calling `onSubscribe`, `onNext`, `onError` or `onComplete` MUST [return normally](#term_return_normally) except when any provided parameter is `null` in which case it MUST throw a `java.lang.NullPointerException` to the caller, for all other situations the only legal way for a `Subscriber` to signal failure is by cancelling its `Subscription`. In the case that this rule is violated, any associated `Subscription` to the `Subscriber` MUST be considered as cancelled, and the caller MUST raise this error condition in a fashion that is adequate for the runtime environment. | | [:bulb:](#2.13 "2.13 explained") | *The intent of this rule is to establish the semantics for the methods of Subscriber and what the Publisher is allowed to do in which case this rule is violated. «Raise this error condition in a fashion that is adequate for the runtime environment» could mean logging the error—or otherwise make someone or something aware of the situation—as the error cannot be signalled to the faulty Subscriber.* | -#### 3. Subscription ([Code](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.2-RC2/api/src/main/java/org/reactivestreams/Subscription.java)) +#### 3. Subscription ([Code](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.2/api/src/main/java/org/reactivestreams/Subscription.java)) ```java public interface Subscription { @@ -205,7 +205,7 @@ public interface Subscription { A `Subscription` is shared by exactly one `Publisher` and one `Subscriber` for the purpose of mediating the data exchange between this pair. This is the reason why the `subscribe()` method does not return the created `Subscription`, but instead returns `void`; the `Subscription` is only passed to the `Subscriber` via the `onSubscribe` callback. -#### 4.Processor ([Code](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.2-RC2/api/src/main/java/org/reactivestreams/Processor.java)) +#### 4.Processor ([Code](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.2/api/src/main/java/org/reactivestreams/Processor.java)) ```java public interface Processor extends Subscriber, Publisher { diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 840171f2..f49bb972 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -2,72 +2,66 @@ --- -# Version 1.0.2-RC2 released on 2017-12-07 - -- Addresses [some oversights](https://github.com/reactive-streams/reactive-streams-jvm/pull/419) in the Flow-TCK for Flow.Processor - -For more information on the 1.0.2 version, see below. - -# Version 1.0.2-RC1 released on 2017-12-05 +# Version 1.0.2 released on 2017-12-19 ## Announcement: -We—the Reactive Streams community—are pleased to announce the immediate availability of `Reactive Streams 1.0.2-RC1`. This update to `Reactive Streams` brings the following improvements over `1.0.1`. +We—the Reactive Streams community—are pleased to announce the immediate availability of `Reactive Streams 1.0.2`. This update to `Reactive Streams` brings the following improvements over `1.0.1`. ## Highlights: - Specification + Glossary term added for `Thread-safe` + No breaking/semantical changes - + Rule [clarifications](#specification-clarifications-102-rc1) + + Rule [clarifications](#specification-clarifications-102) - Interfaces + No changes - Technology Compatibility Kit (TCK) - + Improved [coverage](#tck-alterations-102-rc1) - * Supports Publishers/Processors which do [coordinated emission](http://www.reactive-streams.org/reactive-streams-tck-1.0.2-RC1-javadoc/org/reactivestreams/tck/PublisherVerification.html#doesCoordinatedEmission--). + + Improved [coverage](#tck-alterations-102) + * Supports Publishers/Processors which do [coordinated emission](http://www.reactive-streams.org/reactive-streams-tck-1.0.2-javadoc/org/reactivestreams/tck/PublisherVerification.html#doesCoordinatedEmission--). + Improved JavaDoc - Examples - + New example [RangePublisher](http://www.reactive-streams.org/reactive-streams-examples-1.0.2-RC1-javadoc/org/reactivestreams/example/unicast/RangePublisher.html) + + New example [RangePublisher](http://www.reactive-streams.org/reactive-streams-examples-1.0.2-javadoc/org/reactivestreams/example/unicast/RangePublisher.html) - Artifacts + NEW! [Flow adapters](#flow-adapters) + NEW! [Flow TCK](#flow-tck) + Java 9 [Automatic-Module-Name](#automatic-module-name) added for all artifacts -## Specification clarifications 1.0.2-RC1 +## 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-RC1:** 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. +**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-RC1** The intent of this rule is to highlight that there may be a delay between calling `cancel` and the Publisher observing that cancellation. +**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](http://www.reactive-streams.org/reactive-streams-flow-adapters-1.0.2-RC1-javadoc) +An adapter library has been created to convert `org.reactivestreams` to `java.util.concurrent.Flow` and vice versa. Read more about it [here](http://www.reactive-streams.org/reactive-streams-flow-adapters-1.0.2-javadoc) ~~~xml org.reactivestreams reactive-streams-flow-adapters - 1.0.2-RC1 + 1.0.2 ~~~ ## 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](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.2-RC1/tck-flow/README.md) +A TCK artifact has been created to allow for direct TCK verification of `java.util.concurrent.Flow` implementations. Read more about it [here](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.2/tck-flow/README.md) ~~~xml org.reactivestreams reactive-streams-tck-flow - 1.0.2-RC1 + 1.0.2 ~~~ @@ -79,7 +73,7 @@ A TCK artifact has been created to allow for direct TCK verification of `java.ut * `org.reactivestreams:reactive-streams-flow-adapters` => `org.reactivestreams.flowadapters` * `org.reactivestreams:reactive-streams-tck-flow` => `org.reactivestreams.tckflow` -## TCK alterations 1.0.2-RC1 +## 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](https://github.com/reactive-streams/reactive-streams-jvm/issues/284)) - The `SubscriberWhiteboxVerification` has been given more user friendly error messages in the case where the user forgets to call `registerOnSubscribe`. (#416)[https://github.com/reactive-streams/reactive-streams-jvm/pull/416] diff --git a/build.gradle b/build.gradle index 6f562383..9677b7ec 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ subprojects { apply plugin: "osgi" group = "org.reactivestreams" - version = "1.0.2-RC2" + version = "1.0.2" sourceCompatibility = 1.6 targetCompatibility = 1.6 @@ -42,7 +42,7 @@ subprojects { instructionReplace "Bundle-Vendor", "Reactive Streams SIG" instructionReplace "Bundle-Description", "Reactive Streams API" instructionReplace "Bundle-DocURL", "http://reactive-streams.org" - instructionReplace "Bundle-Version", "1.0.2-RC2" + instructionReplace "Bundle-Version", "1.0.2" } } diff --git a/tck-flow/README.md b/tck-flow/README.md index e449f95f..9f0b2cc9 100644 --- a/tck-flow/README.md +++ b/tck-flow/README.md @@ -27,7 +27,7 @@ The TCK is provided as binary artifact on [Maven Central](http://search.maven.or org.reactivestreams reactive-streams-tck-flow - 1.0.2-RC2 + 1.0.2 test ``` diff --git a/tck/README.md b/tck/README.md index 8c4a318c..9cd8ccec 100644 --- a/tck/README.md +++ b/tck/README.md @@ -27,7 +27,7 @@ The TCK is provided as binary artifact on [Maven Central](http://search.maven.or org.reactivestreams reactive-streams-tck - 1.0.2-RC2 + 1.0.2 test ```