Skip to content

Conversation

@radcortez
Copy link
Member

@radcortez radcortez commented Dec 19, 2025

SmallRye Config Release notes:

3.15.0

  • #1447 Release 3.15.0
  • #1446 Matcher for property names
  • #1444 Ensure modular access when reflecting
  • #1442 Bump kotlin.version from 2.2.21 to 2.3.0
  • #1441 Bump pymdown-extensions from 10.15 to 10.16.1 in /documentation
  • #1440 Bump org.ow2.asm:asm from 9.9 to 9.9.1
  • #1439 Bump actions/upload-artifact from 5 to 6
  • #1438 Support `Map<String, Optional<String>>` in `@ConfigMapping`
  • #1437 Add a `isDefault` method to `ConfigValue` to check if the value is a default
  • #1435 Bump urllib3 from 2.5.0 to 2.6.0 in /documentation
  • #1434 Provide a way to enable / disable cache of property names when building the config
  • #1433 Bump io.smallrye:smallrye-parent from 47 to 48
  • #1432 Bump actions/checkout from 5 to 6
  • #1431 Bump io.fabric8:docker-maven-plugin from 0.47.0 to 0.48.0
  • #1430 Document that when using Map quoted key, they must be use the same quoted format
  • #1429 Support single underscore to represent ending quote in property name environment variable matching
  • #1428 Throw IllegalArgumentException when using self-reference types
  • #1426 Bump io.smallrye.common:smallrye-common-bom from 2.13.9 to 2.14.0
  • #1425 docs: remove unexisting converters
  • #1424 Bump version.smallrye.testing from 2.4.0 to 2.4.1
  • #1423 Bump io.fabric8:docker-maven-plugin from 0.46.0 to 0.47.0
  • #1422 Bump io.sundr:sundr-maven-plugin from 0.230.1 to 0.230.2
  • #1421 Bump actions/upload-artifact from 4 to 5
  • #1420 Bump kotlin.version from 2.2.20 to 2.2.21
  • #1419 Introduce exact methods to get values from String, int and boolean
  • #1418 Bump io.sundr:sundr-maven-plugin from 0.230.0 to 0.230.1
  • #1417 Bump io.sundr:sundr-maven-plugin from 0.220.1 to 0.230.0
  • #1416 Bump org.ow2.asm:asm from 9.8 to 9.9

Quarkus:

@quarkus-bot quarkus-bot bot added area/config area/core area/dependencies Pull requests that update a dependency file area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/gradle Gradle area/reactive-messaging area/smallrye labels Dec 19, 2025
@radcortez radcortez marked this pull request as ready for review December 20, 2025 23:51
@quarkus-bot

This comment has been minimized.

@quarkus-bot

This comment has been minimized.

@github-actions
Copy link

github-actions bot commented Dec 21, 2025

🎊 PR Preview 9dfee3f has been successfully built and deployed to https://quarkus-pr-main-51671-preview.surge.sh/version/main/guides/

  • Images of blog posts older than 3 months are not available.
  • Newsletters older than 3 months are not available.

@quarkus-bot

This comment has been minimized.

@ConfigDocIgnore
@WithParentName
Map<String, String> channelConfig();
Map<String, Optional<String>> channelConfig();
Copy link
Member

Choose a reason for hiding this comment

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

When can this happen?

Copy link
Member Author

Choose a reason for hiding this comment

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

This one is to resolve:

Usually, in our configuration for named groups, we map every possible name, where each name is either required or optional (take, for instance, the JDBC configuration). In the case of the RM config, the named clients' configuration depends on the value of the connector, meaning that effectively any name in the channelConfig is optional.

A Map<String, String>, makes the value required if a key is found, so for this case, it must be a Map<String, Optional>. This kind of mapping was not implemented in SR Config, and I've added it for this use case.

…loyment/menu/DependenciesProcessor.java

Co-authored-by: George Gastaldi <[email protected]>
@quarkus-bot
Copy link

quarkus-bot bot commented Dec 23, 2025

Status for workflow Quarkus Documentation CI

This is the status report for running Quarkus Documentation CI on commit f2fe916.

✅ The latest workflow run for the pull request has completed successfully.

It should be safe to merge provided you have a look at the other checks in the summary.

Warning

There are other workflow runs running, you probably need to wait for their status before merging.

@quarkus-bot
Copy link

quarkus-bot bot commented Dec 23, 2025

Status for workflow Quarkus CI

This is the status report for running Quarkus CI on commit f2fe916.

Failing Jobs

