# Changelog

The &binding.impl.name; 4.x meets the requirements of the Jakarta XML Binding 4.x specifications.

## Changes between 4.0.1 and 4.0.2

- Bug fixes:

  - #1654: update xjc section in the userguide

  - #1669: [codemodel] Support Object and overridden JAnnotationWriter methods

  - #1674: com.sun.tools.xjc should run on JRE

  - #1676: Impossible to build with non-english system

  - #1677: Add/implement JVar.annotate(JAnnotationUse annotation)

  - #1679: Add/implement JAnnotationUse.param(String name, JAnnotationValue annotationValue)

  - #1680: Avoid eager initialization of Scope objects

  - #1682: Non-deterministic definition of default namespace @XmlSchema(namespace=...) in package-info.java

## Changes between 4.0.0 and 4.0.1

- Bug fixes:

  - Switched protocol for W3C schemas to https, see the announcement for details

## Changes in 4.0.0 - initial release for Jakarta EE 10

- Requires Java SE 11 or newer

- Supports usage of JAXB 2.x schema bindings customizations

- Bug fixes:

  - Fix equality on BISerializable

  - #936: problem with XMLMixed in a tag annotated XmlAnyElement

  - #971: annotation @XmlJavaTypeAdapters on package is ignored since JAXB v2.2.4-1

  - #1053: Use Java 7 diamond operator

  - #1117: xjc-generated classes may have methods with missing @param or @return

  - #1489: DOMScanner ignores default namespace at scan method

  - #1499: xjc - NGCCRuntimeEx.resolveRelativeURL(String namespaceURI, String relativeUri ) doesn't work as it should

  - #1505: JCodeModel.parseType(String) silently ignores type params in specific scenarios

  - #1590: Marshalling an object that overrides the parent's method, the XML that gets created contains both child's and parent's tag

  - #1599: XNOR implementation in NameUtil is called "xor"

  - #1624: Order of Exceptions in generated classes is non-deterministic

  - #1631: Support setting (un)marshaller listener on binder

## Changes between 3.0.1 and 3.0.2

- Bug fixes:

  - Fixed classloading in OSGI

  - #1547: Running with -XX:-StackTraceInThrowable causes a index out of bounds exception

  - #1556: xjc generates class reference with generics

## Changes between 3.0.0 and 3.0.1

- Bug fixes:

  - #1105: xjc mark-generated sometimes produces a wrong date value

  - #1466: ContextFinder always load the JAXBContext from jaxb-runtime 2.3.3

  - #1475: xjc: Option to generate old package names

  - #1502: XJC: fails to process XSD files without systemId.

## Changes in 3.0.0 - initial release for Jakarta EE 9

- Requires Java SE 8 or newer

- Adopts new API package namespace - `jakarta.xml.bind.*`

- Main implementation jar split into two parts - `jaxb-core` and (smaller) `jaxb-impl`

- Content of the new jaxb-impl moved from `com.sun.xml.bind` package to `org.glassfish.jaxb.runtime` package

- Content of the new jaxb-core moved from `com.sun.xml.bind` package to `org.glassfish.jaxb.core package`

- Changed prefix of all properties from `com.sun.xml.bind` to `org.glassfish.jaxb`

- Supports new namespace for schema customizations

      <bindings xmlns="https://jakarta.ee/xml/ns/jaxb" version="3.0">...</bindings>

## Changes in 2.3.2 - initial release for Jakarta EE 8

- First release under Eclipse Jakarta EE Platform:

  - Uptake of moved Jakarta APIs.