1.5.0: Jul 7, 2013

    - Bugs:
      - avoid segfault on pyx non-existant file
      - fix unescaping of entities straddling 4K byte boundary (Bug #102)
    - Enhancements:
      - unescape hex entities (&#xXX;)
      - give a helpful message if doc has default namespace and
        nothing matched
      - add "_" and "DEFAULT" as names for document's top-level
        default namespace
      - Adding a global quiet option
      - ed: Allow omitting value argument to create empty element.
      - use default attribute values in sel subcommand
    - Build:
      - fix test variables to work with newer automake (1.11 -> 1.13)
      - fix usage2c.awk for mawk
      - scripts for building on mingw


1.4.2: Dec 28, 2012

    - pyx: avoid segfault on documents with multiple attributes (Bug
      #3595212)


1.4.1: Dec 8, 2012

    - avoid segfault when attempting to edit the document node (Bug
      #3575722)

    - Packaging:
      - include doc/xmlstar-fodoc-style.xsl in the dist so that the
        --enable-build-docs option works from the tarball (Bug
        #3580667)
      - AC_SUBST PACKAGE_TARNAME for automake so that documentation is
        installed to the right place (Bug #3561958)

    - Test Suite:
      - avoid test failures due to XML formatting and whitespace
        changes (also fixes Bug #3572789)
      - use automake's parallel test suite
      - make bigxml tests much faster by using whitespace instead of nodes
      - don't test str:replace() with ed: it doesn't work outside of
        xslt in new libxslt
      - ignore extra errors from libxml 2.9.0 bug
      - let tests run using busybox
      - add runAllTests.sh to run tests without make


1.4.0: Aug 26, 2012

    - Documentation:
        - executable name used in documentation now matches
          --transform-program-name (Bug #3283713)
        - added Makefile rules for generating documentation
          (./configure --enable-build-docs)

    - ed subcommand:
        - relative XPaths are now handled correctly (Bug #3527850)
        - the last nodeset inserted by an edit operation can be
          accessed as the XPath variable $prev (or $xstar:prev)
        - add --var option to define XPath variables
        - allow ed -u -x to insert nodesets instead of converting to
          string
        - remove hard limit for number of edit operations (Bug
          #3488240)

    - pyx now handles namespaces correctly

1.3.1: Jan 14, 2012

    - handle multiple values for --value-of properly (Bug #2563866)
    - substitute external entities (Bug #3467320)
    - pyx output needs space between attribute name and value (Bug #3440797)


1.3.0: Oct 7, 2011

    - avoid ASCII CRs in UTF-16/32 text (reported by Ming Chen)
    - --value-of outputs concat values of all nodes (Req #2563866)
    - encode special chars for ed -u -x
    - allow use of exslt functions in ed -u -x
    - add --var to select (allow --var <name>=<value> as well as --var
      <name> <value> --break)
    - work around libxml bug that passes bogus data to error handler
      (Bug #3362217)


1.2.1: July 07, 2011

    - check for NULL nodeset result (Bugs #3323189, #3323196)
    - "-" was being confused with --elif
    - generated XSLT should also have automatic namespaces
    - allow -N after other option (Bug #3325166)
    - namespace values were being registered as prefixes
    - avoid segfault when asked to move namespace nodes
    - missing newline in ed --help message
    - test scripts portability
      - no bashisms allowed in NetBSD sh
      - make BRE portable: '+' is not allowed
      - deal with msys path conversion properly (Bug #3178657)
    - don't use XML_SAVE_WSNONSIG #if libxml < 2.7.8 (Bug #3310475)


1.2.0: June 1, 2011

    - implement ed --update --expr
    - use top-level namespace definitions from first input file, this
      should remove the need to define namespaces on the command line
      with -N in most cases.
    - select exits with 0 only if result is non-empty (Req #3155702)
    - add -Q to select, like grep's -q
    - add column number to error messages
    - restore input context (lost in version 1.0.3) to error messages
      (Bug #3305659)
    - print extra string information in error messages
    - use entity definitions from dtd (Bug #3305659)
    - add --net option to c14n, ed, fo, and val (Req #1071398)
    - remove --catalog from tr --help message since it isn't actually supported
    - add --elif and --else to sel --help message


1.1.0: Apr 3, 2011

    - bug fix for BSD/OSX: check that O_BINARY is declared before
      #including io.h (Bug 3211822)
    - select improvements
      - add --elif and --else options
      - sorting on multiple fields
      - correct (for English) lexical sorting instead of ASCIIbetical
      - only outputs namespaces that are actually used
      - only outputs xsl:param inputFile if it's used
      - don't make separate templates if there is only 1
    - link to shared libxml and libxslt libraries by default
    - add library version info to --version output
    - add directory argument for ls; exit status indicates
      failure/success instead of file count
    - stop using old SAX1 interface, xmlstarlet will now link with a
      libxml configured --without-sax1 and --without-legacy


1.0.6: Mar 13 2011:

    - Bug fixes:
       - c14n: set stdout to binary mode on Windows to avoid carriage
         returns (Bug 840665)
       - fix broken --help options
    - put actual behaviour of -P, -S options in --help output (see
      Bug/Feature Request 2858514)
    - remove unneeded escape of quote in ./configure --help
    - don't distribute xmlstarlet.spec: it's generated by ./configure
    - add src/xml.o depends on version.h to Makefile.am so compile
      will succeed without dependency info (eg after make distclean)
    - add test for subcommands' --help option
    - Portability fixes:
       - yes isn't portable, use an awk program instead
       - neither read -r nor xargs -0 are portable, escape the command
         lines to xargs instead
       - don't use nonportable echo -n option


1.0.5: Feb 11 2011:

   - Bug fixes:
      - use XSLT_PARSE_OPTIONS, else CDATA nodes can cause corruption (Bug 3158482)
      - fix typo in help message
      - get rid of warnings in -ansi -pedantic mode
      - required libxml2 version is 2.6.23
      - usage strings use argv[0] as program name
      - --help prints to stdout and exits with success
      - double /'s under msys to avoid path conversion
   - Portability fixes:
      - don't use xargs (-d isn't portable)
      - use -Wall only for gcc
   -Build system:
      - use -ansi in configure, and check for strdup declaration
      - seperate list of sources and tests into subdirs
      - check git version during make, not just autoconf
      - tarball releases of configure.ac have actual version number
        instead of querying git


1.0.4: Jan 16 2011:

   - Bug fixes:
      - encode special XML characters in arguments (can now include quotes in xpath)
      - non-zero exit code when input file is not found (Bug 3158488)
      - ed with --pf/--ps options doesn't reformat output (Bug 3158490)
      - exit() instead of segfault when trying to delete namespace nodes
         (Bug 1120417)
   - added --disable-static-libs ./configure option to use shared libxml2 and libxslt
   - non-recursive make
   - use TESTS and XFAIL_TESTS for testing, nicer output

1.0.3: Nov 18 2010:

   - Bug fixes:
      escape --value in update mode (Bug 3052978)
      c14n now includes default attributes (Bug 1505579)
      Allow special characters in sel --output literal (Bug 1912978)
      remove warning from xml_trans.c (Bug 1521756)
      Use xmlReader interface so line numbers are 32-bit (Bug 1219072)
      test for error messages on lines past 2^16 (Bug 1219072)
      don't look for embedded dtd if not asked (Bug 1167215)
