Skip to content

Upgrade Project Reactor 2024.0.13 -> 2025.0.3#1969

Open
Picnic-DevPla-Bot wants to merge 11 commits intomasterfrom
renovate/project-reactor-2025.x
Open

Upgrade Project Reactor 2024.0.13 -> 2025.0.3#1969
Picnic-DevPla-Bot wants to merge 11 commits intomasterfrom
renovate/project-reactor-2025.x

Conversation

@Picnic-DevPla-Bot
Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
Project Reactor (source) import major 2024.0.11 -> 2025.0.0

Release Notes

reactor/reactor (Project Reactor)

v2025.0.0

Compare Source

2025.0.0 release train is made of:

v2024.0.12

Compare Source

2024.0.12 release train is made of:

These artifacts didn't have any changes:


  • If you want to rebase/retry this PR, check this box

@github-actions
Copy link
Copy Markdown

github-actions bot commented Nov 9, 2025

Looks good. No mutations were possible for these changes.
Mutation testing report by Pitest. Review any surviving mutants by inspecting the line comments under Files changed.

Copy link
Copy Markdown
Member

@Stephan202 Stephan202 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added a commit to manage the version of org.reactivestreams:reactive-streams, as the BOM no longer does this. I filed reactor/reactor#768 to ask for a release notes entry or revert.

The build won't pass yet, as I'll need to address some NullAway warnings due to the new JSpecify support.

Suggested commit message:

