Release News

The current download code is the version 1.0.1 production release. This minor release includes two fixes to the 1.0 production release:

  • Corrected an issue which prevented building and using JiBX with JDK 1.3.
  • Updated the binding.xsd and binding.dtd grammars in the /docs directory of the distribution.

Status

Work is now in progress on a 1.1 release of JiBX which will support more input and output options, including StAX parser and writer support. The 1.1 release is also planned to integrate stable versions of the Xsd2Jibx and Generator Tools subprojects into the JiBX distribution. An initial beta release of JiBX 1.1 will be available early in 2006, including the StAX support and an improved version of the binding generator.

Work is also starting on JiBX 2.0. The main focus of the 2.0 changes is an entirely new code generation model, which is designed to support both direct bytecode generation (as in the 1.X code) and source code generation. Other changes will include so-called "flexible" unmarshalling support, where unknown elements are skipped and only those elements defined by the binding are handled, and some level of support for J2SE 5.0 generics and annotations. The first beta release of JiBX 2.0 is planned for April, 2006.

Changes

The 1.0 production release contains many bug fixes and enhancements beyond the earlier Beta and RC releases. Some of the main changes are (see the changes.txt file included in the distribution for the full list):

  • Implemented extension mappings for non-abstract base mappings, providing cleaner handling of polymorphic types.
  • Added support for using array as collections, including arrays of both primitive and object types.
  • Added <include> element support to allow modular binding definitions.
  • Extended the abstract mapping support to be usable as the equivalent of named complex types in schema definitions.
  • Changed code generation to reuse objects referenced by properties rather than always creating new instances when unmarshalling.
  • Added "constant" attribute for value element to allow checking constant values when unmarshalling (if item is present it must match the supplied constant value) and generating constant values when marshalling.

See the Bugs and Bug Reporting page for information about known issues and details of how to report problems.