VYPR
High severityNVD Advisory· Published Dec 9, 2023· Updated Mar 24, 2026

Quarkus: graphql operations over websockets bypass

CVE-2023-6394

Description

Quarkus processes unauthenticated WebSocket GraphQL requests when no role-based permission is specified, bypassing endpoint security.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

Quarkus processes unauthenticated WebSocket GraphQL requests when no role-based permission is specified, bypassing endpoint security.

Vulnerability

Overview

CVE-2023-6394 describes a security bypass in Quarkus that occurs when processing GraphQL requests over WebSocket connections. The root cause is that when a GraphQL operation is received over a WebSocket without a role-based permission annotation, Quarkus processes the request without performing authentication, even though the endpoint is configured as secured [1][3]. This behavior effectively bypasses the intended access controls.

Exploitation

Conditions

An attacker can exploit this flaw by sending crafted GraphQL requests over WebSocket to a Quarkus endpoint that is supposed to be protected. No special authentication or privileges are needed; the vulnerability is triggered simply by omitting role-based permissions on the GraphQL operation. The attack is network-based and does not require user interaction [1][3].

Impact

Successful exploitation allows an attacker to access sensitive information and invoke functionality that is outside the scope of normal granted API permissions. This could lead to unauthorized data exposure or privilege escalation, depending on the application's GraphQL schema and business logic [1][3].

Mitigation

Red Hat has addressed this issue in Red Hat build of Quarkus 2.13.9, as detailed in RHSA-2023:7700 [4]. Users should upgrade to the patched version to remediate the vulnerability. No workarounds are mentioned in the available references.

AI Insight generated on May 20, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
io.quarkus:quarkus-smallrye-graphql-clientMaven
>= 2.14.0, < 3.5.33.5.3
io.quarkus:quarkus-smallrye-graphql-clientMaven
< 2.13.9.Final2.13.9.Final

Affected products

3
  • Red Hat/Red Hat build of Quarkus 2.13.9.Finalv5
    cpe:/a:redhat:quarkus:2.13
    Range: 2.13.9.Final-redhat-00002
  • Red Hat/Red Hat build of Quarkus 3.2.9.Finalv5
    cpe:/a:redhat:quarkus:3.2::el8
    Range: 3.2.9.Final-redhat-00002
  • ghsa-coords
    Range: >= 2.14.0, < 3.5.3

Patches

2
dc364b898175

[RELEASE] - Bump version to 3.6.0