Upgrade Project Reactor 2024.0.16 -> 2025.0.4 (#1969)

See:
- https://github.com/reactor/reactor/releases/tag/2025.0.0-M1
- https://github.com/reactor/reactor/releases/tag/2025.0.0-M2
- https://github.com/reactor/reactor/releases/tag/2025.0.0-M3
- https://github.com/reactor/reactor/releases/tag/2025.0.0-M4
- https://github.com/reactor/reactor/releases/tag/2025.0.0-M5
- https://github.com/reactor/reactor/releases/tag/2025.0.0-M6
- https://github.com/reactor/reactor/releases/tag/2025.0.0-M7
- https://github.com/reactor/reactor/releases/tag/2025.0.0-RC1
- https://github.com/reactor/reactor/releases/tag/2025.0.0
- https://github.com/reactor/reactor/releases/tag/2025.0.1
- https://github.com/reactor/reactor/releases/tag/2025.0.2
- https://github.com/reactor/reactor/releases/tag/2025.0.3
- https://github.com/reactor/reactor/releases/tag/2025.0.4
- https://github.com/reactor/reactor/compare/2024.0.16...2025.0.4

@github-actions
Copy link
Copy Markdown

github-actions bot commented Nov 9, 2025

Looks good. No mutations were possible for these changes.
Mutation testing report by Pitest. Review any surviving mutants by inspecting the line comments under Files changed.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[javac] reported by reviewdog 🐶
[NullAway] returning @nullable expression from method with @nonnull return type

return flux.map(v -> transformation(v)).mapNotNull(o -> o.orElse(null));

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@msridhar perhaps I'm overlooking something trivial, but I'm not sure how to resolve this warning and the two similar ones shown below. Now that Project Reactor adopted JSpecify, the signature of Flux#mapNotNull is:

public final <V> Flux<V> mapNotNull(Function <? super T, ? extends @Nullable V> mapper)

The use of .orElse(null) here seems compatible with that. Note that the warning is reported on the whole o -> o.orElse(null) lambda expression.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this might get resolved by uber/NullAway#1337 (FYI @dhruv-agr). We will try testing on our end and let you know. If you need to merge this in the meantime, I think you'll have to suppress.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tnx for the quick response; clear! 💪

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI this one is actually uber/NullAway#1350 and is not resolved yet; we're still working on it

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@msridhar I rebased this upgrade PR on top of the upgrade to NullAway 0.13.2 (#2210), but the .mapNotNull calls are still being flagged:

[NullAway] returning @Nullable expression from method with @NonNull return type

For now I've added @SuppressWarnings("NullAway" /* `mapNotNull` result *is* `@Nullable`. */) to unblock this upgrade. Let me know if you'd like me to file a separate NullAway issue for this topic, or whether there's an existing issue I can link to.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for tracking this, @Stephan202. Can you open a new issue for this one? I thought we might have something on it but I can't find it. I suspect this is related to wildcard support but I'd like to track this case specifically

@Stephan202 Stephan202 force-pushed the renovate/project-reactor-2025.x branch from cf25141 to aa9a7af Compare November 9, 2025 11:50
@Stephan202 Stephan202 changed the base branch from master to sschroevers/improve-reviewdog-reporting November 9, 2025 11:51
@Stephan202
Copy link
Copy Markdown
Member

Stephan202 commented Nov 9, 2025

❗ I rebased this PR on top of #1970. That one must be merged first. ❗

@github-actions
Copy link
Copy Markdown

github-actions bot commented Nov 9, 2025

Looks good. No mutations were possible for these changes.
Mutation testing report by Pitest. Review any surviving mutants by inspecting the line comments under Files changed.

@Stephan202 Stephan202 added this to the 0.27.0 milestone Nov 9, 2025
@Picnic-DevPla-Bot
Copy link
Copy Markdown
Contributor Author

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@rickie rickie force-pushed the sschroevers/improve-reviewdog-reporting branch from 4a1a160 to 78355bb Compare November 10, 2025 08:18
Base automatically changed from sschroevers/improve-reviewdog-reporting to master November 10, 2025 08:36
@Stephan202 Stephan202 force-pushed the renovate/project-reactor-2025.x branch from aa9a7af to 841bc6f Compare November 10, 2025 08:37
@github-actions
Copy link
Copy Markdown

Looks good. No mutations were possible for these changes.
Mutation testing report by Pitest. Review any surviving mutants by inspecting the line comments under Files changed.

@Stephan202 Stephan202 force-pushed the renovate/project-reactor-2025.x branch from 841bc6f to 58644c2 Compare November 10, 2025 21:23
@sonarqubecloud
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown

Looks good. No mutations were possible for these changes.
Mutation testing report by Pitest. Review any surviving mutants by inspecting the line comments under Files changed.

1 similar comment
@github-actions
Copy link
Copy Markdown

Looks good. No mutations were possible for these changes.
Mutation testing report by Pitest. Review any surviving mutants by inspecting the line comments under Files changed.

@Stephan202 Stephan202 modified the milestones: 0.27.0, 0.28.0 Nov 29, 2025
@Stephan202 Stephan202 modified the milestones: 0.28.0, 0.29.0 Jan 9, 2026
@Stephan202 Stephan202 force-pushed the renovate/project-reactor-2025.x branch from 58644c2 to 385e60e Compare January 14, 2026 17:13
@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 14, 2026

Suggested commit message:

Edit: see above.

@Stephan202 Stephan202 force-pushed the renovate/project-reactor-2025.x branch from 6e1eb54 to a94c42f Compare March 8, 2026 10:15
@Stephan202 Stephan202 changed the title Upgrade Project Reactor 2024.0.13 -> 2025.0.2 Upgrade Project Reactor 2024.0.13 -> 2025.0.3 Mar 8, 2026
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Mar 8, 2026

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 8, 2026

Looks good. No mutations were possible for these changes.
Mutation testing report by Pitest. Review any surviving mutants by inspecting the line comments under Files changed.

@Stephan202
Copy link
Copy Markdown
Member

I rebased the PR and bumped the dependency to the latest version. The build still fails, but that's likely because the NullAway fixes mentioned above haven't been released yet.

@Stephan202 Stephan202 force-pushed the renovate/project-reactor-2025.x branch from a94c42f to 8c04969 Compare April 11, 2026 10:04
@github-actions
Copy link
Copy Markdown

Looks good. No mutations were possible for these changes.
Mutation testing report by Pitest. Review any surviving mutants by inspecting the line comments under Files changed.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 11, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: e8ce8c6f-c2a6-4d91-bbdb-9f60293f2253

📥 Commits

Reviewing files that changed from the base of the PR and between 62461c7 and 8c04969.

📒 Files selected for processing (2)
  • error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/ReactorRules.java
  • pom.xml

📝 Walkthrough

Walkthrough

Updates type annotations in Reactor template rules from nullable void types (Mono<? extends @nullable Void>) to non-null void types (Mono<Void>), and simplifies @SuppressWarnings entries. Also upgrades Maven dependencies: Reactor BOM from 2024.0.16 to 2025.0.4 and adds reactive-streams 1.0.4.

Changes

Cohort / File(s) Summary
Reactor Template Rules
error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/ReactorRules.java
Simplified type annotations across multiple @BeforeTemplate methods by replacing Mono<? extends @nullable Void> with Mono<Void>, Flux<@Nullable Void> with Flux<Void>, and Publisher<@Nullable Void> with Publisher<Void>. Consolidated @SuppressWarnings annotations from multi-code bundles to single "VoidMissingNullable" entries across MonoIdentity, FluxThen, MonoThenEmpty, FluxThenEmpty, and related template methods.
Maven Dependencies
pom.xml
Updated Reactor BOM version from 2024.0.16 to 2025.0.4. Added new managed dependency for org.reactivestreams:reactive-streams version 1.0.4.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately reflects the main change: upgrading Project Reactor from an older version to 2025.0.3, which aligns with the PR's primary objective.
Description check ✅ Passed The description is related to the changeset, providing Reactor release notes and version information that explain the upgrade context and scope.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch renovate/project-reactor-2025.x

Comment @coderabbitai help to get the list of available commands and usage tips.

@Stephan202 Stephan202 force-pushed the renovate/project-reactor-2025.x branch from 8c04969 to e6efb05 Compare April 12, 2026 18:45
@github-actions
Copy link
Copy Markdown

Looks good. No mutations were possible for these changes.
Mutation testing report by Pitest. Review any surviving mutants by inspecting the line comments under Files changed.

Copy link
Copy Markdown

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

javac

[javac] reported by reviewdog 🐶
[NullAway] Generic type parameter cannot be @nullable, as type variable T of type reactor.core.publisher.Mono does not have a @nullable upper bound

Mono<? extends @Nullable Void> before2(Flux<T> flux, Mono<@Nullable Void> mono) {


[javac] reported by reviewdog 🐶
[NullAway] incompatible types: Mono<@nullable Void> cannot be converted to Publisher (Mono<@nullable Void> is a subtype of Publisher<@nullable Void>)

@sonarqubecloud
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown

Looks good. No mutations were possible for these changes.
Mutation testing report by Pitest. Review any surviving mutants by inspecting the line comments under Files changed.

Copy link
Copy Markdown
Member

@Stephan202 Stephan202 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rebased the branch onto #2210 and added a commit.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@msridhar I rebased this upgrade PR on top of the upgrade to NullAway 0.13.2 (#2210), but the .mapNotNull calls are still being flagged:

[NullAway] returning @Nullable expression from method with @NonNull return type

For now I've added @SuppressWarnings("NullAway" /* `mapNotNull` result *is* `@Nullable`. */) to unblock this upgrade. Let me know if you'd like me to file a separate NullAway issue for this topic, or whether there's an existing issue I can link to.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

3 participants