<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--

    Copyright (c) 2021, 2022 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
    http://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.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<html><head><title>Jakarta JSON Binding TCK, Version 3.0 Release Notes, March 2022</title>

<style type="text/css">
<!--
body {  background-color: #ffffdd; color: #000000}
pre {  background-color: #eeeeee; color: #000099; font-size: smaller}
code {  color: #000099; font-size: smaller}
h1 {  color: #000099}
h2 {  color: #000099}
h3 {  color: #000099; text-decoration: underline}
h4 {  font-style: italic; color: #000099}
.tabletitle {  font-style: italic; color: #ffffcc; font-size: small; font-variant: small-caps}
.subtitle {  font-style: italic; color: #ffffcc; font-variant: small-caps}
.emphasize  {  font-style: italic; color: #000099}
.step  { font-weight: bold}
.note { background-color: #fffff0; border-bottom-width: thin; border-top-width: thin; border-top-style: inset; border-bottom-style: inset; font-size: -10%;}
th {  background-color: #eeeeee; padding-left: 2pt; padding-right: 2pt;}
-->
</style></head>

<body>
<div align="center">
<h1>Jakarta JSON Binding Technology Compatibility Kit, Version 3.0<br>
<em class="emphasize">Release Notes, March, 2022</em></h1>
</div>


<h2><a name="kit_contents">Kit Contents</a></h2>

<p>The Jakarta JSON Binding, Version 3.0 Technology Compatibility Kit (TCK) includes the following items:</p>

<ul>
   <li><p><strong>Jakarta JSON Binding TCK tests signature, API, and end-to-end tests:</strong></p>
   <ul type="square">
	   <li><p>A <strong>signature test</strong> that checks that all of the public APIs are supported in the Jakarta JSON Binding Version 3.0 implementation that is being tested</p></li>
   	<li><p><strong>API tests</strong> for all of the public APIs under the <code>javax.xml.soap</code> package</p></li>
   	<li><p><strong>Specification tests</strong> for the testable assertions required by the Jakarta JSON Binding 3.0 Specification.</p></li>
   </ul>
   </li>
</ul>

<hr>
<h2>Jakarta JSON Binding 3.0 TCK Facts</h2>
<p>The test suite bundle contains the following:</p>
<ul>
 <li>295 total tests</li>
</ul>

<hr>
<h2><a name="platform">Platform Notes</a></h2>

<p>The Jakarta JSON Binding TCK tests have been built and tested running on the Java<font size="-2"><sup>TM</sup></font>
Standard Edition 11 (Java SE 11) platform.</p>

<p>The Jakarta JSON Binding TCK tests run on the following platforms:</p>

<ul>
<li>Oracle Linux 7.1</li>
<li>Windows 10</li>
</ul>

<hr>

<h2><a name="install_setup_run">Installing, Setting Up, and Running the Jakarta JSON Binding TCK</a></h2>

<p>Refer to the <cite>Jakarta JSON Binding TCK 3.0 User's Guide</cite> for complete instructions on installing, setting up, and running the Jakarta JSON Binding TCK.</p>

<hr>
<h2>Attributions</h2>
<p>The Jakarta JSON Binding 3.0 TCK includes software developed by the Apache
   Software Foundation (<a href="http://www.apache.org/">http://www.apache.org/</a>).
</p>

<hr>
<p><cite><small>Copyright (c) 2017, 2022 Oracle and/or its affiliates. All rights reserved.</small></cite></p>
</body></html>
