v2.0.0 (2017-11-06)
This 2.0 release represents a good few months of work and debugging. This release includes breaking changes and a lot of bug fixes. The 1.x branch may as well not exist (though it will be updated as needed).
Breaking changes
-
The package has been renamed from
rx.broadcast
torxbroadcast
(ced55f2) -
BasicOrder
has been renamed toNoOrder
(79e8fc1)This new name better (more obviously) reflects the guarantees it provides on broadcast ordering: none at all. The old name was somewhat esoteric and came from a single text on distributed systems.
-
Errors in the broadcast stream are now propagated to subscribers
Subscribers to broadcasts (i.e.
broadcast.valuesOfType(Foo.class).subscribe(s)
) will now need to retry or resubscribe if or when an error terminates the stream.
Improvements
- More
@NotNull
annotations have been added - The library is now tested and works on Java 9
- All no-argument constructors intended strictly for serialization have been deprecated
Bug fixes
Too many to list, honestly. In developing 2.0, a handful of static analyzers have been included in the build process (Infer, FindBugs, Error Prone, and PMD) and there were a lot of bugs discovered by them.
Development Improvements
- CheckStyle 8.2
- Gradle 4.3
- The old test scripts written in Bash have been scrapped and replaced with a Python script
Resources
As always:
-
The Javadoc exists online at RxBroadcast API Javadoc
There will be an update with more complete Javadoc soon. The Javadoc in this version is lacking if not useless and that needs to be fixed.