Release Notes: A crash when libxml2 returned NULL nodeset result was fixed. "-" was being confused with --elif. The generated XSLT now contains the namespaces extracted from the first input file. -N is once again allowed after other options. Namespace values were being registered as prefixes. A segfault is avoided when asked to move namespace nodes. There was a missing newline in the ed --help message. The test scripts portability was improved. XML_SAVE_WSNONSIG is only used if libxml is version 2.7.8 or later.


Release Notes: This release fixes a crash in the pyx subcommand that occurred when it handled nodes with multiple attributes.


Release Notes: A crash with invalid editing operations has been fixed. The documentation can now be built from the tarball and installs to the correct place. The test suite has been made more forgiving of serialization differences between libxml2 versions.


Release Notes: This release adds Makefile rules for generating documentation (./configure --enable-build-docs) consistent with --transform-program-name. The ed subcommand now handles relative XPaths correctly, and there is no longer a hard limit on the number of edit operations. The last nodeset inserted can be accessed as the XPath variable $prev (or $xstar:prev), and new variables can also be defined with --var. ed -u -x may now insert nodesets instead of converting to string. The pyx subcommand now handles namespaces correctly.


Release Notes: Multiple values for --value-of are now correctly output with separating newlines. External entities are substituted. Pyx output now has a space between the attribute name and the value.


Release Notes: ASCII carriage returns are no longer added when editing UTF-16/32 xml files under Windows. --value-of now outputs the newline-separated values of all nodes instead of just the first. Special characters produced by ed -u -x are now properly escaped. EXSLT functions can now be used in ed -u -x expressions. This release adds a --var option to select. A libxml bug which caused bogus data to be passed to the error handler was worked around.