Reactor-Core 3.3.0.M2 is part of Dysprosium-M2 Release Train.
This second milestone of the 3.3.x cycle, containing bugfixes and improvements (including changes from the GA 3.2.10.RELEASE).
⚠️ Update considerations and deprecations
- Exceptions are now unwrapped (
Exceptions#unwrap) in most sources that immediately produce an error, acting like aCallable(b6f4d29) - Moved
reactor-toolssources into the core repository (#1731)
✨ New features and improvements
- Avoid triggering
Contextlookups in error sources (4f2bc7a) - Extended blockHound whitelist
- Remove unnecessary volatile with UnicastProcessor fusion (c86db5a)
- Improved cache eviction in ElasticScheduler (#1700)
- (from 3.2:)
- Allow to choose a
SchedulerforretryBackoff(#1707) - Added
Mono#onErrorStop()convenience API to align with Flux (#1728) - New
TestPublisherassertion methodassertMaxRequested(#1732) - The new
doFirstoperator provides a clearer dual todoFinally, as a better alternative to common usage ofdoOnSubscribe(#1716)
🪲 Bug fixes
- Avoid unbounded Flux.replay request with bounded subscribers (#1185)
- Removed "checkpoint" prefix in backtraces from return-only callsites (#1740)
- (from 3.2:)
- Fixed checking of inner subscribers in
FluxPublish#remove()(2ce7b75) Flux.publish().autoConnect(0)now correctly drops early items (#1712)- Fixed a memory barrier regression introduced in MonoSubscriber (#1719)
📖 Documentation, Tests and Build
- [doc] Fixed typo in refguide (
advancedFeatures.adoc, 11bc552) - [build] JMH benchmarks are now in a separate sub-project, forked scrabble benchmark there (8895e94)
- [build] Log console output in Gradle ONLY for failed tests on CI (fc74beb)
- [doc] Added code fences in reference guide (#1737)
- (from 3.2:)
- Polished license spelling to "Apache License, Version 2.0" (d88eeda)
- [build] Dokka bumped to 0.9.18 (#1718)
- [doc] Added marble diagram for
Mono#doOnSuccessOrError(#1725) - [doc] Polish 'Suggest Edit' links and asciidoctor config (6bdbf8b)