diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 997eb1ce..d8feb9b3 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2021, 2024 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
@@ -18,6 +18,17 @@ name: JSON-B API
on: [push, pull_request]
+permissions:
+ security-events: read
+ contents: write
+ actions: read
+ id-token: write
+ checks: write
+
+concurrency:
+ group: ${{ github.ref }}
+ cancel-in-progress: true
+
jobs:
build:
name: JSON-B API compilation
@@ -25,27 +36,20 @@ jobs:
steps:
- name: Checkout for build
- uses: actions/checkout@v2.3.4
+ uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up compile JDK
- uses: actions/setup-java@v2
+ uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: 11
- - name: Maven cache
- uses: actions/cache@v2
- env:
- cache-name: maven-cache
- with:
- path:
- ~/.m2
- key: build-${{ env.cache-name }}
+ cache: 'maven'
- name: API compilation
- run: cd api && mvn clean install -Pstaging
+ run: cd api && mvn clean install -Pstaging -B
- name: TCK test compilation
- run: cd tck && mvn clean install -Pstaging
+ run: cd tck && mvn clean install -Pstaging -B
- name: Javadoc compilation
- run: cd docs && mvn clean install -Pstaging
+ run: cd docs && mvn clean install -Pstaging -B
- name: Generating specification
- run: cd spec && mvn clean install -Pstaging
+ run: cd spec && mvn clean install -Pstaging -B
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 24edd247..dd6225fb 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -4,13 +4,19 @@ Thanks for your interest in this project.
## Project description
-JSON-B is a standard binding layer for converting Java objects to/from JSON
-messages. It defines a default mapping algorithm for converting existing Java
-classes to JSON, while enabling developers to customize the mapping process
-through the use of Java annotations.
+Jakarta JSON Binding™ is a standard binding layer for converting Java objects
+to/from JSON messages. It defines a default mapping algorithm for converting
+existing Java classes to JSON, while enabling developers to customize the
+mapping process through the use of Java annotations.
* https://projects.eclipse.org/projects/ee4j.jsonb
+## Terms of Use
+
+This repository is subject to the Terms of Use of the Eclipse Foundation
+
+* https://www.eclipse.org/legal/termsofuse.php
+
## Developer resources
Information regarding source code management, builds, coding standards, and
@@ -20,20 +26,35 @@ more.
The project maintains the following source code repositories
-* https://github.com/eclipse-ee4j/jsonb-api
+* https://github.com/jakartaee/jsonb-api
+
+## Eclipse Development Process
+
+This Eclipse Foundation open project is governed by the Eclipse Foundation
+Development Process and operates under the terms of the Eclipse IP Policy.
+
+The Jakarta EE Specification Committee has adopted the Jakarta EE Specification
+Process (JESP) in accordance with the Eclipse Foundation Specification Process
+v1.2 (EFSP) to ensure that the specification process is complied with by all
+Jakarta EE specification projects.
+
+* https://eclipse.org/projects/dev_process
+* https://www.eclipse.org/org/documents/Eclipse_IP_Policy.pdf
+* https://jakarta.ee/about/jesp/
+* https://www.eclipse.org/legal/efsp_non_assert.php
## Eclipse Contributor Agreement
-Before your contribution can be accepted by the project team contributors must
+In order to be able to contribute to Eclipse Foundation projects you must
electronically sign the Eclipse Contributor Agreement (ECA).
-* http://www.eclipse.org/legal/ECA.php
+* https://www.eclipse.org/legal/ECA.php
-Commits that are provided by non-committers must have a Signed-off-by field in
-the footer indicating that the author is aware of the terms by which the
-contribution has been provided to the project. The non-committer must
-additionally have an Eclipse Foundation account and must have a signed Eclipse
-Contributor Agreement (ECA) on file.
+The ECA provides the Eclipse Foundation with a permanent record that you agree
+that each of your contributions will comply with the commitments documented in
+the Developer Certificate of Origin (DCO). Having an ECA on file associated with
+the email address matching the "Author" field of your contribution's Git commits
+fulfills the DCO's requirement that you sign-off on your contributions.
For more information, please see the Eclipse Committer Handbook:
https://www.eclipse.org/projects/handbook/#resources-commit
diff --git a/NOTICE.md b/NOTICE.md
index 2d0795f7..48252b06 100644
--- a/NOTICE.md
+++ b/NOTICE.md
@@ -6,7 +6,7 @@ This content is produced and maintained by the Jakarta JSON Binding project.
## Trademarks
-Jakarta JSON Binding is a trademark of the Eclipse Foundation.
+Jakarta JSON Binding™ is a trademark of the Eclipse Foundation.
## Copyright
@@ -18,25 +18,19 @@ source code repository logs.
This program and the accompanying materials are made available under the terms
of the Eclipse Public License v. 2.0 which is available at
-http://www.eclipse.org/legal/epl-2.0. This Source Code may also be made
+https://www.eclipse.org/legal/epl-2.0. This Source Code may also be made
available under the following Secondary Licenses when the conditions for such
-availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU
-General Public License, version 2 with the GNU Classpath Exception which is
-available at https://www.gnu.org/software/classpath/license.html.
+availability set forth in the Eclipse Public License v. 2.0 are satisfied:
+GPL-2.0 with Classpath-exception-2.0 which is available at
+https://openjdk.java.net/legal/gplv2+ce.html.
-SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0
## Source Code
The project maintains the following source code repositories:
-* https://github.com/eclipse-ee4j/jsonb-api
-
-## Third-party Content
-
-This project leverages the following third party content.
-
-None
+* https://github.com/jakartaee/jsonb-api
## Cryptography
diff --git a/README.md b/README.md
index fd668920..d67ed867 100644
--- a/README.md
+++ b/README.md
@@ -59,9 +59,9 @@ include the TCK module and apply the appropriate Arquillian container. See the [
## Links
-- [Official web site](https://eclipse-ee4j.github.io/jsonb-api)
+- [Official web site](https://jakartaee.github.io/jsonb-api)
- [Eclipse project](https://projects.eclipse.org/projects/ee4j.jsonb)
-- [User's Guide](https://eclipse-ee4j.github.io/jsonb-api/docs/user-guide.html)
+- [User's Guide](https://jakartaee.github.io/jsonb-api/docs/user-guide.html)
- [Jenkins Builds](https://ci.eclipse.org/jsonb/view/all/)
- [Mailing list](https://www.eclipse.org/lists/jsonb-dev/)
- [Yasson (Compatible Implementation)](https://github.com/eclipse-ee4j/yasson)
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 00000000..fcdbb763
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,21 @@
+# Security Policy
+
+This project implements the Eclipse Foundation Security Policy
+
+* https://www.eclipse.org/security
+
+## Supported Versions
+
+These versions of Jakarta JSON Binding are currently being supported with
+security updates.
+
+| Version | Released | Supported |
+| ------- | ---------- | --------- |
+| 3.0.0 | 2022-03-31 | Yes |
+| 2.0.0 | 2020-10-07 | Yes |
+| < 1.0.2 | 2019-09-10 | No |
+
+## Reporting a Vulnerability
+
+Please report vulnerabilities to the Eclipse Foundation Security Team at
+security@eclipse.org
diff --git a/api/pom.xml b/api/pom.xml
index 3aeeef74..31ae931b 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -1,7 +1,7 @@
2.0.0
jakarta.json.bind
${project.basedir}/..
Oracle Corporation
+
+ ${project.basedir}/../etc/config/copyright-exclude
+ ${project.basedir}/../etc/config/epl-copyright.txt
+ ${project.basedir}/../etc/config/edl-copyright.txt
+ true
+ true
+ false
+
+ ${project.basedir}/../etc/config/spotbugs-exclude.xml
+ false
+ Low
+ 4.8.3.1
+
+ 11
+ ${maven.compiler.release}
@@ -108,7 +123,7 @@
junit
junit
- 4.13.1
+ 4.13.2
test
@@ -171,44 +186,34 @@
- maven-resources-plugin
- 3.1.0
+ org.codehaus.mojo
+ build-helper-maven-plugin
+ 3.5.0
- org.codehaus.mojo
- findbugs-maven-plugin
- 3.0.5
+ com.github.spotbugs
+ spotbugs-maven-plugin
+ ${spotbugs.version}
- Max
- Low
- true
+ ${spotbugs.skip}
+ ${spotbugs.threshold}
-
-
- analyze-compile
- compile
-
- check
-
-
-
org.apache.maven.plugins
maven-compiler-plugin
- 3.8.0
+ 3.12.1
-Xlint:all
- 11
org.codehaus.mojo
buildnumber-maven-plugin
- 1.4
+ 3.2.0
{0,date,MM/dd/yyyy hh:mm aa}
@@ -228,9 +233,8 @@
org.glassfish.build
spec-version-maven-plugin
- 1.5
+ 2.2
- jakarta
${non.final}
api
@@ -254,7 +258,7 @@
org.apache.felix
maven-bundle-plugin
- 3.5.1
+ 5.1.9
true
@@ -288,7 +292,7 @@
org.apache.maven.plugins
maven-jar-plugin
- 3.1.0
+ 3.3.0
${project.build.outputDirectory}/META-INF/MANIFEST.MF
@@ -298,9 +302,8 @@
org.apache.maven.plugins
maven-javadoc-plugin
- 3.1.0
+ 3.6.3
-
Jakarta JSON Binding ${project.version} API Specification
**/module-info.java
@@ -316,7 +319,7 @@
${release.spec.feedback}.
- Copyright © 2019, 2022 Eclipse Foundation. All Rights Reserved.
+ Copyright © 2019, 2024 Eclipse Foundation. All Rights Reserved.
Use is subject to license terms.]]>
@@ -332,7 +335,7 @@
org.apache.maven.plugins
maven-source-plugin
- 3.0.1
+ 3.2.1
attach-sources
@@ -345,7 +348,7 @@
org.apache.maven.plugins
maven-jxr-plugin
- 3.0.0
+ 3.3.2
@@ -356,36 +359,32 @@
+
org.glassfish.copyright
glassfish-copyright-maven-plugin
2.4
- ${basedir}/../etc/config/copyright-exclude
- git
- false
- true
- false
-
- false
-
- false
- ${basedir}/../etc/config/epl-copyright.txt
- ${basedir}/../etc/config/edl-copyright.txt
+ ${copyright.exclude}
+ ${copyright.scmonly}
+ ${copyright.update}
+ ${copyright.ignoreyear}
+ false
+ ${copyright.templatefile}
+ ${copyright.bsdTemplateFile}
+ verify
- copyright
check
- compile
org.apache.maven.plugins
maven-checkstyle-plugin
- 3.0.0
+ 3.3.1
com.puppycrawl.tools
@@ -412,40 +411,37 @@
org.apache.maven.plugins
maven-gpg-plugin
- 1.6
+ 3.1.0
- maven-resources-plugin
+ org.codehaus.mojo
+ build-helper-maven-plugin
- copy-sources
- generate-sources
+ add-legal-resource
+ generate-resources
- copy-resources
+ add-resource
- ${project.build.outputDirectory}/META-INF
${legal.doc.source}
- LICENSE.md
NOTICE.md
+ LICENSE.md
+ META-INF
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
org.codehaus.mojo
buildnumber-maven-plugin
@@ -454,14 +450,6 @@
org.apache.felix
maven-bundle-plugin
-
- org.apache.maven.plugins
- maven-javadoc-plugin
-
-
- org.apache.maven.plugins
- maven-source-plugin
-
org.apache.maven.plugins
maven-jxr-plugin
@@ -470,10 +458,6 @@
org.glassfish.copyright
glassfish-copyright-maven-plugin
-
- org.glassfish.build
- spec-version-maven-plugin
-
biz.aQute.bnd
@@ -493,16 +477,15 @@
-
-
-
-
-
- org.codehaus.mojo
- findbugs-maven-plugin
- 3.0.5
+ com.github.spotbugs
+ spotbugs-maven-plugin
+
+ true
+ ${spotbugs.exclude}
+ High
+
-
+
diff --git a/docs/pom.xml b/docs/pom.xml
index 9ddc0d32..04f9ad7e 100644
--- a/docs/pom.xml
+++ b/docs/pom.xml
@@ -1,7 +1,7 @@
-
-
-
- org.torquebox.mojo
- mavengem-wagon
- 1.0.3
-
-
diff --git a/docs/src/docs/user-guide.adoc b/docs/src/docs/user-guide.adoc
index f2f724a3..a929301f 100644
--- a/docs/src/docs/user-guide.adoc
+++ b/docs/src/docs/user-guide.adoc
@@ -1,6 +1,7 @@
-:component-name: Json Binding 1.0.1 Users Guide
+:component-name: Json Binding 3.0.1 Users Guide
:toc: left
:toclevels: 3
+:source-highlighter: coderay
= {component-name}
@@ -14,11 +15,18 @@ JSON-B is a standard binding layer for converting Java objects to/from JSON mess
.Maven Dependencies
----
-
+
- org.glassfish
- jakarta.json
- 1.1.5
+ jakarta.json
+ jakarta.json-api
+ 2.1.3
+
+
+
+
+ org.eclipse.parsson
+ parsson
+ 1.1.6
runtime
@@ -26,14 +34,14 @@ JSON-B is a standard binding layer for converting Java objects to/from JSON mess
jakarta.json.bind
jakarta.json.bind-api
- 1.0.1
+ 3.0.1
org.eclipse
yasson
- 1.0.3
+ 3.0.4
runtime
@@ -706,7 +714,7 @@ Jsonb jsonb = JsonbBuilder.create(config);
== Further Information
-- JSON-B official web site: https://eclipse-ee4j.github.io/jsonb-api
+- JSON-B official web site: https://jakartaee.github.io/jsonb-api
- Jakarta JSON Binding: https://projects.eclipse.org/projects/ee4j.jsonb
- Mailing list: jsonb-dev@eclipse.org
- Yasson (Compatible Implementation): https://github.com/eclipse-ee4j/yasson
diff --git a/etc/config/spotbugs-exclude.xml b/etc/config/spotbugs-exclude.xml
new file mode 100644
index 00000000..6e7dd290
--- /dev/null
+++ b/etc/config/spotbugs-exclude.xml
@@ -0,0 +1,20 @@
+
+
+
+
\ No newline at end of file
diff --git a/spec/pom.xml b/spec/pom.xml
index 52a66b8b..c892ce6e 100644
--- a/spec/pom.xml
+++ b/spec/pom.xml
@@ -1,7 +1,7 @@