Skip to content

Conversation

dependabot[bot]
Copy link

@dependabot dependabot bot commented on behalf of github Sep 16, 2025

Bumps the mutiny group with 1 update: io.smallrye.reactive:mutiny.

Updates io.smallrye.reactive:mutiny from 2.9.4 to 3.0.0

Release notes

Sourced from io.smallrye.reactive:mutiny's releases.

3.0.0

Changelog

🚀 Features

  • 629e16d 🚨 allow Uni.join.all() empty lists

🐛 Fixes

  • 54c89e9 correct typos in documentation comments for buffer size methods

🔄️ Changes

  • 67fe9de misc code polishing edits
  • c5949db changing the TT to E based on the pr comment
  • f4d5bee 🚨 make the onFailure to be typed when we use onFailure(RuntimeException.class)

🧪 Tests

  • 7ac49be add tests to cover all the methods with typed Exception handling

🧰 Tasks

release

  • c5fcd0a update version metadata for Mutiny 3.0.0
  • 0d0b8b2 set development version to 999-SNAPSHOT

🛠 Build

deps

  • 6499b27 bump org.apache.maven.plugins:maven-shade-plugin
  • 92bd147 bump version.surefire.plugin from 3.2.5 to 3.5.4
  • 5d65673 bump io.smallrye:jandex-maven-plugin from 3.4.0 to 3.5.0
  • 54fbb54 bump io.projectreactor:reactor-core from 3.7.10 to 3.7.11
  • 236340c bump kotlin.version from 2.2.10 to 2.2.20
  • 2cd313b bump io.projectreactor:reactor-core from 3.7.9 to 3.7.10
  • f0468cd bump actions/setup-python from 5 to 6
  • 9d7b3b5 bump codecov/codecov-action from 5.5.0 to 5.5.1
  • 3ef5709 bump org.codehaus.mojo:versions-maven-plugin
  • c3d87ae bump org.jreleaser:jreleaser-maven-plugin
  • 272fcf6 bump actions/setup-java from 4 to 5
  • 5fb0cb1 bump codecov/codecov-action from 5.4.3 to 5.5.0
  • 4ba16a9 bump net.bytebuddy:byte-buddy from 1.17.6 to 1.17.7
  • 8907f07 bump actions/checkout from 4 to 5
  • 1ebe9c1 bump kotlin.version from 2.2.0 to 2.2.10
  • a5506a5 bump io.projectreactor:reactor-core from 3.7.8 to 3.7.9
  • 1e190a2 bump org.assertj:assertj-core from 3.27.3 to 3.27.4
  • 6d57d28 bump io.smallrye.common:smallrye-common-annotation
  • b4dfb9b bump io.smallrye.config:smallrye-config
  • 7cad939 bump io.smallrye:jandex-maven-plugin from 3.2.7 to 3.4.0

deps-dev

... (truncated)

Commits
  • c5fcd0a chore(release): update version metadata for Mutiny 3.0.0
  • da75a78 Merge pull request #1956 from jponge/misc/cleanups-pre-3.0.0
  • 67fe9de style: misc code polishing edits
  • 8168cbb Merge pull request #1955 from smallrye/dependabot/maven/org.apache.maven.plug...
  • c195471 Merge pull request #1954 from smallrye/dependabot/maven/version.surefire.plug...
  • 2adb822 Merge pull request #1953 from smallrye/dependabot/maven/io.smallrye-jandex-ma...
  • 6499b27 build(deps): bump org.apache.maven.plugins:maven-shade-plugin
  • 92bd147 build(deps): bump version.surefire.plugin from 3.2.5 to 3.5.4
  • 5d65673 build(deps): bump io.smallrye:jandex-maven-plugin from 3.4.0 to 3.5.0
  • b282f42 Merge pull request #1848 from hadadil/makeOnFailureToBeTyped
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

