Release Notes: This release fixes a crash when trying to run pyx on nonexistent files and a boundary condition in the unescape command. The ed and sel commands can now refer to a document's top level default namespace with "_" or "DEFAULT" and give a friendly message if the user doesn't realize they need to specify namespaces.
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.
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 implements --update --expr for the ed command. The ed and sel commands use top-level namespace definitions from first input file, which should remove the need to define namespaces on the command line with -N in most cases. Select exits with 0 only if the result is non-empty. The -Q option has been added to select, like grep's -q. This release adds column number and restores input context (lost in version 1.0.3) to error messages. It adds the --net option to c14n, ed, fo, and val. It removes --catalog from the tr --help message since it isn't actually supported. It adds --elif and --else to the sel --help message.
Release Notes: A bug was fixed for BSD and Mac OS X by checking that O_BINARY is declared before #including io.h. Several select command improvements were made: --elif and --else options, sorting on multiple fields, correct (for English) lexical sorting, and inclusion of only needed namespaces by the output stylesheet. Shared libxml and libxslt libraries are linked by default. Library version information was added to --version output. A directory argument for ls was added; the exit status indicates failure or success instead of file count. Xmlstarlet will now link with a libxml configured --without-sax1 and --without-legacy.
Release Notes: The c14n command now outputs linefeeds only in Windows as well. The --help text for ed now correctly describes the behavior of -P, -S, --pf, and --ps. Some subcommands' --help options were outputting the printf format string literally.