Merge pull request #995 from NicoNes/ISSUE-992

Clarify behavior when SseEvent source onEvent throws and exception
diff --git a/.github/workflows/maven-package.yml b/.github/workflows/maven-package.yml
new file mode 100644
index 0000000..0e68da1
--- /dev/null
+++ b/.github/workflows/maven-package.yml
@@ -0,0 +1,23 @@
+
+name: Jakarta REST CI
+
+on:
+  push:
+    branches: [ master, 4.0-SNAPSHOT ]
+  pull_request:
+    branches: [ master, 4.0-SNAPSHOT ]
+
+jobs:
+  build:
+
+    runs-on: ubuntu-latest
+
+    steps:
+    - uses: actions/checkout@v2
+    - name: Set up JDK 11
+      uses: actions/setup-java@v2
+      with:
+        java-version: '11'
+        distribution: 'adopt'
+    - name: Build with Maven
+      run: mvn -B package --file pom.xml
diff --git a/.travis.yml b/.travis.yml
index 32de347..b41dd78 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,17 +4,11 @@
 
 jdk:
   - oraclejdk8
-  - oraclejdk9
   - oraclejdk11
   - openjdk8
-  - openjdk9
-  - openjdk10
   - openjdk11
-  - openjdk12
-  - openjdk13
-  - openjdk14
-  - openjdk15
   - openjdk16
+  - openjdk17
 
 cache:
   directories:
