2020-10-02  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  2.42.0

2020-10-02  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Fix versioning on macOS

  See libsigcplusplus, pull request 65

2020-10-01  From: Murray Cumming  <murrayc@murrayc.com>

  Parser: Replace (deprecated) Glib::Threads::Mutex with std::mutex.

  Added by Kjell Ahlstedt: This patch and the two patches
  * Parser: Correct the SaxParserCallback prototype declaration.
  * C++11: Use of override keyword.
  have been copied from the libxml++-2.42 branch. That branch should
  be avoided in favor of libxml++-2-42.

2020-10-01  Murray Cumming  <murrayc@murrayc.com>

  Parser: Correct the SaxParserCallback prototype declaration.

2020-10-01  Murray Cumming  <murrayc@murrayc.com>

  C++11: Use of override keyword.

  To fix the build with --enable-warnings=fatal.

2020-07-23  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Use Meson-style DLL and .lib naming if requested

  To make things more consistent and less prone to confusion, if 'USE_MESON_LIBS'
  is specified in the NMake command line, build the DLLs and .lib's that are
  named like the Meson counterparts.  Binaries built with Meson+Visual Studio
  and the ones that are built via NMake using 'USE_MESON_LIBS' are
  interchangeable, provided that they are built with the same Visual Studio
  version.

2020-07-22  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Fix build from tarballs

  Update the rules so that we won't attempt to unnecessarily generate
  libxml++config.h and libxml++.rc in our builds, and make sure that we do indeed
  generate them with the version info if generating them becomes necessary.
  
  Also streamline this process so that it will be part of the 'all' target.

2020-07-08  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Fix default include paths

  Fix a typo where we include glibmmconfig.h, and make sure we also look for
  headers in $(PREFIX)\include

2020-07-08  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Support ARM64 Windows builds

  This will make the NMake Makefiles capable of building ARM64 binaries of
  libxml++, which can be used on Windows 10 on ARM systems.

2020-06-30  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Apply toolset version for Meson-built deps

  As the Meson build files for Visual Studio apply the toolset version in the
  .lib filenames by default, apply the toolset version in the Meson-built -mm
  .lib files that we link in, just as we did when we we link in the -mm .lib
  files that was built with NMake, by default.
  
  The option 'USE_COMPAT_LIBS' will also mean that we will use the former
  behavior when we link in the Meson-built -mm .lib's, just as we did when we
  link in the NMake-built -mm .lib's.
  
  Also let people know the resolution to strange linker errors that are caused
  by mixing Visual Studio versions when building the -mm libraries.

2020-06-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  README: Update with instructions for building libxml++

2020-06-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add support for building libxml++ with Meson

  libxml++-2.6 can be built with either Autotools or Meson.
  New files have been copied from the libxml++-3-2 branch. Some of them
  have been slightly changed.

2020-06-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs/reference/Doxyfile.in: Remove PERL_PATH

  Doxygen since version 1.8.0 does not use PERL_PATH and MSCGEN_PATH.

2020-06-19  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Drop gendef.cc

  Since we are now using compiler directives or mechanisms to export symbols from
  our libxml++ DLL for all Windows dynamic builds, it's time to drop gendef.cc,
  as it is no longer used

2020-06-19  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Stop using gendef

  This updates the NMake Makefiles to stop building and using the gendef tool,
  since we are now using compiler directives to export symbols for libxml++
  builds.
  
  Since this branch did not have official and working Visual Studio build files,
  and it is not API/ABI compatible with the libxml++-2.6 series, gendef.cc will
  be dropped in the next commit

2020-06-19  Chun-wei Fan  <fanchunwei@src.gnome.org>

  libxml++config.h.in: Re-organize LIBXMLPP_API

  We want to set LIBXMLPP_API to the following:
  
  * __declspec(dllexport) when building the libxml++ DLL on Windows
  * __declspec(dllimport) when using the libxml++ DLL on Windows
  * <nothing> if building/using a static or a non-Windows libxml++ build

2020-06-19  Chun-wei Fan  <fanchunwei@src.gnome.org>

  libxml++ headers: Mark classes and functions with LIBXMLPP_API

  This prepares us to export and symbols on Visual Studio builds using only
  compiler directives, and to drop the venerable gendef.cc

