<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2012, 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
    http://www.eclipse.org/org/documents/edl-v10.php.

    SPDX-License-Identifier: BSD-3-Clause

-->

<!DOCTYPE book [
        <!ENTITY % ents SYSTEM "docbook.ent">
        %ents;
        ]>
<chapter version="5.0" xml:id="jaxb-2-0-release-notes" xml:lang="en"
         xmlns="http://docbook.org/ns/docbook"
         xmlns:xlink="http://www.w3.org/1999/xlink"
         xmlns:xi="http://www.w3.org/2001/XInclude"
        >
    <title>Release Notes</title>

    <para>This document contains information that should help you use this
        software library more effectively. See the
        <xref linkend="faq"
              xrefstyle="select:title"/>
        for additional information.
    </para>

    <para>The most up-to-date version of this document can be found<link
            xlink:href="https://eclipse-ee4j.github.io/jaxb-ri">on-line</link>.
    </para>

    <section xml:id="section-2232462900667844">
        <title>
            <trademark>Java</trademark> SE Requirements
        </title>

        <para>This release of the &binding.impl.name; requires Java SE 8 or higher.</para>
    </section>

    <section xml:id="jars">
        <title>Identifying the JAR Files</title>

        <informaltable frame="all">
            <tgroup cols="3" colsep="1" rowsep="1">
                <thead>
                    <row>
                        <entry>
                            <para>Use</para>
                        </entry>

                        <entry>
                            <para>Description</para>
                        </entry>

                        <entry>
                            <para>Jars</para>
                        </entry>
                    </row>
                </thead>

                <tbody>
                    <row>
                        <entry>
                            <emphasis role="bold">Runtime</emphasis>
                        </entry>

                        <entry><para>Jars required to deploy a &binding.spec.name; client</para></entry>

                        <entry>
                            <para>
                                <filename>jakarta.xml.bind-api.jar</filename>,
                                <filename>jaxb-impl.jar</filename>,
                            </para>
                        </entry>
                    </row>

                    <row>
                        <entry><emphasis role="bold">Compiler</emphasis></entry>

                        <entry>
                            <para>Jars required at your development environment (but not runtime)</para>
                        </entry>

                        <entry>
                            <para>
                                <filename>jakarta.xml.bind-api.jar</filename>,
                                <filename>jaxb-impl.jar</filename>,
                                <filename>jaxb-xjc.jar</filename>
                            </para>
                        </entry>
                    </row>
                </tbody>
            </tgroup>
        </informaltable>
    </section>

    <section xml:id="section-141747963608015">
        <title>Locating the Normative Binding Schema</title>

        <para>You may find information about the normative binding schema
            defined in the &binding.spec.name; Specification at<link
                    xlink:href="https://jakarta.ee/xml/ns/jaxb">https://jakarta.ee/xml/ns/jaxb</link>.
        </para>
    </section>

    <xi:include href="jaxb-2-0-changelog.xml"/>
</chapter>