diff --git a/Jenkinsfile b/Jenkinsfile
index 4157858..be42d9b 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -4,7 +4,7 @@
 		pollSCM('H H * * *')
 	}
 	tools {
-		jdk 'openjdk-latest'
+		jdk 'openjdk-jdk11-latest'
 		maven 'apache-maven-latest'
 	}
 	environment {
diff --git a/etc/config/checkstyle.xml b/etc/config/checkstyle.xml
index be18d17..55b8840 100644
--- a/etc/config/checkstyle.xml
+++ b/etc/config/checkstyle.xml
@@ -52,6 +52,8 @@
         <property name="basedir" value="${basedir}"/>
     -->
 
+    <property name="cacheFile" value="${checkstyle.cache.file}"/>
+
     <!-- Checks that each Java package has a Javadoc file used for commenting. -->
     <!-- See http://checkstyle.sf.net/config_javadoc.html#JavadocPackage       -->
     <module name="JavadocPackage" />
@@ -66,6 +68,11 @@
 
     <module name="FileLength"/>
 
+    <module name="LineLength">
+        <property name="max" value="160"/>
+        <property name="ignorePattern" value="@version|@see|@todo|TODO"/>
+    </module>
+
     <!-- Following interprets the header file as regular expressions. -->
     <!-- <module name="RegexpHeader"/>                                -->
 
@@ -79,19 +86,15 @@
     </module>
 
     <module name="TreeWalker">
-        <property name="cacheFile" value="${checkstyle.cache.file}"/>
         <property name="tabWidth" value="4"/>
 
         <!-- Checks for Javadoc comments.                     -->
         <!-- See http://checkstyle.sf.net/config_javadoc.html -->
 
-        <!--
-          - Turned off for now due to https://github.com/checkstyle/checkstyle/issues/5088
-          -
         <module name="JavadocMethod">
-            <property name="scope" value="protected"/>
+            <property name="accessModifiers" value="protected"/>
             <property name="validateThrows" value="false"/>
-        </module -->
+        </module>
 
         <module name="JavadocType">
             <property name="scope" value="protected"/>
@@ -140,10 +143,6 @@
 
         <!-- Checks for Size Violations.                    -->
         <!-- See http://checkstyle.sf.net/config_sizes.html -->
-        <module name="LineLength">
-            <property name="max" value="160"/>
-            <property name="ignorePattern" value="@version|@see|@todo|TODO"/>
-        </module>
         <module name="MethodLength"/>
         <module name="ParameterNumber">
 	   <property name="max" value="11"/>
diff --git a/examples/pom.xml b/examples/pom.xml
index 8e8690f..85825ec 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,28 +15,22 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
-    <parent>
-        <groupId>net.java</groupId>
-        <artifactId>jvnet-parent</artifactId>
-        <version>1</version>
-    </parent>
-
     <groupId>jakarta.ws.rs</groupId>
     <artifactId>jakarta.ws.rs-examples</artifactId>
     <version>3.1-SNAPSHOT</version>
     <packaging>jar</packaging>
-    <name>jakarta.ws.rs-examples</name>
+    <name>Jakarta RESTful WS Examples</name>
 
     <url>https://github.com/jax-rs/api</url>
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <microprofile.config.version>1.3</microprofile.config.version>
+        <microprofile.config.version>3.0-RC1</microprofile.config.version>
     </properties>
 
     <organization>
-        <name>Oracle Corporation</name>
-        <url>http://www.oracle.com/</url>
+        <name>Eclipse Foundation</name>
+        <url>https://www.eclipse.org/org/foundation/</url>
     </organization>
 
     <issueManagement>
@@ -67,14 +61,10 @@
 
     <developers>
         <developer>
-            <email>santiago.pericasgeertsen@oracle.com</email>
-            <id>Santiago</id>
-            <name>Santiago Pericas-Geertsen</name>
-            <organization>Oracle</organization>
-            <roles>
-                <role>JAX-RS Spec Lead</role>
-            </roles>
-            <timezone>EST</timezone>
+            <id>developers</id>
+            <name>JAX-RS API Developers</name>
+            <email>jaxrs-dev@eclipse.org</email>
+            <url>https://github.com/eclipse-ee4j/jaxrs-api/graphs/contributors</url>
         </developer>
     </developers>
 
@@ -82,24 +72,22 @@
         <pluginManagement>
             <plugins>
                 <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-compiler-plugin</artifactId>
-                    <version>3.6.1</version>
+                    <version>3.8.1</version>
                     <configuration>
                         <source>1.8</source>
                         <target>1.8</target>
                     </configuration>
                 </plugin>
                 <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-jar-plugin</artifactId>
-                    <version>2.5</version>
+                    <version>3.2.0</version>
                 </plugin>
                 <plugin>
                     <!-- This plugin generates the buildNumber property used in maven-bundle-plugin -->
                     <groupId>org.codehaus.mojo</groupId>
                     <artifactId>buildnumber-maven-plugin</artifactId>
-                    <version>1.3</version>
+                    <version>1.4</version>
                     <configuration>
                         <format>{0,date,MM/dd/yyyy hh:mm aa}</format>
                         <items>
@@ -116,9 +104,8 @@
                     </executions>
                 </plugin>
                 <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-javadoc-plugin</artifactId>
-                    <version>2.10.3</version>
+                    <version>3.3.0</version>
                     <configuration>
                         <doctitle>JAX-RS ${project.version} API Specification</doctitle>
                         <bottom>
@@ -156,9 +143,8 @@
                     </executions>
                 </plugin>
                 <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-source-plugin</artifactId>
-                    <version>2.3</version>
+                    <version>3.2.1</version>
                     <executions>
                         <execution>
                             <id>attach-sources</id>
@@ -169,9 +155,8 @@
                     </executions>
                 </plugin>
                 <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-jxr-plugin</artifactId>
-                    <version>2.3</version>
+                    <version>3.1.1</version>
                     <executions>
                         <execution>
                             <goals>
@@ -182,14 +167,20 @@
                     </executions>
                 </plugin>
                 <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-checkstyle-plugin</artifactId>
-                    <version>3.0.0</version>
+                    <version>3.1.2</version>
                     <configuration>
                         <outputDirectory>${project.build.directory}/checkstyle</outputDirectory>
                         <outputFile>${project.build.directory}/checkstyle/checkstyle-result.xml</outputFile>
                         <configLocation>${basedir}/../etc/config/checkstyle.xml</configLocation>
                     </configuration>
+                    <dependencies>
+                        <dependency>
+                            <groupId>com.puppycrawl.tools</groupId>
+                            <artifactId>checkstyle</artifactId>
+                            <version>8.44</version>
+                        </dependency>
+                    </dependencies>
                     <executions>
                         <execution>
                             <goals>
@@ -223,31 +214,22 @@
         </pluginManagement>
         <plugins>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jar-plugin</artifactId>
             </plugin>
             <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>buildnumber-maven-plugin</artifactId>
             </plugin>
-            <!--<plugin>-->
-                <!--<groupId>org.apache.maven.plugins</groupId>-->
-                <!--<artifactId>maven-javadoc-plugin</artifactId>-->
-            <!--</plugin>-->
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-source-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jxr-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-checkstyle-plugin</artifactId>
             </plugin>
             <plugin>
@@ -267,25 +249,25 @@
         <dependency>
             <groupId>jakarta.xml.bind</groupId>
             <artifactId>jakarta.xml.bind-api</artifactId>
-            <version>3.0.0-RC3</version>
+            <version>3.0.1</version>
         </dependency>
 
         <dependency>
             <groupId>jakarta.enterprise</groupId>
             <artifactId>jakarta.enterprise.cdi-api</artifactId>
-            <version>3.0.0-M4</version>
+            <version>3.0.0</version>
         </dependency>
 
         <dependency>
             <groupId>jakarta.enterprise.concurrent</groupId>
             <artifactId>jakarta.enterprise.concurrent-api</artifactId>
-            <version>2.0.0-RC2</version>
+            <version>2.0.0</version>
         </dependency>
 
         <dependency>
             <groupId>jakarta.ejb</groupId>
             <artifactId>jakarta.ejb-api</artifactId>
-            <version>4.0.0-RC2</version>
+            <version>4.0.0</version>
         </dependency>
 
         <dependency>
diff --git a/examples/src/main/java/jaxrs/examples/bootstrap/ClientAuthenticationJavaSeBootstrapExample.java b/examples/src/main/java/jaxrs/examples/bootstrap/ClientAuthenticationJavaSeBootstrapExample.java
index 3a78496..23b42a9 100644
--- a/examples/src/main/java/jaxrs/examples/bootstrap/ClientAuthenticationJavaSeBootstrapExample.java
+++ b/examples/src/main/java/jaxrs/examples/bootstrap/ClientAuthenticationJavaSeBootstrapExample.java
@@ -34,11 +34,8 @@
  * (e. g. 443, 8443, or someting completely different). The actual configuration needs to be queried after
  * bootstrapping, otherwise callers would be unaware of the actual chosen port. If the client's certificate is invalid
  * or cannot be validated, the server will reject the connection.
- * </p>
  * <p>
  * This example uses some basic <em>external</em> JSSE configuration:
- * </p>
- * <p>
  * <ul>
  * <li>{@code javax.net.ssl.keyStore=~/.keystore} - HTTPS: Path to a keystore holding an X.509 certificate for
  * {@code CN=localhost}</li>
@@ -46,7 +43,6 @@
  * <li>Client Authentication: The default truststore ({@code $JAVA_HOME/lib/security/cacerts}) must hold the root
  * certificate of the CA and all intermediate certificates used for signing the client's certificate.</li>
  * </ul>
- * </p>
  *
  * @author Markus KARG (markus@headcrashing.eu)
  * @since 3.1
diff --git a/examples/src/main/java/jaxrs/examples/bootstrap/HttpsJavaSeBootstrapExample.java b/examples/src/main/java/jaxrs/examples/bootstrap/HttpsJavaSeBootstrapExample.java
index 481edd0..6cb7e8a 100644
--- a/examples/src/main/java/jaxrs/examples/bootstrap/HttpsJavaSeBootstrapExample.java
+++ b/examples/src/main/java/jaxrs/examples/bootstrap/HttpsJavaSeBootstrapExample.java
@@ -31,17 +31,13 @@
  * {@code https://localhost/} on an implementation-specific default IP port (e. g. 443, 8443, or someting completely
  * different). The actual configuration needs to be queried after bootstrapping, otherwise callers would be unaware of
  * the actual chosen port.
- * </p>
  * <p>
  * This example uses some basic <em>external</em> JSSE configuration:
- * </p>
- * <p>
  * <ul>
  * <li>{@code javax.net.ssl.keyStore=~/.keystore} - HTTPS: Path to a keystore holding an X.509 certificate for
  * {@code CN=localhost}</li>
  * <li>{@code javax.net.ssl.keyStorePassword=...} - HTTPS: Password of that keystore</li>
  * </ul>
- * </p>
  *
  * @author Markus KARG (markus@headcrashing.eu)
  * @since 3.1
diff --git a/examples/src/main/java/jaxrs/examples/link/LinkExamples.java b/examples/src/main/java/jaxrs/examples/link/LinkExamples.java
index 4f725ef..976e68b 100644
--- a/examples/src/main/java/jaxrs/examples/link/LinkExamples.java
+++ b/examples/src/main/java/jaxrs/examples/link/LinkExamples.java
@@ -51,7 +51,7 @@
      * 1-step process: Build Response and add a link directly to it using either a String or a URI.
      *
      * @return response.
-     * @throws URISyntaxException
+     * @throws URISyntaxException if URI is invalid
      */
     public Response example3() throws URISyntaxException {
         Response r;
diff --git a/examples/src/main/java/jaxrs/examples/sse/ItemStoreResource.java b/examples/src/main/java/jaxrs/examples/sse/ItemStoreResource.java
index 00ce69c..82e5336 100644
--- a/examples/src/main/java/jaxrs/examples/sse/ItemStoreResource.java
+++ b/examples/src/main/java/jaxrs/examples/sse/ItemStoreResource.java
@@ -85,7 +85,7 @@
     }
 
     /**
-     * Receive & process commands sent by the test client that control the internal resource state.
+     * Receive &amp; process commands sent by the test client that control the internal resource state.
      * <p>
      * Following is the list of recognized commands:
      * <ul>
diff --git a/jaxrs-api/pom.xml b/jaxrs-api/pom.xml
index 4f500c4..ee4ac50 100644
--- a/jaxrs-api/pom.xml
+++ b/jaxrs-api/pom.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,15 +23,17 @@
     <parent>
         <groupId>org.eclipse.ee4j</groupId>
         <artifactId>project</artifactId>
-        <version>1.0.6</version>
+        <version>1.0.7</version>
+        <relativePath/>
     </parent>
 
     <groupId>jakarta.ws.rs</groupId>
     <artifactId>jakarta.ws.rs-api</artifactId>
     <version>3.1-SNAPSHOT</version>
 
+
     <packaging>bundle</packaging>
-    <name>jakarta.ws.rs-api</name>
+    <name>Jakarta RESTful WS API</name>
     <description>Jakarta RESTful Web Services</description>
 
     <url>https://github.com/eclipse-ee4j/jaxrs-api</url>
@@ -199,7 +201,7 @@
             <build>
                 <plugins>
                     <plugin>
-                        <!-- TODO: overriding paren pom (profile jvnet-release) - we should find nicer way -->
+                        <!-- TODO: overriding parent pom (profile jvnet-release) - we should find nicer way -->
                         <!-- 1.8- javadoc cannot handle module-info -->
                         <artifactId>maven-javadoc-plugin</artifactId>
                         <version>${maven.javadoc.plugin.version}</version>
@@ -266,7 +268,7 @@
             <plugins>
                 <plugin>
                     <artifactId>maven-jar-plugin</artifactId>
-                    <version>3.1.0</version>
+                    <version>3.2.0</version>
                 </plugin>
                 <plugin>
                     <!-- This plugin generates the buildNumber property used in maven-bundle-plugin -->
@@ -365,7 +367,7 @@
                 </plugin>
                 <plugin>
                     <artifactId>maven-source-plugin</artifactId>
-                    <version>3.0.1</version>
+                    <version>3.2.1</version>
                     <executions>
                         <execution>
                             <id>attach-sources</id>
@@ -379,7 +381,7 @@
                     <!-- Adding files to jar-->
                     <groupId>org.codehaus.mojo</groupId>
                     <artifactId>build-helper-maven-plugin</artifactId>
-                    <version>3.0.0</version>
+                    <version>3.2.0</version>
                     <executions>
                         <execution>
                             <id>add-legal-resource</id>
@@ -404,7 +406,7 @@
                 </plugin>
                 <plugin>
                     <artifactId>maven-jxr-plugin</artifactId>
-                    <version>2.5</version>
+                    <version>3.1.1</version>
                     <executions>
                         <execution>
                             <goals>
@@ -416,13 +418,20 @@
                 </plugin>
                 <plugin>
                     <artifactId>maven-checkstyle-plugin</artifactId>
-                    <version>3.0.0</version>
+                    <version>3.1.2</version>
                     <configuration>
                         <outputDirectory>${project.build.directory}/checkstyle</outputDirectory>
                         <outputFile>${project.build.directory}/checkstyle/checkstyle-result.xml</outputFile>
                         <configLocation>${basedir}/../etc/config/checkstyle.xml</configLocation>
                         <excludes>**/module-info.java</excludes>
                     </configuration>
+                    <dependencies>
+                        <dependency>
+                            <groupId>com.puppycrawl.tools</groupId>
+                            <artifactId>checkstyle</artifactId>
+                            <version>8.44</version>
+                        </dependency>
+                    </dependencies>
                     <executions>
                         <execution>
                             <goals>
@@ -515,7 +524,7 @@
         <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter-api</artifactId>
-            <version>5.7.0</version>
+            <version>5.8.0-M1</version>
             <scope>test</scope>
         </dependency>
         <dependency>
@@ -527,7 +536,7 @@
         <dependency>
             <groupId>org.mockito</groupId>
             <artifactId>mockito-core</artifactId>
-            <version>3.6.0</version>
+            <version>3.11.1</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
@@ -536,19 +545,19 @@
         <apidocs.title>Jakarta RESTful Web Services ${spec.version} API Specification ${spec.version.revision}</apidocs.title>
         <java.version>1.8</java.version>
 
-        <maven.bundle.plugin.version>3.5.0</maven.bundle.plugin.version>
-        <maven.compiler.plugin.version>3.7.0</maven.compiler.plugin.version>
-        <maven.javadoc.plugin.version>3.1.0</maven.javadoc.plugin.version>
+        <maven.bundle.plugin.version>5.1.2</maven.bundle.plugin.version>
+        <maven.compiler.plugin.version>3.8.1</maven.compiler.plugin.version>
+        <maven.javadoc.plugin.version>3.3.0</maven.javadoc.plugin.version>
 
         <api.package>jakarta.ws.rs</api.package>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <skip.release.tests>false</skip.release.tests>
-        <spec.version>3.0</spec.version>
+        <spec.version>3.1</spec.version>
         <spec.version.revision /> <!-- e.g. (Rev a) -->
 
-        <jaxb.api.version>3.0.0</jaxb.api.version>
-        <jaxb.impl.version>3.0.0-M4</jaxb.impl.version>
-        <activation.api.version>2.0.0</activation.api.version>
+        <jaxb.api.version>3.0.1</jaxb.api.version>
+        <jaxb.impl.version>3.0.2-b01</jaxb.impl.version>
+        <activation.api.version>2.0.1</activation.api.version>
         <legal.doc.folder>${project.basedir}/..</legal.doc.folder>
     </properties>
 
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/core/EntityPart.java b/jaxrs-api/src/main/java/jakarta/ws/rs/core/EntityPart.java
index a138aea..4334838 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/core/EntityPart.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/core/EntityPart.java
@@ -129,8 +129,11 @@
      * an {@code IllegalStateException} if it is called after calling
      * {@link #getContent} or {@link #getContent(GenericType)}.
      * 
+     * @param <T> type parameter of the value returned
+     * 
      * @param type the {@code Class} that the implementation should convert this
      *             part to
+     * @param <T> the entity type
      * @return an instance of the specified {@code Class} representing the content
      *         of this part
      * @throws IllegalArgumentException if no
@@ -164,9 +167,12 @@
      * result in an {@code IllegalStateException}. Likewise this method will throw
      * an {@code IllegalStateException} if it is called after calling
      * {@link #getContent} or {@link #getContent(Class)}.
+     *
+     * @param <T> type parameter of the value returned
      * 
      * @param type the generic type that the implementation should convert this part
      *             to
+     * @param <T> the entity type
      * @return an instance of the specified generic type representing the content of
      *         this part
      * @throws IllegalArgumentException if no
@@ -207,7 +213,7 @@
      * 
      * @since 3.1
      */
-    public interface Builder {
+    interface Builder {
 
         /**
          * Sets the media type for the EntityPart. This will also set the
@@ -217,7 +223,7 @@
          * @return the updated builder
          * @throws IllegalArgumentException if {@code mediaType} is {@code null}
          */
-        public Builder mediaType(MediaType mediaType) throws IllegalArgumentException;
+        Builder mediaType(MediaType mediaType) throws IllegalArgumentException;
 
         /**
          * Convenience method for setting the media type for the EntityPart. This will
@@ -230,7 +236,7 @@
          * @throws IllegalArgumentException if {@code mediaTypeString} cannot be parsed
          *                                  or is {@code null}
          */
-        public Builder mediaType(String mediaTypeString) throws IllegalArgumentException;
+        Builder mediaType(String mediaTypeString) throws IllegalArgumentException;
 
         /**
          * Adds a new header or replaces a previously added header and sets the header
@@ -241,7 +247,7 @@
          * @return the updated builder
          * @throws IllegalArgumentException if {@code headerName} is {@code null}
          */
-        public Builder header(String headerName, String... headerValues) throws IllegalArgumentException;
+        Builder header(String headerName, String... headerValues) throws IllegalArgumentException;
 
         /**
          * Adds new headers or replaces previously added headers. The behavior of this
@@ -252,7 +258,7 @@
          * @return the updated builder
          * @throws IllegalArgumentException if {@code newHeaders} is {@code null}
          */
-        public Builder headers(MultivaluedMap<String, String> newHeaders) throws IllegalArgumentException;
+        Builder headers(MultivaluedMap<String, String> newHeaders) throws IllegalArgumentException;
 
         /**
          * Sets the file name for this part. The file name will be specified as an
@@ -264,7 +270,7 @@
          * @return the updated builder
          * @throws IllegalArgumentException if {@code fileName} is {@code null}
          */
-        public Builder fileName(String fileName) throws IllegalArgumentException;
+        Builder fileName(String fileName) throws IllegalArgumentException;
 
         /**
          * Sets the content for this part. The content of this builder must be specified
@@ -279,7 +285,7 @@
          * @return the updated builder
          * @throws IllegalArgumentException if {@code content} is {@code null}
          */
-        public Builder content(InputStream content) throws IllegalArgumentException;
+        Builder content(InputStream content) throws IllegalArgumentException;
 
         /**
          * Convenience method, equivalent to calling
@@ -290,7 +296,7 @@
          * @return the updated builder.
          * @throws IllegalArgumentException if either parameter is {@code null}.
          */
-        public default Builder content(String fileName, InputStream content) throws IllegalArgumentException {
+        default Builder content(String fileName, InputStream content) throws IllegalArgumentException {
             return this.fileName(fileName).content(content);
         }
 
@@ -307,14 +313,16 @@
          * {@link #header(String, String...)} or {@link #headers(MultivaluedMap)}
          * methods.
          * </p>
-         * 
+         *
+         * @param <T> type parameter of the content
          * @param content the object to be used as the content
          * @param type    the type of this object which will be used when selecting the
          *                appropriate {@link jakarta.ws.rs.ext.MessageBodyWriter}
+         * @param <T>     the entity type
          * @return the updated builder.
          * @throws IllegalArgumentException if {@code content} is {@code null}
          */
-        public <T> Builder content(T content, Class<? extends T> type) throws IllegalArgumentException;
+        <T> Builder content(T content, Class<? extends T> type) throws IllegalArgumentException;
 
         /**
          * Sets the content for this part. The content of this builder must be specified
@@ -335,9 +343,11 @@
          * </p>
          * 
          * @param content the object to be used as the content
+         * @return the updated builder.
          * @throws IllegalArgumentException if {@code content} is {@code null}
+         * @return the updated builder.
          */
-        public default Builder content(Object content) throws IllegalArgumentException {
+        default Builder content(Object content) throws IllegalArgumentException {
             return this.content(content, content.getClass());
         }
 
@@ -354,15 +364,17 @@
          * {@link #header(String, String...)} or {@link #headers(MultivaluedMap)}
          * methods.
          * </p>
-         * 
+         *
+         * @param <T> type parameter of the content
          * @param content the object to be used as the content
          * @param type    the generic type of this object which will be used when
          *                selecting the appropriate
          *                {@link jakarta.ws.rs.ext.MessageBodyWriter}
+         * @param <T> the entity type
          * @return the updated builder.
          * @throws IllegalArgumentException if {@code content} is {@code null}
          */
-        public <T> Builder content(T content, GenericType<T> type) throws IllegalArgumentException;
+        <T> Builder content(T content, GenericType<T> type) throws IllegalArgumentException;
 
         /**
          * Builds a new EntityPart instance using the provided property values.
@@ -379,6 +391,6 @@
          *                                 {@link jakarta.ws.rs.ext.MessageBodyWriter}
          *                                 throws a {@code WebApplicationException}
          */
-        public EntityPart build() throws IllegalStateException, IOException, WebApplicationException;
+        EntityPart build() throws IllegalStateException, IOException, WebApplicationException;
     }
 }
diff --git a/jaxrs-spec/pom.xml b/jaxrs-spec/pom.xml
index 18da165..1e2e60a 100644
--- a/jaxrs-spec/pom.xml
+++ b/jaxrs-spec/pom.xml
@@ -22,19 +22,20 @@
     <artifactId>jakarta.ws.rs-spec</artifactId>
     <version>3.1-SNAPSHOT</version>
     <packaging>pom</packaging>
-    <name>Jakarta RESTful Web Services Specification</name>
+    <name>Jakarta RESTful WS Specification</name>
 
     <properties>
         <site.output.dir>${project.build.directory}/staging</site.output.dir>
         <maven.site.skip>true</maven.site.skip>
-        <asciidoctor.maven.plugin.version>2.0.0-RC.1</asciidoctor.maven.plugin.version>
-        <asciidoctorj.version>2.0.0</asciidoctorj.version>
-        <asciidoctorj.pdf.version>1.5.0-alpha.17</asciidoctorj.pdf.version>
-        <jruby.version>9.2.7.0</jruby.version>
+        <asciidoctor.maven.plugin.version>2.1.0</asciidoctor.maven.plugin.version>
+        <asciidoctorj.version>2.5.1</asciidoctorj.version>
+        <asciidoctorj.pdf.version>1.6.0</asciidoctorj.pdf.version>
+        <jruby.version>9.2.19.0</jruby.version>
         <!-- status: DRAFT, BETA, etc., or blank for final -->
-        <status></status>
+        <status>DRAFT</status>
         <maven.build.timestamp.format>MMMM dd, yyyy</maven.build.timestamp.format>
         <revisiondate>${maven.build.timestamp}</revisiondate>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     </properties>
 
     <scm>
@@ -90,6 +91,7 @@
                         <configuration>
                             <backend>xhtml</backend>
                             <attributes>
+				<imagesdir>images</imagesdir>
                                 <revnumber>${project.version}</revnumber>
                                 <revremark>${status}</revremark>
                                 <revdate>${revisiondate}</revdate>
@@ -115,6 +117,7 @@
                         <configuration>
                             <backend>pdf</backend>
                             <attributes>
+				<imagesdir>images</imagesdir>
                                 <pdf-stylesdir>${project.basedir}/src/theme</pdf-stylesdir>
                                 <pdf-style>jakartaee</pdf-style>
                                 <revnumber>${project.version}</revnumber>
diff --git a/jaxrs-spec/src/main/asciidoc/chapters/appendix/_changes-since-3.0-release.adoc b/jaxrs-spec/src/main/asciidoc/chapters/appendix/_changes-since-3.0-release.adoc
index 31a9f0c..e343c6f 100644
--- a/jaxrs-spec/src/main/asciidoc/chapters/appendix/_changes-since-3.0-release.adoc
+++ b/jaxrs-spec/src/main/asciidoc/chapters/appendix/_changes-since-3.0-release.adoc
@@ -23,7 +23,7 @@
 default exception mappers.
 * <<resource_field>>: Array types may be specified for `@CookieParam`,
 `@FormParam`, `@HeaderParam`, `@MatrixParam` and `@QueryParam` parameters.
-* Deprecated Link.JaxbLink and Link.JaxbAdapter inner classes.
+* Deprecated `Link.JaxbLink` and `Link.JaxbAdapter` inner classes.
 * New method `#hasProperty(String)` wherever `#getProperty(String)` exists
 * `Response.created(URI)` now resolves relative URIs into an absolute URI
 against the *base* URI, not against the *request* URI anymore.
diff --git a/jaxrs-spec/src/main/asciidoc/chapters/introduction/_project_team.adoc b/jaxrs-spec/src/main/asciidoc/chapters/introduction/_project_team.adoc
index c92cb6f..ef39db7 100644
--- a/jaxrs-spec/src/main/asciidoc/chapters/introduction/_project_team.adoc
+++ b/jaxrs-spec/src/main/asciidoc/chapters/introduction/_project_team.adoc
@@ -17,8 +17,6 @@
 
 The following are the current committers of the Jakarta RESTful Web Services specification project:
 
--- Sebastian Daschner (IBM)
-
 -- Christian Kaltepoth (individual)
 
 -- Markus Karg (individual)
diff --git a/jaxrs-spec/src/main/asciidoc/chapters/introduction/_status.adoc b/jaxrs-spec/src/main/asciidoc/chapters/introduction/_status.adoc
index f905fc2..e5d67bd 100644
--- a/jaxrs-spec/src/main/asciidoc/chapters/introduction/_status.adoc
+++ b/jaxrs-spec/src/main/asciidoc/chapters/introduction/_status.adoc
@@ -11,7 +11,7 @@
 [[status]]
 === Status
 
-This is the final release of version 3.1. The issue tracking system for
+This is a draft of version 3.1. The issue tracking system for
 this release can be found at:
 
 https://github.com/eclipse-ee4j/jaxrs-api/issues
diff --git a/jaxrs-tck/pom.xml b/jaxrs-tck/pom.xml
index fd020d6..c7ee0a9 100644
--- a/jaxrs-tck/pom.xml
+++ b/jaxrs-tck/pom.xml
@@ -24,7 +24,7 @@
     <artifactId>jakarta.ws.rs-tck</artifactId>
     <version>3.1-SNAPSHOT</version>
 
-    <name>Jakarta REST TCK</name>
+    <name>Jakarta RESTful WS TCK</name>
     <description>Technology Compatibility Kit for Jakarta RESTful Web Services</description>
     <url>https://github.com/eclipse-ee4j/jaxrs-api</url>
 
diff --git a/jaxrs-tck/src/main/java/jakarta/ws/rs/tck/sebootstrap/SeBootstrapIT.java b/jaxrs-tck/src/main/java/jakarta/ws/rs/tck/sebootstrap/SeBootstrapIT.java
index 356f63f..23a5d14 100644
--- a/jaxrs-tck/src/main/java/jakarta/ws/rs/tck/sebootstrap/SeBootstrapIT.java
+++ b/jaxrs-tck/src/main/java/jakarta/ws/rs/tck/sebootstrap/SeBootstrapIT.java
@@ -264,7 +264,7 @@
      */
     @Test
     public final void shouldBootInstanceUsingSelfDetectedFreeIpPort()
-            throws InterruptedException, ExecutionException, IOException {
+            throws InterruptedException, ExecutionException {
         // given
         final int expectedResponse = mockInt();
         final Application application = new StaticApplication(expectedResponse);
@@ -300,7 +300,7 @@
      */
     @Test
     public final void shouldBootInstanceUsingImplementationsDefaultIpPort()
-            throws InterruptedException, ExecutionException, IOException {
+            throws InterruptedException, ExecutionException {
         // given
         final int expectedResponse = mockInt();
         final Application application = new StaticApplication(expectedResponse);
diff --git a/jaxrs-tck/src/main/java/jakarta/ws/rs/tck/uribuilder/UriBuilderIT.java b/jaxrs-tck/src/main/java/jakarta/ws/rs/tck/uribuilder/UriBuilderIT.java
index 98290a2..6271869 100644
--- a/jaxrs-tck/src/main/java/jakarta/ws/rs/tck/uribuilder/UriBuilderIT.java
+++ b/jaxrs-tck/src/main/java/jakarta/ws/rs/tck/uribuilder/UriBuilderIT.java
@@ -49,7 +49,7 @@
      */
     @Test
     public final void shouldBuildValidInstanceFromScratch()
-            throws InterruptedException, ExecutionException, URISyntaxException {
+            throws InterruptedException, ExecutionException {
         // given
         final UriBuilder uriBuilder = UriBuilder.newInstance();
 
diff --git a/jersey-tck/pom.xml b/jersey-tck/pom.xml
index 35dad66..1699011 100644
--- a/jersey-tck/pom.xml
+++ b/jersey-tck/pom.xml
@@ -7,7 +7,7 @@
     <version>3.1-SNAPSHOT</version>
     <packaging>pom</packaging>
 
-    <name>Jakarta REST Compliance</name>
+    <name>Jakarta RESTful WS Compliance</name>
     <description>This test verifies the compliance of Eclipse Jersey with Jakarta REST</description>
 
     <properties>
diff --git a/pom.xml b/pom.xml
index b2a8775..a5c553a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,13 +19,13 @@
     <artifactId>all</artifactId>
     <version>3.1-SNAPSHOT</version>
     <packaging>pom</packaging>
-    <name>Jakarta RESTful Web Service Multi-Module Project</name>
+    <name>Jakarta RESTful WS Project</name>
 
     <modules>
-	<module>jaxrs-api</module>
-	<module>jaxrs-spec</module>
-	<module>jaxrs-tck</module>
-	<module>examples</module>
-	<module>jersey-tck</module>
+        <module>jaxrs-api</module>
+        <module>jaxrs-spec</module>
+        <module>jaxrs-tck</module>
+        <module>examples</module>
+        <module>jersey-tck</module>
     </modules>
 </project>