https://github.com/quarkusio/quarkusGuillaume SmetNov 22, 2023via osv
300 files changed · +304 304
  • bom/application/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-project</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • bom/test/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-project</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • build-parent/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-project</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • core/builder/pom.xml+1 1 modified
    @@ -10,7 +10,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-build-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../../build-parent/pom.xml</relativePath>
         </parent>
     
    
  • core/class-change-agent/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <artifactId>quarkus-build-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../../build-parent/pom.xml</relativePath>
         </parent>
     
    
  • core/deployment/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-core-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-core-deployment</artifactId>
    
  • core/devmode-spi/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-build-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../../build-parent/pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • core/junit4-mock/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-core-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-junit4-mock</artifactId>
    
  • core/launcher/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-build-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../../build-parent/pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • core/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-build-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../build-parent/pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • core/processor/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-core-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-extension-processor</artifactId>
    
  • core/runtime/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-core-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-core</artifactId>
    
  • coverage-report/pom.xml+1 1 modified
    @@ -4,7 +4,7 @@
         <parent>
             <artifactId>quarkus-build-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../build-parent/pom.xml</relativePath>
         </parent>
         <artifactId>quarkus-coverage-report</artifactId>
    
  • devtools/bom-descriptor-json/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-devtools-all</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • devtools/cli/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-build-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../../build-parent/pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • devtools/gradle/gradle-application-plugin/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>io.quarkus.gradle.plugin.parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • devtools/gradle/gradle-extension-plugin/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>io.quarkus.gradle.plugin.parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • devtools/gradle/gradle-model/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>io.quarkus.gradle.plugin.parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • devtools/gradle/gradle.properties+1 1 modified
    @@ -1 +1 @@
    -version = 999-SNAPSHOT
    +version = 3.6.0
    
  • devtools/gradle/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-build-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../../build-parent/pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • devtools/maven/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-build-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../../build-parent/pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • devtools/platform-properties/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-devtools-all</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • devtools/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <artifactId>quarkus-build-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../build-parent/pom.xml</relativePath>
         </parent>
     
    
  • devtools/project-core-extension-codestarts/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-devtools-all</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-project-core-extension-codestarts</artifactId>
    
  • docs/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-build-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../build-parent/pom.xml</relativePath>
         </parent>
     
    
  • extensions/agroal/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-agroal-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/agroal/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/agroal/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-agroal-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/agroal/spi/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-agroal-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/amazon-lambda/common-deployment/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-amazon-lambda-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/amazon-lambda/common-runtime/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-amazon-lambda-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/amazon-lambda/deployment/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-amazon-lambda-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/amazon-lambda/event-server/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-amazon-lambda-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/amazon-lambda-http/deployment/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-amazon-lambda-http-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/amazon-lambda-http/http-event-server/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-amazon-lambda-http-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/amazon-lambda-http/maven-archetype/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-amazon-lambda-http-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/amazon-lambda-http/maven-archetype/src/main/resources/archetype-resources/pom.xml+2 2 modified
    @@ -14,10 +14,10 @@
             <maven.compiler.source>11</maven.compiler.source>
             <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
             <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    -        <quarkus-plugin.version>999-SNAPSHOT</quarkus-plugin.version>
    +        <quarkus-plugin.version>3.6.0</quarkus-plugin.version>
             <quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
             <quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
    -        <quarkus.platform.version>999-SNAPSHOT</quarkus.platform.version>
    +        <quarkus.platform.version>3.6.0</quarkus.platform.version>
             <surefire-plugin.version>3.1.2</surefire-plugin.version>
         </properties>
         <dependencyManagement>
    
  • extensions/amazon-lambda-http/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/amazon-lambda-http/runtime/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-amazon-lambda-http-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/amazon-lambda/maven-archetype/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-amazon-lambda-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/amazon-lambda/maven-archetype/src/main/resources/archetype-resources/pom.xml+2 2 modified
    @@ -13,10 +13,10 @@
             <maven.compiler.source>11</maven.compiler.source>
             <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
             <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    -        <quarkus-plugin.version>999-SNAPSHOT</quarkus-plugin.version>
    +        <quarkus-plugin.version>3.6.0</quarkus-plugin.version>
             <quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
             <quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
    -        <quarkus.platform.version>999-SNAPSHOT</quarkus.platform.version>
    +        <quarkus.platform.version>3.6.0</quarkus.platform.version>
             <surefire-plugin.version>3.1.2</surefire-plugin.version>
         </properties>
         <dependencyManagement>
    
  • extensions/amazon-lambda/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/amazon-lambda-rest/deployment/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-amazon-lambda-rest-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/amazon-lambda-rest/maven-archetype/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-amazon-lambda-rest-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/amazon-lambda-rest/maven-archetype/src/main/resources/archetype-resources/pom.xml+2 2 modified
    @@ -14,10 +14,10 @@
             <maven.compiler.source>11</maven.compiler.source>
             <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
             <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    -        <quarkus-plugin.version>999-SNAPSHOT</quarkus-plugin.version>
    +        <quarkus-plugin.version>3.6.0</quarkus-plugin.version>
             <quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
             <quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
    -        <quarkus.platform.version>999-SNAPSHOT</quarkus.platform.version>
    +        <quarkus.platform.version>3.6.0</quarkus.platform.version>
             <surefire-plugin.version>3.1.2</surefire-plugin.version>
         </properties>
         <dependencyManagement>
    
  • extensions/amazon-lambda-rest/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/amazon-lambda-rest/rest-event-server/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-amazon-lambda-rest-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/amazon-lambda-rest/runtime/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-amazon-lambda-rest-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/amazon-lambda/runtime/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-amazon-lambda-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/amazon-lambda-xray/deployment/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-amazon-lambda-xray-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/amazon-lambda-xray/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/amazon-lambda-xray/runtime/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-amazon-lambda-xray-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/apache-httpclient/deployment/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-apache-httpclient-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <artifactId>quarkus-apache-httpclient-deployment</artifactId>
         <name>Quarkus - Apache HttpClient - Deployment</name>
    
  • extensions/apache-httpclient/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-extensions-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <artifactId>quarkus-apache-httpclient-parent</artifactId>
         <packaging>pom</packaging>
    
  • extensions/apache-httpclient/runtime/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-apache-httpclient-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <artifactId>quarkus-apache-httpclient</artifactId>
         <name>Quarkus - Apache HttpClient - Runtime</name>
    
  • extensions/arc/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-arc-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/arc/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/arc/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
       <parent>
         <artifactId>quarkus-arc-parent</artifactId>
         <groupId>io.quarkus</groupId>
    -    <version>999-SNAPSHOT</version>
    +    <version>3.6.0</version>
       </parent>
       <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/avro/deployment/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-avro-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-avro-deployment</artifactId>
    
  • extensions/avro/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
        <parent>
           <artifactId>quarkus-extensions-parent</artifactId>
           <groupId>io.quarkus</groupId>
    -      <version>999-SNAPSHOT</version>
    +      <version>3.6.0</version>
           <relativePath>../pom.xml</relativePath>
        </parent>
     
    
  • extensions/avro/runtime/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-avro-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-avro</artifactId>
    
  • extensions/awt/deployment/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-awt-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <artifactId>quarkus-awt-deployment</artifactId>
         <name>Quarkus - AWT - Deployment</name>
    
  • extensions/awt/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-extensions-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <artifactId>quarkus-awt-parent</artifactId>
         <packaging>pom</packaging>
    
  • extensions/awt/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-awt-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <artifactId>quarkus-awt</artifactId>
         <name>Quarkus - AWT - Runtime</name>
    
  • extensions/azure-functions/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-azure-functions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/azure-functions-http/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-azure-functions-http-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/azure-functions-http/pom.xml+1 1 modified
    @@ -21,7 +21,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/azure-functions-http/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-azure-functions-http-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/azure-functions/pom.xml+1 1 modified
    @@ -21,7 +21,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/azure-functions/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-azure-functions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/cache/deployment/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <artifactId>quarkus-cache-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-cache-deployment</artifactId>
    
  • extensions/cache/deployment-spi/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-cache-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/cache/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/cache/runtime/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <artifactId>quarkus-cache-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-cache</artifactId>
    
  • extensions/cache/runtime-spi/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-cache-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/caffeine/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-caffeine-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/caffeine/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/caffeine/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-caffeine-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/config-yaml/deployment/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-config-yaml-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-config-yaml-deployment</artifactId>
    
  • extensions/config-yaml/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
        <parent>
            <artifactId>quarkus-extensions-parent</artifactId>
            <groupId>io.quarkus</groupId>
    -       <version>999-SNAPSHOT</version>
    +       <version>3.6.0</version>
            <relativePath>../pom.xml</relativePath>
        </parent>
        <modelVersion>4.0.0</modelVersion>
    
  • extensions/config-yaml/runtime/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-config-yaml-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-config-yaml</artifactId>
    
  • extensions/container-image/container-image-buildpack/deployment/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-container-image-buildpack-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-container-image-buildpack-deployment</artifactId>
    
  • extensions/container-image/container-image-buildpack/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-container-image-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/container-image/container-image-buildpack/runtime/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-container-image-buildpack-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-container-image-buildpack</artifactId>
    
  • extensions/container-image/container-image-docker/deployment/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-container-image-docker-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-container-image-docker-deployment</artifactId>
    
  • extensions/container-image/container-image-docker/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-container-image-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/container-image/container-image-docker/runtime/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-container-image-docker-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-container-image-docker</artifactId>
    
  • extensions/container-image/container-image-jib/deployment/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-container-image-jib-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-container-image-jib-deployment</artifactId>
    
  • extensions/container-image/container-image-jib/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-container-image-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/container-image/container-image-jib/runtime/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-container-image-jib-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-container-image-jib</artifactId>
    
  • extensions/container-image/container-image-openshift/deployment/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-container-image-openshift-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-container-image-openshift-deployment</artifactId>
    
  • extensions/container-image/container-image-openshift/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-container-image-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/container-image/container-image-openshift/runtime/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-container-image-openshift-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-container-image-openshift</artifactId>
    
  • extensions/container-image/container-image-s2i/deployment/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-container-image-s2i-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-container-image-s2i-deployment</artifactId>
    
  • extensions/container-image/container-image-s2i/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-container-image-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/container-image/container-image-s2i/runtime/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-container-image-s2i-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-container-image-s2i</artifactId>
    
  • extensions/container-image/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-container-image-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/container-image/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/container-image/runtime/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <artifactId>quarkus-container-image-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-container-image</artifactId>
    
  • extensions/container-image/spi/pom.xml+1 1 modified
    @@ -4,7 +4,7 @@
         <parent>
             <artifactId>quarkus-container-image-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/container-image/util/pom.xml+1 1 modified
    @@ -4,7 +4,7 @@
         <parent>
             <artifactId>quarkus-container-image-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/credentials/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-credentials-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/credentials/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/credentials/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-credentials-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/csrf-reactive/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-csrf-reactive-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/csrf-reactive/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/csrf-reactive/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-csrf-reactive-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/datasource/common/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-datasource-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/datasource/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-datasource-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/datasource/deployment-spi/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-datasource-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/datasource/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/datasource/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-datasource-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/devservices/common/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-devservices-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/devservices/db2/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-devservices-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/devservices/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-devservices-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/devservices/derby/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-devservices-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/devservices/h2/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-devservices-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/devservices/mariadb/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-devservices-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/devservices/mssql/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-devservices-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/devservices/mysql/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-devservices-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/devservices/oracle/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-devservices-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/devservices/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/devservices/postgresql/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-devservices-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/elasticsearch-java-client/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-elasticsearch-java-client-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/elasticsearch-java-client/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/elasticsearch-java-client/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-elasticsearch-java-client-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/elasticsearch-rest-client-common/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-elasticsearch-rest-client-common-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/elasticsearch-rest-client-common/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/elasticsearch-rest-client-common/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-elasticsearch-rest-client-common-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/elasticsearch-rest-client/deployment/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-elasticsearch-rest-client-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/elasticsearch-rest-client/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/elasticsearch-rest-client/runtime/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-elasticsearch-rest-client-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/elytron-security-common/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-elytron-security-common-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/elytron-security-common/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/elytron-security-common/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-elytron-security-common-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/elytron-security/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-elytron-security-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/elytron-security-jdbc/deployment/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-elytron-security-jdbc-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/elytron-security-jdbc/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-extensions-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/elytron-security-jdbc/runtime/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-elytron-security-jdbc-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/elytron-security-ldap/deployment/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-elytron-security-ldap-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/elytron-security-ldap/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-extensions-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/elytron-security-ldap/runtime/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-elytron-security-ldap-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/elytron-security-oauth2/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-elytron-security-oauth2-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/elytron-security-oauth2/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/elytron-security-oauth2/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-elytron-security-oauth2-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/elytron-security/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/elytron-security-properties-file/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-elytron-security-properties-file-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/elytron-security-properties-file/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/elytron-security-properties-file/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-elytron-security-properties-file-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/elytron-security/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-elytron-security-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/flyway/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-flyway-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/flyway/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/flyway/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-flyway-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/funqy/funqy-amazon-lambda/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-funqy-amazon-lambda-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/funqy/funqy-amazon-lambda/maven-archetype/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-funqy-amazon-lambda-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/funqy/funqy-amazon-lambda/maven-archetype/src/main/resources/archetype-resources/pom.xml+2 2 modified
    @@ -13,10 +13,10 @@
             <maven.compiler.source>11</maven.compiler.source>
             <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
             <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    -        <quarkus-plugin.version>999-SNAPSHOT</quarkus-plugin.version>
    +        <quarkus-plugin.version>3.6.0</quarkus-plugin.version>
             <quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
             <quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
    -        <quarkus.platform.version>999-SNAPSHOT</quarkus.platform.version>
    +        <quarkus.platform.version>3.6.0</quarkus.platform.version>
             <surefire-plugin.version>3.1.2</surefire-plugin.version>
         </properties>
         <dependencyManagement>
    
  • extensions/funqy/funqy-amazon-lambda/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-funqy-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/funqy/funqy-amazon-lambda/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-funqy-amazon-lambda-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/funqy/funqy-google-cloud-functions/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-funqy-google-cloud-functions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/funqy/funqy-google-cloud-functions/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-funqy-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/funqy/funqy-google-cloud-functions/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-funqy-google-cloud-functions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/funqy/funqy-http/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-funqy-http-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/funqy/funqy-http/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-funqy-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/funqy/funqy-http/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-funqy-http-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/funqy/funqy-knative-events/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-funqy-knative-events-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/funqy/funqy-knative-events/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-funqy-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/funqy/funqy-knative-events/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-funqy-knative-events-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/funqy/funqy-server-common/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-funqy-server-common-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/funqy/funqy-server-common/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-funqy-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/funqy/funqy-server-common/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-funqy-server-common-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/funqy/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/google-cloud-functions/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-google-cloud-functions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/google-cloud-functions-http/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-google-cloud-functions-http-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/google-cloud-functions-http/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/google-cloud-functions-http/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-google-cloud-functions-http-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/google-cloud-functions/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/google-cloud-functions/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-google-cloud-functions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/grpc/api/pom.xml+1 1 modified
    @@ -4,7 +4,7 @@
         <parent>
             <artifactId>quarkus-grpc-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-grpc-api</artifactId>
    
  • extensions/grpc/codegen/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <artifactId>quarkus-grpc-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-grpc-codegen</artifactId>
    
  • extensions/grpc-common/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-grpc-common-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/grpc-common/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/grpc-common/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-grpc-common-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/grpc/deployment/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <artifactId>quarkus-grpc-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-grpc-deployment</artifactId>
    
  • extensions/grpc/inprocess/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <artifactId>quarkus-grpc-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-grpc-inprocess</artifactId>
    
  • extensions/grpc/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/grpc/protoc/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <artifactId>quarkus-grpc-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-grpc-protoc-plugin</artifactId>
    
  • extensions/grpc/runtime/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <artifactId>quarkus-grpc-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-grpc</artifactId>
    
  • extensions/grpc/stubs/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <artifactId>quarkus-grpc-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-grpc-stubs</artifactId>
    
  • extensions/grpc/xds/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <artifactId>quarkus-grpc-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-grpc-xds</artifactId>
    
  • extensions/hal/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-hal-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/hal/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/hal/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-hal-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/hibernate-envers/deployment/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-hibernate-envers-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/hibernate-envers/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-extensions-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/hibernate-envers/runtime/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-hibernate-envers-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
     
    
  • extensions/hibernate-orm/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-hibernate-orm-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/hibernate-orm/deployment-spi/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-hibernate-orm-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/hibernate-orm/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/hibernate-orm/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-hibernate-orm-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/hibernate-reactive/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-hibernate-reactive-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/hibernate-reactive/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/hibernate-reactive/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-hibernate-reactive-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/hibernate-search-orm-coordination-outbox-polling/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-hibernate-search-orm-coordination-outbox-polling-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/hibernate-search-orm-coordination-outbox-polling/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/hibernate-search-orm-coordination-outbox-polling/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-hibernate-search-orm-coordination-outbox-polling-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/hibernate-search-orm-elasticsearch/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-hibernate-search-orm-elasticsearch-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/hibernate-search-orm-elasticsearch/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/hibernate-search-orm-elasticsearch/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-hibernate-search-orm-elasticsearch-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/hibernate-validator/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-hibernate-validator-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/hibernate-validator/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/hibernate-validator/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-hibernate-validator-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/hibernate-validator/spi/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-hibernate-validator-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/infinispan-client/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-infinispan-client-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/infinispan-client/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/infinispan-client/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-infinispan-client-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/info/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-info-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/info/deployment-spi/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-info-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/info/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/info/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-info-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/info/runtime-spi/pom.xml+1 1 modified
    @@ -6,7 +6,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-info-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jackson/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jackson-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jackson/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/jackson/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jackson-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jackson/spi/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jackson-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jaxb/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jaxb-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jaxb/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/jaxb/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jaxb-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jaxp/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jaxp-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jaxp/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/jaxp/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jaxp-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jaxrs-spi/deployment/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-jaxrs-spi-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-jaxrs-spi-deployment</artifactId>
    
  • extensions/jaxrs-spi/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/jdbc/jdbc-db2/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-db2-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-db2/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-db2/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-db2-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-derby/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-derby-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-derby/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-derby/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-derby-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-h2/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-h2-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-h2/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-h2/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-h2-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-mariadb/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-mariadb-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-mariadb/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-mariadb/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-mariadb-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-mssql/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-mssql-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-mssql/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-mssql/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-mssql-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-mysql/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-mysql-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-mysql/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-mysql/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-mysql-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-oracle/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-oracle-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-oracle/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-oracle/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-oracle-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-postgresql/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-postgresql-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-postgresql/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/jdbc-postgresql/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jdbc-postgresql-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jdbc/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/jms-spi/deployment/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-jms-spi-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-jms-spi-deployment</artifactId>
    
  • extensions/jms-spi/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/jsonb/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jsonb-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jsonb/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/jsonb/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jsonb-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jsonb/spi/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jsonb-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jsonp/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jsonp-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/jsonp/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/jsonp/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-jsonp-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/kafka-client/deployment/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-kafka-client-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-kafka-client-deployment</artifactId>
    
  • extensions/kafka-client/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
        <parent>
           <artifactId>quarkus-extensions-parent</artifactId>
           <groupId>io.quarkus</groupId>
    -      <version>999-SNAPSHOT</version>
    +      <version>3.6.0</version>
           <relativePath>../pom.xml</relativePath>
        </parent>
     
    
  • extensions/kafka-client/runtime/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-kafka-client-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-kafka-client</artifactId>
    
  • extensions/kafka-streams/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-kafka-streams-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/kafka-streams/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/kafka-streams/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-kafka-streams-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/keycloak-admin-client-common/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-keycloak-admin-client-common-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/keycloak-admin-client-common/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/keycloak-admin-client-common/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-keycloak-admin-client-common-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/keycloak-admin-client/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-keycloak-admin-client-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/keycloak-admin-client/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/keycloak-admin-client-reactive/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-keycloak-admin-client-reactive-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/keycloak-admin-client-reactive/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/keycloak-admin-client-reactive/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-keycloak-admin-client-reactive-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/keycloak-admin-client/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-keycloak-admin-client-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/keycloak-authorization/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-keycloak-authorization-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/keycloak-authorization/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/keycloak-authorization/runtime/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-keycloak-authorization-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/kotlin/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-kotlin-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/kotlin/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/kotlin/runtime/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-kotlin-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-kotlin</artifactId>
    
  • extensions/kubernetes-client/deployment-internal/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-kubernetes-client-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/kubernetes-client/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-kubernetes-client-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/kubernetes-client/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/kubernetes-client/runtime-internal/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-kubernetes-client-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-kubernetes-client-internal</artifactId>
    
  • extensions/kubernetes-client/runtime/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-kubernetes-client-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-kubernetes-client</artifactId>
    
  • extensions/kubernetes-client/spi/pom.xml+1 1 modified
    @@ -4,7 +4,7 @@
         <parent>
             <artifactId>quarkus-kubernetes-client-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/kubernetes-config/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-kubernetes-config-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/kubernetes-config/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/kubernetes-config/runtime/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-kubernetes-config-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-kubernetes-config</artifactId>
    
  • extensions/kubernetes-service-binding/deployment/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-kubernetes-service-binding-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
  • extensions/kubernetes-service-binding/pom.xml+1 1 modified
    @@ -5,7 +5,7 @@
         <parent>
             <artifactId>quarkus-extensions-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
             <relativePath>../pom.xml</relativePath>
         </parent>
         <modelVersion>4.0.0</modelVersion>
    
  • extensions/kubernetes-service-binding/runtime/pom.xml+1 1 modified
    @@ -7,7 +7,7 @@
         <parent>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-kubernetes-service-binding-parent</artifactId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
     
         <artifactId>quarkus-kubernetes-service-binding</artifactId>
    
  • extensions/kubernetes-service-binding/spi/pom.xml+1 1 modified
    @@ -4,7 +4,7 @@
         <parent>
             <artifactId>quarkus-kubernetes-service-binding-parent</artifactId>
             <groupId>io.quarkus</groupId>
    -        <version>999-SNAPSHOT</version>
    +        <version>3.6.0</version>
         </parent>
         <modelVersion>4.0.0</modelVersion>
     
    
