From 944163a4b2477a2bebaaada86b0ba910b6302f2f Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Wed, 18 May 2022 23:16:25 +0200 Subject: [PATCH] Preparing for releasing 1.0.4 Signed-off-by: Viktor Klang --- README.md | 12 +++++----- RELEASE-NOTES.md | 59 ++++++++++++++++++++++++++++++++++++++++++++++ build.gradle | 2 +- tck-flow/README.md | 2 +- tck/README.md | 2 +- 5 files changed, 68 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index b96b8b93..197b80a5 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.3 + 1.0.4 org.reactivestreams reactive-streams-tck - 1.0.3 + 1.0.4 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.3/api/src/main/java/org/reactivestreams/Publisher.java)) +#### 1. Publisher ([Code](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.4/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.3/api/src/main/java/org/reactivestreams/Subscriber.java)) +#### 2. Subscriber ([Code](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.4/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.3/api/src/main/java/org/reactivestreams/Subscription.java)) +#### 3. Subscription ([Code](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.4/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.3/api/src/main/java/org/reactivestreams/Processor.java)) +#### 4.Processor ([Code](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.4/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 e91255f9..028925a4 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -1,5 +1,64 @@ # Release notes for Reactive Streams +# Version 1.0.4 released on 2022-05-20 + +## Announcement: + +We—the Reactive Streams community—are pleased to announce the immediate availability of `Reactive Streams 1.0.4`. This update to `Reactive Streams` brings the following improvements over `1.0.3`. + +## Highlights: + +- License + + This project is now (re-)licensed under MIT No Attribution (SPDX: MIT-0) +- Specification + + No breaking/semantical changes + + Rule [clarifications](#specification-clarifications-104) +- Interfaces + + No changes +- Technology Compatibility Kit (TCK) + + Improved verification of Subscriber rule §2.3 + + Improved JavaDoc +- Examples + + No changes +- Artifacts + + No changes + +## Specification clarifications 1.0.4 + +## Subscriber Rule 7 + +**1.0.3:** The intent of this rule is to permit the calling of the request and cancel methods (including from multiple threads) if and only if a happens-before relation between each of the calls is established. + +**1.0.4:** The intent of this rule is to permit the calling of the request and cancel methods (including from multiple threads) if and only if a [serial](#term_serially) relation between each of the calls is established. + +## Contributors + + Roland Kuhn [(@rkuhn)](https://github.com/rkuhn) + + Ben Christensen [(@benjchristensen)](https://github.com/benjchristensen) + + Viktor Klang [(@viktorklang)](https://github.com/viktorklang) + + Stephane Maldini [(@smaldini)](https://github.com/smaldini) + + Stanislav Savulchik [(@savulchik)](https://github.com/savulchik) + + Konrad Malawski [(@ktoso)](https://github.com/ktoso) + + Slim Ouertani [(@ouertani)](https://github.com/ouertani) + + Martynas Mickevičius [(@2m)](https://github.com/2m) + + Luke Daley [(@ldaley)](https://github.com/ldaley) + + Colin Godsey [(@colinrgodsey)](https://github.com/colinrgodsey) + + David Moten [(@davidmoten)](https://github.com/davidmoten) + + Brian Topping [(@briantopping)](https://github.com/briantopping) + + Rossen Stoyanchev [(@rstoyanchev)](https://github.com/rstoyanchev) + + Björn Hamels [(@BjornHamels)](https://github.com/BjornHamels) + + Jake Wharton [(@JakeWharton)](https://github.com/JakeWharton) + + Anthony Vanelverdinghe[(@anthonyvdotbe)](https://github.com/anthonyvdotbe) + + Kazuhiro Sera [(@seratch)](https://github.com/seratch) + + Dávid Karnok [(@akarnokd)](https://github.com/akarnokd) + + Evgeniy Getman [(@egetman)](https://github.com/egetman) + + Ángel Sanz [(@angelsanz)](https://github.com/angelsanz) + + shenghaiyang [(@shenghaiyang)](https://github.com/shenghaiyang) + + Kyle Thomson [(@kiiadi)](https://github.com/kiiadi) + + Tomislav Hofman [(@tomislavhofman)](https://github.com/tomislavhofman) + + Sean Sullivan [(@sullis)](https://github.com/sullis) + +--- + # Version 1.0.3 released on 2019-08-23 ## Announcement: diff --git a/build.gradle b/build.gradle index c2196084..5930f1b5 100644 --- a/build.gradle +++ b/build.gradle @@ -16,7 +16,7 @@ subprojects { apply plugin: 'biz.aQute.bnd.builder' group = "org.reactivestreams" - version = "1.0.3" + version = "1.0.4" sourceCompatibility = 1.6 targetCompatibility = 1.6 diff --git a/tck-flow/README.md b/tck-flow/README.md index a007541d..c00fdbdf 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.3 + 1.0.4 test ``` diff --git a/tck/README.md b/tck/README.md index 93dfe620..f96b495c 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.3 + 1.0.4 test ```