Status Name Step Failures Logs Raw logs Build scan
✔️ JVM Tests - JDK 17 Logs Raw logs 🔍
✔️ JVM Tests - JDK 21 Logs Raw logs 🔍
JVM Tests - JDK 21 Semeru Build Failures Logs Raw logs 🔍
✔️ JVM Tests - JDK 25 Logs Raw logs 🔍
✔️ JVM Integration Tests - JDK 17 Logs Raw logs 🔍
✔️ JVM Integration Tests - JDK 17 Windows Logs Raw logs 🔍
JVM Integration Tests - JDK 21 Build Failures Logs Raw logs 🔍
✔️ JVM Integration Tests - JDK 21 Semeru Logs Raw logs 🔍
✔️ JVM Integration Tests - JDK 25 Logs Raw logs 🔍

Full information is available in the Build summary check run.
You can consult the Develocity build scans.

Failures

⚙️ JVM Tests - JDK 21 Semeru #

- Failing: extensions/panache/hibernate-orm-panache-kotlin/runtime 
! Skipped: devtools/bom-descriptor-json extensions/panache/hibernate-orm-panache-kotlin/deployment 

📦 extensions/panache/hibernate-orm-panache-kotlin/runtime

Failed to execute goal org.jetbrains.kotlin:kotlin-maven-plugin:2.3.0:compile (compile) on project quarkus-hibernate-orm-panache-kotlin: Compilation failure


⚙️ JVM Integration Tests - JDK 21 #

- Failing: integration-tests/spring-web 

📦 integration-tests/spring-web

io.quarkus.it.spring.web.SpringSchedulerTest.testCount line 22 - History - More details - Source on GitHub

Details
org.opentest4j.AssertionFailedError: expected: <true> but was: <false>
	at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:158)
	at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:139)
	at org.junit.jupiter.api.AssertTrue.failNotTrue(AssertTrue.java:69)
	at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:41)
	at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:35)
	at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:195)
	at io.quarkus.it.spring.web.SpringSchedulerTest.testCount(SpringSchedulerTest.java:22)

Flaky tests - Develocity

⚙️ JVM Tests - JDK 25

📦 extensions/smallrye-reactive-messaging/deployment

io.quarkus.smallrye.reactivemessaging.hotreload.ConnectorChangeTest.testUpdatingConnector - History

  • Expecting actual: ["-6","-7","-9","-10","-11","-12","-13","-14"] to start with: ["-6", "-7", "-8", "-9"] - java.lang.AssertionError
Details
java.lang.AssertionError: 

Expecting actual:
  ["-6","-7","-9","-10","-11","-12","-13","-14"]
to start with:
  ["-6", "-7", "-8", "-9"]

	at io.quarkus.smallrye.reactivemessaging.hotreload.ConnectorChangeTest.testUpdatingConnector(ConnectorChangeTest.java:41)

⚙️ JVM Integration Tests - JDK 17

📦 integration-tests/mailer

io.quarkus.it.mailer.MailerTest.sendHtmlEmail - History

  • java.lang.RuntimeException: java.lang.reflect.InvocationTargetException - java.lang.RuntimeException
Details
java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at io.quarkus.test.junit.QuarkusTestExtension.throwBootFailureException(QuarkusTestExtension.java:668)
	at io.quarkus.test.junit.QuarkusTestExtension.interceptTestClassConstructor(QuarkusTestExtension.java:763)
	at java.base/java.util.Optional.orElseGet(Optional.java:364)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at io.quarkus.test.junit.TestResourceUtil$TestResourceManagerReflections.startReflectively(TestResourceUtil.java:217)

📦 integration-tests/oidc-wiremock

io.quarkus.it.keycloak.CodeFlowAuthorizationTest.testCodeFlowUserInfoCachedInIdToken - History

  • expected: <true> but was: <false> - org.opentest4j.AssertionFailedError
Details
org.opentest4j.AssertionFailedError: expected: <true> but was: <false>
	at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:158)
	at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:139)
	at org.junit.jupiter.api.AssertTrue.failNotTrue(AssertTrue.java:69)
	at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:41)
	at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:35)
	at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:195)
	at io.quarkus.it.keycloak.CodeFlowAuthorizationTest.testCodeFlowUserInfoCachedInIdToken(CodeFlowAuthorizationTest.java:431)

⚙️ JVM Integration Tests - JDK 21

📦 integration-tests/virtual-threads/grpc-virtual-threads

io.quarkus.grpc.example.streaming.VirtualThreadTest.testGrpcClient - History

  • 1 expectation failed. Expected status code <200> but was <500>. - java.lang.AssertionError
Details
java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:73)
	at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:60)

@gsmet gsmet merged commit 3bb3661 into quarkusio:main Dec 23, 2025
66 of 68 checks passed
@quarkus-bot quarkus-bot bot added this to the 3.31 - main milestone Dec 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/config area/core area/dependencies Pull requests that update a dependency file area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/gradle Gradle area/reactive-messaging area/resteasy-classic area/smallrye kind/bugfix triage/flaky-test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

mp.messaging creating unrecognized configuration key In Quarkus Messaging missing required fields fail deploy when channel is disabled

3 participants