Skip to content

v3.6.0

Compare
Choose a tag to compare
@OlegDokuka OlegDokuka released this 14 Nov 20:58
· 321 commits to main since this release

Reactor-Core 3.6.0 is part of 2023.0.0 Release Train.

This is the first GA release of 2023.0.0 πŸŽ‰

This note focuses on 3.6.0 proper, curating changes from across all milestones and also includes changes already released as part of 3.4.x line up to 3.4.34 as well as 3.5.x line up to 3.5.12.

While there are plenty of improvements and bug fixes, it's worth to highlight the bigger themes first:

  • The Schedulers.boundedElastic() may return a specific implementation tailored for Project Loom and running on virtual threads if application runs in Java 21+ runtime and have set the reactor.schedulers.defaultBoundedElasticOnVirtualThreads system property to true. Please consult the javadocs and the reference documentation for more information.
  • Support for Multi-Release Jar. Since this release project has java version specific sources that are enabled if runs in specific Java runtime. This allows to avoid unnecessary reflection checks as well as embrace some new neat java features without changing the baseline for the whole code base.
  • Hardening of the context-propagation. This release introduces better support for external Publishers detection with their corresponding decoration if detected. This enables more stable context-propagation when it comes to external libraries integration.

See dedicated pre-release blogpost for more information.

What's Changed

⚠️ Update considerations and deprecations

  • Regression in Flux.create: addCap always returns value with flag by @OlegDokuka in #3610
  • makes throwable assignment happens-before done assignment in onError for FluxPublish by @OlegDokuka in #3638

✨ New features and improvements

🐞 Bug fixes

  • fixes MonoDelayElement to properly handle race between delay run and onNext signal by @OlegDokuka in #3546
  • ensures GroupedFlux delivers subscription for the second subscriber by @OlegDokuka in #3555
  • ensures late onRequest consumer observes demand by @OlegDokuka in #3557
  • ensures that proper index is used during onNext check by @OlegDokuka in #3614
  • ensures SchedulerTask uses isShutdown instead of isDisposed by @OlegDokuka in #3623

πŸ“– Documentation, Tests and Build

πŸ†™ Dependency Upgrades

New Contributors

Full Changelog: v3.5.8...v3.6.0