Skip to content
Tatu Saloranta edited this page May 18, 2026 · 39 revisions

Home: Aalto XML processor

Aalto XML processor is an ultra-high performance Stax XML processor (parser, generator) implementation. It also implements SAX2 API, as well as Stax2 extension to core Stax API.

Licensing

Aalto is licensed under Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt).

Releases

Aalto follows Apache versioning convention, and similar to Semantic Versioning from external user perspective.

1.4.0

Not yet released

  • #5: Complete validation implementation of XMLStreamWriter
  • #56: Aalto writes too many default namespace xmlns attributes if IS_REPAIRING_NAMESPACES enabled
  • #66: XMLReaderImpl.getAttributeValue(String, String) does not ignore namespace if null (should as per Stax API)
  • #73: getLocation() character offset doesn't count xml prolog for non-utf8 documents
  • #79: DTD RootName only returned correctly if it consists of a multiple of 4 bytes
  • #80: SAX Attributes.getValue(String qName) sometimes returns values from previous elements
  • #97: NsBinding#createDefaultNs uses null instead of XMLConstants.DEFAULT_NS_PREFIX
  • #105: Change JDK baseline to Java 8 (from 1.6)
  • Fix Utf32Reader constructor: previously failed to assign input stream, buffer and pointer fields, so UTF-32 documents always parsed as empty.
  • Update oss-parent dep to v79
  • Update stax2-api dep to 4.3.0 (from 4.2.2)

1.3.4

Released on September 26, 2025.

Only changes were to publishing (via Sonatype Central) and Maven build; no functional changes

1.3.3

Released on June 7, 2024. Fixes included:

  • #86: Multi-byte characters are split in writeCData() if first byte sits right at the end of the buffer
  • #90: Update stax2-api dep to 4.2.2 (from 4.2)
  • #91: Multi-byte characters are split in writeComment() if first byte sits right at the end of the buffer
  • #93: Multi-byte characters are split in writePI() if first byte sits right at the end of the buffer

1.3.2

Released on April 25, 2022. Fixes included:

  • #78: Async parsing turns " inside element content into apostrophe

1.3.1

Released on January 14, 2022. Fixes included:

  • #75: Fixing a bug when multi-byte characters were split

1.3.0

Released on May 11, 2021. Fixes included:

  • #65: Support disabling General Entity Reference replacement in attribute values (using new AaltoInputProperties.P_RETAIN_ATTRIBUTE_GENERAL_ENTITIES property for SAX and Stax)
  • Fix minor offset check bug in AsyncByteArrayScanner/AsyncByteBufferScanner

Documentation

Usage

Javadocs

Artifacts

Most commonly artifacts are accessed using Maven, via Maven 2 repositories:

  • groupId: com.fasterxml
  • artifactId: aalto-xml

New releases are done using Sonatype Maven repository,from which they are automatically copied (with an hour of delay) to the Central Maven repository. Here are quick links to the central Maven repository for manual downloading:

  • 1.3.4: jar (released 26-Sep-2025)
  • 1.2.2: jar (released 14-Sep-2019) -- With JDK9+ module-info; BufferRecycler fix
  • 1.1.1: jar (released 18-Sep-2018)
  • 1.0.0: jar (released 23-Nov-2015)

Clone this wiki locally