2020-06-19  Chun-wei Fan  <fanchunwei@src.gnome.org>

  libxml++/*.h: Remove check for old _MSC_VER stuff

  They aren't applicable anymore, since the newer Visual Studio versions
  addressed the issues.

2020-06-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs/Makefile.am: Fix builddir != sourcedir builds

2020-06-17  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Update MSVC_NMake/README

  Update instructions for building since we moved to using NMake
  Makefiles, and let people know that the same compiler version is
  required for building libxml++, glibmm and libsigc++.

2020-06-17  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Drop Visual Studio 2010 projects

  They have been superseded with the NMake Makefiles, so it's time to
  retire them from the source tree.

2020-06-17  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Add NMake Makefiles

  This adds a set of NMake Makefiles that can be used to build libxml++,
  which will replace the Visual Studio 2010(!) projects that reside in the
  repository (which is probably broken and we actually need Visual Studio
  2017+ to build the current code due to a bug in the Visual Studio 2015
  compiler).
  
  The unfortunate fact is that we do need to link to a glibmm that is
  built with the same compiler, otherwise linking will fail and the
  binaries of the dependent glibmm built with other compilers won't work
  well with the builds here if they are built with other Visual Studio
  compilers, so we will need to separate the output filenames
  for the resulting .lib and .dll files for Visual Studio 2015, 2017 and 2019.
  A NMake Makefile build options "USE_COMPAT_LIBS" is added if linking to
  xxxx-vc140-y_z.lib for glibmm is still desired, such as in the case where
  glibmm was actually built with Visual Studio 2017 or 2019.

2020-06-17  Chun-wei Fan  <fanchunwei@src.gnome.org>

  gendef.cc: Skip symbols implemented inline

  Like in the case of gtkmm, some symbols were implemented inline in the CRT on
  Visual Studio 2015+ (UCRT), so we don't want to put them in our .def file,
  otherwise linking will fail.

2020-06-17  Chun-wei Fan  <fanchunwei@src.gnome.org>

  tests: Don't include config.h

  The libxml++config.h should already fulfil our needs here.

2020-06-17  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Rename MSVC_Net2010 to MSVC_NMake

  This initiates the move from the Visual Studio project files to using NMake
  Makefiles, so that we reduce the likelihood of the MSVC build files becoming
  outdated, by sharing the autotools build files' source listings.

2017-05-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Document, DomParser: Improve XInclude processing

  * examples/Makefile.am:
  * examples/dom_xinclude/example.xml: Changed due to moved include files.
  * examples/dom_xinclude/include1.txt:
  * examples/dom_xinclude/include2.xml: Moved to examples/dom_xinclude/xinclude/
  * examples/dom_xinclude/main.cc: Test both Document::process_xinclude() and
  Xinclude processing with DomParser::parse_file().
  * libxml++/document.[cc|h]: Add fixup_base_uris parameter to process_xinclude().
  * libxml++/parsers/domparser.[cc|h]: Add set/get_xinclude_options().
  Add optional XInclude processing to the parse methods.
  * libxml++/parsers/parser.[cc|h]: Add set/get_xinclude_options_internal().
  Bug 781566

2016-07-18  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Require mm-common 0.9.10

  Necessary when MM_AX_CXX_COMPILE_STDCXX is used in configure.ac.

2016-07-18  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Fix even more silent 'make check'

  * examples/Makefile.am: Add $(AM_V_GEN) and $(AM_V_at) to 'echo' commands.
  Bug #768797

2016-07-18  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Build: Fix silent builds

  * configure.ac: Pass yes to AM_SILENT_RULES, thus enabling silent builds.
  Replace MM_AX_CXX_COMPILE_STDCXX_11 by MM_AX_CXX_COMPILE_STDCXX (not necessary
  for silent builds).
  * docs/reference/Doxyfile.in: Set QUIET=YES.
  Update for doxygen 1.8.11 (not necessary for silent builds).
  Bug #768797

2016-07-06  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Element::remove_attribute(): Delete the C++ wrapper

  * libxml++/nodes/element.cc: Call Node::free_wrappers() before the call to
  xmlUnsetProp() or xmlUnsetNsProp(). Bug #768404.
  Based on a patch by Harald Schmalzl <h.schmalzl@gekko.at>

2015-11-05  Renu Tyagi  <renu.tyagi@samsung.com>

  Element: Remove redundant null check

  Bug #757515

2015-10-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  2.40.1

2015-10-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Parser, Validator: Make handle_exception() private

  * libxml++/exceptions/wrapped_exception.h: Added comment.
  * libxml++/parsers/parser.h:
  * libxml++/validators/validator.h: Make handle_exception() private. Then it
  will certainly not be considered added API, and it can be included in
  libxml++ 2.40.1. Bug #757042.

2015-10-27  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  SaxParser docs: Describe exception handling

  * libxml++/parsers/saxparser.h: Note in the class description that some
  exceptions are replaced by xmlpp::exception if std::exception_ptr is not
  supported. Bug #757042.

2015-10-26  Daniel Trebbien  <dtrebbien@gmail.com>

  Work around some platforms' lack of support for std::exception_ptr

  * libxml++/exceptions/wrapped_exception.[cc|h]: Declare the wrapped_exception
  class only if LIBXMLXX_HAVE_EXCEPTION_PTR is defined.
  * libxml++/parsers/parser.[cc|h]:
  * libxml++/parsers/saxparser.cc: Add Parser::handle_exception(), and call
  it instead the handleException().
  * libxml++/validators/validator.[cc|h]: Add Validator::handle_exception(),
  and call it instead the handleException().
  * tests/saxparser_chunk_parsing_inconsistent_state/main.cc:
  * tests/saxparser_parse_double_free/main.cc:
  * tests/saxparser_parse_stream_inconsistent_state/main.cc: Catch
  xmlpp::exception, if LIBXMLXX_HAVE_EXCEPTION_PTR is not defined.
  Bug #757042.
  
  Kjell Ahlstedt <kjell.ahlstedt@bredband.net> added handle_exception() and
  modified Daniel Trebbien's patch to fit with the previous commit.

2015-10-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Add LIBXMLXX_HAVE_EXCEPTION_PTR

  * build/.gitignore: New file.
  * build/cxx_std.m4: New file with LIBXMLXX_CXX_HAS_EXCEPTION_PTR
  autoconf macro. Defines LIBXMLXX_HAVE_EXCEPTION_PTR if std::exception_ptr
  exists.
  * .gitignore: Move some lines to build/.gitignore.
  * configure.ac: Store some build files in the build directory, like most mm
  packages. Don't use the macros directory.
  * libxml++config.h.in: Add LIBXMLXX_HAVE_EXCEPTION_PTR.
  * Makefile.am:
  * docs/Makefile.am: macros -> build. Bug #757042.
  
  Thanks to Daniel Trebbien <dtrebbien@gmail.com>, who supplied a patch with
  the test code in LIBXMLXX_HAVE_EXCEPTION_PTR.

2015-10-09  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Still more use of nullptr instead of 0

2015-10-08  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  More use of nullptr instead of 0

  Bug #756166 (also the previous commit)

2015-10-08  Gaurav Gupta  <g.gupta@samsung.com>

  Use nullptr instead of 0 at missing places - C++-11

2015-09-21  Murray Cumming  <murrayc@murrayc.com>

  2.40.0

2015-09-11  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Update the manual

  * docs/manual/libxml++_without_code.xml: Minor updates.

2015-09-11  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  docs/Makefile.am: Fix missing update of relative path

  Fix relative path to ../examples in the rule for manual/libxml++.xml.
  Add a TODO comment, because I'm uncertain about the relative paths in
  the rsync commands that upload to sourceforge.net.

2015-09-11  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Split Makefile.am

  * Makefile.am: Move most of the contents to the new files. It makes libxml++
  more like other mm packages.
  * docs/Makefile.am:
  * libxml++/filelist.am:
  * libxml++/Makefile.am:
  * MSVC_Net2010/filelist.am: New files.
  * configure.ac: Add the new Makefiles to AC_CONFIG_FILES().
  * docs/reference/Doxyfile.in: Remove docs/ from relative paths.

2015-09-09  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Remove MSVC 2005 and 2008 projects

  MSVC_Net2005/*:
  MSVC_Net2008/*: Remove the whole directories.
  configure.ac:
  Makefile.am:
  .gitignore: Remove MSVC_Net2005 and 2008 files.
  
  It's no longer possible to build libxml++ with MSVC 2005 or 2008, when C++11
  features are used. MSVC 2010 is not useful either, but its project files
  are kept for now. They can perhaps be useful as a starting point when building
  with later MSVC versions. See also libsigc++ bug 754082.

2015-09-05  Murray Cumming  <murrayc@murrayc.com>

  2.39.2

2015-08-27  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  xmlpp::wrapped_exception: Add comments

  Bug #753570

2015-08-27  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Fix make check with --enable-warnings=fatal and fix make distcheck

  * tests/saxparser_chunk_parsing_inconsistent_state/main.cc:
  * tests/saxparser_parse_double_free/main.cc: Comment out names of unused
  parameters in function definitions.
  * Makefile.am: Add wrapped_exception.h to h_exceptions_sources_public or else
  it won't be distributed.
  * libxml++/exceptions/wrapped_exception.h: Add DOXYGEN_SHOULD_SKIP_THIS.
  xmlpp::wrapped_exception is a private class that shall not be included in
  the documentation. Bug #753570.

2015-08-27  Daniel Trebbien  <dtrebbien@gmail.com>

  Introduce xmlpp::wrapped_exception

  This is an internal class which is used by SaxParser and Validator to
  save the exception object thrown by a handler method when the exception
  does not derive from xmlpp::exception (e.g. std::exception). The Raise()
  method of xmlpp::wrapped_exception calls std::rethrow_exception() to
  rethrow the exception object thrown by the handler method.
  
  Catching any exception object thrown by a handler method is important in
  ensuring that we are able to reset the internal state, and, in the case
  of SaxParser::parse(), that we restore the old _xmlSAXHandler pointer so
  that we do not double-free the _xmlSAXHandler object held by SaxParser.
  
  Fixes Bug 753570 - “double free or corruption” if a std::exception is thrown
  https://bugzilla.gnome.org/show_bug.cgi?id=753570

2015-08-02  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Replace some auto_ptr by unique_ptr

  * libxml++/parsers/parser.cc:
  * libxml++/parsers/saxparser.cc:
  * libxml++/validators/relaxngvalidator.cc:
  * libxml++/validators/validator.cc:
  * libxml++/validators/xsdvalidator.cc: Replace the deprecated std::auto_ptr
  by std::unique_ptr. There are still auto_ptrs in header files. Replacing
  them would break ABI. Bug #753123.

2015-07-20  Murray Cumming  <murrayc@murrayc.com>

  2.39.1

2015-07-20  Murray Cumming  <murrayc@murrayc.com>

  Add -Wformat-security to --enable-warnings=fatal.

  Because we use it in glibmm too. No code changes were necessary.

2015-07-20  Murray Cumming  <murrayc@murrayc.com>

  Fix the build with -Wshadow.

  And add this warning to --enable-warnings=fatal.

2015-07-20  Murray Cumming  <murrayc@murrayc.com>

  C++11: More use of auto.

2015-07-20  Murray Cumming  <murrayc@murrayc.com>

  C++11: Some use of range-based for loops.

2015-07-20  Murray Cumming  <murrayc@murrayc.com>

  C++11: Use auto.

2015-07-20  Murray Cumming  <murrayc@murrayc.com>

  C++11: NonCopyable: Use = delete instead of private.

2015-07-19  Murray Cumming  <murrayc@murrayc.com>

  C++11: Use nullptr instead of 0.

2015-07-19  Murray Cumming  <murrayc@murrayc.com>

  C++11: Replace throw() with noexcept.

2015-07-19  Murray Cumming  <murrayc@murrayc.com>

  C++11: Use the override keyword.

2015-07-19  Murray Cumming  <murrayc@murrayc.com>

  Docs: Correct odd use of "herited" word.

2015-07-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Require C++11

  * configure.ac: Use MM_AX_CXX_COMPILE_STDCXX_11 from mm-common to check for
  compiler support for C++11 and use it (-std=c++11 for current versions of g++).
  Among other reasons, this is because libsigc++ and glibmm now require C++11,
  and gmmproc generates C++11 code.

2015-06-08  Murray Cumming  <murrayc@murrayc.com>

  2.38.1

2015-04-30  Mikhail Titov  <mlt@gmx.us>

  Fix the build with C++11 compilers, such as MS Visual C++ 2013.

  Implicit conversions from streams to bool are no longer allowed.

2015-03-04  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Disable deprecated API in dependencies if --enable-warnings=fatal

  * configure.ac: Disable deprecated API in glib, glibmm and libsigc++ when
  building with --enable-warnings=fatal.
  * libxml++/validators/parser.cc: Put #include <glibmm/threads.h> first.
  Necessary when G_DISABLE_DEPRECATED is defined.

2015-03-04  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Require libxml2 2.7.7 or later

  * configure.ac: Require libxml2 2.7.7 or later. Earlier versions contain a
  bug that makes some of the example programs crash.

2015-02-27  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  2.38.0

2015-02-27  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Docs: Update for Doxygen 1.8.9

  * docs/reference/Doxyfile.in: Update for Doxygen 1.8.9.

2014-10-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  2.37.2

2014-10-21  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Parser: Add input operator>>()

  * libxml++/parsers/parser.h: Add operator>>(std::istream& in, Parser& parser).
  * examples/dom_parse_entities/main.cc: Use operator>>(). Bug #329281.

2014-10-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Remove libxml++/Makefile.am

  * libxml++/Makefile.am: Removed file. It has not been used for quite some time.

2014-10-16  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Add RelaxNGSchema and RelaxNGValidator

  * Makefile.am: Add new files.
  * libxml++/libxml++.h: Add new header files.
  * examples/Makefile.am: Add schemavalidation/example.rng.
  * examples/schemavalidation/main.cc: Add test of RelaxNGValidator.
  * examples/schemavalidation/example.rng:
  * libxml++/relaxngschema.[cc|h]:
  * libxml++/validators/relaxngvalidator.[cc|h]: New files.
  
  Thanks to Tjalling Hattink <t.hattink@fugro.nl>, who made other versions
  of the new files, which were attached to bug #737712.

2014-10-16  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Add XsdSchema and XsdValidator. Deprecate Schema and SchemaValidator

  * configure.ac: Add MM_ARG_DISABLE_DEPRECATED_API([LIBXMLXX]).
  * Makefile.am: Add new files.
  * libxml++config.h.in: Add LIBXMLXX_DISABLE_DEPRECATED.
  * libxml++/libxml++.h: Add new header files.
  * libxml++/schema.[cc|h]:
  * libxml++/validators/schemavalidator.[cc|h]: Deprecate the whole files.
  * examples/schemavalidation/main.cc: Add test of XsdValidator.
  * libxml++/schemabase.[cc|h]:
  * libxml++/xsdschema.[cc|h]:
  * libxml++/validators/schemavalidatorbase.[cc|h]:
  * libxml++/validators/xsdvalidator.[cc|h]: New files. Bug #737712.

2014-10-15  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Validator: Make initialize_valid() callable from all subclasses

  * libxml++/validators/validator.cc: In initialize_valid(), don't initialize
  valid_'s data members, if it's a null pointer.
  * libxml++/validators/schemavalidator.cc: Call the base class version from
  initialize_valid() instead of copying some code from it.

2014-10-11  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Schema::get_name(): Don't use null pointer

  * libxml++/schema.cc: Don't use null pointers in get_name(),
  get_target_namespace() and get_version().

2014-10-10  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  examples/dom_update_namespace: Add calls to Node::add_child_with_new_ns()

  * examples/dom_update_namespace/main.cc: Add calls to add_child_with_new_ns().
  Bug #737682.

2014-10-10  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Add Node::add_child_with_new_ns()

  * libxml++/nodes/node.[h|cc]: Add add_child_with_new_ns() (*2) and
  add_child_before_with_new_ns(). Bug #737682.

2014-10-10  Mathias Lorente  <mathias.lorente@gadz.org>

  Add dom_update_namespace example

  * .gitignore: add /examples/dom_update_namespace/dom_update_namespace
  * examples/Makefile.am: Add dom_update_namespace files.
  * examples/dom_update_namespace/main.cc:
  * examples/dom_update_namespace/example1.xml:
  * examples/dom_update_namespace/example2.xml: New files. Bug #737682.

2014-10-10  Mathias Lorente  <mathias.lorente@gadz.org>

  Element::set_namespace_declaration(): Update the node's associated namespace

  * libxml++/nodes/element.cc: Update the node's associated namespace, if the
  added namespace prefix is the same as the node's own namespace prefix.
  * libxml++/nodes/element.h: Mention in the documentation that child nodes
  are not updated. Bug #737682.

2014-09-18  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Docs: Use doxygen-extra.css

  * configure.ac: Require mm-common 0.9.7.
  * .gitignore: Ignore doxygen-extra.css.
  * docs/reference/Doxyfile.in: Use doxygen-extra.css instead of doxygen.css.

2014-09-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Late update of configure.ac and NEWS for 2.37.1

  The changes in configure.ac and NEWS were not pushed to the git repository
  when libxml++ 2.37.1 was released. These are the changes that are included
  in the tarball.
  The last commit in 2.37.1 is "Fix examples/Makefile.am for new versions
  of automake" from 2013-09-14.

2014-09-12  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Update libxml++.doap

  * libxml++.doap: Update homepage and mailing-list.
  Add description, download-page, bug-database and programming-language.
  Comment category, because no allowed category seems suitable for libxml++.

2014-08-14  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Remove MAINTAINERS

  * MAINTAINERS: Removed file. It has been replaced by libxml++.doap.
  * Makefile.am: Don't distribute MAINTAINERS.

2014-07-04  Gaurav  <g.gupta@samsung.com>

  Document: Avoid possible null pointer dereference

  * libxml++/document.cc: In create_root_node() check that 'element' is
  non-null before it's used. Bug #732604.

2014-05-20  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Add version information to libxml++config.h

  * libxml++config.h.in: Add LIBXMLXX_[MAJOR,MINOR,MICRO]_VERSION.
  Define LIBXMLCPP_EXCEPTIONS_ENABLED unconditionally in libxml++config.h.

2014-05-20  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Avoid infinite loop with Doxygen 1.8.6

  * configure.ac: Use the libstdc++.tag and libsigc++-2.0.tag files that were
  used when glibmm-2.4.tag was created.
  * docs/reference/libstdc++.tag.xml: Deleted file.

2013-09-14  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Fix examples/Makefile.am for new versions of automake.

  * examples/Makefile.am: Don't use make functions, such as addsuffix, in
  check_SCRIPTS. New versions of automake (e.g. 1.13.4) expect to find only
  a blank-separated list of filenames.
  * .gitignore: With new versions of automake, 'make check' generates more
  output files. Ignore them. Bug #678390.

2013-09-06  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Manual: Add XIncludeStart and XIncludeEnd to the node type tree.

  * docs/manual/libxml++_without_code.xml: Add XIncludeStart and XIncludeEnd
  to the node type tree in the DOM Parser section. Should have been done when
  those node types were added.

2013-08-12  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Node: Move the null-pointer check to the constructor.

  * libxml++/nodes/node.[h|cc]: Let the constructor throw xmlpp:internal_error
  if impl_ == 0. Remove other null-pointer checks. Bug #705187.

2013-08-02  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Update Doxyfile.in for doxygen 1.8.3.

  * docs/reference/Doxyfile.in: Update for doxygen 1.8.3. Make it more similar
  to the template file at mm-common/skeletonmm/doc/reference.
  * libxml++/validators/schemavalidator.h: Fix the parameter name in a doxygen
  @param comment.

2013-08-02  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Parser: Add [set|get]_include_default_attributes().

  * libxml++/parsers/parser.[h|cc]: Add [set|get]_include_default_attributes()
  and [set|get]_parser_options().
  * examples/dom_parser/main.cc: Add command option -a for testing
  Parser::set_include_default_attributes().
  * examples/dom_read_write/example.dtd:
  * examples/dom_read_write/example.xml: Add an attribute with default value.
  * examples/dom_read_write/main.cc: Add an optional call to
  Parser::set_include_default_attributes(). Bug #701674.

2013-07-31  Murray Cumming  <murrayc@murrayc.com>

  Whitespace fix

2013-07-31  Murray Cumming  <murrayc@murrayc.com>

  Node: Improve some null-pointer checks

  * libxml++/nodes/node.cc:
    If we are going to check impl_ for null, we may as well do it
    where it makes most sense. Note that we do not bother yet to check
    for this in other functions. If we did this consistently we would
    want a sensible way to respond to it, such as an exception.
  
  Bug #705187 (Gaurav)

2013-07-03  José Alburquerque  <jaalburquerque@gmail.com>

  Move to a generated ChangeLog.

2013-07-03  José Alburquerque  <jaalburquerque@gmail.com>

  Include file for auto-generation of ChangeLog from right directory.

  	* Makefile.am:

2013-07-02  José Alburquerque  <jaalburquerque@gmail.com>

  Auto-generate the ChangeLog from the git log for 'make dist'.

  	* Makefile.am: Include the dist-changelog.am file copied in build/
  	from mm-common so that the ChangeLog is automatically generated from
  	the git commit messages on 'make dist'.

2013-06-18  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Examples dom_parse_entities and dom_parser: Fix when LC_ALL=C.

  * examples/testutilities.[h|cc]: New files with class CatchConvertError.
  * examples/Makefile.am: Add testutilities.[h|cc].
  * examples/dom_parse_entities/main.cc:
  * examples/dom_parser/main.cc: Change some strings from Glib::ustring to
  CatchConvertError before they are printed. It catches Glib::ConvertError
  locally. 'make check' can pass even if the global locale does not support all
  printed characters. Bug #702136.

2012-11-04  Murray Cumming  <murrayc@murrayc.com>

  2.36.0

2012-10-25  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Element::set_namespace_declaration(): No error to set the same URI twice.

  * libxml++/nodes/element.[h|cc]: Don't throw an exception from
  set_namespace_declaration(), if a namespace prefix is assigned the same URI
  twice. Bug #635846, comment 27.

2012-10-10  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Require libxml-2.0 >= 2.7.3.

  * configure.ac: Require libxml-2.0 >= 2.7.3.
  Don't know if it's really necessary, but 2.7.2 from 2008-10-03 is the oldest
  release available at ftp://xmlsoft.org/libxml2, and 2.7.2 contains a bug that
  makes examples/import_node segfault.

2012-10-10  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Parser::initialize_context(): Call xmlCtxtUseOptions().

  * libxml++/parsers/parser.cc: initialize_context(): Call xmlCtxtUseOptions()
  instead of setting context_->validate and replaceEntities.
  xmlCtxtUseOptions() does that and more.

2012-10-08  Murray Cumming  <murrayc@murrayc.com>

  2.35.4

2012-08-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Add XInclude processing.

  * Makefile.am: Add XIncludeStart and XIncludeEnd nodes.
  * examples/Makefile.am: Add dom_xinclude example.
  * examples/README: Add dom_xinclude example and other missing examples.
  * examples/dom_xinclude/example.xml:
  * examples/dom_xinclude/include1.txt:
  * examples/dom_xinclude/include2.xml:
  * examples/dom_xinclude/main.cc: New files.
  * libxml++/document.[h|cc]: Add process_xinclude().
  * libxml++/libxml++.h: Add new header files.
  * libxml++/nodes/node.cc: create_wrapper(): Create XIncludeStart and
  XIncludeEnd nodes.
  * libxml++/nodes/xincludeend.[h|cc]:
  * libxml++/nodes/xincludestart.[h|cc]: New files.
  * .gitignore: Ignore /examples/dom_xinclude/dom_xinclude. Bug #338521.

2012-08-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Parser: Make it thread-safe.

  * configure.ac: Require glibmm-2.4 >= 2.32.0.
  * libxml++/parsers/parser.cc: Protect all accesses to extra_parser_data with
  a Glib::Threads::Mutex. Bug #681467.

2012-08-10  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Document: Make the Document(xmlDoc*) constructor public.

  * libxml++/document.h: Make the Document(xmlDoc*) constructor public.
  Remove friend declarations that become unnecessary. Bug #668980.

2012-08-09  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Improve the DtdValidation and SchemaValidation example programs.

  * examples/dtdvalidation/main.cc:
  * examples/schemavalidation/main.cc: Print all information from all thrown
  xmlpp exceptions.

2012-08-09  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Validators: Improve the error handling.

  * libxml++/validators/validator.[h|cc]:
  * libxml++/validators/dtdvalidator.[h|cc]:
  * libxml++/validators/schemavalidator.[h|cc]: Check more return codes from
  libxml2 functions. Improve the description of member functions in the
  reference documentation. Bug #635846.

2012-08-07  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Add incremental parsing to the SaxParser example program.

  * examples/sax_parser/main.cc: Uncomment and correct the code that shows
  incremental parsing with SaxParser::parse_chunk().

2012-08-07  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Parsers: Improve the error handling.

  * libxml++/parsers/domparser.[h|cc]:
  * libxml++/parsers/saxparser.[h|cc]:
  * libxml++/parsers/textreader.[h|cc]: Check more return codes from libxml2
  functions. Improve the description of errors in the reference documentation.
  Bug #635846.

2012-08-07  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Document, Element, Node: Remove unnecessary tests for null pointers.

  * libxml++/document.cc:
  * libxml++/nodes/element.cc:
  * libxml++/nodes/node.cc: Remove tests for null pointer before calling
  xmlFreeNode(), which does nothing if given a null pointer. These unnecessary
  tests were newly added when error handling was improved. Bug #635846.

2012-08-05  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Schema::set_document(): Create empty document.

  * libxml++/schema.[h|cc]: set_document(): If the argument 'document' is 0,
  create an empty document, as the documentation says.

2012-08-05  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Document, Schema: Improve the error handling.

  * libxml++/document.[h|cc]:
  * libxml++/schema.[h|cc]: Check more return codes from libxml2 functions.
  Improve the description of errors in the reference documentation. Bug #635846.

2012-08-02  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Element, Node: Improve the error handling.

  * libxml++/nodes/element.[h|cc]:
  * libxml++/nodes/node.[h|cc]: Check more return codes from libxml2 functions.
  Improve the description of errors in the reference documentation. Bug #635846.

2012-06-21  Murray Cumming  <murrayc@murrayc.com>

  2.35.3

2012-06-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Add examples/Makefile.am. Let 'make check' run the examples.

  * examples/Makefile.am: New file. Let 'make check' both compile and run the
  example programs.
  * Makefile.am: Call examples/Makefile. Move all 'examples' stuff to
  examples/Makefile.am.
  * configure.ac: Remove --enable-examples. Generate examples/Makefile.
  * .gitignore: Ignore make-check-sh. Bug #678390.

2012-06-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Example programs: Fix return codes and print errors on std::cerr.

  * examples/*/main.cc: Return EXIT_FAILURE in case of failure. Print error
  messages on std::cerr. The example programs can then be run by 'make check'.
  Bug #678390.

2012-04-20  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Node: Add functions eval_to_[boolean|number|string]().

  * examples/dom_xpath/example.xml: Add an element with numeric value.
  * examples/dom_xpath/main.cc: Add calls to the new functions.
  * libxml++/nodes/node.[h|cc]:
  Add the functions eval_to_[boolean|number|string](). Bug #316244.

2012-04-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Node: Make the previous fix thread-safe.

  * libxml++/nodes/node.cc: Delete the C++ wrapper of a deleted attribute node
  without using xmlDeregisterNodeDefault. Bug #672992 comments 9-12.

2012-04-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Node: Fix memory problems in import_node().

  * libxml++/nodes/node.[h|cc]: Return added_node instead of imported_node,
  which libxml2 may delete. Delete the C++ wrapper of a deleted attribute node.
  * examples/import_node/example[1|2].xml:
  * examples/import_node/main.cc: Import attributes and a text node which is
  merged with an existing text node. Bug #672992.

2012-04-12  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Define LIBXMLCPP_EXCEPTIONS_ENABLED unconditionally.

  * configure.ac: Add AC_DEFINE([LIBXMLCPP_EXCEPTIONS_ENABLED],[1],...

2012-03-30  Murray Cumming  <murrayc@murrayc.com>

  Node: Check for a null pointer, to fix a scan-build warning.

  * libxml++/nodes/node.cc: This seems unlikely.

2012-03-22  Murray Cumming  <murrayc@murrayc.com>

  2.35.2

2012-03-21  Murray Cumming  <murrayc@murrayc.com>

  Fix a warning found by clang++

  	* libxml++/parsers/textreader.h: PropertyReader is a class, not
  	a struct.

2012-03-20  Murray Cumming  <murrayc@murrayc.com>

  Remove the --disable-api-exceptions configure option.

  And remove the #ifdefs and #else blocks from the code.
  This is not used by anybody now, as far as I know, so this makes the
  code easier to maintain.

2012-03-20  Murray Cumming  <murrayc@murrayc.com>

  A fix for the previous commit.

  	* libxml++/nodes/node.cc: get_first_child() const: Use the name
  	parameter.

2012-03-19  Murray Cumming  <murrayc@murrayc.com>

  Node: Add get_first_child().

  * libxml++/nodes/node.[h|cc]: This is like get_children(),
  but it returns only the first node, optionally returning
  the first one with a certain name.
  Based on a patch by Ilya Murav'jov in bug #648125 .

2012-02-16  Murray Cumming  <murrayc@murrayc.com>

  2.35.1

2012-02-15  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Handle attributes with default values correctly.

  * libxml++/attributedeclaration.[h|cc]:
  * libxml++/attributenode.[h|cc]: New files.
  * Makefile.am:
  * libxml++/Makefile.am: Add the new files.
  * libxml++/libxml++.h: Add the new .h files.
  * docs/manual/libxml++_without_code.xml: Add AttributeDeclaration and
  AttributeNode in the list of node classes.
  * libxml++/attribute.[h|cc]: Make get_value() useful also for default values
  (XML_ATTRIBUTE_DECL). Fix set_value() for attributes in a namespace.
  * libxml++/nodes/element.[h|cc]: get_attribute(): Add description. Don't use
  xmlHasProp(), it ignores namespace.
  * libxml++/nodes/node.cc: get_namespace_prefix(), get_namespace_uri(),
  set_namespace(), create_wrapper(): Add code for XML_ATTRIBUTE_DECL.
  * examples/dom_parser/example.dtd: Add attribute 'title' with default value.
  * examples/dom_parser/example.xml: Add attribute 'title' with explicit value.
  Bug #669635.

2012-02-15  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Node: Correct mis-spelt LIBXMLCPP_EXCEPTIONS_ENABLED.

  * libxml++/nodes/node.h: Add some "@throws exception".
  * libxml++/nodes/node.cc: Change LIBXMLCPP_EXCEPTIONS_ENABLE to
  LIBXMLCPP_EXCEPTIONS_ENABLED in find_impl() and set_namespace().

2012-02-15  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Improved handling of entity references and processing instructions.

  * libxml++/nodes/entitydeclaration.[h|cc]: New files.
  * Makefile.am:
  * libxml++/Makefile.am: Add the new files.
  * libxml++/libxml++.h: Add the new .h file.
  * docs/manual/libxml++_without_code.xml: Add EntityDeclaration in the list
  of node classes.
  * libxml++/document.[h|cc]: Add add_processing_instruction().
  * libxml++/nodes/element.[h|cc]: Add add_child_entity_reference() and
  add_child_processing_instruction().
  * libxml++/nodes/entityreference.h: Improve the description of
  get_resolved_text() and get_original_text().
  * libxml++/nodes/node.cc: get_namespace_prefix() and get_namespace_uri():
  XML_ENTITY_DECL has no namespace. Don't try to find it.
  create_wrapper(): Create an EntityDeclaration when type == XML_ENTITY_DECL.
  free_wrappers(): Don't walk the child list when type == XML_ENTITY_REF_NODE.
  * examples/dom_build/main.cc: Add entity declarations and references, and
  processing instructions to the built xml file.
  * examples/dom_parse_entities/example.dtd: Make it compatible with example.xml.
  * examples/dom_parse_entities/example.xml: Add an entity definition that
  contains entity references.
  * examples/dom_parse_entities/main.cc: Print the parsed file both with and
  without entity substitution.
  * examples/dom_parser/example.dtd: Make it compatible with example.xml.
  * examples/dom_parser/main.cc: Add command flag -E (Don't substitute entities).
  Bug #669481

2012-02-15  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Add some files to .gitignore.

  * .gitignore: Add docs files that are copied from mm-common.
  Add /MSVC_Net2010/libxml++/libxml++.rc and
  /examples/dom_read_write/example_output.xml.

2012-02-15  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Add @newin{2,36} to some new functions where it's missing.

  * libxml++/exceptions/exception.h: Add @newin{2,36} to format_xml_error() and
  format_xml_parser_error().
  * libxml++/parsers/parser.h: Add @newin{2,36} to [set|get]_throw_messages().
  Bug #304020.

2012-02-10  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Make the schema validation example program work with no arguments.

  * examples/schemavalidation/main.cc: Correct the test for number of arguments.

2012-01-30  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

  Parser: Throw more detailed error messages.

  * examples/dom_parser/main.cc: Add command parameters -v -e -t.
  * libxml++/exceptions/exception.[h|cc]: Add format_xml_error() and
  format_xml_parser_error().
  * libxml++/parsers/domparser.cc: Call format_xml_error() and
  format_xml_parser_error() to get more detailed messages in exceptions.
  * libxml++/parsers/parser.[h|cc]: Add [set|get]_throw_messages() and (local in
  .cc until ABI can be broken) on_parser_[error|warning](). Bug #304020.

2012-01-30  Murray Cumming  <murrayc@murrayc.com>

  Document: Make the Document(xmlDoc*) constructor protected.

  * libxml++/document.h: This was requested in bug #668980 (A. Pignotti).

2011-09-09  Murray Cumming  <murrayc@murrayc.com>

  Document: write_to_*(): Make sure that we write UTF-8 out.

  	* libxml++/document.cc: Because the xmlDocDump*() functions use some other
  	encoding if you specify NULL, causing errors such as:
  	xmlEscapeEntities : char out of range

2011-09-06  Murray Cumming  <murrayc@murrayc.com>

  2.34.2

2011-09-06  Mathias Lorente  <mathias.lorente@free.fr>

  Node::create_new_child_node(): Use the default namespace if none is specified.

  * libxml++/nodes/node.cc: This is better than just ignoring it.
  Bug #656110

2011-07-20  Murray Cumming  <murrayc@murrayc.com>

  ContentNode::get_content(): Fix a documentation typo.

  * libxml++/nodes/contentnode.h: Mention &gt; instead of &qt (a q
  instead of a g, and no ;.).

2011-07-20  Mathias Lorente  <mathias.lorente@free.fr>

  Add Element::add_child_cdata().

  	* libxml++/nodes/element.[h|cc]: Add add_child_cdata(), using
  	xmlNewCDataBlock(), like the existing add_child_text().
  	* examples/sax_parser_build_dom/example.xml:
  	* examples/sax_parser_build_dom/svgparser.[h|cc]: Use the new API.

2011-04-18  Murray Cumming  <murrayc@murrayc.com>

  2.34.1

2011-04-17  Murray Cumming  <murrayc@murrayc.com>

  Fix distcheck.

  	* Makefile.am: Specify the full path to docbook-customisation.xsl,
  	which is apparently necessary with the autotools that I have here.

2011-04-17  Murray Cumming  <murrayc@murrayc.com>

  Fix the build with --enable-warnings=fatal.

  * configure.ac: Use -no-long-long to avoid an (apparently new) compiler
  warning about long long not being supported by C++98. glibmm already had
  this option.

2011-04-17  Murray Cumming  <murrayc@murrayc.com>

  Do not require mm-common during the tarball build.

  * configure.ac: Add a MM_CONFIG_DOCTOOL_DIR() call.

2011-04-15  Murray Cumming  <murrayc@murrayc.com>

  Really correct NEWS

2011-04-15  Murray Cumming  <murrayc@murrayc.com>

  Correct NEWS

2011-04-15  Murray Cumming  <murrayc@murrayc.com>

  2.34.0

2011-02-24  Murray Cumming  <murrayc@murrayc.com>

  Fix the build with the changed linker behaviour on Ubuntu Natty.

  * Makefile.am: Link the examples to glibmm explicitly.

2011-02-11  Murray Cumming  <murrayc@murrayc.com>

  2.33.2

2011-02-11  Murray Cumming  <murrayc@murrayc.com>

  Node::remove_child(): Fix a use of deleted memory

  * libxml++/nodes/node.cc:
  Use a temporary variable to avoid accessing the node C++ instance after we
  have deleted it. Valgrind foudn this.
  Also remove the comment about the libxml deleting our C++ instance via a
  callback, because we don't do that anymore.

2010-11-26  Murray Cumming  <murrayc@murrayc.com>

  Check some libxml function return values.

  	* libxml++/document.cc: do_write_to_stream():
  	* libxml++/schema.cc: set_document(): Check the results from
  	xmlSchemaNewDocParserCtxt() and xmlSaveFormatFileTo().
  	Bug #635846 (Markus Elfring).

2010-11-22  Murray Cumming  <murrayc@murrayc.com>

  Fix NEWS: 2.33.1 is _not_ stable.

2010-11-18  Murray Cumming  <murrayc@murrayc.com>

  2.33.1

2010-11-14  Murray Cumming  <murrayc@murrayc.com>

  free_wrappers(): Fix crash.

  * libxml++/nodes/node.cc: free_wrappers(): Revert my change to check
  xmlNode::properties for all types, because the layout of some structs
  is apparently completely different (not really deriving fully), and this
  caused a crash in examples/sax_parser/.
  Added an explanatory comment.

2010-11-14  Murray Cumming  <murrayc@murrayc.com>

  Change the --enable-examples default to yes.

  * configure.ac: Build the examples by default, so we at least check the
  build more often. Disabling them is only useful for package building,
  which is the less common case.

2010-11-14  Murray Cumming  <murrayc@murrayc.com>

  Moved create_wrapper() and free_wrappers() to Node.

  * libxml++/document.[h|cc]:
  * libxml++/nodes/node.[h|cc]: Moved create_wrapper() and free_wrappers()
  to here from Document.
  free_wrappers(): Never return inside the switch/case, so we check
  xmlNode::properties for all struct types, and to avoid making the behaviour
  non-obvious.
  * libxml++/parsers/textreader.cc:
  * libxml++/validators/dtdvalidator.cc:
  * libxml++/nodes/element.cc: Adapted.

2010-11-14  Alessandro Pignotti  <a.pignotti@sssup.it>

  Make libxml++ compatible with libxml2 usage

2010-11-08  Murray Cumming  <murrayc@murrayc.com>

  Do not call xmlCleanupParser() because it is brutal.

  * libxml++/document.cc: ~Init(): Do not call xmlCleanupParser() because it
  breaks libxml generally and should only be called by an application
  explicitly before it ends, for instance at the end of its main().

2010-10-19  Murray Cumming  <murrayc@murrayc.com>

  Added another TODO for when we can break ABI

2010-10-19  Murray Cumming  <murrayc@murrayc.com>

  Added a TODO for when we can break ABI

2010-10-19  Knut Aksel Røysland  <knutroy@ifi.uio.no>

  Node::get_parent(): Removed code duplication.

  * libxml++/nodes/node.cc: get_parent() const: Use const_cast<> to call
    the non-const version, instead of duplicating the code.

2010-10-14  Murray Cumming  <murrayc@murrayc.com>

  2.32.0

2010-10-14  Murray Cumming  <murrayc@murrayc.com>

  website: Change the mailing list location, because I moved it.

  * docs/index.html: The mailing list is now at gnome.org.

2010-10-03  Armin Burgmeier  <armin@arbur.net>

  Add support for MSVC 2010 and 64 bit to MSVC project files

  2010-10-03  Armin Burgmeier  <armin@arbur.net>
  
  	* MSVC_Net2005/README:
  	* MSVC_Net2005/examples/dom_build/dom_build.vcproj:
  	* MSVC_Net2005/examples/dom_parse_entities/dom_parse_entities.vcproj:
  	* MSVC_Net2005/examples/dom_parser/dom_parser.vcproj:
  	* MSVC_Net2005/examples/dom_parser_raw/dom_parser_raw.vcproj:
  	* MSVC_Net2005/examples/dom_read_write/dom_read_write.vcproj:
  	* MSVC_Net2005/examples/dom_xpath/dom_xpath.vcproj:
  	* MSVC_Net2005/examples/dtdvalidation/dtdvalidation.vcproj:
  	* MSVC_Net2005/examples/import_node/import_node.vcproj:
  	* MSVC_Net2005/examples/sax_exception/sax_exception.vcproj:
  	* MSVC_Net2005/examples/sax_parser/sax_parser.vcproj:
  	* MSVC_Net2005/examples/sax_parser_build_dom/sax_parser_build_dom.vcproj:
  	* MSVC_Net2005/examples/sax_parser_entities/sax_parser_entities.vcproj:
  	* MSVC_Net2005/examples/schemavalidation/schemavalidation.vcproj:
  	* MSVC_Net2005/examples/textreader/textreader.vcproj:
  	* MSVC_Net2005/gendef/gendef.vcproj:
  	* MSVC_Net2005/libxml++.sln:
  	* MSVC_Net2005/libxml++/libxml++.vcproj:
  	* MSVC_Net2008/README:
  	* MSVC_Net2008/examples/dom_build/dom_build.vcproj:
  	* MSVC_Net2008/examples/dom_parse_entities/dom_parse_entities.vcproj:
  	* MSVC_Net2008/examples/dom_parser/dom_parser.vcproj:
  	* MSVC_Net2008/examples/dom_parser_raw/dom_parser_raw.vcproj:
  	* MSVC_Net2008/examples/dom_read_write/dom_read_write.vcproj:
  	* MSVC_Net2008/examples/dom_xpath/dom_xpath.vcproj:
  	* MSVC_Net2008/examples/dtdvalidation/dtdvalidation.vcproj:
  	* MSVC_Net2008/examples/import_node/import_node.vcproj:
  	* MSVC_Net2008/examples/sax_exception/sax_exception.vcproj:
  	* MSVC_Net2008/examples/sax_parser/sax_parser.vcproj:
  	* MSVC_Net2008/examples/sax_parser_build_dom/sax_parser_build_dom.vcproj:
  	* MSVC_Net2008/examples/sax_parser_entities/sax_parser_entities.vcproj:
  	* MSVC_Net2008/examples/schemavalidation/schemavalidation.vcproj:
  	* MSVC_Net2008/examples/textreader/textreader.vcproj:
  	* MSVC_Net2008/gendef/gendef.vcproj:
  	* MSVC_Net2008/libxml++.sln:
  	* MSVC_Net2008/libxml++/libxml++.vcproj:
  	* MSVC_Net2010/README:
  	* MSVC_Net2010/examples/dom_build/dom_build.vcxproj:
  	* MSVC_Net2010/examples/dom_build/dom_build.vcxproj.filters:
  	* MSVC_Net2010/examples/dom_parse_entities/dom_parse_entities.vcxproj:
  	* MSVC_Net2010/examples/dom_parse_entities/dom_parse_entities.vcxproj.filters:
  	* MSVC_Net2010/examples/dom_parser/dom_parser.vcxproj:
  	* MSVC_Net2010/examples/dom_parser/dom_parser.vcxproj.filters:
  	* MSVC_Net2010/examples/dom_parser_raw/dom_parser_raw.vcxproj:
  	* MSVC_Net2010/examples/dom_parser_raw/dom_parser_raw.vcxproj.filters:
  	* MSVC_Net2010/examples/dom_read_write/dom_read_write.vcxproj:
  	* MSVC_Net2010/examples/dom_read_write/dom_read_write.vcxproj.filters:
  	* MSVC_Net2010/examples/dom_xpath/dom_xpath.vcxproj:

2010-06-13  Murray Cumming  <murrayc@murrayc.com>

  Node::find(): Check xmlNode::type for a XML_NAMESPACE_DECL.

  * libxml++/nodes/node.cc: find_impl(): if the xmlNode has type
  XML_NAMESPACE_DECL then it is actually a xmlNs, which is not like a xmlNode
  at all (thanks to the awful undocumented libxml++ system of struct
  inheritance).
  So we just igore these items. We need to decide what the caller really
  expects.

2010-06-13  Murray Cumming  <murrayc@murrayc.com>

  Node::find(): Revert some of my previous change because it breaks some code.

  * libxml++/nodes/node.cc: find_impl(): Restore the previous behaviour,
  because the strange use of _private only seems to happen sometimes.

2010-06-13  Murray Cumming  <murrayc@murrayc.com>

  Node::find(): Cope with weird use of _private in xmlNodeSet.

  * libxml++/nodes/node.cc: The xmlNodeSet seems to contain extra xmlNodes that
  were never given to on_libxml_construct(). Those xmlNodes seem to abuse
  private_, where we find our real xmlNodes containing our C++ Nodes.
  This fixes bug #386013 (Max Kirillov) though it depends on undocumented
  libxml behaviour.

2010-06-13  Murray Cumming  <murrayc@murrayc.com>

  Node::find(): Use libxml functions instead of direct C access.

  * libxml++/nodes/node.cc: Use xmlXPathNodeSetIsEmpty(),
  xmlXPathNodeSetGetLength() and xmlXPathNodeSetItem() instead of direct
  xmlNodeSet struct access.

2010-06-13  Murray Cumming  <murrayc@murrayc.com>

  Manual: Use git.gnome.org as the link to the examples source code.

  * docs/manual/libxml++_without_code.xml: Use git.gnome.org for the examples
  url base, as we do in gtkmm-documentation.

2010-06-13  Murray Cumming  <murrayc@murrayc.com>

  Restore the mm-common make target and update a link.

  * Makefile.am: Restore (and update) the post-html target that was lost when
  we redid the build system for mm-common.
  * docs/index.html: Change the link to the manual to point to its new location
  at library.gnome.org.

2010-05-04  Murray Cumming  <murrayc@murrayc.com>

  2.30.1

2010-05-04  Murray Cumming  <murrayc@murrayc.com>

  Documentation: Don't hide undocumented API.

  * docs/reference/Doxyfile.in: Use the same options as gtkmm (mostly).
      In particular, don't hide undocumented API, such as NodeSet, to fix
      bug #583412 (Hubert Figuiere).

2010-05-04  Murray Cumming  <murrayc@murrayc.com>

  Documentation: Improvements.

  * libxml++/libxml++.h: Expand the main page text, linking to the tutorial
      and to important classes.
  * libxml++/parsers/domparser.h:
  * libxml++/schema.h: Correct the class descriptions.
  * libxml++/parsers/textreader.h: Add a class description.
  * libxml++/nodes/element.h:
  * libxml++/nodes/node.h:
  * libxml++/parsers/saxparser.h:
  * libxml++/validators/schemavalidator.h:
      Correct @newin2p2* to @newin{2,*} now that we use mm-common.

2010-04-27  David King  <davidk@openismus.com>

  Further documentation main page improvements

  * libxml++/libxml++.h: Some minor improvements.

2010-04-23  David King  <davidk@openismus.com>

  Fix typo in main page documentation

2010-04-23  David King  <davidk@openismus.com>

  Documentation main page improvements

  * libxml++/libxml++.h: Add external links and compilation example.

2010-04-18  Olav Vitters  <olav@vitters.nl>

  Fix doap file

2010-04-16  David King  <davidk@openismus.com>

  Minor documentation update

  * docs/index.html: Link to latest gnome.org resources.
  * libxml++/libxml++.h: Add minimal documentation for main page.

2010-04-06  Murray Cumming  <murrayc@murrayc.com>

  .pc file: Add datarootdir.

  	* libxml++-2.6.pc.in: Add datarootdir and datadir, as in the gtkmm .pc.in
      file, because I started seeing this warning when running autogen.sh in Glom:
      Variable 'datarootdir' not defined in '/opt/gnome228/lib/pkgconfig/libxml++-2.6.pc'

2010-04-03  Armin Burgmeier  <armin@arbur.net>

  Add dom_parser_raw to MSVC solution files

  2010-04-03  Armin Burgmeier  <armin@arbur.net>
  
  	* MSVC_Net2005/libxml++.sln:
  	* MSVC_Net2008/libxml++.sln: Add dom_parser_raw project to the
  	solution files.

2010-03-30  Murray Cumming  <murrayc@murrayc.com>

  Stop exceptions when using std::cout and UTF-8.

  * examples/*/main.cc: Initialize the global C and C++ locale to prevent
      exceptions when ouputing a ustring (with non-ASCII UTF-8) to std::cout.
      We don't see this problem when writing gtkmm apps because gtk_init() (via
      Gtk::Main) initializes the C locale correctly.
  
      Thanks to Daniel Elstner for the solution (he will document it properly
      in the Glib::ustring API reference) and to Nic Reveles and others for
      noticing the problem.

2010-03-30  David King  <davidk@openismus.com>

  Update pkg-config file

  * libxml++-2.6.pc.in: Add documentation locations to pkg-config file.
  Update other fields to use variables, rather than hardcoded values.

2010-03-30  David King  <davidk@openismus.com>

  Release 2.30.0

2010-03-30  David King  <davidk@openismus.com>

  Disable AM_MAINTAINER_MODE by default

  * configure.ac: Pass the disable parameter to AM_MAINTAINER_MODE so
  that tarball users do not need doxygen, mm-common, etc. if they modify
  files. Maintainer mode is still enabled if running autogen.sh.

2010-03-29  David King  <davidk@openismus.com>

  Move a target outside a conditional block to fix the build

  * Makefile.am: Move docs/manual/libxml++.xml target outside the
  ENABLE_DOCUMENTATION conditional block.

2010-03-29  David King  <amigadave@amigadave.com>

  Use mm-common for reference documentation generation

  * .gitignore: Update.
  
  * Makefile.am: Remove SUBDIRS. Make examples build and documentation
  build conditional. Build reference documentation with doc-reference.am
  from mm-common. Add docs/manual/libxml++.pdf target, but do not enable
  it by default. Add autogen.sh and docs/manual/insert_example_code.pl to
  dist_noinst_SCRIPTS. Add docs/manual/html/*.html to
  MAINTAINERCLEANFILES.
  
  * autogen.sh: Add --enable-maintainer-mode to arguments passed to
  configure.
  
  * configure.ac: Add AM_MAINTAINER_MODE. Add a configure argument to
  enable the build of the examples. Use mm-common macros to add a
  configure argument to enable documentation, and use the glibmm
  tagfile. Check for xmllint and db2latex for DTD validation of the
  DocBook manual and building the PDF documentation, repectively. Remove
  the last non-toplevel Makefiles from AC_CONFIG_FILES.
  
  * docs/Makefile.am:
  * docs/Makefile_web.am_fragment:
  * docs/manual/Makefile.am:
  * docs/reference/Makefile.am: Remove from repository, and move content
  to Makefile.am.
  
  * docs/manual/docbook-customisation.xsl: Add DocBook customisation
  parameters.
  
  * docs/manual/libxml++_without_code.xml: Make validate.
  
  * docs/reference/Doxyfile.in: Update from mm-common.
  
  * docs/reference/README: Remove empty file.
  
  * examples/README: Mention the --enable-examples configure argument.

2010-03-27  David King  <amigadave@amigadave.com>

  Fix several compiler warnings

  * examples/dom_build/main.cc:
  * examples/dtdvalidation/main.cc:
  * examples/import_node/main.cc:
  * examples/sax_exception/main.cc:
  * examples/sax_exception/my_parser.cc:
  * examples/sax_parser/main.cc:
  * examples/sax_parser/my_parser.cc:
  * examples/sax_parser_build_dom/svgparser.cc:
  * examples/sax_parser_entities/myparser.cc:
  * examples/textreader/main.cc:
  * libxml++/parsers/textreader.cc: Comment out unused parameters and
  variables.
  
  * libxml++/parsers/saxparser.cc: Fill in missing fields of
  xmlSAXHandler struct.

2010-03-27  David King  <davidk@openismus.com>

  Refactor build system

  * Makefile.am: Merge from subdir Makefile.am files, excluding doc.
  
  * MSVC_Net2005/examples/dom_parser_raw/dom_parser_raw.vcproj:
  * MSVC_Net2008/examples/dom_parser_raw/dom_parser_raw.vcproj: Add
  missing Visual studio project files.
  
  * MSVC_Net2005/examples/*/Makefile.am:
  * MSVC_Net2005/examples/Makefile.am:
  * MSVC_Net2005/gendef/Makefile.am:
  * MSVC_Net2005/libxml++/Makefile.am:
  * MSVC_Net2008/examples/*/Makefile.am:
  * MSVC_Net2008/examples/Makefile.am:
  * MSVC_Net2008/gendef/Makefile.am:
  * MSVC_Net2008/libxml++/Makefile.am: Remove from repository, and move
  content to Makefile.am, making the MSVC project file build
  non-recursive.
  
  * README: Update.
  
  * autogen.sh: Copy from gtkmm.
  
  * configure.in: Move to configure.ac.
  
  * configure.ac: Require autoconf 2.59 and automake 1.9. Use new-style
  AC_INIT() with bug-report link and homepage URL. Use mm-common for
  initialisation of version variables. Require libtool 2.2.6 for much
  faster builds. Use MM_ARG_ENABLE_WARNINGS to configure compiler
  warning flags. Use MM_CHECK_PERL to check for the required Perl
  version. Use AC_CONFIG_FILES rather than AC_OUTPUT. Update for
  Makefile.am changes.
  
  * config.h.in: Remove from repository, as autoheader is now used.
  
  * */.cvsignore: Remove old files.
  
  * doc/manual/Makefile.am: Use the correct Perl.
  
  * doc/reference/Doxyfile.in:
  * MSVC_Net2005/libxml++/libxml++.rc.in:
  * MSVC_Net2008/libxml++/libxml++.rc.in: Use new-style variable names.
  
  * examples/Makefile.am_fragment:
  * examples/Makefile.am:
  * examples/*/Makefile.am: Remove from repository, and move content to
  Makefile.am, making the examples build non-recursive.
  
  * .gitignore: Update.
  
  * libxml++/Makefile.am:
  * libxml++/*/Makefile.am: Remove from repository, and move content to
  Makefile.am, making the libxml++ build non-recursive.
  
  * libxml++.spec.in:
  * INSTALL: Remove from repository.
  
  * scripts/README:
  * scripts/Makfile.am: Remove from repository.
  
  * scripts/reduced.m4: Move to macros/reduced.m4

2010-03-08  Murray Cumming  <murrayc@murrayc.com>

  Use 0 instead of NULL.

  * MSVC_Net2005/gendef/gendef.cc:
  * MSVC_Net2008/gendef/gendef.cc:
  * libxml++/attribute.cc:
  * libxml++/document.cc:
  * libxml++/io/outputbuffer.cc:
  * libxml++/io/parserinputbuffer.cc:
  * libxml++/nodes/node.cc:
  * libxml++/parsers/domparser.cc:
  * libxml++/parsers/parser.cc:
  * libxml++/parsers/textreader.cc:
  * libxml++/schema.cc:
  * libxml++/schema.h: Do not use NULL. It is unwise in C++.

2009-11-17  Murray Cumming  <murrayc@murrayc.com>

  Fix typos.

2009-07-27  Johannes Schmid  <jhs@gnome.org>

  Fixed various bits to allow building with disabled exceptions

2009-07-27  Johannes Schmid  <jhs@gnome.org>

  New tarball release

2009-06-24  Daniel Elstner  <danielk@openismus.com>

  Add DOAP category and fix mbox resource

2009-05-07  Murray Cumming  <murrayc@murrayc.com>

  Fix the build without exceptions, hopefully.

  * libxml++/parsers/textreader.cc: check_for_exceptions():
  Add an ifdef so that this should build with exceptions disabled,
  though there is no alternative API yet. Noticed by David King.

2009-05-07  Murray Cumming  <murrayc@murrayc.com>

  Whitespace corrections.

2009-04-22  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>

  add doap file

2009-04-21  Hubert Figuiere  <hub@figuiere.net>

  add .doap and .gitignore

2009-03-25  Hubert Figuiere  <hub@src.gnome.org>

  add missingf bug# to the changelog

  svn path=/trunk/; revision=200

2009-03-25  Hubert Figuiere  <hub@src.gnome.org>

  Fix some warnings triggered by -Wshadow.

  	* libxml++/parsers/saxparser.h: Fix some warnings triggered
  	by -Wshadow.
  
  
  svn path=/trunk/; revision=199

2009-03-25  Hubert Figuiere  <hub@src.gnome.org>

  severity_ was not initialised at construction time.

  	* libxml++/parsers/textreader.cc: severity_ was not initialised
  	at construction time.
  
  svn path=/trunk/; revision=198

2009-03-16  Murray Cumming  <murrayc@src.gnome.org>

  Increased version

  svn path=/trunk/; revision=197