25ee3bec78c8

Merge pull request #36961 from rubik-cube-man/smallrye-graphql-websocket-authorization

https://github.com/quarkusio/quarkusGuillaume SmetNov 16, 2023via ghsa-ref
18 files changed · +964 3
  • extensions/smallrye-graphql-client/deployment/pom.xml+10 0 modified
    @@ -63,6 +63,16 @@
                 <artifactId>stork-service-discovery-static-list</artifactId>
                 <scope>test</scope>
             </dependency>
    +        <dependency>
    +            <groupId>io.quarkus</groupId>
    +            <artifactId>quarkus-elytron-security-deployment</artifactId>
    +            <scope>test</scope>
    +        </dependency>
    +        <dependency>
    +            <groupId>io.quarkus</groupId>
    +            <artifactId>quarkus-elytron-security-properties-file-deployment</artifactId>
    +            <scope>test</scope>
    +        </dependency>
         </dependencies>
     
         <build>
    
  • extensions/smallrye-graphql-client/deployment/src/test/java/io/quarkus/smallrye/graphql/client/deployment/DynamicGraphQLClientWebSocketAuthenticationHttpPermissionsTest.java+137 0 added
    @@ -0,0 +1,137 @@
    +package io.quarkus.smallrye.graphql.client.deployment;
    +
    +import jakarta.annotation.security.RolesAllowed;
    +
    +import org.eclipse.microprofile.graphql.GraphQLApi;
    +import org.eclipse.microprofile.graphql.Query;
    +import org.jboss.shrinkwrap.api.asset.EmptyAsset;
    +import org.junit.jupiter.api.Assertions;
    +import org.junit.jupiter.api.Disabled;
    +import org.junit.jupiter.api.Test;
    +import org.junit.jupiter.api.extension.RegisterExtension;
    +
    +import io.quarkus.test.QuarkusUnitTest;
    +import io.smallrye.common.annotation.NonBlocking;
    +import io.smallrye.graphql.api.Subscription;
    +import io.smallrye.graphql.client.Response;
    +import io.smallrye.graphql.client.dynamic.api.DynamicGraphQLClient;
    +import io.smallrye.graphql.client.dynamic.api.DynamicGraphQLClientBuilder;
    +import io.smallrye.mutiny.Multi;
    +import io.smallrye.mutiny.helpers.test.AssertSubscriber;
    +import io.vertx.core.http.UpgradeRejectedException;
    +
    +/**
    + * Due to the complexity of establishing a WebSocket, WebSocket/Subscription testing of the GraphQL server is done here,
    + * as the client framework comes in very useful for establishing the connection to the server.
    + * <br>
    + * This test establishes connections to the server, and ensures that the connected user has the necessary permissions to
    + * execute the operation.
    + */
    +public class DynamicGraphQLClientWebSocketAuthenticationHttpPermissionsTest {
    +
    +    static String url = "http://" + System.getProperty("quarkus.http.host", "localhost") + ":" +
    +            System.getProperty("quarkus.http.test-port", "8081") + "/graphql";
    +
    +    @RegisterExtension
    +    static QuarkusUnitTest test = new QuarkusUnitTest()
    +            .withApplicationRoot((jar) -> jar
    +                    .addClasses(SecuredApi.class, Foo.class)
    +                    .addAsResource("application-secured-http-permissions.properties", "application.properties")
    +                    .addAsResource("users.properties")
    +                    .addAsResource("roles.properties")
    +                    .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml"));
    +
    +    @Disabled("TODO: enable after upgrade to smallrye-graphql 1.6.1, with 1.6.0 a websocket upgrade failure causes a hang here")
    +    @Test
    +    public void testUnauthenticatedForQueryWebSocket() throws Exception {
    +        DynamicGraphQLClientBuilder clientBuilder = DynamicGraphQLClientBuilder.newBuilder()
    +                .url(url)
    +                .executeSingleOperationsOverWebsocket(true);
    +        try (DynamicGraphQLClient client = clientBuilder.build()) {
    +            try {
    +                client.executeSync("{ baz { message} }");
    +                Assertions.fail("WebSocket upgrade should fail");
    +            } catch (UpgradeRejectedException e) {
    +                // ok
    +            }
    +        }
    +    }
    +
    +    @Test
    +    public void testUnauthenticatedForSubscriptionWebSocket() throws Exception {
    +        DynamicGraphQLClientBuilder clientBuilder = DynamicGraphQLClientBuilder.newBuilder()
    +                .url(url);
    +        try (DynamicGraphQLClient client = clientBuilder.build()) {
    +            AssertSubscriber<Response> subscriber = new AssertSubscriber<>();
    +            client.subscription("{ bazSub { message} }").subscribe().withSubscriber(subscriber);
    +            subscriber.awaitFailure().assertFailedWith(UpgradeRejectedException.class);
    +        }
    +    }
    +
    +    public static class Foo {
    +
    +        private String message;
    +
    +        public Foo(String foo) {
    +            this.message = foo;
    +        }
    +
    +        public String getMessage() {
    +            return message;
    +        }
    +
    +        public void setMessage(String message) {
    +            this.message = message;
    +        }
    +
    +    }
    +
    +    @GraphQLApi
    +    public static class SecuredApi {
    +
    +        @Query
    +        @RolesAllowed("fooRole")
    +        @NonBlocking
    +        public Foo foo() {
    +            return new Foo("foo");
    +        }
    +
    +        @Query
    +        @RolesAllowed("barRole")
    +        public Foo bar() {
    +            return new Foo("bar");
    +        }
    +
    +        @Query
    +        public Foo baz() {
    +            return new Foo("baz");
    +        }
    +
    +        @Subscription
    +        @RolesAllowed("fooRole")
    +        public Multi<Foo> fooSub() {
    +            return Multi.createFrom().emitter(emitter -> {
    +                emitter.emit(new Foo("foo"));
    +                emitter.complete();
    +            });
    +        }
    +
    +        @Subscription
    +        @RolesAllowed("barRole")
    +        public Multi<Foo> barSub() {
    +            return Multi.createFrom().emitter(emitter -> {
    +                emitter.emit(new Foo("bar"));
    +                emitter.complete();
    +            });
    +        }
    +
    +        @Subscription
    +        public Multi<Foo> bazSub() {
    +            return Multi.createFrom().emitter(emitter -> {
    +                emitter.emit(new Foo("baz"));
    +                emitter.complete();
    +            });
    +        }
    +
    +    }
    +}
    
  • extensions/smallrye-graphql-client/deployment/src/test/java/io/quarkus/smallrye/graphql/client/deployment/DynamicGraphQLClientWebSocketAuthenticationTest.java+207 0 added
    @@ -0,0 +1,207 @@
    +package io.quarkus.smallrye.graphql.client.deployment;
    +
    +import static org.awaitility.Awaitility.await;
    +import static org.junit.jupiter.api.Assertions.assertEquals;
    +import static org.junit.jupiter.api.Assertions.assertFalse;
    +import static org.junit.jupiter.api.Assertions.assertNotNull;
    +import static org.junit.jupiter.api.Assertions.assertTrue;
    +
    +import java.util.concurrent.atomic.AtomicBoolean;
    +
    +import jakarta.annotation.security.RolesAllowed;
    +import jakarta.json.JsonValue;
    +
    +import org.eclipse.microprofile.graphql.GraphQLApi;
    +import org.eclipse.microprofile.graphql.Query;
    +import org.jboss.shrinkwrap.api.asset.EmptyAsset;
    +import org.junit.jupiter.api.Assertions;
    +import org.junit.jupiter.api.Test;
    +import org.junit.jupiter.api.extension.RegisterExtension;
    +
    +import io.quarkus.test.QuarkusUnitTest;
    +import io.smallrye.common.annotation.NonBlocking;
    +import io.smallrye.graphql.api.Subscription;
    +import io.smallrye.graphql.client.Response;
    +import io.smallrye.graphql.client.dynamic.api.DynamicGraphQLClient;
    +import io.smallrye.graphql.client.dynamic.api.DynamicGraphQLClientBuilder;
    +import io.smallrye.mutiny.Multi;
    +
    +/**
    + * Due to the complexity of establishing a WebSocket, WebSocket/Subscription testing of the GraphQL server is done here,
    + * as the client framework comes in very useful for establishing the connection to the server.
    + * <br>
    + * This test establishes connections to the server, and ensures that the connected user has the necessary permissions to
    + * execute the operation.
    + */
    +public class DynamicGraphQLClientWebSocketAuthenticationTest {
    +
    +    static String url = "http://" + System.getProperty("quarkus.http.host", "localhost") + ":" +
    +            System.getProperty("quarkus.http.test-port", "8081") + "/graphql";
    +
    +    @RegisterExtension
    +    static QuarkusUnitTest test = new QuarkusUnitTest()
    +            .withApplicationRoot((jar) -> jar
    +                    .addClasses(SecuredApi.class, Foo.class)
    +                    .addAsResource("application-secured.properties", "application.properties")
    +                    .addAsResource("users.properties")
    +                    .addAsResource("roles.properties")
    +                    .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml"));
    +
    +    @Test
    +    public void testAuthenticatedUserForSubscription() throws Exception {
    +        DynamicGraphQLClientBuilder clientBuilder = DynamicGraphQLClientBuilder.newBuilder()
    +                .url(url)
    +                .header("Authorization", "Basic ZGF2aWQ6cXdlcnR5MTIz");
    +        try (DynamicGraphQLClient client = clientBuilder.build()) {
    +            Multi<Response> subscription = client
    +                    .subscription("subscription fooSub { fooSub { message } }");
    +
    +            assertNotNull(subscription);
    +
    +            AtomicBoolean hasData = new AtomicBoolean(false);
    +            AtomicBoolean hasCompleted = new AtomicBoolean(false);
    +
    +            subscription.subscribe().with(item -> {
    +                assertFalse(hasData.get());
    +                assertTrue(item.hasData());
    +                assertEquals(JsonValue.ValueType.OBJECT, item.getData().get("fooSub").getValueType());
    +                assertEquals("foo", item.getData().getJsonObject("fooSub").getString("message"));
    +                hasData.set(true);
    +            }, Assertions::fail, () -> {
    +                hasCompleted.set(true);
    +            });
    +
    +            await().untilTrue(hasCompleted);
    +            assertTrue(hasData.get());
    +        }
    +    }
    +
    +    @Test
    +    public void testAuthenticatedUserForQueryWebSocket() throws Exception {
    +        DynamicGraphQLClientBuilder clientBuilder = DynamicGraphQLClientBuilder.newBuilder()
    +                .url(url)
    +                .header("Authorization", "Basic ZGF2aWQ6cXdlcnR5MTIz")
    +                .executeSingleOperationsOverWebsocket(true);
    +        try (DynamicGraphQLClient client = clientBuilder.build()) {
    +            Response response = client.executeSync("{ foo { message} }");
    +            assertTrue(response.hasData());
    +            assertEquals("foo", response.getData().getJsonObject("foo").getString("message"));
    +        }
    +    }
    +
    +    @Test
    +    public void testAuthorizedAndUnauthorizedForQueryWebSocket() throws Exception {
    +        DynamicGraphQLClientBuilder clientBuilder = DynamicGraphQLClientBuilder.newBuilder()
    +                .url(url)
    +                .header("Authorization", "Basic ZGF2aWQ6cXdlcnR5MTIz")
    +                .executeSingleOperationsOverWebsocket(true);
    +        try (DynamicGraphQLClient client = clientBuilder.build()) {
    +            Response response = client.executeSync("{ foo { message} }");
    +            assertTrue(response.hasData());
    +            assertEquals("foo", response.getData().getJsonObject("foo").getString("message"));
    +
    +            // Run a second query with a different result to validate that the result of the first query isn't being cached at all.
    +            response = client.executeSync("{ bar { message} }");
    +            assertEquals(JsonValue.ValueType.NULL, response.getData().get("bar").getValueType());
    +        }
    +    }
    +
    +    @Test
    +    public void testUnauthorizedUserForSubscription() throws Exception {
    +        DynamicGraphQLClientBuilder clientBuilder = DynamicGraphQLClientBuilder.newBuilder()
    +                .url(url)
    +                .header("Authorization", "Basic ZGF2aWQ6cXdlcnR5MTIz");
    +        try (DynamicGraphQLClient client = clientBuilder.build()) {
    +            Multi<Response> subscription = client
    +                    .subscription("subscription barSub { barSub { message } }");
    +
    +            assertNotNull(subscription);
    +
    +            AtomicBoolean returned = new AtomicBoolean(false);
    +
    +            subscription.subscribe().with(item -> {
    +                assertEquals(JsonValue.ValueType.NULL, item.getData().get("barSub").getValueType());
    +                returned.set(true);
    +            }, throwable -> Assertions.fail(throwable));
    +
    +            await().untilTrue(returned);
    +        }
    +    }
    +
    +    @Test
    +    public void testUnauthorizedUserForQueryWebSocket() throws Exception {
    +        DynamicGraphQLClientBuilder clientBuilder = DynamicGraphQLClientBuilder.newBuilder()
    +                .url(url)
    +                .header("Authorization", "Basic ZGF2aWQ6cXdlcnR5MTIz")
    +                .executeSingleOperationsOverWebsocket(true);
    +        try (DynamicGraphQLClient client = clientBuilder.build()) {
    +            Response response = client.executeSync("{ bar { message } }");
    +            assertEquals(JsonValue.ValueType.NULL, response.getData().get("bar").getValueType());
    +        }
    +    }
    +
    +    @Test
    +    public void testUnauthenticatedForQueryWebSocket() throws Exception {
    +        DynamicGraphQLClientBuilder clientBuilder = DynamicGraphQLClientBuilder.newBuilder()
    +                .url(url)
    +                .executeSingleOperationsOverWebsocket(true);
    +        try (DynamicGraphQLClient client = clientBuilder.build()) {
    +            Response response = client.executeSync("{ foo { message} }");
    +            assertEquals(JsonValue.ValueType.NULL, response.getData().get("foo").getValueType());
    +        }
    +    }
    +
    +    public static class Foo {
    +
    +        private String message;
    +
    +        public Foo(String foo) {
    +            this.message = foo;
    +        }
    +
    +        public String getMessage() {
    +            return message;
    +        }
    +
    +        public void setMessage(String message) {
    +            this.message = message;
    +        }
    +
    +    }
    +
    +    @GraphQLApi
    +    public static class SecuredApi {
    +
    +        @Query
    +        @RolesAllowed("fooRole")
    +        @NonBlocking
    +        public Foo foo() {
    +            return new Foo("foo");
    +        }
    +
    +        @Query
    +        @RolesAllowed("barRole")
    +        public Foo bar() {
    +            return new Foo("bar");
    +        }
    +
    +        @Subscription
    +        @RolesAllowed("fooRole")
    +        public Multi<Foo> fooSub() {
    +            return Multi.createFrom().emitter(emitter -> {
    +                emitter.emit(new Foo("foo"));
    +                emitter.complete();
    +            });
    +        }
    +
    +        @Subscription
    +        @RolesAllowed("barRole")
    +        public Multi<Foo> barSub() {
    +            return Multi.createFrom().emitter(emitter -> {
    +                emitter.emit(new Foo("bar"));
    +                emitter.complete();
    +            });
    +        }
    +
    +    }
    +}
    
  • extensions/smallrye-graphql-client/deployment/src/test/resources/application-secured-http-permissions.properties+13 0 added
    @@ -0,0 +1,13 @@
    +quarkus.security.users.file.enabled=true
    +quarkus.security.users.file.plain-text=true
    +quarkus.security.users.file.users=users.properties
    +quarkus.security.users.file.roles=roles.properties
    +quarkus.http.auth.basic=true
    +
    +quarkus.smallrye-graphql.log-payload=queryAndVariables
    +quarkus.smallrye-graphql.print-data-fetcher-exception=true
    +quarkus.smallrye-graphql.error-extension-fields=exception,classification,code,description,validationErrorType,queryPath
    +
    +quarkus.http.auth.permission.authenticated.paths=/graphql
    +quarkus.http.auth.permission.authenticated.methods=GET,POST
    +quarkus.http.auth.permission.authenticated.policy=authenticated
    \ No newline at end of file
    
  • extensions/smallrye-graphql-client/deployment/src/test/resources/application-secured.properties+9 0 added
    @@ -0,0 +1,9 @@
    +quarkus.security.users.file.enabled=true
    +quarkus.security.users.file.plain-text=true
    +quarkus.security.users.file.users=users.properties
    +quarkus.security.users.file.roles=roles.properties
    +quarkus.http.auth.basic=true
    +
    +quarkus.smallrye-graphql.log-payload=queryAndVariables
    +quarkus.smallrye-graphql.print-data-fetcher-exception=true
    +quarkus.smallrye-graphql.error-extension-fields=exception,classification,code,description,validationErrorType,queryPath
    
  • extensions/smallrye-graphql-client/deployment/src/test/resources/roles.properties+1 0 added
    @@ -0,0 +1 @@
    +david=fooRole
    \ No newline at end of file
    
  • extensions/smallrye-graphql-client/deployment/src/test/resources/users.properties+1 0 added
    @@ -0,0 +1 @@
    +david=qwerty123
    \ No newline at end of file
    
  • extensions/smallrye-graphql/deployment/src/main/java/io/quarkus/smallrye/graphql/deployment/SmallRyeGraphQLProcessor.java+2 1 modified
    @@ -65,6 +65,7 @@
     import io.quarkus.smallrye.graphql.runtime.SmallRyeGraphQLRecorder;
     import io.quarkus.smallrye.graphql.runtime.SmallRyeGraphQLRuntimeConfig;
     import io.quarkus.vertx.http.deployment.BodyHandlerBuildItem;
    +import io.quarkus.vertx.http.deployment.FilterBuildItem;
     import io.quarkus.vertx.http.deployment.HttpRootPathBuildItem;
     import io.quarkus.vertx.http.deployment.NonApplicationRootPathBuildItem;
     import io.quarkus.vertx.http.deployment.RouteBuildItem;
    @@ -149,7 +150,7 @@ public class SmallRyeGraphQLProcessor {
         private static final List<String> SUPPORTED_WEBSOCKET_SUBPROTOCOLS = List.of(SUBPROTOCOL_GRAPHQL_WS,
                 SUBPROTOCOL_GRAPHQL_TRANSPORT_WS);
     
    -    private static final int GRAPHQL_WEBSOCKET_HANDLER_ORDER = -10000;
    +    private static final int GRAPHQL_WEBSOCKET_HANDLER_ORDER = (-1 * FilterBuildItem.AUTHORIZATION) + 1;
     
         private static final String GRAPHQL_MEDIA_TYPE = "application/graphql+json";
     
    
  • extensions/smallrye-graphql/runtime/src/main/java/io/quarkus/smallrye/graphql/runtime/SmallRyeGraphQLOverWebSocketHandler.java+28 1 modified
    @@ -6,10 +6,12 @@
     
     import io.quarkus.security.identity.CurrentIdentityAssociation;
     import io.quarkus.vertx.http.runtime.CurrentVertxRequest;
    +import io.quarkus.vertx.http.runtime.security.QuarkusHttpUser;
     import io.smallrye.graphql.websocket.GraphQLWebSocketSession;
     import io.smallrye.graphql.websocket.GraphQLWebsocketHandler;
     import io.smallrye.graphql.websocket.graphqltransportws.GraphQLTransportWSSubprotocolHandler;
     import io.smallrye.graphql.websocket.graphqlws.GraphQLWSSubprotocolHandler;
    +import io.vertx.core.Handler;
     import io.vertx.core.http.HttpHeaders;
     import io.vertx.core.http.ServerWebSocket;
     import io.vertx.ext.web.RoutingContext;
    @@ -54,9 +56,34 @@ protected void doHandle(final RoutingContext ctx) {
                                 serverWebSocket.close();
                                 return;
                         }
    +
    +                    QuarkusHttpUser user = (QuarkusHttpUser) ctx.user();
    +                    long cancellation = -1L; // Do not use 0, as you won't be able to distinguish between not set, and the first task Id
    +                    if (user != null) {
    +                        //close the connection when the identity expires
    +                        Long expire = user.getSecurityIdentity().getAttribute("quarkus.identity.expire-time");
    +                        if (expire != null) {
    +                            cancellation = ctx.vertx().setTimer((expire * 1000) - System.currentTimeMillis(),
    +                                    new Handler<Long>() {
    +                                        @Override
    +                                        public void handle(Long event) {
    +                                            if (!serverWebSocket.isClosed()) {
    +                                                serverWebSocket.close((short) 1008, "Authentication expired");
    +                                            }
    +                                        }
    +                                    });
    +                        }
    +                    }
    +
                         log.debugf("Starting websocket with subprotocol = %s", subprotocol);
                         GraphQLWebsocketHandler finalHandler = handler;
    -                    serverWebSocket.closeHandler(v -> finalHandler.onClose());
    +                    long finalCancellation = cancellation;
    +                    serverWebSocket.closeHandler(v -> {
    +                        finalHandler.onClose();
    +                        if (finalCancellation != -1) {
    +                            ctx.vertx().cancelTimer(finalCancellation);
    +                        }
    +                    });
                         serverWebSocket.endHandler(v -> finalHandler.onEnd());
                         serverWebSocket.exceptionHandler(finalHandler::onThrowable);
                         serverWebSocket.textMessageHandler(finalHandler::onMessage);
    
  • .github/native-tests.json+1 1 modified
    @@ -111,7 +111,7 @@
             {
                 "category": "Misc3",
                 "timeout": 80,
    -            "test-modules": "kubernetes-client, openshift-client, kubernetes-service-binding-jdbc, smallrye-config, smallrye-graphql, smallrye-graphql-client, smallrye-metrics",
    +            "test-modules": "kubernetes-client, openshift-client, kubernetes-service-binding-jdbc, smallrye-config, smallrye-graphql, smallrye-graphql-client, smallrye-graphql-client-keycloak, smallrye-metrics",
                 "os-name": "ubuntu-latest"
             },
             {
    
  • integration-tests/pom.xml+1 0 modified
    @@ -318,6 +318,7 @@
                     <module>smallrye-metrics</module>
                     <module>smallrye-graphql</module>
                     <module>smallrye-graphql-client</module>
    +                <module>smallrye-graphql-client-keycloak</module>
                     <module>smallrye-stork-registration</module>
                     <module>jpa-without-entity</module>
                     <module>quartz</module>
    
  • integration-tests/smallrye-graphql-client-keycloak/pom.xml+260 0 added
    @@ -0,0 +1,260 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<project xmlns="http://maven.apache.org/POM/4.0.0"
    +         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    +         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    +    <parent>
    +        <artifactId>quarkus-integration-tests-parent</artifactId>
    +        <groupId>io.quarkus</groupId>
    +        <version>999-SNAPSHOT</version>
    +    </parent>
    +    <modelVersion>4.0.0</modelVersion>
    +
    +    <artifactId>quarkus-integration-test-smallrye-graphql-client-keycloak</artifactId>
    +    <name>Quarkus - Integration Tests - SmallRye GraphQL Client with Keycloak</name>
    +
    +    <properties>
    +        <keycloak.url>http://localhost:8180/auth</keycloak.url>
    +    </properties>
    +
    +    <dependencies>
    +        <dependency>
    +            <groupId>io.quarkus</groupId>
    +            <artifactId>quarkus-smallrye-graphql</artifactId>
    +        </dependency>
    +        <dependency>
    +            <groupId>io.quarkus</groupId>
    +            <artifactId>quarkus-smallrye-graphql-client</artifactId>
    +        </dependency>
    +        <dependency>
    +            <groupId>io.quarkus</groupId>
    +            <artifactId>quarkus-resteasy-deployment</artifactId>
    +        </dependency>
    +        <dependency>
    +            <groupId>io.quarkus</groupId>
    +            <artifactId>quarkus-oidc</artifactId>
    +        </dependency>
    +        <dependency>
    +            <groupId>io.rest-assured</groupId>
    +            <artifactId>rest-assured</artifactId>
    +            <scope>test</scope>
    +        </dependency>
    +
    +        <dependency>
    +            <groupId>io.quarkus</groupId>
    +            <artifactId>quarkus-rest-client-deployment</artifactId>
    +        </dependency>
    +        <dependency>
    +            <groupId>io.quarkus</groupId>
    +            <artifactId>quarkus-junit5</artifactId>
    +            <scope>test</scope>
    +        </dependency>
    +
    +        <!-- Minimal test dependencies to *-deployment artifacts for consistent build order -->
    +        <dependency>
    +            <groupId>io.quarkus</groupId>
    +            <artifactId>quarkus-smallrye-graphql-deployment</artifactId>
    +            <version>${project.version}</version>
    +            <type>pom</type>
    +            <scope>test</scope>
    +            <exclusions>
    +                <exclusion>
    +                    <groupId>*</groupId>
    +                    <artifactId>*</artifactId>
    +                </exclusion>
    +            </exclusions>
    +        </dependency>
    +        <dependency>
    +            <groupId>io.quarkus</groupId>
    +            <artifactId>quarkus-smallrye-graphql-client-deployment</artifactId>
    +            <version>${project.version}</version>
    +            <type>pom</type>
    +            <scope>test</scope>
    +            <exclusions>
    +                <exclusion>
    +                    <groupId>*</groupId>
    +                    <artifactId>*</artifactId>
    +                </exclusion>
    +            </exclusions>
    +        </dependency>
    +        <dependency>
    +            <groupId>io.quarkus</groupId>
    +            <artifactId>quarkus-test-keycloak-server</artifactId>
    +            <scope>test</scope>
    +            <exclusions>
    +                <exclusion>
    +                    <groupId>junit</groupId>
    +                    <artifactId>junit</artifactId>
    +                </exclusion>
    +            </exclusions>
    +        </dependency>
    +        <dependency>
    +            <groupId>io.quarkus</groupId>
    +            <artifactId>quarkus-oidc-deployment</artifactId>
    +            <version>${project.version}</version>
    +            <type>pom</type>
    +            <scope>test</scope>
    +            <exclusions>
    +                <exclusion>
    +                    <groupId>*</groupId>
    +                    <artifactId>*</artifactId>
    +                </exclusion>
    +            </exclusions>
    +        </dependency>
    +    </dependencies>
    +
    +    <build>
    +        <plugins>
    +            <plugin>
    +                <artifactId>maven-surefire-plugin</artifactId>
    +                <configuration>
    +                    <skip>true</skip>
    +                </configuration>
    +            </plugin>
    +            <plugin>
    +                <artifactId>maven-failsafe-plugin</artifactId>
    +                <configuration>
    +                    <skip>true</skip>
    +                </configuration>
    +            </plugin>
    +            <plugin>
    +                <groupId>io.quarkus</groupId>
    +                <artifactId>quarkus-maven-plugin</artifactId>
    +                <executions>
    +                    <execution>
    +                        <goals>
    +                            <goal>build</goal>
    +                        </goals>
    +                    </execution>
    +                </executions>
    +            </plugin>
    +        </plugins>
    +    </build>
    +
    +    <profiles>
    +        <profile>
    +            <id>test-keycloak</id>
    +            <activation>
    +                <property>
    +                    <name>test-containers</name>
    +                </property>
    +            </activation>
    +            <build>
    +                <plugins>
    +                    <plugin>
    +                        <artifactId>maven-surefire-plugin</artifactId>
    +                        <configuration>
    +                            <skip>false</skip>
    +                            <systemPropertyVariables>
    +                                <keycloak.url>${keycloak.url}</keycloak.url>
    +                            </systemPropertyVariables>
    +                        </configuration>
    +                    </plugin>
    +                    <plugin>
    +                        <artifactId>maven-failsafe-plugin</artifactId>
    +                        <configuration>
    +                            <skip>false</skip>
    +                            <systemPropertyVariables>
    +                                <keycloak.url>${keycloak.url}</keycloak.url>
    +                            </systemPropertyVariables>
    +                        </configuration>
    +                    </plugin>
    +                    <plugin>
    +                        <groupId>io.quarkus</groupId>
    +                        <artifactId>quarkus-maven-plugin</artifactId>
    +                        <executions>
    +                            <execution>
    +                                <goals>
    +                                    <goal>build</goal>
    +                                </goals>
    +                            </execution>
    +                        </executions>
    +                    </plugin>
    +                </plugins>
    +            </build>
    +        </profile>
    +
    +        <profile>
    +            <id>docker-keycloak</id>
    +            <activation>
    +                <property>
    +                    <name>start-containers</name>
    +                </property>
    +            </activation>
    +            <properties>
    +                <keycloak.url>http://localhost:8180/auth</keycloak.url>
    +            </properties>
    +            <build>
    +                <plugins>
    +                    <plugin>
    +                        <groupId>io.fabric8</groupId>
    +                        <artifactId>docker-maven-plugin</artifactId>
    +                        <configuration>
    +                            <images>
    +                                <image>
    +                                    <name>${keycloak.docker.legacy.image}</name>
    +                                    <alias>quarkus-test-keycloak</alias>
    +                                    <run>
    +                                        <ports>
    +                                            <port>8180:8080</port>
    +                                        </ports>
    +                                        <env>
    +                                            <KEYCLOAK_USER>admin</KEYCLOAK_USER>
    +                                            <KEYCLOAK_PASSWORD>admin</KEYCLOAK_PASSWORD>
    +                                        </env>
    +                                        <log>
    +                                            <prefix>Keycloak:</prefix>
    +                                            <date>default</date>
    +                                            <color>cyan</color>
    +                                        </log>
    +                                        <wait>
    +                                            <!-- good docs found at: https://dmp.fabric8.io/#build-healthcheck -->
    +                                            <http>
    +                                                <url>http://localhost:8180</url>
    +                                            </http>
    +                                            <time>100000</time>
    +                                        </wait>
    +                                    </run>
    +                                </image>
    +                            </images>
    +                            <allContainers>true</allContainers>
    +                        </configuration>
    +                        <executions>
    +                            <execution>
    +                                <id>docker-start</id>
    +                                <phase>compile</phase>
    +                                <goals>
    +                                    <goal>stop</goal>
    +                                    <goal>start</goal>
    +                                </goals>
    +                            </execution>
    +                            <execution>
    +                                <id>docker-stop</id>
    +                                <phase>post-integration-test</phase>
    +                                <goals>
    +                                    <goal>stop</goal>
    +                                </goals>
    +                            </execution>
    +                        </executions>
    +                    </plugin>
    +                    <!--<plugin>
    +                        <groupId>org.codehaus.mojo</groupId>
    +                        <artifactId>exec-maven-plugin</artifactId>
    +                        <executions>
    +                            <execution>
    +                                <id>docker-prune</id>
    +                                <phase>generate-resources</phase>
    +                                <goals>
    +                                    <goal>exec</goal>
    +                                </goals>
    +                                <configuration>
    +                                    <executable>${basedir}/../../.github/docker-prune.sh</executable>
    +                                </configuration>
    +                            </execution>
    +                        </executions>
    +                    </plugin>-->
    +                </plugins>
    +            </build>
    +        </profile>
    +    </profiles>
    +
    +</project>
    
  • integration-tests/smallrye-graphql-client-keycloak/src/main/java/io/quarkus/io/smallrye/graphql/keycloak/GraphQLAuthExpiryTester.java+62 0 added
    @@ -0,0 +1,62 @@
    +package io.quarkus.io.smallrye.graphql.keycloak;
    +
    +import java.util.concurrent.CompletableFuture;
    +import java.util.concurrent.TimeUnit;
    +import java.util.concurrent.atomic.AtomicBoolean;
    +
    +import jakarta.ws.rs.GET;
    +import jakarta.ws.rs.Path;
    +import jakarta.ws.rs.PathParam;
    +
    +import io.smallrye.common.annotation.Blocking;
    +import io.smallrye.graphql.client.dynamic.api.DynamicGraphQLClient;
    +import io.smallrye.graphql.client.dynamic.api.DynamicGraphQLClientBuilder;
    +
    +/**
    + * We can't perform these tests in the `@Test` methods directly, because the GraphQL client
    + * relies on CDI, and CDI is not available in native mode on the `@Test` side.
    + * Therefore the test only calls this REST endpoint which then performs all the client related work.
    + * <br>
    + * This test establishes connections to the server, and ensures that if authentication has an expiry, that following the
    + * expiry of their access the connection is correctly terminated.
    + */
    +@Path("/")
    +public class GraphQLAuthExpiryTester {
    +
    +    @GET
    +    @Path("/dynamic-subscription-auth-expiry/{token}/{url}")
    +    @Blocking
    +    public void dynamicSubscription(@PathParam("token") String token, @PathParam("url") String url)
    +            throws Exception {
    +        DynamicGraphQLClientBuilder clientBuilder = DynamicGraphQLClientBuilder.newBuilder()
    +                .url(url + "/graphql")
    +                .header("Authorization", "Bearer " + token)
    +                .executeSingleOperationsOverWebsocket(true);
    +
    +        try (DynamicGraphQLClient client = clientBuilder.build()) {
    +            CompletableFuture<Void> authenticationExpired = new CompletableFuture<>();
    +            AtomicBoolean receivedValue = new AtomicBoolean(false);
    +            client.subscription("subscription { sub { value } }").subscribe().with(item -> {
    +                if (item.hasData()) {
    +                    receivedValue.set(true);
    +                } else {
    +                    authenticationExpired.completeExceptionally(new RuntimeException("Subscription provided no data"));
    +                }
    +            }, cause -> {
    +                if (cause.getMessage().contains("Authentication expired")) {
    +                    authenticationExpired.complete(null);
    +                } else {
    +                    authenticationExpired
    +                            .completeExceptionally(new RuntimeException("Invalid close response from server.", cause));
    +                }
    +            }, () -> authenticationExpired
    +                    .completeExceptionally(new RuntimeException("Subscription should not complete successfully")));
    +
    +            authenticationExpired.get(10, TimeUnit.SECONDS);
    +            if (!receivedValue.get()) {
    +                throw new RuntimeException("Did not receive subscription value");
    +            }
    +        }
    +    }
    +
    +}
    
  • integration-tests/smallrye-graphql-client-keycloak/src/main/java/io/quarkus/io/smallrye/graphql/keycloak/SecuredResource.java+42 0 added
    @@ -0,0 +1,42 @@
    +package io.quarkus.io.smallrye.graphql.keycloak;
    +
    +import jakarta.annotation.security.RolesAllowed;
    +
    +import org.eclipse.microprofile.graphql.GraphQLApi;
    +import org.eclipse.microprofile.graphql.Query;
    +
    +import io.smallrye.common.annotation.NonBlocking;
    +import io.smallrye.graphql.api.Subscription;
    +import io.smallrye.mutiny.Multi;
    +
    +@GraphQLApi
    +public class SecuredResource {
    +
    +    // Seems to be a requirement to have a query or mutation in a GraphQLApi.
    +    // This is a workaround for the time being.
    +    @Query
    +    public TestResponse unusedQuery() {
    +        return null;
    +    }
    +
    +    @Subscription
    +    @RolesAllowed("user")
    +    @NonBlocking
    +    public Multi<TestResponse> sub() {
    +        return Multi.createFrom().emitter(emitter -> emitter.emit(new TestResponse("Hello World")));
    +    }
    +
    +    public static class TestResponse {
    +
    +        private final String value;
    +
    +        public TestResponse(String value) {
    +            this.value = value;
    +        }
    +
    +        public String getValue() {
    +            return value;
    +        }
    +    }
    +
    +}
    
  • integration-tests/smallrye-graphql-client-keycloak/src/main/resources/application.properties+4 0 added
    @@ -0,0 +1,4 @@
    +quarkus.oidc.client-id=quarkus-app
    +quarkus.oidc.credentials.secret=secret
    +quarkus.smallrye-graphql.log-payload=queryAndVariables
    +quarkus.keycloak.devservices.enabled=false
    
  • integration-tests/smallrye-graphql-client-keycloak/src/test/java/io/quarkus/it/smallrye/graphql/keycloak/GraphQLAuthExpiryIT.java+7 0 added
    @@ -0,0 +1,7 @@
    +package io.quarkus.it.smallrye.graphql.keycloak;
    +
    +import io.quarkus.test.junit.QuarkusIntegrationTest;
    +
    +@QuarkusIntegrationTest
    +public class GraphQLAuthExpiryIT extends GraphQLAuthExpiryTest {
    +}
    
  • integration-tests/smallrye-graphql-client-keycloak/src/test/java/io/quarkus/it/smallrye/graphql/keycloak/GraphQLAuthExpiryTest.java+33 0 added
    @@ -0,0 +1,33 @@
    +package io.quarkus.it.smallrye.graphql.keycloak;
    +
    +import static io.restassured.RestAssured.when;
    +
    +import java.net.URL;
    +
    +import org.junit.jupiter.api.Test;
    +
    +import io.quarkus.test.common.QuarkusTestResource;
    +import io.quarkus.test.common.http.TestHTTPResource;
    +import io.quarkus.test.junit.QuarkusTest;
    +
    +/**
    + * See `GraphQLClientTester` for the actual testing code that uses GraphQL clients.
    + */
    +@QuarkusTest
    +@QuarkusTestResource(KeycloakRealmResourceManager.class)
    +public class GraphQLAuthExpiryTest {
    +
    +    @TestHTTPResource
    +    URL url;
    +
    +    @Test
    +    public void testDynamicClientWebSocketAuthenticationExpiry() {
    +        String token = KeycloakRealmResourceManager.getAccessToken();
    +        when()
    +                .get("/dynamic-subscription-auth-expiry/" + token + "/" + url.toString())
    +                .then()
    +                .log().everything()
    +                .statusCode(204);
    +    }
    +
    +}
    
  • integration-tests/smallrye-graphql-client-keycloak/src/test/java/io/quarkus/it/smallrye/graphql/keycloak/KeycloakRealmResourceManager.java+146 0 added
    @@ -0,0 +1,146 @@
    +package io.quarkus.it.smallrye.graphql.keycloak;
    +
    +import java.io.IOException;
    +import java.util.*;
    +
    +import org.keycloak.representations.AccessTokenResponse;
    +import org.keycloak.representations.idm.*;
    +import org.keycloak.util.JsonSerialization;
    +import org.testcontainers.containers.GenericContainer;
    +
    +import io.quarkus.test.common.QuarkusTestResourceLifecycleManager;
    +import io.restassured.RestAssured;
    +import io.restassured.response.Response;
    +
    +public class KeycloakRealmResourceManager implements QuarkusTestResourceLifecycleManager {
    +
    +    private static final String KEYCLOAK_SERVER_URL = System.getProperty("keycloak.url", "http://localhost:8180/auth");
    +    //private static String KEYCLOAK_SERVER_URL;
    +    private static final String KEYCLOAK_REALM = "quarkus";
    +    //private static final String KEYCLOAK_IMAGE = "quay.io/keycloak/keycloak:22.0.5";
    +
    +    private GenericContainer<?> keycloak;
    +
    +    @Override
    +    public Map<String, String> start() {
    +        RealmRepresentation realm = createRealm(KEYCLOAK_REALM);
    +        realm.setRevokeRefreshToken(true);
    +        realm.setRefreshTokenMaxReuse(0);
    +        realm.setAccessTokenLifespan(3);
    +
    +        realm.getClients().add(createClient("quarkus-app"));
    +        realm.getUsers().add(createUser("alice", "user"));
    +
    +        try {
    +            Response response = RestAssured
    +                    .given()
    +                    .auth().oauth2(getAdminAccessToken())
    +                    .contentType("application/json")
    +                    .body(JsonSerialization.writeValueAsBytes(realm))
    +                    .when()
    +                    .post(KEYCLOAK_SERVER_URL + "/admin/realms");
    +            response.then()
    +                    .statusCode(201);
    +
    +        } catch (IOException e) {
    +            throw new RuntimeException(e);
    +        }
    +
    +        Map<String, String> properties = new HashMap<>();
    +
    +        properties.put("quarkus.oidc.auth-server-url", KEYCLOAK_SERVER_URL + "/realms/" + KEYCLOAK_REALM);
    +        properties.put("keycloak.url", KEYCLOAK_SERVER_URL);
    +
    +        return properties;
    +    }
    +
    +    private static String getAdminAccessToken() {
    +        return RestAssured
    +                .given()
    +                .param("grant_type", "password")
    +                .param("username", "admin")
    +                .param("password", "admin")
    +                .param("client_id", "admin-cli")
    +                .when()
    +                .post(KEYCLOAK_SERVER_URL + "/realms/master/protocol/openid-connect/token")
    +                .as(AccessTokenResponse.class).getToken();
    +    }
    +
    +    private static RealmRepresentation createRealm(String name) {
    +        RealmRepresentation realm = new RealmRepresentation();
    +
    +        realm.setRealm(name);
    +        realm.setEnabled(true);
    +        realm.setUsers(new ArrayList<>());
    +        realm.setClients(new ArrayList<>());
    +        realm.setAccessTokenLifespan(3);
    +        realm.setSsoSessionMaxLifespan(3);
    +        RolesRepresentation roles = new RolesRepresentation();
    +        List<RoleRepresentation> realmRoles = new ArrayList<>();
    +
    +        roles.setRealm(realmRoles);
    +        realm.setRoles(roles);
    +
    +        realm.getRoles().getRealm().add(new RoleRepresentation("user", null, false));
    +        realm.getRoles().getRealm().add(new RoleRepresentation("admin", null, false));
    +
    +        return realm;
    +    }
    +
    +    private static ClientRepresentation createClient(String clientId) {
    +        ClientRepresentation client = new ClientRepresentation();
    +
    +        client.setClientId(clientId);
    +        client.setPublicClient(false);
    +        client.setSecret("secret");
    +        client.setDirectAccessGrantsEnabled(true);
    +        client.setServiceAccountsEnabled(true);
    +        client.setRedirectUris(Arrays.asList("*"));
    +        client.setEnabled(true);
    +        client.setDefaultClientScopes(List.of("microprofile-jwt"));
    +
    +        return client;
    +    }
    +
    +    private static UserRepresentation createUser(String username, String... realmRoles) {
    +        UserRepresentation user = new UserRepresentation();
    +
    +        user.setUsername(username);
    +        user.setEnabled(true);
    +        user.setCredentials(new ArrayList<>());
    +        user.setRealmRoles(Arrays.asList(realmRoles));
    +        user.setEmail(username + "@gmail.com");
    +
    +        CredentialRepresentation credential = new CredentialRepresentation();
    +
    +        credential.setType(CredentialRepresentation.PASSWORD);
    +        credential.setValue(username);
    +        credential.setTemporary(false);
    +
    +        user.getCredentials().add(credential);
    +
    +        return user;
    +    }
    +
    +    @Override
    +    public void stop() {
    +        RestAssured
    +                .given()
    +                .auth().oauth2(getAdminAccessToken())
    +                .when()
    +                .delete(KEYCLOAK_SERVER_URL + "/admin/realms/" + KEYCLOAK_REALM).then().statusCode(204);
    +    }
    +
    +    public static String getAccessToken() {
    +        io.restassured.response.Response response = RestAssured.given()
    +                .contentType("application/x-www-form-urlencoded")
    +                .accept("application/json")
    +                .formParam("username", "alice")
    +                .formParam("password", "alice")
    +                .param("client_id", "quarkus-app")
    +                .param("client_secret", "secret")
    +                .formParam("grant_type", "password")
    +                .post(KEYCLOAK_SERVER_URL + "/realms/" + KEYCLOAK_REALM + "/protocol/openid-connect/token");
    +        return response.getBody().jsonPath().getString("access_token");
    +    }
    +}
    

Vulnerability mechanics

Root cause

"GraphQL WebSocket request processing occurs before the authorization check, allowing unauthenticated access to secured operations."

Attack vector

An attacker can send a GraphQL operation over a WebSocket connection to a Quarkus endpoint that is secured with role-based permissions. Because the WebSocket request processing occurs before the authorization check [CWE-551], the server executes the operation without verifying the caller's identity or roles [CWE-862]. The attacker does not need to provide any authentication credentials; the request is processed as if it were authorized. This allows the attacker to access any GraphQL query, mutation, or subscription that lacks an explicit `@RolesAllowed` annotation, even when the endpoint itself is secured.

Affected code

The vulnerability lies in the SmallRye GraphQL WebSocket handling within the Quarkus extension `extensions/smallrye-graphql-client`. The patch commit message ("Fix GraphQL WebSocket handling occurring before authorization") indicates that WebSocket-based GraphQL requests were processed before the authorization check was performed. The fix introduces new integration tests (`integration-tests/smallrye-graphql-client-keycloak`) and unit tests (`DynamicGraphQLClientWebSocketAuthenticationTest.java`, `DynamicGraphQLClientWebSocketAuthenticationHttpPermissionsTest.java`) that validate proper authorization enforcement for WebSocket connections.

What the fix does

The patch [patch_id=1640462] reorders the processing of GraphQL WebSocket requests so that authorization is performed before the operation is executed. The commit message explicitly states "Fix GraphQL WebSocket handling occurring before authorization." New test classes (`DynamicGraphQLClientWebSocketAuthenticationTest.java`, `DynamicGraphQLClientWebSocketAuthenticationHttpPermissionsTest.java`) verify that authenticated users with the correct role can access secured operations, while unauthenticated users or users lacking the required role receive null data. The integration test module `integration-tests/smallrye-graphql-client-keycloak` adds end-to-end validation with Keycloak-based OIDC authentication to ensure the fix works in a realistic security context.

Preconditions

  • configThe Quarkus application must expose GraphQL endpoints over WebSocket (e.g., using SmallRye GraphQL extension)
  • configThe GraphQL endpoint must be secured (e.g., with @RolesAllowed annotations or HTTP authentication)
  • networkThe attacker must be able to establish a WebSocket connection to the GraphQL endpoint
  • authNo authentication credentials are required from the attacker to trigger the vulnerability

Generated on May 23, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

9

News mentions

0

No linked articles in our index yet.