diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/ApplicationPath.java b/jaxrs-api/src/main/java/jakarta/ws/rs/ApplicationPath.java
index f4ef0627b..01e94c7f3 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/ApplicationPath.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/ApplicationPath.java
@@ -22,6 +22,9 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.Stereotype;
+
/**
* Identifies the application path that serves as the base URI for all resource URIs provided by
* {@link jakarta.ws.rs.Path}. May only be applied to a subclass of {@link jakarta.ws.rs.core.Application}.
@@ -40,6 +43,8 @@
@Documented
@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
+@Stereotype
+@ApplicationScoped
public @interface ApplicationPath {
/**
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/BeanParam.java b/jaxrs-api/src/main/java/jakarta/ws/rs/BeanParam.java
index 59d27969a..1e3f0a52c 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/BeanParam.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/BeanParam.java
@@ -22,6 +22,8 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
+import jakarta.inject.Qualifier;
+
/**
* The annotation that may be used to inject custom JAX-RS "parameter aggregator" value object into a resource class
* field, property or resource method parameter.
@@ -68,5 +70,6 @@
@Target({ ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
+@Qualifier
public @interface BeanParam {
}
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/CookieParam.java b/jaxrs-api/src/main/java/jakarta/ws/rs/CookieParam.java
index 8ec032610..b48eca4e1 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/CookieParam.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/CookieParam.java
@@ -22,6 +22,8 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
+import jakarta.inject.Qualifier;
+
/**
* Binds the value of a HTTP cookie to a resource method parameter, resource class field, or resource class bean
* property. A default value can be specified using the {@link DefaultValue} annotation.
@@ -55,6 +57,7 @@
@Target({ ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
+@Qualifier
public @interface CookieParam {
/**
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/FormParam.java b/jaxrs-api/src/main/java/jakarta/ws/rs/FormParam.java
index 1df6ae13b..445b130e5 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/FormParam.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/FormParam.java
@@ -22,6 +22,8 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
+import jakarta.inject.Qualifier;
+
/**
* Binds the value(s) of a form parameter contained within a request entity body to a resource method parameter. Values
* are URL decoded unless this is disabled using the {@link Encoded} annotation. A default value can be specified using
@@ -66,6 +68,7 @@
@Target({ ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
+@Qualifier
public @interface FormParam {
/**
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/HeaderParam.java b/jaxrs-api/src/main/java/jakarta/ws/rs/HeaderParam.java
index 2bdc64060..8957f1f2f 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/HeaderParam.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/HeaderParam.java
@@ -22,6 +22,8 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
+import jakarta.inject.Qualifier;
+
/**
* Binds the value(s) of a HTTP header to a resource method parameter, resource class field, or resource class bean
* property. A default value can be specified using the {@link DefaultValue} annotation.
@@ -58,6 +60,7 @@
@Target({ ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
+@Qualifier
public @interface HeaderParam {
/**
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/MatrixParam.java b/jaxrs-api/src/main/java/jakarta/ws/rs/MatrixParam.java
index 1abd05eb9..faacea0e0 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/MatrixParam.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/MatrixParam.java
@@ -22,6 +22,8 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
+import jakarta.inject.Qualifier;
+
/**
* Binds the value(s) of a URI matrix parameter to a resource method parameter, resource class field, or resource class
* bean property. Values are URL decoded unless this is disabled using the {@link Encoded} annotation. A default value
@@ -66,6 +68,7 @@
@Target({ ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
+@Qualifier
public @interface MatrixParam {
/**
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/Path.java b/jaxrs-api/src/main/java/jakarta/ws/rs/Path.java
index 5245dc667..024804f2a 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/Path.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/Path.java
@@ -22,6 +22,9 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.enterprise.inject.Stereotype;
+
/**
* Identifies the URI path that a resource class or class method will serve requests for.
*
@@ -65,6 +68,8 @@
@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
+@Stereotype
+@RequestScoped
public @interface Path {
/**
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/PathParam.java b/jaxrs-api/src/main/java/jakarta/ws/rs/PathParam.java
index 93850e82c..32429c176 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/PathParam.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/PathParam.java
@@ -22,6 +22,8 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
+import jakarta.inject.Qualifier;
+
/**
* Binds the value of a URI template parameter or a path segment containing the template parameter to a resource method
* parameter, resource class field, or resource class bean property. The value is URL decoded unless this is disabled
@@ -67,6 +69,7 @@
@Target({ ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
+@Qualifier
public @interface PathParam {
/**
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/QueryParam.java b/jaxrs-api/src/main/java/jakarta/ws/rs/QueryParam.java
index 423258b29..9264e66de 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/QueryParam.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/QueryParam.java
@@ -22,6 +22,8 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
+import jakarta.inject.Qualifier;
+
/**
* Binds the value(s) of a HTTP query parameter to a resource method parameter, resource class field, or resource class
* bean property. Values are URL decoded unless this is disabled using the {@link Encoded} annotation. A default value
@@ -60,6 +62,7 @@
@Target({ ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
+@Qualifier
public @interface QueryParam {
/**
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/ext/Provider.java b/jaxrs-api/src/main/java/jakarta/ws/rs/ext/Provider.java
index b8d1ae716..8fdcbc665 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/ext/Provider.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/ext/Provider.java
@@ -22,6 +22,9 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.Stereotype;
+
/**
* Marks an implementation of an extension interface that should be discoverable by JAX-RS runtime during a provider
* scanning phase.
@@ -33,5 +36,7 @@
@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
+@Stereotype
+@ApplicationScoped
public @interface Provider {
}
diff --git a/jaxrs-api/src/main/java/module-info.java b/jaxrs-api/src/main/java/module-info.java
index aa24390e0..62c067b41 100644
--- a/jaxrs-api/src/main/java/module-info.java
+++ b/jaxrs-api/src/main/java/module-info.java
@@ -20,6 +20,9 @@
module jakarta.ws.rs {
requires static jakarta.xml.bind;
+ // These two modules are not required on the client side
+ requires static jakarta.cdi;
+ requires static jakarta.inject;
requires java.logging;
diff --git a/jaxrs-tck/pom.xml b/jaxrs-tck/pom.xml
index 1fd7cdde9..fb5e9ce5a 100644
--- a/jaxrs-tck/pom.xml
+++ b/jaxrs-tck/pom.xml
@@ -38,7 +38,17 @@
jakarta.ws.rs
jakarta.ws.rs-api
- ${project.version}
+
+ ${project.parent.version}
+ provided
+
+
+ jakarta.inject
+ jakarta.inject-api
+
+
+ jakarta.enterprise
+ jakarta.enterprise.cdi-api
@@ -97,12 +107,6 @@
provided
-
- org.netbeans.tools
- sigtest-maven-plugin
- 1.4
-
-
org.junit.jupiter
@@ -147,9 +151,9 @@
- org.netbeans.tools
+ jakarta.tck
sigtest-maven-plugin
- 1.4
+ 2.1
@@ -158,10 +162,16 @@
- ${project.build.directory}/jakarta.ws.rs.sig_${project.parent.version}
- jakarta.ws.rs,jakarta.ws.rs.client,jakarta.ws.rs.core,jakarta.ws.rs.container,jakarta.ws.rs.ext,jakarta.ws.rs.sse
+ jakarta.ws.rs,
+ jakarta.ws.rs.client,
+ jakarta.ws.rs.core,
+ jakarta.ws.rs.container,
+ jakarta.ws.rs.ext,
+ jakarta.ws.rs.sse
+ false
+ ${project.build.directory}/jakarta.ws.rs.sig_${project.parent.version}
diff --git a/jaxrs-tck/src/main/resources/ee/jakarta/tck/ws/rs/signaturetest/jakarta.ws.rs.sig_3.1.0 b/jaxrs-tck/src/main/resources/ee/jakarta/tck/ws/rs/signaturetest/jakarta.ws.rs.sig_3.2.0
similarity index 96%
rename from jaxrs-tck/src/main/resources/ee/jakarta/tck/ws/rs/signaturetest/jakarta.ws.rs.sig_3.1.0
rename to jaxrs-tck/src/main/resources/ee/jakarta/tck/ws/rs/signaturetest/jakarta.ws.rs.sig_3.2.0
index 9838fc9e4..3ae9094a1 100644
--- a/jaxrs-tck/src/main/resources/ee/jakarta/tck/ws/rs/signaturetest/jakarta.ws.rs.sig_3.1.0
+++ b/jaxrs-tck/src/main/resources/ee/jakarta/tck/ws/rs/signaturetest/jakarta.ws.rs.sig_3.2.0
@@ -1,7 +1,46 @@
#Signature file v4.1
-#Version 3.1.0
+#Version 3.2.0
+
+CLSS public abstract interface !annotation jakarta.enterprise.context.ApplicationScoped
+ anno 0 jakarta.enterprise.context.NormalScope(boolean passivating=false)
+ anno 0 java.lang.annotation.Documented()
+ anno 0 java.lang.annotation.Inherited()
+ anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
+ anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[TYPE, METHOD, FIELD])
+innr public final static Literal
+intf java.lang.annotation.Annotation
+
+CLSS public abstract interface !annotation jakarta.enterprise.context.NormalScope
+ anno 0 java.lang.annotation.Documented()
+ anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
+ anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[ANNOTATION_TYPE])
+intf java.lang.annotation.Annotation
+meth public abstract !hasdefault boolean passivating()
+
+CLSS public abstract interface !annotation jakarta.enterprise.context.RequestScoped
+ anno 0 jakarta.enterprise.context.NormalScope(boolean passivating=false)
+ anno 0 java.lang.annotation.Documented()
+ anno 0 java.lang.annotation.Inherited()
+ anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
+ anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[TYPE, METHOD, FIELD])
+innr public final static Literal
+intf java.lang.annotation.Annotation
+
+CLSS public abstract interface !annotation jakarta.enterprise.inject.Stereotype
+ anno 0 java.lang.annotation.Documented()
+ anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
+ anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[ANNOTATION_TYPE])
+intf java.lang.annotation.Annotation
+
+CLSS public abstract interface !annotation jakarta.inject.Qualifier
+ anno 0 java.lang.annotation.Documented()
+ anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
+ anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[ANNOTATION_TYPE])
+intf java.lang.annotation.Annotation
CLSS public abstract interface !annotation jakarta.ws.rs.ApplicationPath
+ anno 0 jakarta.enterprise.context.ApplicationScoped()
+ anno 0 jakarta.enterprise.inject.Stereotype()
anno 0 java.lang.annotation.Documented()
anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[TYPE])
@@ -21,6 +60,7 @@ supr jakarta.ws.rs.ClientErrorException
hfds serialVersionUID
CLSS public abstract interface !annotation jakarta.ws.rs.BeanParam
+ anno 0 jakarta.inject.Qualifier()
anno 0 java.lang.annotation.Documented()
anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[PARAMETER, METHOD, FIELD])
@@ -58,6 +98,7 @@ intf java.lang.annotation.Annotation
meth public abstract !hasdefault java.lang.String[] value()
CLSS public abstract interface !annotation jakarta.ws.rs.CookieParam
+ anno 0 jakarta.inject.Qualifier()
anno 0 java.lang.annotation.Documented()
anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[PARAMETER, METHOD, FIELD])
@@ -97,6 +138,7 @@ supr jakarta.ws.rs.ClientErrorException
hfds serialVersionUID
CLSS public abstract interface !annotation jakarta.ws.rs.FormParam
+ anno 0 jakarta.inject.Qualifier()
anno 0 java.lang.annotation.Documented()
anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[PARAMETER, METHOD, FIELD])
@@ -118,6 +160,7 @@ CLSS public abstract interface !annotation jakarta.ws.rs.HEAD
intf java.lang.annotation.Annotation
CLSS public abstract interface !annotation jakarta.ws.rs.HeaderParam
+ anno 0 jakarta.inject.Qualifier()
anno 0 java.lang.annotation.Documented()
anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[PARAMETER, METHOD, FIELD])
@@ -151,6 +194,7 @@ supr jakarta.ws.rs.ServerErrorException
hfds serialVersionUID
CLSS public abstract interface !annotation jakarta.ws.rs.MatrixParam
+ anno 0 jakarta.inject.Qualifier()
anno 0 java.lang.annotation.Documented()
anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[PARAMETER, METHOD, FIELD])
@@ -253,6 +297,8 @@ CLSS public abstract interface !annotation jakarta.ws.rs.PUT
intf java.lang.annotation.Annotation
CLSS public abstract interface !annotation jakarta.ws.rs.Path
+ anno 0 jakarta.enterprise.context.RequestScoped()
+ anno 0 jakarta.enterprise.inject.Stereotype()
anno 0 java.lang.annotation.Documented()
anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[TYPE, METHOD])
@@ -260,6 +306,7 @@ intf java.lang.annotation.Annotation
meth public abstract java.lang.String value()
CLSS public abstract interface !annotation jakarta.ws.rs.PathParam
+ anno 0 jakarta.inject.Qualifier()
anno 0 java.lang.annotation.Documented()
anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[PARAMETER, METHOD, FIELD])
@@ -290,6 +337,7 @@ intf java.lang.annotation.Annotation
meth public abstract !hasdefault java.lang.String[] value()
CLSS public abstract interface !annotation jakarta.ws.rs.QueryParam
+ anno 0 jakarta.inject.Qualifier()
anno 0 java.lang.annotation.Documented()
anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[PARAMETER, METHOD, FIELD])
@@ -507,6 +555,7 @@ supr java.lang.Object
hcls CreateErrorMessageAction
CLSS public abstract interface jakarta.ws.rs.client.ClientRequestContext
+meth public abstract boolean containsHeaderString(java.lang.String,java.lang.String,java.util.function.Predicate)
meth public abstract boolean hasEntity()
meth public abstract jakarta.ws.rs.client.Client getClient()
meth public abstract jakarta.ws.rs.core.Configuration getConfiguration()
@@ -536,12 +585,14 @@ meth public abstract void setEntityStream(java.io.OutputStream)
meth public abstract void setMethod(java.lang.String)
meth public abstract void setProperty(java.lang.String,java.lang.Object)
meth public abstract void setUri(java.net.URI)
+meth public boolean containsHeaderString(java.lang.String,java.util.function.Predicate)
meth public boolean hasProperty(java.lang.String)
CLSS public abstract interface jakarta.ws.rs.client.ClientRequestFilter
meth public abstract void filter(jakarta.ws.rs.client.ClientRequestContext) throws java.io.IOException
CLSS public abstract interface jakarta.ws.rs.client.ClientResponseContext
+meth public abstract boolean containsHeaderString(java.lang.String,java.lang.String,java.util.function.Predicate)
meth public abstract boolean hasEntity()
meth public abstract boolean hasLink(java.lang.String)
meth public abstract int getLength()
@@ -564,6 +615,7 @@ meth public abstract java.util.Set getAllowedMethods()
meth public abstract void setEntityStream(java.io.InputStream)
meth public abstract void setStatus(int)
meth public abstract void setStatusInfo(jakarta.ws.rs.core.Response$StatusType)
+meth public boolean containsHeaderString(java.lang.String,java.util.function.Predicate)
CLSS public abstract interface jakarta.ws.rs.client.ClientResponseFilter
meth public abstract void filter(jakarta.ws.rs.client.ClientRequestContext,jakarta.ws.rs.client.ClientResponseContext) throws java.io.IOException
@@ -743,6 +795,8 @@ meth public abstract jakarta.ws.rs.client.WebTarget resolveTemplatesFromEncoded(
meth public abstract jakarta.ws.rs.core.UriBuilder getUriBuilder()
meth public abstract java.net.URI getUri()
+CLSS abstract interface jakarta.ws.rs.client.package-info
+
CLSS public abstract interface jakarta.ws.rs.container.AsyncResponse
fld public final static long NO_TIMEOUT = 0
meth public abstract !varargs java.util.Map,java.util.Collection>> register(java.lang.Class>,java.lang.Class>[])
@@ -767,6 +821,7 @@ CLSS public abstract interface jakarta.ws.rs.container.ConnectionCallback
meth public abstract void onDisconnect(jakarta.ws.rs.container.AsyncResponse)
CLSS public abstract interface jakarta.ws.rs.container.ContainerRequestContext
+meth public abstract boolean containsHeaderString(java.lang.String,java.lang.String,java.util.function.Predicate)
meth public abstract boolean hasEntity()
meth public abstract int getLength()
meth public abstract jakarta.ws.rs.core.MediaType getMediaType()
@@ -792,12 +847,14 @@ meth public abstract void setProperty(java.lang.String,java.lang.Object)
meth public abstract void setRequestUri(java.net.URI)
meth public abstract void setRequestUri(java.net.URI,java.net.URI)
meth public abstract void setSecurityContext(jakarta.ws.rs.core.SecurityContext)
+meth public boolean containsHeaderString(java.lang.String,java.util.function.Predicate)
meth public boolean hasProperty(java.lang.String)
CLSS public abstract interface jakarta.ws.rs.container.ContainerRequestFilter
meth public abstract void filter(jakarta.ws.rs.container.ContainerRequestContext) throws java.io.IOException
CLSS public abstract interface jakarta.ws.rs.container.ContainerResponseContext
+meth public abstract boolean containsHeaderString(java.lang.String,java.lang.String,java.util.function.Predicate)
meth public abstract boolean hasEntity()
meth public abstract boolean hasLink(java.lang.String)
meth public abstract int getLength()
@@ -827,6 +884,7 @@ meth public abstract void setEntity(java.lang.Object,java.lang.annotation.Annota
meth public abstract void setEntityStream(java.io.OutputStream)
meth public abstract void setStatus(int)
meth public abstract void setStatusInfo(jakarta.ws.rs.core.Response$StatusType)
+meth public boolean containsHeaderString(java.lang.String,java.util.function.Predicate)
CLSS public abstract interface jakarta.ws.rs.container.ContainerResponseFilter
meth public abstract void filter(jakarta.ws.rs.container.ContainerRequestContext,jakarta.ws.rs.container.ContainerResponseContext) throws java.io.IOException
@@ -849,6 +907,7 @@ meth public abstract java.lang.Class> getResourceClass()
meth public abstract java.lang.reflect.Method getResourceMethod()
CLSS public abstract interface !annotation jakarta.ws.rs.container.Suspended
+ anno 0 java.lang.Deprecated(boolean forRemoval=true, java.lang.String since="")
anno 0 java.lang.annotation.Documented()
anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[PARAMETER])
@@ -857,6 +916,8 @@ intf java.lang.annotation.Annotation
CLSS public abstract interface jakarta.ws.rs.container.TimeoutHandler
meth public abstract void handleTimeout(jakarta.ws.rs.container.AsyncResponse)
+CLSS abstract interface jakarta.ws.rs.container.package-info
+
CLSS public abstract jakarta.ws.rs.core.AbstractMultivaluedMap<%0 extends java.lang.Object, %1 extends java.lang.Object>
cons public init(java.util.Map<{jakarta.ws.rs.core.AbstractMultivaluedMap%0},java.util.List<{jakarta.ws.rs.core.AbstractMultivaluedMap%1}>>)
fld protected final java.util.Map<{jakarta.ws.rs.core.AbstractMultivaluedMap%0},java.util.List<{jakarta.ws.rs.core.AbstractMultivaluedMap%1}>> store
@@ -954,6 +1015,7 @@ meth public abstract java.util.Set getInstances()
meth public boolean hasProperty(java.lang.String)
CLSS public abstract interface !annotation jakarta.ws.rs.core.Context
+ anno 0 java.lang.Deprecated(boolean forRemoval=true, java.lang.String since="")
anno 0 java.lang.annotation.Documented()
anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[PARAMETER, METHOD, FIELD])
@@ -1114,6 +1176,7 @@ fld public final static java.lang.String SET_COOKIE = "Set-Cookie"
fld public final static java.lang.String USER_AGENT = "User-Agent"
fld public final static java.lang.String VARY = "Vary"
fld public final static java.lang.String WWW_AUTHENTICATE = "WWW-Authenticate"
+meth public abstract boolean containsHeaderString(java.lang.String,java.lang.String,java.util.function.Predicate)
meth public abstract int getLength()
meth public abstract jakarta.ws.rs.core.MediaType getMediaType()
meth public abstract jakarta.ws.rs.core.MultivaluedMap getRequestHeaders()
@@ -1124,6 +1187,7 @@ meth public abstract java.util.List getRequestHeader(java.lang
meth public abstract java.util.List getAcceptableLanguages()
meth public abstract java.util.Locale getLanguage()
meth public abstract java.util.Map getCookies()
+meth public boolean containsHeaderString(java.lang.String,java.util.function.Predicate)
CLSS public abstract jakarta.ws.rs.core.Link
cons public init()
@@ -1199,6 +1263,7 @@ fld public final static jakarta.ws.rs.core.MediaType APPLICATION_JSON_PATCH_JSON
fld public final static jakarta.ws.rs.core.MediaType APPLICATION_JSON_TYPE
fld public final static jakarta.ws.rs.core.MediaType APPLICATION_OCTET_STREAM_TYPE
fld public final static jakarta.ws.rs.core.MediaType APPLICATION_SVG_XML_TYPE
+ anno 0 java.lang.Deprecated(boolean forRemoval=true, java.lang.String since="")
fld public final static jakarta.ws.rs.core.MediaType APPLICATION_XHTML_XML_TYPE
fld public final static jakarta.ws.rs.core.MediaType APPLICATION_XML_TYPE
fld public final static jakarta.ws.rs.core.MediaType MULTIPART_FORM_DATA_TYPE
@@ -1213,6 +1278,7 @@ fld public final static java.lang.String APPLICATION_JSON = "application/json"
fld public final static java.lang.String APPLICATION_JSON_PATCH_JSON = "application/json-patch+json"
fld public final static java.lang.String APPLICATION_OCTET_STREAM = "application/octet-stream"
fld public final static java.lang.String APPLICATION_SVG_XML = "application/svg+xml"
+ anno 0 java.lang.Deprecated(boolean forRemoval=true, java.lang.String since="")
fld public final static java.lang.String APPLICATION_XHTML_XML = "application/xhtml+xml"
fld public final static java.lang.String APPLICATION_XML = "application/xml"
fld public final static java.lang.String CHARSET_PARAMETER = "charset"
@@ -1636,6 +1702,8 @@ meth public abstract java.util.List build()
meth public static jakarta.ws.rs.core.Variant$VariantListBuilder newInstance()
supr java.lang.Object
+CLSS abstract interface jakarta.ws.rs.core.package-info
+
CLSS public abstract interface jakarta.ws.rs.ext.ContextResolver<%0 extends java.lang.Object>
meth public abstract {jakarta.ws.rs.ext.ContextResolver%0} getContext(java.lang.Class>)
@@ -1682,6 +1750,8 @@ CLSS public abstract interface jakarta.ws.rs.ext.ParamConverterProvider
meth public abstract <%0 extends java.lang.Object> jakarta.ws.rs.ext.ParamConverter<{%%0}> getConverter(java.lang.Class<{%%0}>,java.lang.reflect.Type,java.lang.annotation.Annotation[])
CLSS public abstract interface !annotation jakarta.ws.rs.ext.Provider
+ anno 0 jakarta.enterprise.context.ApplicationScoped()
+ anno 0 jakarta.enterprise.inject.Stereotype()
anno 0 java.lang.annotation.Documented()
anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[TYPE])
@@ -1739,6 +1809,10 @@ meth public abstract void proceed() throws java.io.IOException
meth public abstract void setEntity(java.lang.Object)
meth public abstract void setOutputStream(java.io.OutputStream)
+CLSS abstract interface jakarta.ws.rs.ext.package-info
+
+CLSS abstract interface jakarta.ws.rs.package-info
+
CLSS public abstract interface jakarta.ws.rs.sse.InboundSseEvent
intf jakarta.ws.rs.sse.SseEvent
meth public abstract <%0 extends java.lang.Object> {%%0} readData(jakarta.ws.rs.core.GenericType<{%%0}>)
@@ -1795,7 +1869,7 @@ CLSS public abstract interface jakarta.ws.rs.sse.SseEventSink
intf java.lang.AutoCloseable
meth public abstract boolean isClosed()
meth public abstract java.util.concurrent.CompletionStage> send(jakarta.ws.rs.sse.OutboundSseEvent)
-meth public abstract void close()
+meth public abstract void close() throws java.io.IOException
CLSS public abstract interface jakarta.ws.rs.sse.SseEventSource
innr public abstract static Builder
@@ -1818,6 +1892,8 @@ meth public abstract jakarta.ws.rs.sse.SseEventSource build()
meth public abstract jakarta.ws.rs.sse.SseEventSource$Builder reconnectingEvery(long,java.util.concurrent.TimeUnit)
supr java.lang.Object
+CLSS abstract interface jakarta.ws.rs.sse.package-info
+
CLSS public abstract jakarta.xml.bind.annotation.adapters.XmlAdapter<%0 extends java.lang.Object, %1 extends java.lang.Object>
cons protected init()
meth public abstract {jakarta.xml.bind.annotation.adapters.XmlAdapter%0} marshal({jakarta.xml.bind.annotation.adapters.XmlAdapter%1}) throws java.lang.Exception
@@ -1850,8 +1926,10 @@ meth public abstract !hasdefault java.lang.String since()
CLSS public abstract java.lang.Enum<%0 extends java.lang.Enum<{java.lang.Enum%0}>>
cons protected init(java.lang.String,int)
+innr public final static EnumDesc
intf java.io.Serializable
intf java.lang.Comparable<{java.lang.Enum%0}>
+intf java.lang.constant.Constable
meth protected final java.lang.Object clone() throws java.lang.CloneNotSupportedException
meth protected final void finalize()
meth public final boolean equals(java.lang.Object)
@@ -1860,6 +1938,7 @@ meth public final int hashCode()
meth public final int ordinal()
meth public final java.lang.Class<{java.lang.Enum%0}> getDeclaringClass()
meth public final java.lang.String name()
+meth public final java.util.Optional> describeConstable()
meth public java.lang.String toString()
meth public static <%0 extends java.lang.Enum<{%%0}>> {%%0} valueOf(java.lang.Class<{%%0}>,java.lang.String)
supr java.lang.Object
@@ -1954,6 +2033,9 @@ CLSS public abstract interface !annotation java.lang.annotation.Target
intf java.lang.annotation.Annotation
meth public abstract java.lang.annotation.ElementType[] value()
+CLSS public abstract interface java.lang.constant.Constable
+meth public abstract java.util.Optional extends java.lang.constant.ConstantDesc> describeConstable()
+
CLSS public abstract interface java.util.Map<%0 extends java.lang.Object, %1 extends java.lang.Object>
innr public abstract interface static Entry
meth public !varargs static <%0 extends java.lang.Object, %1 extends java.lang.Object> java.util.Map<{%%0},{%%1}> ofEntries(java.util.Map$Entry extends {%%0},? extends {%%1}>[])
@@ -1996,3 +2078,4 @@ meth public {java.util.Map%1} getOrDefault(java.lang.Object,{java.util.Map%1})
meth public {java.util.Map%1} merge({java.util.Map%0},{java.util.Map%1},java.util.function.BiFunction super {java.util.Map%1},? super {java.util.Map%1},? extends {java.util.Map%1}>)
meth public {java.util.Map%1} putIfAbsent({java.util.Map%0},{java.util.Map%1})
meth public {java.util.Map%1} replace({java.util.Map%0},{java.util.Map%1})
+
diff --git a/jaxrs-tck/src/main/resources/ee/jakarta/tck/ws/rs/signaturetest/sig-test.map b/jaxrs-tck/src/main/resources/ee/jakarta/tck/ws/rs/signaturetest/sig-test.map
index 895b2bed7..04b30da97 100644
--- a/jaxrs-tck/src/main/resources/ee/jakarta/tck/ws/rs/signaturetest/sig-test.map
+++ b/jaxrs-tck/src/main/resources/ee/jakarta/tck/ws/rs/signaturetest/sig-test.map
@@ -17,4 +17,4 @@
###############################################################
# The signature test mapping file for the JAX-RS TCK.
###############################################################
-jakarta.ws.rs=3.1.0
+jakarta.ws.rs=3.2.0
diff --git a/pom.xml b/pom.xml
index 6ed12eec1..9850ec24e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -103,7 +103,7 @@
3.0.0
2.0.0
4.0.0
- 3.0.0
+ 4.1.0-M1
5.8.2
4.0.3
4.1.2