Reactor-Core 3.4.0-RC2 is part of 2020.0.0-RC2 Release Train (codename Europium).
This second Release Candidate brings further changes to the Sinks API introduced in M2 and polished in RC1.
This release note contains all the changes specific to RC2, as well as some forwarded changes that will be released in 3.3.11.RELEASE.
⚠️ Update considerations and deprecations
- Rework Sinks specs to put unsafe() at root level (#2418)
- Rename Emission to EmitResult (#2426)
- Remove deprecated emit API (#2377)
- Deprecate [Flux|Mono]Processor contracts entirely (#2431)
✨ New features and improvements
- Add
emitXxx(EmitFailureHandler)Sinks API (#2377) - Add firstWithValue operator, alias/deprecate first (#2173)
- VoidProcessor is now a pure empty sink (#2408)
- Add serialized wrappers for
Sinks.Empty/Sinks.One(#2410) - Add currentSubscriberCount() to
Sinks.Many|One|Empty(#2372) - Make sinks scannable for TERMINATED (and CANCELLED) (#2394)
- Add directAllOrNothing/directBestEffort multicast Sinks (#2392)
- Change
GroupedFlux#keyto@NonNull(#2397)
🪲 Bug fixes
- Fix concurrent terminal signal detection in
SerializedManySink(#2412) - Fix potential integer overflow on
BoundedElasticSchedulerconstructor (#2389)
📖 Documentation, Tests and Build
- correct marbles for transformDeferred (#2358)
- fix windowWithBoundary marble diagram (#2346)
- Don't blanket hide deprecated members in javadoc (#2416)
- Bump jcstress-gradle-plugin to natively fix jar classifier (#2429)
- use a different name for the jcstress jar (#2400)
- [polish] Increase timeout duration to 1ms to avoid hiccups
- [build] Polish granularity of stacks for Nested tests
- [polish] StressSubscriber generified, track onSubscribe, initRequest
- [doc] Polish Sinks doc accounting for RC1 and RC2 latest changes (#2414)
- [test] Polish tests that use nano durations to avoid flakkyness (#2421)