Appendix A. History of changes
Prev |  |

# History of changes

## v2.0.5 (April 18, 2026)

- XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 26 platforms.

## v2.0.4 (September 24, 2025)

- XMLmind Assembly Processor now requires Java™ 11+ in order to compile and run.

- XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 25 platforms.

## v2.0.3 (June 27, 2025)

- Updated XMLResolver to version 5.3.3.

## v2.0.2 (March 31, 2025)

- Upgraded XMLResolver to version 5.3.0.

- XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 24 platforms.

## v2.0.1 (August 19, 2024)

- Upgraded XMLResolver to version 5.2.5.

- XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 22 platforms.

## v2.0.0 (February 21, 2024)

Now supports processing DocBook 5.2 documents (new OASIS Standard: "The DocBook Schema Version 5.2").

### Important

Some of the following changes are breaking changes, so make sure to read "How to “port” your assemblies to XMLmind Assembly Processor v2".

The following changes were made after reading the clarifications found in DocBook 5.2: The Definitive Guide:

- Support of attribute `resource`/@`transform` when attribute `resource`/@`grammar` is not specified.

- Attribute `output`/@`grammar` has been removed from DocBook 5.2. XMLmind Assembly Processor still supports it for compatibility with DocBook 5.1 but reports a warning when `output`/@`grammar` is specified.

- A `module` in a larger `structure` can set its `resourceref` attribute to the value of the `xml:id` of a modular `structure` element in the same assembly to incorporate it. However, because DocBook 5.2: The Definitive Guide is not clear about how this should be done, this feature is implemented in the most basic way.

- When attribute `assembly`/@`version` is missing, XMLmind Assembly Processor now generates a realized document having a root element with attribute `version`=`5.2`. In previous versions, the value of added `version` attribute was `5.1`.

- Breaking change. Elements `structure`/`info` and `module`/`info` do not contribute to the meta-information of the corresponding realized element. Only element `merge` may used to add or replace child elements in the `info` of the corresponding realized element.

- Breaking change. Common attributes (`xml:id`, `xml:lang`, `xreflabel`, etc) found on `module` or `structure` do not contribute to the realized document. Only common attributes found on `merge` are copied to the corresponding realized element, possibly replacing the same common attributes already set on the resource.

- Breaking change. In previous versions, attribute `module`/@`contentonly`=`true` always implied `module`/@`omittitles`=`true`. While being almost always what's the author wants to do, this does not correspond to the documentation of the `merge` element.

How to “port” your assemblies to XMLmind Assembly Processor v2:

- Convert your `structure`/`info` (resp. `module`/`info`) to `structure`/`merge` (resp. `module`/`merge`). See corresponding breaking change.

  What follows used to work with XMLmind Assembly Processor v1:

      <module renderas="section">
        <info><title>Title of the section</title></info> ...

  The following change is needed to make it work with XMLmind Assembly Processor v2:

      <module renderas="section">
        <merge><title>Title of the section</title></merge> ...

- If you want to specify the `xml:id` of the realized element corresponding to a `module` having no `resourceref` attribute, add this `xml:id` to the `merge` child element of the `module` and not to the `module` itself. See corresponding breaking change.

  What follows used to work with XMLmind Assembly Processor v1:

      <module renderas="section" xml:id="section_id">
        <merge><title>Title of the section</title></merge> ...

  The following change is needed to make it work with XMLmind Assembly Processor v2:

      <module renderas="section">
        <merge xml:id="section_id">
          <title>Title of the section</title>
        </merge> ...

- Add attribute `omittitles`=`true` to your `module`s having `contentonly`=`true`. See corresponding breaking change.

  What follows used to work with XMLmind Assembly Processor v1:

      <module renderas="section">
        <info><title>Title of the section</title></info>
        <module omittitles=true resourceref="t1" /> ...

  The following change is needed to make it work with XMLmind Assembly Processor v2:

      <module renderas="section">
        <merge><title>Title of the section</title></merge>
        <module omittitles=true contentonly=true resourceref="t1" /> ...

Other enhancements:

- Upgraded XMLResolver to version 5.2.3.

- XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 21 platforms.

## v1.3.3 (September 15, 2023)

- Upgraded XMLResolver to version 5.2.1.

## v1.3.2 (July 13, 2023)

- Upgraded XMLResolver to version 5.2.0.

- Modified the language fixup of the XInclude 1.1 implementation in order to support the `lang` attribute in lieu of or in addition to the `xml:lang` attribute. This allows to use this XInclude 1.1 implementation to process DocBook 4 or XHTML documents. (Note that this XInclude 1.1 implementation already supported the `id` attribute in lieu of the `xml:id` attribute.)

## v1.3.1 (April 20, 2023)

XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 20 platforms.

## v1.3 (March 8, 2023)

- Bug fix: made the language fixup of the XInclude 1.1 implementation more conforming to the specification.

- Upgraded XMLResolver to version 5.1.1.

## v1.2 (December 5, 2022)

- Replaced the Apache Commons Resolver (`lib/resolver.jar`) by the XMLResolver (`lib/xmlresolver.jar`).

- XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 19 platforms.

## v1.1.1 (April 12, 2022)

XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 18 platforms.

## v1.1 (November 15, 2021)