@dependabot dependabot bot added dependencies Pull requests that update a dependency file java Pull requests that update java code labels Sep 16, 2025
Bumps the mutiny group with 1 update: [io.smallrye.reactive:mutiny](https://github.com/smallrye/smallrye-mutiny).

Updates `io.smallrye.reactive:mutiny` from 2.9.4 to 3.0.0
- [Release notes](https://github.com/smallrye/smallrye-mutiny/releases)
- [Commits](smallrye/smallrye-mutiny@2.9.4...3.0.0)

---
updated-dependencies:
- dependency-name: io.smallrye.reactive:mutiny
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: mutiny
...

Signed-off-by: dependabot[bot] <[email protected]>
@DavideD DavideD force-pushed the dependabot/gradle/main/mutiny-ab532cbfc2 branch from fa6f0c8 to 7764782 Compare September 24, 2025 09:33
}

@Override
default Id generate(

Check notice

Code scanning / CodeQL

Confusing overloading of methods Note

Method ReactiveIdentifierGenerator.generate(..) could be confused with overloaded method
generate
, since dispatch depends on static types.

Copilot Autofix

AI 16 days ago

To resolve confusing overloading, the best approach is to give the methods clearer, more specialized names that convey their intended use and reduce ambiguity. Specifically:

  • Rename generate(ReactiveConnectionSupplier session, Object entity) to generateReactive(...).
  • Rename the "4-argument" variant's default implementation likewise to generateReactive(...).
  • The methods overriding the super-interface (the synchronous versions) should keep their names and signatures for correct interface implementation, but should not create further ambiguity.
  • In all implementations and references within this interface, update calls appropriately.

This avoids confusion without changing existing synchronous API contracts, and signals clearly to implementors and users which method is for which paradigm (reactive vs. blocking).

All changes are within hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/ReactiveIdentifierGenerator.java, inside the interface definition.

Suggested changeset 1
hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/ReactiveIdentifierGenerator.java

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/ReactiveIdentifierGenerator.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/ReactiveIdentifierGenerator.java
--- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/ReactiveIdentifierGenerator.java
+++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/ReactiveIdentifierGenerator.java
@@ -37,10 +37,10 @@
 	 *
 	 * @param session the reactive session
 	 */
-	CompletionStage<Id> generate(ReactiveConnectionSupplier session, Object entity);
+	CompletionStage<Id> generateReactive(ReactiveConnectionSupplier session, Object entity);
 
-	default CompletionStage<Id> generate(ReactiveConnectionSupplier session, Object owner, Object currentValue, EventType eventType) {
-		return generate( session, owner );
+	default CompletionStage<Id> generateReactive(ReactiveConnectionSupplier session, Object owner, Object currentValue, EventType eventType) {
+		return generateReactive( session, owner );
 	}
 
 	@Override
EOF
@@ -37,10 +37,10 @@
*
* @param session the reactive session
*/
CompletionStage<Id> generate(ReactiveConnectionSupplier session, Object entity);
CompletionStage<Id> generateReactive(ReactiveConnectionSupplier session, Object entity);

default CompletionStage<Id> generate(ReactiveConnectionSupplier session, Object owner, Object currentValue, EventType eventType) {
return generate( session, owner );
default CompletionStage<Id> generateReactive(ReactiveConnectionSupplier session, Object owner, Object currentValue, EventType eventType) {
return generateReactive( session, owner );
}

@Override
Copilot is powered by AI and may make mistakes. Always verify output.
}

@Override
default Object generate(SharedSessionContractImplementor session, Object object){

Check notice

Code scanning / CodeQL

Confusing overloading of methods Note

Method ReactiveIdentifierGenerator.generate(..) could be confused with overloaded method
generate
, since dispatch depends on static types.

Copilot Autofix

AI 16 days ago

To fix the problem, avoid method overloading with two parameters of similar or potentially confusing types. In this case, rename the method generate(SharedSessionContractImplementor session, Object object) (which overrides the superclass method) to a distinct name, for example, generateWithSharedSession. However, since it is overriding an interface method from the Hibernate framework (IdentifierGenerator), directly renaming may break the contract. Instead, the best fix (per the example recommendation) is to clarify the interface by providing distinct names for new methods introduced in this interface, so clients invoking reactive methods will clearly invoke the correct implementation.

The best course is to:

  • Keep the overridden methods (with @Override) as required by the contract.
  • Rename the reactive-specific method to a new name, such as generateReactive, so that there's no confusion for users.
  • Fix all usages within this file so that generate reactive method is now named something distinct, and update the default methods accordingly.

All changes will be made in hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/ReactiveIdentifierGenerator.java. No additional imports are required. Only method names and their call sites will be updated.

Suggested changeset 1
hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/ReactiveIdentifierGenerator.java

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/ReactiveIdentifierGenerator.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/ReactiveIdentifierGenerator.java
--- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/ReactiveIdentifierGenerator.java
+++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/ReactiveIdentifierGenerator.java
@@ -37,10 +37,10 @@
 	 *
 	 * @param session the reactive session
 	 */
-	CompletionStage<Id> generate(ReactiveConnectionSupplier session, Object entity);
+	CompletionStage<Id> generateReactive(ReactiveConnectionSupplier session, Object entity);
 
-	default CompletionStage<Id> generate(ReactiveConnectionSupplier session, Object owner, Object currentValue, EventType eventType) {
-		return generate( session, owner );
+	default CompletionStage<Id> generateReactive(ReactiveConnectionSupplier session, Object owner, Object currentValue, EventType eventType) {
+		return generateReactive( session, owner );
 	}
 
 	@Override
EOF
@@ -37,10 +37,10 @@
*
* @param session the reactive session
*/
CompletionStage<Id> generate(ReactiveConnectionSupplier session, Object entity);
CompletionStage<Id> generateReactive(ReactiveConnectionSupplier session, Object entity);

default CompletionStage<Id> generate(ReactiveConnectionSupplier session, Object owner, Object currentValue, EventType eventType) {
return generate( session, owner );
default CompletionStage<Id> generateReactive(ReactiveConnectionSupplier session, Object owner, Object currentValue, EventType eventType) {
return generateReactive( session, owner );
}

@Override
Copilot is powered by AI and may make mistakes. Always verify output.
this.uniqueKeyPropertyNames = uniqueKeyPropertyNames;
uniqueKeyTypes = new Type[ uniqueKeyPropertyNames.length ];
for ( int i = 0; i < uniqueKeyPropertyNames.length; i++ ) {
uniqueKeyTypes[i] = persister.getPropertyType( uniqueKeyPropertyNames[i] );

Check notice

Code scanning / CodeQL

Deprecated method or constructor invocation Note

Invoking
EntityPersister.getPropertyType
should be avoided because it has been deprecated.

Copilot Autofix

AI 16 days ago

To fix the problem, replace the usage of the deprecated persister.getPropertyType(String propertyName) method with its recommended alternative.

For Hibernate 5.4+ and certainly Hibernate 6.x+, the alternative is to use the persister.getPropertyType(PropertyPath) or the new metadata system, typically:

  • persister.getPropertyType(int propertyIndex)
  • or for modern Hibernate:
    • persister.getPropertyMapping().getType(String propertyName) (Hibernate 5.4+)
    • or fetch the AttributeMapping from the new runtime metamodel API, then call .getJdbcMapping().getJavaTypeDescriptor().

The simplest, backward- and forward-compatible replacement is to use:

persister.getPropertyMapping().getType(uniqueKeyPropertyNames[i])

This assumes that getPropertyMapping() is available and returns something with a getType(String) method, which is true for most versions of Hibernate since 5.x.

Changes to make:

  • In the constructor, on line 47, change:
    uniqueKeyTypes[i] = persister.getPropertyType( uniqueKeyPropertyNames[i] );
    to
    uniqueKeyTypes[i] = persister.getPropertyMapping().getType( uniqueKeyPropertyNames[i] );
  • No changes to imports or other definitions are needed as getPropertyMapping() should already be available, and its return type exposes getType(String), returning a Type.
  • No existing functionality is affected: the new code retrieves exactly the same information as the deprecated method but avoids deprecated API use.

Suggested changeset 1
hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/insert/ReactiveUniqueKeySelectingDelegate.java

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/insert/ReactiveUniqueKeySelectingDelegate.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/insert/ReactiveUniqueKeySelectingDelegate.java
--- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/insert/ReactiveUniqueKeySelectingDelegate.java
+++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/insert/ReactiveUniqueKeySelectingDelegate.java
@@ -44,7 +44,7 @@
 		this.uniqueKeyPropertyNames = uniqueKeyPropertyNames;
 		uniqueKeyTypes = new Type[ uniqueKeyPropertyNames.length ];
 		for ( int i = 0; i < uniqueKeyPropertyNames.length; i++ ) {
-			uniqueKeyTypes[i] = persister.getPropertyType( uniqueKeyPropertyNames[i] );
+			uniqueKeyTypes[i] = persister.getPropertyMapping().getType( uniqueKeyPropertyNames[i] );
 		}
 	}
 
EOF
@@ -44,7 +44,7 @@
this.uniqueKeyPropertyNames = uniqueKeyPropertyNames;
uniqueKeyTypes = new Type[ uniqueKeyPropertyNames.length ];
for ( int i = 0; i < uniqueKeyPropertyNames.length; i++ ) {
uniqueKeyTypes[i] = persister.getPropertyType( uniqueKeyPropertyNames[i] );
uniqueKeyTypes[i] = persister.getPropertyMapping().getType( uniqueKeyPropertyNames[i] );
}
}

Copilot is powered by AI and may make mistakes. Always verify output.
Copy link
Author

dependabot bot commented on behalf of github Oct 6, 2025

Looks like io.smallrye.reactive:mutiny is no longer updatable, so this is no longer needed.

@dependabot dependabot bot closed this Oct 6, 2025
@dependabot dependabot bot deleted the dependabot/gradle/main/mutiny-ab532cbfc2 branch October 6, 2025 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file java Pull requests that update java code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants