|
1 | 1 | # DurianRx releases |
2 | 2 |
|
3 | | -### Version 3.1.0-SNAPSHOT - TBD ([javadoc](http://diffplug.github.io/durian-rx/javadoc/snapshot/) [snapshot](https://oss.sonatype.org/content/repositories/snapshots/com/diffplug/durian/durian-rx/)) |
4 | | - |
5 | | -### Version 3.0.1 - November 12th 2019 ([javadoc](http://diffplug.github.io/durian-rx/javadoc/3.0.1/), [jcenter](https://bintray.com/diffplug/opensource/durian-rx/3.0.1/view)) |
| 3 | +## [Unreleased] |
6 | 4 |
|
| 5 | +## [3.0.1] - 2019-11-12 |
7 | 6 | * RxExecutor is now more consistent about failure - if the `onSuccess` throws an exception, it will always be passed to the `onFailure` handler as a `CompletionException`. |
8 | 7 |
|
9 | | -### Version 3.0.0 - August 1st 2018 ([javadoc](http://diffplug.github.io/durian-rx/javadoc/3.0.0/), [jcenter](https://bintray.com/diffplug/opensource/durian-rx/3.0.0/view)) |
10 | | - |
| 8 | +## [3.0.0] - 2018-08-01 |
11 | 9 | * `DisposableEar`'s final name is `Chit`. |
12 | 10 | * Added `Rx.sync(RxBox<T> a, RxBox<T> b)`. |
13 | 11 | * Added `MultiSelectModel` for a UI-independent multi-selection model. |
14 | 12 |
|
15 | | -### Version 3.0.0.BETA2 - March 8th 2017 ([javadoc](http://diffplug.github.io/durian-rx/javadoc/3.0.0.BETA2/), [jcenter](https://bintray.com/diffplug/opensource/durian-rx/3.0.0.BETA2/view)) |
16 | | - |
| 13 | +## [3.0.0.BETA2] - 2017-03-08 |
17 | 14 | * Got rid of the `RxListener.IsLogging` marker interface. |
18 | 15 | * Made `RxListener.isLogging()` public, and added `RxListener.onErrorDontLog(Throwable)`. |
19 | | - + Combined, these methods make it possible for an external framework to detect and hijack logging for a specific listener. |
20 | | - + Used by the Agent framework in DiffPlug 2+ |
| 16 | + + Combined, these methods make it possible for an external framework to detect and hijack logging for a specific listener. |
| 17 | + + Used by the Agent framework in DiffPlug 2+ |
21 | 18 | * Added `CasBox.getAndSet()`. |
22 | 19 | * `DispoableEar.Settable` now allows `dispose()` to be called multiple times, to comply with the `Disposable` contract. |
23 | 20 | * An `RxJavaCompat` layer for turning `Single` and `Maybe` into `CompletionStage`. |
24 | 21 |
|
25 | | -### Version 3.0.0.BETA - February 7th 2017 ([javadoc](http://diffplug.github.io/durian-rx/javadoc/3.0.0.BETA/), [jcenter](https://bintray.com/diffplug/opensource/durian-rx/3.0.0.BETA/view)) |
26 | | - |
| 22 | +## [3.0.0.BETA] - 2017-02-07 |
27 | 23 | * Added `DisposableEar` and `GuardedExecutor`. |
28 | 24 | * Fixed a bug in `ForwardingBox.modify()`. |
29 | 25 | * `RxExecutor` now exposes the underlying `Executor`, `Scheduler`, and `RxTracingPolicy`. |
30 | 26 |
|
31 | | -### Version 3.0.0.ALPHA - November 11th 2016 ([javadoc](http://diffplug.github.io/durian-rx/javadoc/3.0.0.ALPHA/), [jcenter](https://bintray.com/diffplug/opensource/durian-rx/3.0.0.ALPHA/view)) |
32 | | - |
| 27 | +## [3.0.0.ALPHA] - 2016-11-11 |
33 | 28 | * Bumped RxJava to 2.0, and incorporated `RxTracingPolicy` into `RxJavaPlugins`. |
34 | 29 | * Fixed a bug in `ForwardingBox.modify()`. |
35 | 30 | * `RxExecutor` now exposes the underlying `Executor`, `Scheduler`, and `RxTracingPolicy`. |
36 | 31 |
|
37 | | -### Version 2.0.0 - July 13th 2016 ([javadoc](http://diffplug.github.io/durian-rx/javadoc/2.0.0/), [jcenter](https://bintray.com/diffplug/opensource/durian-rx/2.0.0/view)) |
38 | | - |
| 32 | +## [2.0.0] - 2016-07-13 |
39 | 33 | * `Immutables` has moved to `com.diffplug.durian:durian-collect`. |
40 | 34 | * Removed collections-specific classes. |
41 | | - + `RxOptional` -> `RxBox<Optional>` |
42 | | - + `RxSet` -> `RxBox<ImmutableSet>` |
43 | | - + This makes it possible to mix-and-match RxBox implementations and collection implementations. |
| 35 | + + `RxOptional` -> `RxBox<Optional>` |
| 36 | + + `RxSet` -> `RxBox<ImmutableSet>` |
| 37 | + + This makes it possible to mix-and-match RxBox implementations and collection implementations. |
44 | 38 | * `Box` and `RxBox` had poorly defined behavior around race conditions. It is now implemented by the following well-defined classes: |
45 | | - + `RxBox.of(initialValue)` makes no atomicity guarantees. |
46 | | - + `CasBox` supports compare-and-swap atomic modifications. |
47 | | - + `LockBox` supports mutex-based atomic modifications. |
48 | | - + `RxLockBox` supports mutex-based atomic modification with RxJava-based notifications. |
| 39 | + + `RxBox.of(initialValue)` makes no atomicity guarantees. |
| 40 | + + `CasBox` supports compare-and-swap atomic modifications. |
| 41 | + + `LockBox` supports mutex-based atomic modifications. |
| 42 | + + `RxLockBox` supports mutex-based atomic modification with RxJava-based notifications. |
49 | 43 | * Broke the overly crowded `Rx` class into serveral pieces: |
50 | | - + `Rx` is now only a collection of utility methods. |
51 | | - + `RxListener` is now the listener interface for `Observer<T> & FutureCallback<T>`. |
52 | | - + `Rx.RxExecutor` is now `RxExecutor`, and `Rx.HasRxExecutor` is `RxExecutor.Has`. |
53 | | - + `RxGetter` no longer enforces `distinctUntilChanged`. |
| 44 | + + `Rx` is now only a collection of utility methods. |
| 45 | + + `RxListener` is now the listener interface for `Observer<T> & FutureCallback<T>`. |
| 46 | + + `Rx.RxExecutor` is now `RxExecutor`, and `Rx.HasRxExecutor` is `RxExecutor.Has`. |
| 47 | + + `RxGetter` no longer enforces `distinctUntilChanged`. |
54 | 48 | * Adopted Durian and its new `ConverterNonNull`. |
55 | 49 | * Added `OrderedLock`, which takes multiple locks in a guaranteed lock-free way. |
56 | 50 | * Added `Breaker`, for temporarily breaking a connection between observable values. |
57 | 51 |
|
58 | | -### Version 1.3.0 - February 9th 2016 ([javadoc](http://diffplug.github.io/durian-rx/javadoc/1.3.0/), [jcenter](https://bintray.com/diffplug/opensource/durian-rx/1.3.0/view)) |
59 | | - |
| 52 | +## [1.3.0] - 2016-02-09 |
60 | 53 | * Ditched Guava for DurianGuava. |
61 | 54 |
|
62 | | -### Version 1.2.0 - November 18th 2015 ([javadoc](http://diffplug.github.io/durian-rx/javadoc/1.2.0/), [jcenter](https://bintray.com/diffplug/opensource/durian-rx/1.2.0/view)) |
63 | | - |
| 55 | +## [1.2.0] - 2015-11-18 |
64 | 56 | * Added support for `CompletionStage` (and therefore `CompletableFuture`), with the same behavior as `ListenableFuture`. |
65 | 57 |
|
66 | | -### Version 1.1.0 - October 19th 2015 ([javadoc](http://diffplug.github.io/durian-rx/javadoc/1.1.0/), [jcenter](https://bintray.com/diffplug/opensource/durian-rx/1.1.0/view)) |
67 | | - |
| 58 | +## [1.1.0] - 2015-10-19 |
68 | 59 | * Changed OSGi metadata Bundle-SymbolicName to `com.diffplug.durian.rx`. |
69 | 60 | * OSGi metadata is now auto-generated using bnd. |
70 | 61 |
|
71 | | -### Version 1.0.1 - July 27th 2015 ([javadoc](http://diffplug.github.io/durian-rx/javadoc/1.0.1/), [jcenter](https://bintray.com/diffplug/opensource/durian-rx/1.0.1/view)) |
72 | | - |
| 62 | +## [1.0.1] - 2015-07-27 |
73 | 63 | * Gah! MANIFEST.MF still had -SNAPSHOT version. Fixed now. Would be really nice if we could get MANIFEST.MF generation working. |
74 | 64 |
|
75 | | -### Version 1.0 - May 13th 2015 ([javadoc](http://diffplug.github.io/durian-rx/javadoc/1.0/), [jcenter](https://bintray.com/diffplug/opensource/durian-rx/1.0/view)) |
76 | | - |
| 65 | +## [1.0] - 2015-05-13 |
77 | 66 | * First stable release. |
0 commit comments