Skip to content

Commit ebb3752

Browse files
committed
Preparations for 1.0.2-RC1—incl. release notes.
1 parent 43da5a9 commit ebb3752

File tree

6 files changed

+118
-17
lines changed

6 files changed

+118
-17
lines changed

Diff for: README.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ The latest release is available on Maven Central as
88
<dependency>
99
<groupId>org.reactivestreams</groupId>
1010
<artifactId>reactive-streams</artifactId>
11-
<version>1.0.1</version>
11+
<version>1.0.2-RC1</version>
1212
</dependency>
1313
<dependency>
1414
<groupId>org.reactivestreams</groupId>
1515
<artifactId>reactive-streams-tck</artifactId>
16-
<version>1.0.1</version>
16+
<version>1.0.2-RC1</version>
1717
<scope>test</scope>
1818
</dependency>
1919
```
@@ -84,7 +84,7 @@ followed by a possibly unbounded number of `onNext` signals (as requested by `Su
8484

8585
### SPECIFICATION
8686

87-
#### 1. Publisher ([Code](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.1/api/src/main/java/org/reactivestreams/Publisher.java))
87+
#### 1. Publisher ([Code](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.2-RC1/api/src/main/java/org/reactivestreams/Publisher.java))
8888

8989
```java
9090
public interface Publisher<T> {
@@ -117,7 +117,7 @@ public interface Publisher<T> {
117117
| <a name="1.11">11</a> | A `Publisher` MAY support multiple `Subscriber`s and decides whether each `Subscription` is unicast or multicast. |
118118
| [: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.* |
119119

120-
#### 2. Subscriber ([Code](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.1/api/src/main/java/org/reactivestreams/Subscriber.java))
120+
#### 2. Subscriber ([Code](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.2-RC1/api/src/main/java/org/reactivestreams/Subscriber.java))
121121

122122
```java
123123
public interface Subscriber<T> {
@@ -157,7 +157,7 @@ public interface Subscriber<T> {
157157
| <a name="2.13">13</a> | 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. |
158158
| [: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.* |
159159

160-
#### 3. Subscription ([Code](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.1/api/src/main/java/org/reactivestreams/Subscription.java))
160+
#### 3. Subscription ([Code](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.2-RC1/api/src/main/java/org/reactivestreams/Subscription.java))
161161

162162
```java
163163
public interface Subscription {
@@ -205,7 +205,7 @@ public interface Subscription {
205205

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

208-
#### 4.Processor ([Code](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.1/api/src/main/java/org/reactivestreams/Processor.java))
208+
#### 4.Processor ([Code](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.2-RC1/api/src/main/java/org/reactivestreams/Processor.java))
209209

210210
```java
211211
public interface Processor<T, R> extends Subscriber<T>, Publisher<R> {

Diff for: RELEASE-NOTES.md

+106-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,107 @@
11
# Release notes for Reactive Streams
22

3+
---
4+
5+
# Version 1.0.2-RC1 released on 2017-12-01
6+
7+
## Announcement:
8+
9+
This update to `Reactive Streams` brings the following improvements over `1.0.1`.
10+
11+
## Highlights:
12+
13+
- Specification
14+
+ Glossary term added for `Thread-safe`
15+
+ No breaking/semantical changes
16+
+ Rule [clarifications](#specification-clarifications-102-rc1)
17+
- Interfaces
18+
+ No changes
19+
- Technology Compatibility Kit (TCK)
20+
+ Improved [coverage](#tck-alterations-102-rc1)
21+
* 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--).
22+
+ Improved JavaDoc
23+
- Examples
24+
+ New example [RangePublisher](http://www.reactive-streams.org/reactive-streams-examples-1.0.2-RC1-javadoc/org/reactivestreams/example/unicast/RangePublisher.html)
25+
- Artifacts
26+
+ NEW! [Flow adapters](#flow-adapters)
27+
+ NEW! [Flow TCK](#flow-tck)
28+
+ Java 9 [Automatic-Module-Name](#automatic-module-name) added for all artifacts
29+
30+
## Specification clarifications 1.0.2-RC1
31+
32+
## Subscriber Rule 2
33+
34+
**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.
35+
36+
**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.
37+
38+
## Subscriber Rule 8
39+
40+
**1.0.1:** The intent of this rule is to highlight that there may be a delay between calling `cancel` the Publisher seeing that.
41+
42+
**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.
43+
44+
## Flow adapters
45+
46+
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)
47+
48+
~~~xml
49+
<dependency>
50+
<groupId>org.reactivestreams</groupId>
51+
<artifactId>reactive-streams-flow-adapters</artifactId>
52+
<version>1.0.2-RC1</version>
53+
</dependency>
54+
~~~
55+
56+
## Flow TCK
57+
58+
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)
59+
60+
~~~xml
61+
<dependency>
62+
<groupId>org.reactivestreams</groupId>
63+
<artifactId>reactive-streams-tck-flow</artifactId>
64+
<version>1.0.2-RC1</version>
65+
</dependency>
66+
~~~
67+
68+
## Automatic Module Name
69+
70+
* `org.reactivestreams:reactive-streams` => `org.reactivestreams`
71+
* `org.reactivestreams:reactive-streams-examples` => `org.reactivestreams.examples`
72+
* `org.reactivestreams:reactive-streams-tck` => `org.reactivestreams.tck`
73+
* `org.reactivestreams:reactive-streams-flow-adapters` => `org.reactivestreams.flowadapters`
74+
* `org.reactivestreams:reactive-streams-tck-flow` => `org.reactivestreams.tckflow`
75+
76+
## TCK alterations 1.0.2-RC1
77+
78+
- 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))
79+
80+
## Contributors
81+
+ Roland Kuhn [(@rkuhn)](https://github.com/rkuhn)
82+
+ Ben Christensen [(@benjchristensen)](https://github.com/benjchristensen)
83+
+ Viktor Klang [(@viktorklang)](https://github.com/viktorklang)
84+
+ Stephane Maldini [(@smaldini)](https://github.com/smaldini)
85+
+ Stanislav Savulchik [(@savulchik)](https://github.com/savulchik)
86+
+ Konrad Malawski [(@ktoso)](https://github.com/ktoso)
87+
+ Slim Ouertani [(@ouertani)](https://github.com/ouertani)
88+
+ Martynas Mickevičius [(@2m)](https://github.com/2m)
89+
+ Luke Daley [(@ldaley)](https://github.com/ldaley)
90+
+ Colin Godsey [(@colinrgodsey)](https://github.com/colinrgodsey)
91+
+ David Moten [(@davidmoten)](https://github.com/davidmoten)
92+
+ Brian Topping [(@briantopping)](https://github.com/briantopping)
93+
+ Rossen Stoyanchev [(@rstoyanchev)](https://github.com/rstoyanchev)
94+
+ Björn Hamels [(@BjornHamels)](https://github.com/BjornHamels)
95+
+ Jake Wharton [(@JakeWharton)](https://github.com/JakeWharton)
96+
+ Anthony Vanelverdinghe[(@anthonyvdotbe)](https://github.com/anthonyvdotbe)
97+
+ Kazuhiro Sera [(@seratch)](https://github.com/seratch)
98+
+ Dávid Karnok [(@akarnokd)](https://github.com/akarnokd)
99+
+ Evgeniy Getman [(@egetman)](https://github.com/egetman)
100+
+ Ángel Sanz [(@angelsanz)](https://github.com/angelsanz)
101+
+ (new) shenghaiyang [(@shenghaiyang)](https://github.com/shenghaiyang)
102+
+ (new) Kyle Thomson [(@kiiadi)](https://github.com/kiiadi)
103+
104+
3105
---
4106

5107
# Version 1.0.1 released on 2017-08-09
@@ -20,16 +122,16 @@ When JDK9 ships, `Reactive Streams` will publish a compatibility/conversion libr
20122
+ A new [Glossary](https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.1/README.md#glossary) section
21123
+ Description of the intent behind every single rule
22124
+ No breaking semantical changes
23-
+ Multiple rule [clarifications](#specification-clarifications)
125+
+ Multiple rule [clarifications](#specification-clarifications-1.0.1)
24126
- Interfaces
25127
+ No changes
26128
+ Improved JavaDoc
27129
- Technology Compatibility Kit (TCK)
28130
+ Improved coverage
29131
+ Improved JavaDoc
30-
+ Multiple test [alterations](#tck-alterations)
132+
+ Multiple test [alterations](#tck-alterations-1.0.1)
31133

32-
## Specification clarifications
134+
## Specification clarifications 1.0.1
33135

34136
## Publisher Rule 1
35137

@@ -145,7 +247,7 @@ When JDK9 ships, `Reactive Streams` will publish a compatibility/conversion libr
145247

146248
---
147249

148-
## TCK alterations
250+
## TCK alterations 1.0.1
149251

150252
- Fixed potential resource leaks in partially consuming Publisher tests ([#375](https://github.com/reactive-streams/reactive-streams-jvm/issues/375))
151253
- Fixed potential resource leaks in partially emitting Subscriber tests ([#372](https://github.com/reactive-streams/reactive-streams-jvm/issues/372), [#373](https://github.com/reactive-streams/reactive-streams-jvm/issues/373))

Diff for: build.gradle

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ subprojects {
33
apply plugin: "osgi"
44

55
group = "org.reactivestreams"
6-
version = "1.0.1"
6+
version = "1.0.2-RC1"
77

88
sourceCompatibility = 1.6
99
targetCompatibility = 1.6
@@ -42,12 +42,12 @@ subprojects {
4242
instructionReplace "Bundle-Vendor", "Reactive Streams SIG"
4343
instructionReplace "Bundle-Description", "Reactive Streams API"
4444
instructionReplace "Bundle-DocURL", "http://reactive-streams.org"
45-
instructionReplace "Bundle-Version", "1.0.1"
45+
instructionReplace "Bundle-Version", "1.0.2-RC1"
4646
}
4747
}
4848

49-
if (name in ["reactive-streams",
50-
"reactive-streams-tck",
49+
if (name in ["reactive-streams",
50+
"reactive-streams-tck",
5151
"reactive-streams-tck-flow",
5252
"reactive-streams-examples",
5353
"reactive-streams-flow-adapters"]) {

Diff for: tck-flow/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ The TCK is provided as binary artifact on [Maven Central](http://search.maven.or
2727
<dependency>
2828
<groupId>org.reactivestreams</groupId>
2929
<artifactId>reactive-streams-tck-flow</artifactId>
30-
<version>1.0.1</version>
30+
<version>1.0.2-RC1</version>
3131
<scope>test</scope>
3232
</dependency>
3333
```

Diff for: tck/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ The TCK is provided as binary artifact on [Maven Central](http://search.maven.or
2727
<dependency>
2828
<groupId>org.reactivestreams</groupId>
2929
<artifactId>reactive-streams-tck</artifactId>
30-
<version>1.0.1</version>
30+
<version>1.0.2-RC1</version>
3131
<scope>test</scope>
3232
</dependency>
3333
```

Diff for: tck/src/test/resources/testng.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,5 @@ tests:
66
classes:
77
- org.reactivestreams.tck.IdentityProcessorVerificationDelegationTest
88
- org.reactivestreams.tck.PublisherVerificationTest
9-
- org.reactivestreams.tck.BokenExampleTest
109
- org.reactivestreams.tck.SubscriberBlackboxVerificationTest
1110
- org.reactivestreams.tck.SubscriberWhiteboxVerificationTest

0 commit comments

Comments
 (0)