- Some internal changes were needed to make XMLmind Assembly Processor compatible with XMLmind XML Editor v10+.

- XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported

  - on Java™ 17 platforms;

  - on macOS Monterey (version 12.0), including on Macs having an Apple M1 (ARM-based) processor;

  - on Windows 11.

## v1.0.12 (May 14, 2021)

XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 16 platforms.

## v1.0.11 (November 30, 2020)

XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 15 platforms.

## v1.0.10 (July 23, 2020)

- Bug fix: XMLmind Assembly Processor reported "`missing child element <info>`" warning for assembly elements like `<module renderas="index"/>`. (`<module renderas="index"/>` is realized as a DocBook `index` element and an `index` element is not required to start with an `info` element or to have a title.)

- XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 14 platforms.

## v1.0.9 (February 26, 2020)

The `itemizedlist` which is automatically generated to represent relationships between topics has now attribute `spacing="compact"`.

## v1.0.8 (January 16, 2020)

XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 13 platforms.

## v1.0.7_01 (May 17, 2019)

XMLmind Assembly Processor now requires a Java 8+ runtime in order to compile and run.

## v1.0.7 (March 25, 2019)

XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 12 platforms.

## v1.0.6 (November 27, 2018)

XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 11 platforms.

## v1.0.5 (August 21, 2018)

Minor internal changes needed to make XMLmind Assembly Processor compatible with XMLmind XML Editor v8.2.

## v1.0.4 (May 22, 2018)

XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 10 platforms.

## v1.0.3 (February 24, 2018)

Minor internal changes needed to make XMLmind Assembly Processor compatible with XMLmind XML Editor v8.

## v1.0.2_01 (December 11, 2017)

XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 9 platforms.

## v1.0.2 (June 09, 2017)

Changed "Licensor" from "Pixware SARL" to "XMLmind Software" in all licenses.

## v1.0.1 (March 06, 2017)

Bug fixes:

- Info elements copied from the assembly to the realized document were not given proper `xml:base` and `xml:lang` attributes.

  In practice, due to this bug, it was not possible to successfully convert to other formats an assembly where some `info` elements contained `imagedata`.

## v1.0.0 (December 22, 2016)

XMLmind Assembly Processor v1.0 is the first version to fully support processing DocBook 5.1 assemblies. This includes XInclude 1.1, DocBook Transclusion and assembly features such as `relationships` and `transforms`.

Enhancements:

- Element `relationships` is now processed. The `linking` attribute of element `instance` is supported with the following values: `sourceonly`, `targetonly`, `normal`, `none`, with the same semantics as the corresponding `linking` attribute of DITA. Attribute `type` of elements `relationships` and `relationship` is still ignored.

Bug fixes:

- The `revhistory` child of the `structure` element was ignored.

Incompatibilities:

- Attribute `omittitles` now discards `title`, `titleabbrev`, `subtitle` from the included resource. Previously, setting this attribute to `true` discarded all the metadata just like `contentonly="true"`.

- In `structure` and in `module`, `info` and `merge` are used in the same way. These elements may be used to add or replace metadata in the realized `structure` or `module`.

- The implementation of `filterin` and `filterout` is completely different from what it was in previous versions. More information in Section 5.2.1, “About filtering”.

## v0.9.4 (February 16, 2016)

- XMLmind Assembly Processor can now check the realized document for cross-reference errors, missing image resources, etc. This is done by passing new `-check` option to the assembly command-line.

  Note that if your document requires conditional processing (that is, profiling), then this check step may report false errors. These false errors are caused by the fact that the conditional processing step has not been applied to the realized document prior to the check step.

  New option `-profile` allows to specify a profiling attribute. Therefore passing one or more `-profile` options to the assembly command-line allows to apply a profile to the realized document prior to checking it.

  Example: two of the chapters referenced by assembly `book.xml` have `xml:id="install"`. First chapter has also `os="windows"`. Second chapter has also `os="mac"`.

  If you run `assembly -check book.xml -`, you'll get a duplicate ID warning caused by `xml:id="install"`.

  On the other hand, if you run `assembly -check -profile os windows book.xml -`, you'll not have this duplicate ID error. Why that? Because by applying profile `os="windows"`, second chapter (having `os="mac"`) is excluded from the realized document prior to checking it.

- DocBook 5 Transclusion Processor: removed `targetptr` from the IDREF-list.

## v0.9.3 (February 03, 2016)

- Now uses a built-in XInclude 1.1 processor rather than the XInclude 1.0 implementation provided by the XML parser (that is, Xerces). Note that for now, this built-in XInclude 1.1 processor only supports the XPointer element() scheme.

- Now uses a built-in DocBook 5 Transclusion Processor to process `trans:idfixup`, `trans:suffix` and `trans:linkscope` attributes possibly set on `xi:include` elements.

## v0.9.2 (January 22, 2016)

Bug fix: in some cases, a processing-instruction was moved (in the realized document) to the beginning of the element containing it and this, no matter its actual location within this parent element.

## v0.9.1 (September 8, 2015)

Minor internal changes.

## v0.9.0 (June 24, 2015)

First release.

Prev |  |
Chapter 6. Embedding XMLmind Assembly Processor in a Java™ application | Home |