DurianRx releases
February 1, 2025 ยท View on GitHub
[Unreleased]
[5.1.0] - 2025-02-01
Added
RxExecutor.launchlets a user runsuspendfunctions within that executor.GuardedExecutornow has a lazily populated scope which cancels when its guard disposes, as well as alaunchmethod.
[5.0.2] - 2025-01-31
Fixed
Rx.createEmitFlow()now creates a flow with unlimited buffer, same as RxJava'sPublishSubject.
[5.0.1] - 2025-01-26
Changed
- Downgrade from Kotlin
2.1.0to2.0.21
[5.0.0] - 2025-01-24
Changed
- BREAKING Replace
RxJava DisposablewithKotlin Job, and removerxjavacompletely. (#10) - Add strict nullability to RxBox and improve efficiency. (#12)
- Bump required java from 11 to 17. (#9)
[4.0.1] - 2022-12-20
Fixed
- Generics on
MultiSelectModelhave changed fromTtoT : Anyto play nicely with Kotlin's new stricter generic nullability bounds. (#8)
[4.0.0] - 2022-09-29
Added
- Add
mergefunction toMultiSelectModel.Trumped RxExecutornow includes adispatcher: CoroutineDispatcherfield
Changed (important)
- BREAKING
RxBox,RxGetter, andIObservableare now based on kotlinFlowrather thanRxJava.
Changed (but probably doesn't affect you)
- BREAKING
Chit.Settableno longer implementsio.reactivex.disposables.Disposable. - BREAKING Removed
RxGetter.fromVolatile,Breaker, andRateProbe. - BREAKING Removed
RxavaCompat.
- BREAKING Removed OSGi metadata.
[3.1.2] - 2021-10-21
Fixed
- Added some missing default methods in
Rx
[3.1.1] - 2021-10-21
Fixed
- Added some missing default methods in
RxSubscriber
[3.1.0] - 2021-10-21
Added
- Added support for kotlinx
FlowandDeferred. (#6)
[3.0.2] - 2020-05-26
Fixed
Chit.isDisposed()now returns true before calling therunWhenDisposedcallbacks.
[3.0.1] - 2019-11-12
- RxExecutor is now more consistent about failure - if the
onSuccessthrows an exception, it will always be passed to theonFailurehandler as aCompletionException.
[3.0.0] - 2018-08-01
DisposableEar's final name isChit.- Added
Rx.sync(RxBox<T> a, RxBox<T> b). - Added
MultiSelectModelfor a UI-independent multi-selection model.
[3.0.0.BETA2] - 2017-03-08
- Got rid of the
RxListener.IsLoggingmarker interface. - Made
RxListener.isLogging()public, and addedRxListener.onErrorDontLog(Throwable).- Combined, these methods make it possible for an external framework to detect and hijack logging for a specific listener.
- Used by the Agent framework in DiffPlug 2+
- Added
CasBox.getAndSet(). DispoableEar.Settablenow allowsdispose()to be called multiple times, to comply with theDisposablecontract.- An
RxJavaCompatlayer for turningSingleandMaybeintoCompletionStage.
[3.0.0.BETA] - 2017-02-07
- Added
DisposableEarandGuardedExecutor. - Fixed a bug in
ForwardingBox.modify(). RxExecutornow exposes the underlyingExecutor,Scheduler, andRxTracingPolicy.
[3.0.0.ALPHA] - 2016-11-11
- Bumped RxJava to 2.0, and incorporated
RxTracingPolicyintoRxJavaPlugins. - Fixed a bug in
ForwardingBox.modify(). RxExecutornow exposes the underlyingExecutor,Scheduler, andRxTracingPolicy.
[2.0.0] - 2016-07-13
Immutableshas moved tocom.diffplug.durian:durian-collect.- Removed collections-specific classes.
RxOptional->RxBox<Optional>RxSet->RxBox<ImmutableSet>- This makes it possible to mix-and-match RxBox implementations and collection implementations.
BoxandRxBoxhad poorly defined behavior around race conditions. It is now implemented by the following well-defined classes:RxBox.of(initialValue)makes no atomicity guarantees.CasBoxsupports compare-and-swap atomic modifications.LockBoxsupports mutex-based atomic modifications.RxLockBoxsupports mutex-based atomic modification with RxJava-based notifications.
- Broke the overly crowded
Rxclass into serveral pieces:Rxis now only a collection of utility methods.RxListeneris now the listener interface forObserver<T> & FutureCallback<T>.Rx.RxExecutoris nowRxExecutor, andRx.HasRxExecutorisRxExecutor.Has.RxGetterno longer enforcesdistinctUntilChanged.
- Adopted Durian and its new
ConverterNonNull. - Added
OrderedLock, which takes multiple locks in a guaranteed lock-free way. - Added
Breaker, for temporarily breaking a connection between observable values.
[1.3.0] - 2016-02-09
- Ditched Guava for DurianGuava.
[1.2.0] - 2015-11-18
- Added support for
CompletionStage(and thereforeCompletableFuture), with the same behavior asListenableFuture.
[1.1.0] - 2015-10-19
- Changed OSGi metadata Bundle-SymbolicName to
com.diffplug.durian.rx. - OSGi metadata is now auto-generated using bnd.
[1.0.1] - 2015-07-27
- Gah! MANIFEST.MF still had -SNAPSHOT version. Fixed now. Would be really nice if we could get MANIFEST.MF generation working.
[1.0] - 2015-05-13
- First stable release.