diff --git a/src/main/java/io/reactivex/Completable.java b/src/main/java/io/reactivex/Completable.java
index da406d9003..113be3b25f 100644
--- a/src/main/java/io/reactivex/Completable.java
+++ b/src/main/java/io/reactivex/Completable.java
@@ -1412,15 +1412,15 @@ public final Completable delay(final long delay, final TimeUnit unit, final Sche
*
Scheduler:
* This version of {@code delaySubscription} operates by default on the {@code computation} {@link Scheduler}.
*
+ * History: 2.2.3 - experimental
*
* @param delay the time to delay the subscription
* @param unit the time unit of {@code delay}
* @return a Completable that delays the subscription to the source CompletableSource by the given amount
- * @since 2.2.3 - experimental
+ * @since 3.0.0
* @see ReactiveX operators documentation: Delay
*/
@CheckReturnValue
- @Experimental
@SchedulerSupport(SchedulerSupport.COMPUTATION)
public final Completable delaySubscription(long delay, TimeUnit unit) {
return delaySubscription(delay, unit, Schedulers.computation());
@@ -1435,17 +1435,16 @@ public final Completable delaySubscription(long delay, TimeUnit unit) {
*
Scheduler:
* You specify which {@link Scheduler} this operator will use.
*
- *
+ * History: 2.2.3 - experimental
* @param delay the time to delay the subscription
* @param unit the time unit of {@code delay}
* @param scheduler the Scheduler on which the waiting and subscription will happen
* @return a Completable that delays the subscription to the source CompletableSource by a given
* amount, waiting and subscribing on the given Scheduler
- * @since 2.2.3 - experimental
+ * @since 3.0.0
* @see ReactiveX operators documentation: Delay
*/
@CheckReturnValue
- @Experimental
@SchedulerSupport(SchedulerSupport.CUSTOM)
public final Completable delaySubscription(long delay, TimeUnit unit, Scheduler scheduler) {
return Completable.timer(delay, unit, scheduler).andThen(this);
@@ -1809,12 +1808,12 @@ public final Completable lift(final CompletableOperator onLift) {
*
Scheduler:
* {@code materialize} does not operate by default on a particular {@link Scheduler}.
*
+ * History: 2.2.4 - experimental
* @param the intended target element type of the notification
* @return the new Single instance
- * @since 2.2.4 - experimental
+ * @since 3.0.0
* @see Single#dematerialize(Function)
*/
- @Experimental
@CheckReturnValue
@SchedulerSupport(SchedulerSupport.NONE)
public final Single> materialize() {
diff --git a/src/main/java/io/reactivex/Flowable.java b/src/main/java/io/reactivex/Flowable.java
index 1445198ccc..d46ab2f795 100644
--- a/src/main/java/io/reactivex/Flowable.java
+++ b/src/main/java/io/reactivex/Flowable.java
@@ -8825,6 +8825,7 @@ public final Flowable dematerialize() {
* Scheduler:
* {@code dematerialize} does not operate by default on a particular {@link Scheduler}.
*
+ * History: 2.2.4 - experimental
*
* @param the output value type
* @param selector function that returns the upstream item and should return a Notification to signal
@@ -8832,9 +8833,8 @@ public final Flowable dematerialize() {
* @return a Flowable that emits the items and notifications embedded in the {@link Notification} objects
* selected from the items emitted by the source Flowable
* @see ReactiveX operators documentation: Dematerialize
- * @since 2.2.4 - experimental
+ * @since 3.0.0
*/
- @Experimental
@CheckReturnValue
@NonNull
@SchedulerSupport(SchedulerSupport.NONE)
diff --git a/src/main/java/io/reactivex/Maybe.java b/src/main/java/io/reactivex/Maybe.java
index 3f64c8444d..c3665995c4 100644
--- a/src/main/java/io/reactivex/Maybe.java
+++ b/src/main/java/io/reactivex/Maybe.java
@@ -2936,13 +2936,13 @@ public final Maybe doOnSubscribe(Consumer super Disposable> onSubscribe) {
* Scheduler:
* {@code doOnTerminate} does not operate by default on a particular {@link Scheduler}.
*
+ * History: 2.2.7 - experimental
* @param onTerminate the action to invoke when the consumer calls {@code onComplete} or {@code onError}
* @return the new Maybe instance
* @see ReactiveX operators documentation: Do
* @see #doOnTerminate(Action)
- * @since 2.2.7 - experimental
+ * @since 3.0.0
*/
- @Experimental
@CheckReturnValue
@NonNull
@SchedulerSupport(SchedulerSupport.NONE)
@@ -3521,11 +3521,11 @@ public final Maybe map(Function super T, ? extends R> mapper) {
* Scheduler:
* {@code materialize} does not operate by default on a particular {@link Scheduler}.
*
+ * History: 2.2.4 - experimental
* @return the new Single instance
- * @since 2.2.4 - experimental
+ * @since 3.0.0
* @see Single#dematerialize(Function)
*/
- @Experimental
@CheckReturnValue
@SchedulerSupport(SchedulerSupport.NONE)
public final Single> materialize() {
diff --git a/src/main/java/io/reactivex/Observable.java b/src/main/java/io/reactivex/Observable.java
index 656e82369f..1ec4766fc1 100644
--- a/src/main/java/io/reactivex/Observable.java
+++ b/src/main/java/io/reactivex/Observable.java
@@ -7778,6 +7778,7 @@ public final Observable dematerialize() {
* Scheduler:
* {@code dematerialize} does not operate by default on a particular {@link Scheduler}.
*
+ * History: 2.2.4 - experimental
*
* @param the output value type
* @param selector function that returns the upstream item and should return a Notification to signal
@@ -7785,9 +7786,8 @@ public final Observable dematerialize() {
* @return an Observable that emits the items and notifications embedded in the {@link Notification} objects
* selected from the items emitted by the source ObservableSource
* @see ReactiveX operators documentation: Dematerialize
- * @since 2.2.4 - experimental
+ * @since 3.0.0
*/
- @Experimental
@CheckReturnValue
@SchedulerSupport(SchedulerSupport.NONE)
public final Observable dematerialize(Function super T, Notification> selector) {
diff --git a/src/main/java/io/reactivex/Single.java b/src/main/java/io/reactivex/Single.java
index 4302726f24..a05ffb4567 100644
--- a/src/main/java/io/reactivex/Single.java
+++ b/src/main/java/io/reactivex/Single.java
@@ -2402,17 +2402,17 @@ public final Single delaySubscription(long time, TimeUnit unit, Scheduler sch
* .test()
* .assertResult(1);
*
+ * History: 2.2.4 - experimental
* @param the result type
* @param selector the function called with the success item and should
* return a {@link Notification} instance.
* @return the new Maybe instance
- * @since 2.2.4 - experimental
+ * @since 3.0.0
* @see #materialize()
*/
@CheckReturnValue
@NonNull
@SchedulerSupport(SchedulerSupport.NONE)
- @Experimental
public final Maybe dematerialize(Function super T, Notification> selector) {
ObjectHelper.requireNonNull(selector, "selector is null");
return RxJavaPlugins.onAssembly(new SingleDematerialize(this, selector));
@@ -2532,13 +2532,13 @@ public final Single doOnSubscribe(final Consumer super Disposable> onSubscr
* Scheduler:
* {@code doOnTerminate} does not operate by default on a particular {@link Scheduler}.
*
+ * History: 2.2.7 - experimental
* @param onTerminate the action to invoke when the consumer calls {@code onComplete} or {@code onError}
* @return the new Single instance
* @see ReactiveX operators documentation: Do
* @see #doOnTerminate(Action)
- * @since 2.2.7 - experimental
+ * @since 3.0.0
*/
- @Experimental
@CheckReturnValue
@NonNull
@SchedulerSupport(SchedulerSupport.NONE)
@@ -3042,11 +3042,11 @@ public final Single map(Function super T, ? extends R> mapper) {
* Scheduler:
* {@code materialize} does not operate by default on a particular {@link Scheduler}.
*
+ * History: 2.2.4 - experimental
* @return the new Single instance
- * @since 2.2.4 - experimental
+ * @since 3.0.0
* @see #dematerialize(Function)
*/
- @Experimental
@CheckReturnValue
@SchedulerSupport(SchedulerSupport.NONE)
public final Single> materialize() {
diff --git a/src/main/java/io/reactivex/internal/operators/completable/CompletableMaterialize.java b/src/main/java/io/reactivex/internal/operators/completable/CompletableMaterialize.java
index 5eda7f6ae2..dfafdec310 100644
--- a/src/main/java/io/reactivex/internal/operators/completable/CompletableMaterialize.java
+++ b/src/main/java/io/reactivex/internal/operators/completable/CompletableMaterialize.java
@@ -14,17 +14,16 @@
package io.reactivex.internal.operators.completable;
import io.reactivex.*;
-import io.reactivex.annotations.Experimental;
import io.reactivex.internal.operators.mixed.MaterializeSingleObserver;
/**
* Turn the signal types of a Completable source into a single Notification of
* equal kind.
+ * History: 2.2.4 - experimental
*
* @param the element type of the source
- * @since 2.2.4 - experimental
+ * @since 3.0.0
*/
-@Experimental
public final class CompletableMaterialize extends Single> {
final Completable source;
diff --git a/src/main/java/io/reactivex/internal/operators/maybe/MaybeMaterialize.java b/src/main/java/io/reactivex/internal/operators/maybe/MaybeMaterialize.java
index 2b74829ba1..9d3756f01b 100644
--- a/src/main/java/io/reactivex/internal/operators/maybe/MaybeMaterialize.java
+++ b/src/main/java/io/reactivex/internal/operators/maybe/MaybeMaterialize.java
@@ -14,17 +14,16 @@
package io.reactivex.internal.operators.maybe;
import io.reactivex.*;
-import io.reactivex.annotations.Experimental;
import io.reactivex.internal.operators.mixed.MaterializeSingleObserver;
/**
* Turn the signal types of a Maybe source into a single Notification of
* equal kind.
+ * History: 2.2.4 - experimental
*
* @param the element type of the source
- * @since 2.2.4 - experimental
+ * @since 3.0.0
*/
-@Experimental
public final class MaybeMaterialize extends Single> {
final Maybe source;
diff --git a/src/main/java/io/reactivex/internal/operators/mixed/MaterializeSingleObserver.java b/src/main/java/io/reactivex/internal/operators/mixed/MaterializeSingleObserver.java
index ef8a87076d..ea9e2a1344 100644
--- a/src/main/java/io/reactivex/internal/operators/mixed/MaterializeSingleObserver.java
+++ b/src/main/java/io/reactivex/internal/operators/mixed/MaterializeSingleObserver.java
@@ -14,17 +14,16 @@
package io.reactivex.internal.operators.mixed;
import io.reactivex.*;
-import io.reactivex.annotations.Experimental;
import io.reactivex.disposables.Disposable;
import io.reactivex.internal.disposables.DisposableHelper;
/**
* A consumer that implements the consumer types of Maybe, Single and Completable
* and turns their signals into Notifications for a SingleObserver.
+ * History: 2.2.4 - experimental
* @param the element type of the source
- * @since 2.2.4 - experimental
+ * @since 3.0.0
*/
-@Experimental
public final class MaterializeSingleObserver
implements SingleObserver, MaybeObserver, CompletableObserver, Disposable {
diff --git a/src/main/java/io/reactivex/internal/operators/single/SingleDematerialize.java b/src/main/java/io/reactivex/internal/operators/single/SingleDematerialize.java
index 2e402b05da..08ec011e10 100644
--- a/src/main/java/io/reactivex/internal/operators/single/SingleDematerialize.java
+++ b/src/main/java/io/reactivex/internal/operators/single/SingleDematerialize.java
@@ -14,7 +14,6 @@
package io.reactivex.internal.operators.single;
import io.reactivex.*;
-import io.reactivex.annotations.Experimental;
import io.reactivex.disposables.Disposable;
import io.reactivex.exceptions.Exceptions;
import io.reactivex.functions.Function;
@@ -24,11 +23,11 @@
/**
* Maps the success value of the source to a Notification, then
* maps it back to the corresponding signal type.
+ * History: 2.2.4 - experimental
* @param the element type of the source
* @param the element type of the Notification and result
- * @since 2.2.4 - experimental
+ * @since 3.0.0
*/
-@Experimental
public final class SingleDematerialize extends Maybe {
final Single source;
diff --git a/src/main/java/io/reactivex/internal/operators/single/SingleMaterialize.java b/src/main/java/io/reactivex/internal/operators/single/SingleMaterialize.java
index e22b64865d..bfc149b2ff 100644
--- a/src/main/java/io/reactivex/internal/operators/single/SingleMaterialize.java
+++ b/src/main/java/io/reactivex/internal/operators/single/SingleMaterialize.java
@@ -14,17 +14,16 @@
package io.reactivex.internal.operators.single;
import io.reactivex.*;
-import io.reactivex.annotations.Experimental;
import io.reactivex.internal.operators.mixed.MaterializeSingleObserver;
/**
* Turn the signal types of a Single source into a single Notification of
* equal kind.
+ * History: 2.2.4 - experimental
*
* @param the element type of the source
- * @since 2.2.4 - experimental
+ * @since 3.0.0
*/
-@Experimental
public final class SingleMaterialize extends Single> {
final Single source;
diff --git a/src/main/java/io/reactivex/schedulers/Schedulers.java b/src/main/java/io/reactivex/schedulers/Schedulers.java
index c9e6c42d11..c4d7c6035a 100644
--- a/src/main/java/io/reactivex/schedulers/Schedulers.java
+++ b/src/main/java/io/reactivex/schedulers/Schedulers.java
@@ -394,6 +394,7 @@ public static Scheduler from(@NonNull Executor executor) {
* execute those tasks "unexpectedly".
*
* Note that this method returns a new {@link Scheduler} instance, even for the same {@link Executor} instance.
+ *
History: 2.2.6 - experimental
* @param executor
* the executor to wrap
* @param interruptibleWorker if {@code true} the tasks submitted to the {@link io.reactivex.Scheduler.Worker Scheduler.Worker} will
@@ -402,7 +403,6 @@ public static Scheduler from(@NonNull Executor executor) {
* @since 2.2.6 - experimental
*/
@NonNull
- @Experimental
public static Scheduler from(@NonNull Executor executor, boolean interruptibleWorker) {
return new ExecutorScheduler(executor, interruptibleWorker);
}
diff --git a/src/test/java/io/reactivex/validators/TestPrefixInMethodName.java b/src/test/java/io/reactivex/validators/TestPrefixInMethodName.java
index a81c1c8380..02d58977c0 100644
--- a/src/test/java/io/reactivex/validators/TestPrefixInMethodName.java
+++ b/src/test/java/io/reactivex/validators/TestPrefixInMethodName.java
@@ -24,7 +24,7 @@
import java.util.regex.Pattern;
/**
- * Check verifying there are no methods with the prefix "test" in the name
+ * Check verifying there are no methods with the prefix "test" in the name.
*/
public class TestPrefixInMethodName {
@@ -70,7 +70,7 @@ public void checkAndUpdateTestMethodNames() throws Exception {
int lineNum = 0;
List lines = new ArrayList();
BufferedReader in = new BufferedReader(new FileReader(u));
- boolean found = false;
+ //boolean found = false;
try {
for (; ; ) {
String line = in.readLine();
@@ -81,7 +81,7 @@ public void checkAndUpdateTestMethodNames() throws Exception {
Matcher matcher = p.matcher(line);
if (!line.startsWith("//") && !line.startsWith("*") && matcher.find()) {
- found = true;
+ // found = true;
fail
.append(fname)
.append("#L").append(lineNum)