Releases: reactor/reactor-core
v3.4.22
Reactor-Core 3.4.22 is part of 2020.0.22 Release Train (Europium SR22).
What's Changed
✨ New features and improvements
- Add logging in
Exceptions.throwIf[Jvm]Fatal
, addisFatal
methods by @simonbasle in #3122 - Improve
LoggerUtils
support and addTestLoggerExtension
by @simonbasle in #3123
📖 Documentation, Tests and Build
- Clarify how to use
processExistingClasses
indebugging.adoc
by @kicmeri in #3130 - Refguide: Remove mention of discouraged subscribe variant by @simonbasle in #3141
- Disable flaky
BoundedElasticScheduler
test by @simonbasle in #3142
🆙 Dependency Upgrades
- Upgrade Gradle to 7.5, workaround nohttp, update gradle action by @simonbasle in #3127
- Upgrade Gradle 7.5.1, Artifactory plugin 4.29.0 by @violetagg in #3144
New Contributors
Full Changelog: v3.4.21...v3.4.22
v3.5.0-M4
Reactor-Core 3.5.0-M4
is part of 2022.0.0-M4
Release Train (F
Milestone 4).
This version brings in a few changes, bugfixes and enhancements from the 3.4.x line, most notably from 3.4.21.
These are also listed below.
What's Changed
⚠️ Update considerations and deprecations
- Micrometer module: add observation(), deprecate global registry by @simonbasle in #3104
- Reintroduction of Processors as deprecated by @simonbasle in #3112
✨ New features and improvements
- Add context-propagation-api dependency + ReactorContextAccessor by @simonbasle in #3098
- Improve ReactorContextAccessor, add tests by @simonbasle in #3107
- Polish Observation names and tag keys by @simonbasle in #3110
- From 3.4.x:
📖 Documentation, Tests and Build
- Make context-propagation-api dependency optional + documentation by @simonbasle in #3100
- Adapt to the changes in the context propagation API by @violetagg in #3113
- From 3.4.x:
- Clarify ContextN.putAll(Map) intended internal use in javadoc by @chemicL in #3103
- Rework guide on Retry with Transient Errors by @simonbasle in #3093
🆙 Dependency Upgrades
- July dependency upgrades by @simonbasle in #3115
- Update Micrometer dependency to version 1.10.0-M3 by @violetagg in #3116
New Contributors
- @mdindoffer made their first contribution in #3097
Full Changelog: v3.5.0-M3...v3.5.0-M4
v3.4.21
Reactor-Core 3.4.21 is part of 2020.0.21 Release Train (Europium SR21).
What's Changed
✨ New features and improvements
- Add windowTimeout sendNext early guard against maxSize overflow by @OlegDokuka in #3073
- Add StateLogger for structured logging of state machines by @OlegDokuka in #3077
- Implement disposing of tasks scheduled on VirtualTimeScheduler by @mdindoffer in #3097
- Add forEach method to ContextView and subclasses by @chemicL in #3092
- Introducing default impl for Context::forEach by @chemicL in #3101
- Introducing Context::putAllMap by @chemicL in #3102
📖 Documentation, Tests and Build
- Clarify ContextN.putAll(Map) intended internal use in javadoc by @chemicL in #3103
- Rework guide on Retry with Transient Errors by @simonbasle in #3093
🆙 Dependency Upgrades
- July dependency upgrades by @simonbasle in #3115
New Contributors
- @mdindoffer made their first contribution in #3097
Full Changelog: v3.4.19...v3.4.21
v3.4.20
v3.5.0-M3
Reactor-Core 3.5.0-M3
is part of 2022.0.0-M3
Release Train (F
Milestone 3).
This version brings in a few changes, bugfixes and enhancements from the 3.4.x line, most notably from 3.4.18 and 3.4.19. These are also listed below.
What's Changed
⚠️ Update considerations and deprecations
Scannable.tags()
rework: change in how the tags are enumerated and added atagsDeduplicated()
method which allows to enumerate without duplicates (#3037)- Finalizing deprecation removals from public API with
FluxProcessor
andMonoProcessor
and their implementations (#3051)- with the recent addition of a
Sinks
equivalent toEmitterProcessor
, the most common remaining use case whereProcessor
was needed is now covered (since #3042)
- with the recent addition of a
✨ New features and improvements
- Fix windowTimeout stress test to use sinks by @OlegDokuka in #3074
- from 3.4.x:
- Add key hook parts to Schedulers.onHandleError by @simonbasle in #3039
- [reactor-test] Add StepVerifier option to use ConditionalSubscriber by @simonbasle in #3035
- Introduce an alternative to Processor-with-upstream case by @simonbasle in #3042
- Rework Processor-with-upstream case to be backward compatible by @simonbasle in #3065
- Implement variant of windowTimeout with fairBackpressure by @OlegDokuka in #3054
- Add windowTimeout sendNext early guard against maxSize overflow by @OlegDokuka in #3073
- Add StateLogger for structured logging of state machines by @OlegDokuka in #3077
- Include classname of null-returning
map
function in NPE msg by @ismailalammar in #2984
🐞 Bug fixes
- from 3.4.x:
- Fix DoOnEach ASYNC fusion triggering onNext signal twice by @simonbasle in #3045
- Fix cancel too synchronized in MonoCollect[List] by @simonbasle in #3053
- Async fusion bug: extra fixes and changes by @simonbasle in #3046
📖 Documentation, Tests and Build
- Correct typo in metrics.adoc by @jarredhiggs in #3047
- Fix doc typo: missing word in reactiveProgramming.adoc by @eduardNeagoe in #3075
- from 3.4.x:
🆙 Dependency Upgrades
- from 3.4.x:
- Upgrade Checkout action, Mockito, Spotless, Artifactory by @simonbasle in #3030
- Upgrade download, gradle enterprise, spotless, byteBuddy by @simonbasle in #3034
- June dependency upgrades by @simonbasle in #3066
- Update Reactive-Streams to v1.0.4 by @renovate-bot in #3055
- Update plugin bnd to v6.3.1 by @simonbasle in #3070
New Contributors
- @jarredhiggs made their first contribution in #3047
- @eduardNeagoe made their first contribution in #3075
v3.4.19
Reactor-Core 3.4.19 is part of 2020.0.20 Release Train (Europium SR20).
What's Changed
✨ New features and improvements
- Add key hook parts to Schedulers.onHandleError by @simonbasle in #3039
- [reactor-test] Add StepVerifier option to use ConditionalSubscriber by @simonbasle in #3035
- Introduce an alternative to Processor-with-upstream case by @simonbasle in #3042
- Rework Processor-with-upstream case to be backward compatible by @simonbasle in #3065
- Implement variant of windowTimeout with fairBackpressure by @OlegDokuka in #3054
- This is activated by the
fairBackpressure
boolean parameter.
- This is activated by the
🐞 Bug fixes
- Fix DoOnEach ASYNC fusion triggering onNext signal twice by @simonbasle in #3045
- Fix cancel too synchronized in MonoCollect[List] by @simonbasle in #3053
- Async fusion bug: extra fixes and changes by @simonbasle in #3046
📖 Documentation, Tests and Build
🆙 Dependency Upgrades
- June dependency upgrades by @simonbasle in #3066
- Update Reactive-Streams to v1.0.4 by @renovate-bot in #3055
- Update plugin bnd to v6.3.1 by @simonbasle in #3070
New Contributors
v3.4.18
Reactor-Core 3.4.18
is part of 2020.0.19
Release Train (Europium
SR19).
What's Changed
✨ New features and improvements
- Backport: contextView() implem of [Flux|Mono|Synchronous]Sink by @simonbasle in #3026
- Include classname of null-returning
map
function in NPE msg by @ismailalammar in #2984
🐞 Bug fixes
- Fix a Many sink / EmitterProcessor subscriber disposal leak by @simonbasle in #3029
🆙 Dependency Upgrades
- Upgrade Checkout action, Mockito, Spotless, Artifactory by @simonbasle in #3030
- Upgrade download, gradle enterprise, spotless, byteBuddy by @simonbasle in #3034
New Contributors
- @ismailalammar made their first contribution in #2984
v3.5.0-M2
Feedback Needed
As always, milestones are an important step where your feedback is needed.
-
We are particularly interested in feedback for the
tap
operator (#3013) combined to the new metrics module (#3015). -
One feature that didn't make it to this release but on which we'd like your input as well is a contextual variant of the task-decoration scheduler hook. See design in #2980 and candidate implementation in #2983.
What's Changed
⚠️ Update considerations and deprecations
- Changes in metrics dependencies and approach
- Reactor-Core now expects and assumes Micrometer 1.10 as the metrics baseline (#3006, #3025)
- The inlined
metrics()
operator and other metrics features have been deprecated (#3015) - A new more generic
tap
operator is introduced, among other things it can replacemetrics()
(#3013) - One provider for the
tap
is the newly introducedreactor-core-micrometer
module version1.0.0-M2
(#3015)
✨ New features and improvements
- Add 'tap', a generic side-effect/observability operator by @simonbasle in #3013
- Add default contextView() implem to [Flux|Mono|Synchronous]Sink by @simonbasle in #3021
🐞 Bug fixes
- Avoid FluxReplay buffer retaining/leaking with tiny TTL by @simonbasle in #2998
- Fix subscribers being retained by SinkOneMulticast by @simonbasle in #3002
- Fix a Many sink / EmitterProcessor subscriber disposal leak by @simonbasle in #3029
📖 Documentation, Tests and Build
- [doc] Polish Schedulers javadoc for common/cached instances by @dedeibel in #2995
- Increase landscape width of refguide content for readability by @tmyksj in #3009
🆙 Dependency Upgrades
- April round of upgrades (#2992, #2996, #3008
- Upgrade to Micrometer 1.10.0-M1 for 3.5.0-M2 by @simonbasle in #3025
New Contributors
v3.4.17
Reactor-Core 3.4.17
is part of 2020.0.18
Release Train (Europium
SR18).
⚠️ Update considerations and deprecations
- Deprecate [Flux|Mono|Synchronous]Sink currentContext by @simonbasle in #2974
🐞 Bug fixes
- [agent] Avoid instrumenting methods with unwrappable returnType by @simonbasle in #2973
- Avoid FluxReplay buffer retaining/leaking with tiny TTL by @simonbasle in #2998
- Fix subscribers being retained by SinkOneMulticast by @simonbasle in #3002
📖 Documentation, Tests and Build
- [test] Fix flaky BoundedElasticTest with better controlled tasks by @simonbasle in #2968
- [doc] Polish Schedulers javadoc for common/cached instances by @dedeibel in #2995
- [test] Improve flaky BoundedElasticScheduler toString test by @simonbasle in #3010
🆙 Dependency Upgrades
- April round of upgrades: Gradle 7.4.2, plugins (download, jmh, spotless, artifactory, gradle enterprise) by @simonbasle in #2992
- Update gradle/gradle-build-action to v2.1.5 by @simonbasle in #2996
- Update ByteBuddy to v1.12.9 by @simonbasle in #3008
New Contributors
v3.5.0-M1
What's Changed
⚠️ Update considerations and deprecations
- Remove Kotlin extensions by @simonbasle in #2949
- Remove deprecated Mono.doOn/AfterSuccessOrError by @simonbasle in #2954
- Remove deprecated context-related operators by @simonbasle in #2953
- Change behavior of switchOnNext/switchMap default 0 prefetch by @simonbasle in #2956
- Remove deprecated ElasticScheduler by @simonbasle in #2955
- Have concatMap default to 0 prefetch behavior by @simonbasle in #2967
- Take(n) now behaves as take(n,true)/limitRequest by @simonbasle in #2969
- Deprecate [Flux|Mono|Synchronous]Sink currentContext by @simonbasle in #2974
🐞 Bug fixes
- [agent] Avoid instrumenting methods with unwrappable returnType by @simonbasle in #2973
📖 Documentation, Tests and Build
- [test] Fix flaky BoundedElasticTest with better controlled tasks by @simonbasle in #2968
Full Changelog: v3.4.16...v3.5.0-M1