== Changes from 2.0.x to 3.0.x == === XML compatibility === * 3.0 now supports xml 1.1 cleanly (is aware of differences between 1.0, uses separate well-formedness checks where necessary) * XML conformance significantly improved, to pass XMLTest test suite (with 99%+ pass rate). === Packaging === * EscapingWriterFactory moved from main org.codehaus.stax2 package to the new org.codehaus.stax.io sub-package. === Stream reader === * Default setting for P_REPORT_PROLOG_WHITESPACE is now Boolean.TRUE (instead of Boolean.FALSE), to emulate behaviour of the StAX reference implementation, and to keep output in pass-through configurations more similar to input. * Handling of undeclared entities changed so that no exception is thrown in non-expanding mode; this is similar to the way ref. impl. works. * isCharacters() now only returns true if current event is CHARACTERS, instead of CHARACTERS, CDATA and SPACE (as in 1.0 and 2.0). Change was done for interoperatibility -- the StAX reference implementation behaves like 3.0. * Removed property P_TEXT_BUFFER_LENGTH, since there is no real benefit from changing this setting -- text buffer is resized dynamically as needed, and initial value is largely irrelevant. === Stream writer === * In 2.0.x most well-formedness checks (P_CHECK_xxx) resulted in unchecked IllegalStateException. Due to requests by developers, who found this unintuitive, these were replaced by checked XMLStreamExceptions. * In 2.0.x, WstxOutputProperties.P_OUTPUT_VALIDATE_CONTENT was false by default: in 3.0 it is true. Change was due to more efficient checking of the content, made possible by integrated transcoding. As such, it seems useful to have more rigorous checks enabled by default. Also, since WstxOutputProperties.P_OUTPUT_FIX_CONTENT was and is true by default, CDATA and COMMENT sections will be automatically "fixed" now. === Event reader === * Event readers are now constructed so that P_LAZY_PARSING is always disabled (to get accurate XMLStreamExceptions instead of possible runtime exceptions, with no performance difference). Also, P_MIN_TEXT_SEGMENT will be set to maximum value, to avoid ever splitting a CHARACTERS or CDATA segment (to minimize number of event objects created).