Release Notes
Prev |  | Next

Links: Table of Contents | Single HTML | Single PDF

# Release Notes

This document contains information that should help you use this software library more effectively. See the Frequently Asked Questions for additional information.

The most up-to-date version of this document can be found on-line.

## 1. Java™ SE Requirements

This release of the Eclipse Implementation of JAXB requires Java SE 11 or higher.

## 2. Identifying the JAR Files

Use | Description | Jar
--- | --- | ---
Runtime | Jars required to deploy a Jakarta XML Binding client | `jakarta.activation-api.jar`
`angus-activation.jar`
`jakarta.xml.bind-api.jar`
`jaxb-core.jar`
`jaxb-impl.jar`
Compiler | Jars required at your development environment (but not runtime) | `jaxb-jxc.jar`
`jaxb-xjc.jar`

## 3. Identifying the JPMS module names

Jar | Module name | Maven GAV
--- | --- | ---
`jakarta.activation-api.jar` | `jakarta.activation` | `jakarta.activation:jakarta.activation-api`
`angus-activation.jar` | `com.sun.activation.registries` | `org.eclipse.angus:angus-activation`
`jakarta.xml.bind-api.jar` | `jakarta.xml.bind` | `jakarta.xml.bind:jakarta.xml.bind-api`
`jaxb-core.jar` | `com.sun.xml.bind.core` | `com.sun.xml.bind:jaxb-core`
`jaxb-impl.jar` | `com.sun.xml.bind` | `com.sun.xml.bind:jaxb-impl`
`jaxb-jxc.jar` | `com.sun.tools.jxc` | `com.sun.xml.bind:jaxb-jxc`
`jaxb-xjc.jar` | `com.sun.tools.xjc` | `com.sun.xml.bind:jaxb-xjc`

## 4. Locating the Normative Binding Schema

You may find information about the normative binding schema defined in the Jakarta XML Binding Specification at https://jakarta.ee/xml/ns/jaxb.

## 5. Changelog

The Eclipse Implementation of JAXB 4.x meets the requirements of the Jakarta XML Binding 4.x specifications.

### 5.1. Changes between 4.0.4 and 4.0.5

- Bug fixes:

  - #209: Schema-driven XmlAdapter using xjc:javaType

  - #737: xjc:javaType does not handle generic types

  - #1730: Error while parsing rnc

  - #1770: Wrong property value of the property for CharacterEscapeHandler

  - #1783: Dependency Exclusion for stax-ex in jaxb-bom is incompatible with dependency:analyze-dep-mgt

  - #1785: XJC ConstField generates empty javadoc comment blocks

  - dtd-parser #39: Parser parses #IMPLIED use attributes as NORMAL (and vice versa)

  - dtd-parser #40: Occurrence constants are misspelled

  - fi #48: Use StringBuilder instead of StringBuffer

### 5.2. Changes between 4.0.3 and 4.0.4

- Bug fixes:

  - #829: schemagen and xjc should add 'if-exists' to bindings when generating an episode file

  - #965: compiler was unable to honor this schemaBinding customization (in episodic compilation)

  - #1099: Binding Customizations errors when using Episode

  - #1073: jaxb:globalBindings optionalProperty="primitive" causes NullPointer in xjc

  - #1320: xjc: BGMBuilder creates error for unused customizations before they can be acknowledged

  - #1507: ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory: missing Capability

  - #1583: XJC throws NPE when optionalProperty="primitive"

  - #1695: DatatypeConverter.parseBoolean converts invalid strings to true

  - #1708: add javadoc from xsd documentation tags

  - #1724: JAXBContext having defaultNamespaceRemap after release 4.0.3 produces unexpected xml

  - #1731: Incompatibility with namespace when marshalling WebFault with FaultInfo on call of WebService

  - #1732: systemId resolution regression introduced in 2.3.4+

  - #1736: xjc: postProcessModel is not called for DTDs

  - #1737: Add https to special handling in package name derivation

  - #1742: Unexpected form=qualified Attribute in XSD Elements

  - #1743: Rework stackoverflow handling for missing elements in xsd schemagen

  - #1748: xjc: ElementOutlineImpl produces raw type

  - #1750: xjc: ElementOutlineImpl omits serialVersionUID

  - #1757: txw runtime and compiler should have different module names

  - #1761: Move JavaCompiler, Reference and J2SJAXBModel from XJC API to JXC API

### 5.3. Changes between 4.0.2 and 4.0.3

- Bug fixes:

  - #574: Nullpointer Exception in DTD parsing

  - #1065: XJC fails on RELAXNG_COMPACT compilation with datatype library "http://www.w3.org/2001/XMLSchema-datatypes" not recognized

  - #1066: XJC fails on RELAXNG_COMPACT with NPE

  - #1450: XJC -relaxng still supported

  - #1700: ArrayIndexOutOfBoundsException when using com.sun.xml.bind.v2.runtime.output.C14nXmlOutput

  - #1701: xjc with WSDL emits erroneous warning

  - #1715: marshalling does not apply defaultNamespaceRemap setting to nested elements

### 5.4. 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

### 5.5. Changes between 4.0.0 and 4.0.1

- Bug fixes:

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

### 5.6. 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

### 5.7. 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

### 5.8. 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.

### 5.9. 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>

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

- First release under Eclipse Jakarta EE Platform:

  - Uptake of moved Jakarta APIs.

Prev |  | Next
Overview | Home | Eclipse Implementation of JAXB Users Guide