Skip to content

Releases: libxmlplusplus/libxmlplusplus

5.6.0

28 Oct 12:27

Choose a tag to compare

5.6.0 (stable) 2025-10-28

This release and future releases will not store tarballs at
download.gnome.org/sources/. Only modules with source code at
gitlab.gnome.org/GNOME/ can store tarballs there now.
Tarballs of libxmlplusplus are now stored only at
github.com/libxmlplusplus/libxmlplusplus/releases/.

  • TextReader::get_xml_lang(): Fix memory leak
  • TextReader: Use xmlTextReaderSetStructuredErrorHandler()
    instead of xmlTextReaderSetErrorHandler()
    (Kjell Ahlstedt)
  • TextReader: Use callback functions with C linkage.
    This callback was overlooked in 5.2.0.
    (Kjell Ahlstedt) Issue glibmm#1 (Murray Cumming)
  • TextReader: Consider that the typedef xmlStructuredErrorFunc()
    changed in libxml2 2.12.0
    (Kjell Ahlstedt)
  • Add methods that return std::optionalxmlpp::ustring:
    TextReader: Add read_inner_xml2(), read_outer_xml2(), read_string2(),
    get_base_uri2(), get_local_name2(), get_name2(), get_namespace_uri2(),
    get_prefix2(), get_value2(), get_xml_lang2(),
    get_attribute2() (3 overloaded ones), lookup_namespace2().
    Attribute: Add get_value2()
    AttributeDeclaration: Add get_value2()
    AttributeNode: Add get_value2()
    Document: Add get_encoding2()
    Dtd: Add get_external_id2(), get_name2(), get_system_id2()
    ContentNode: Add get_content2()
    Element: Add get_attribute_value2()
    EntityDeclaration: Add get_original_text2(), get_resolved_text2()
    EntityReference: Add get_original_text2(), get_resolved_text2()
    Node: Add get_name2(), get_namespace_prefix2(), get_namespace_uri2(),
    get_path2()
    Deprecate the corresponding methods that return xmlpp::ustring.
    (Kjell Ahlstedt) Issue #71 (David Bears)
  • TextReader: Fix naming clash with macOS macro
    (Ruoyu Zhong) Pull request #74

Documentation:

  • Remove obsolete FSF (Free Software Foundation) address
    (Tom spot Callaway) Pull request #72
  • Describe download locations in more detail.
    Releases will not be stored at download.gnome.org/sources/.
    (Kjell Ahlstedt)

Examples, Tests:

  • Use the new methods that return std::optionalxmlpp::ustring
    (Kjell Ahlstedt)

Meson build:

  • Use the Python installation that Meson uses.
    See merge request glibmm!67
    (Kjell Ahlstedt)

4.4.0

28 Oct 12:24

Choose a tag to compare

4.4.0 (stable) 2025-10-28

This release and future releases will not store tarballs at
download.gnome.org/sources/. Only modules with source code at
gitlab.gnome.org/GNOME/ can store tarballs there now.
Tarballs of libxmlplusplus are now stored only at
github.com/libxmlplusplus/libxmlplusplus/releases/.

  • TextReader::get_xml_lang(): Fix memory leak
  • TextReader: Use xmlTextReaderSetStructuredErrorHandler()
    instead of xmlTextReaderSetErrorHandler()
    (Kjell Ahlstedt)
  • TextReader: Use callback functions with C linkage.
    This callback was overlooked in 4.2.0.
    (Kjell Ahlstedt) Issue glibmm#1 (Murray Cumming)
  • TextReader: Consider that the typedef xmlStructuredErrorFunc()
    changed in libxml2 2.12.0
    (Kjell Ahlstedt)
  • Add methods that return std::optionalGlib::ustring:
    TextReader: Add read_inner_xml2(), read_outer_xml2(), read_string2(),
    get_base_uri2(), get_local_name2(), get_name2(), get_namespace_uri2(),
    get_prefix2(), get_value2(), get_xml_lang2(),
    get_attribute2() (3 overloaded ones), lookup_namespace2().
    Attribute: Add get_value2()
    AttributeDeclaration: Add get_value2()
    AttributeNode: Add get_value2()
    Document: Add get_encoding2()
    Dtd: Add get_external_id2(), get_name2(), get_system_id2()
    ContentNode: Add get_content2()
    Element: Add get_attribute_value2()
    EntityDeclaration: Add get_original_text2(), get_resolved_text2()
    EntityReference: Add get_original_text2(), get_resolved_text2()
    Node: Add get_name2(), get_namespace_prefix2(), get_namespace_uri2(),
    get_path2()
    Deprecate the corresponding methods that return Glib::ustring.
    (Kjell Ahlstedt) Issue #71 (David Bears)
  • TextReader: Fix naming clash with macOS macro
    (Ruoyu Zhong) Pull request #74

Documentation:

  • Remove obsolete FSF (Free Software Foundation) address
    (Tom spot Callaway) Pull request #72
  • README.md: Describe download locations in more detail.
    Releases will not be stored at download.gnome.org/sources/.
    (Kjell Ahlstedt)

Examples, Tests:

  • Use the new methods that return std::optionalGlib::ustring
    (Kjell Ahlstedt)

Meson build:

  • Use the Python installation that Meson uses.
    See merge request glibmm!67
    (Kjell Ahlstedt)
  • Build libxml2 with Meson when libxml2 is built as a subproject.
    (Andrew Potter) Issue #67, Pull request #68

5.4.0

13 Aug 14:41

Choose a tag to compare

5.4.0 (stable):

  • Node: Add eval_xpath().
    (Kjell Ahlstedt) Issue #66 (Marie Preusse)

Meson build:

  • Require meson >= 0.62.
  • Use Meson's pkgconfig module instead of the libxml++.pc.in template.
    (Kjell Ahlstedt)

5.2.1 (stable):

  • Parser: Ignore deprecation of xmlParserCtxt members.
    (Kjell Ahlstedt)

Documentation:

  • Don't link to removed developer-old.gnome.org.
    (Kjell Ahlstedt)

Meson build:

  • Use libxml2 meson build when libxml2 is built as a subproject.
    (Andrew Potter) Issue #67, Pull request #68
  • Require python3 >= 3.7. That's what Meson requires.
    (Kjell Ahlstedt)

4.2.0

13 Aug 14:33

Choose a tag to compare

4.2.0 (stable):

  • Node: Add eval_xpath().
    (Kjell Ahlstedt) Issue #66 (Marie Preusse)
  • Use callback functions with C linkage
    (Kjell Ahlstedt) Issue glibmm#1 (Murray Cumming)
  • Parser: Ignore deprecation of xmlParserCtxt members.
    (Kjell Ahlstedt)

Documentation:

  • Don't link to removed developer-old.gnome.org or removed parts
    of library.gnome.org.
    (Kjell Ahlstedt)

Meson build:

  • Require python3 >= 3.7. That's what Meson requires.
  • Require meson >= 0.62.
  • Use Meson's pkgconfig module instead of the libxml++.pc.in template.
    (Kjell Ahlstedt)

5.2.1

12 Aug 13:36

Choose a tag to compare

5.2.1 (stable):

  • Parser: Ignore deprecation of xmlParserCtxt members.
    (Kjell Ahlstedt)

Documentation:

  • Don't link to removed developer-old.gnome.org.
    (Kjell Ahlstedt)

Meson build:

  • Use libxml2 meson build when libxml2 is built as a subproject.
    (Andrew Potter) Issue #67, Pull request #68
  • Require python3 >= 3.7. That's what Meson requires.
    (Kjell Ahlstedt)

5.2.0

11 Jan 13:49

Choose a tag to compare

5.2.0 (stable):

  • Use callback functions with C linkage
    (Kjell Ahlstedt) Issue glibmm#1 (Murray Cumming)

Documentation:

  • Update Visual Studio build docs
    (Chun-wei Fan) Pull request #52
  • Remove AUTHORS and add general information to README.md
    (Kjell Ahlstedt) Issue gtkmm#140
  • Parser docs: Add a link to parser options
  • README.md: Add info about building the documentation
    (Kjell Ahlstedt)

Meson build:

  • Cleanup and fix libxml2 dep search
    (Chun-wei Fan) Pull request #51
  • Don't fail if warning_level=everything
    (Daniel Boles, Kjell Ahlstedt) Merge request gtkmm!87
  • Add bcrypt dependency when libxml2 is a subproject
    Issue #64 (Kjell Ahlstedt)
    (Andrew Potter) Pull request #65
  • Don't require the 'dot' command to build the documentation
    (Kjell Ahlstedt) Issue libsigcplusplus#98
  • Add the build-manual option
    (Kjell Ahlstedt)

Build:

  • Make it compatible with libxml2 >= 2.12.0
    by modifying #include directives
    (Kjell Ahlstedt)

5.0.4

11 Jan 13:47

Choose a tag to compare

5.0.4 (stable):

Documentation:

  • Update Visual Studio build docs
    (Chun-wei Fan) Pull request #54
  • Parser docs: Add a link to parser options
    (Kjell Ahlstedt)

Meson build:

  • Cleanup and fix libxml2 dep search
    (Chun-wei Fan) Pull request #53
  • Don't fail if warning_level=everything
    (Daniel Boles, Kjell Ahlstedt) Merge request gtkmm!87
  • Add bcrypt dependency when libxml2 is a subproject
    Issue #64 (Kjell Ahlstedt)
    (Andrew Potter) Pull request #65
  • Don't require the 'dot' command to build the documentation
    (Kjell Ahlstedt) Issue libsigcplusplus#98
  • Add the build-manual option
    (Kjell Ahlstedt)

Build:

  • Make it compatible with libxml2 >= 2.12.0
    by modifying #include directives
    (Kjell Ahlstedt)

4.0.3

11 Jan 13:43

Choose a tag to compare

4.0.3 (stable):

Documentation:

  • Update Visual Studio build docs
    (Chun-wei Fan) Pull request #56
  • Parser docs: Add a link to parser options
    (Kjell Ahlstedt)

Meson build:

  • Detect if we build from a git subtree
    (William Roy) Merge request gtkmm!72
  • Don't copy files with configure_file()
    (Kjell Ahlstedt)
  • Fix the evaluation of is_git_build on Windows
    (Kjell Ahlstedt) Issue gtkmm#131 (William Roy)
  • Backport libxml2 CMake support from libxml++-5.0
    (Chun-wei Fan) Pull request #55
  • Don't fail if warning_level=everything
    (Daniel Boles, Kjell Ahlstedt) Merge request gtkmm!87
  • Don't require the 'dot' command to build the documentation
    (Kjell Ahlstedt) Issue libsigcplusplus#98
  • Add the build-manual option
    (Kjell Ahlstedt)
  • Add bcrypt dependency when libxml2 is a subproject
    Issue #64 (Kjell Ahlstedt)
    (Andrew Potter) Pull request #65

Build:

  • Make it compatible with libxml2 >= 2.12.0
    by modifying #include directives
    (Kjell Ahlstedt)

3.2.5

11 Jan 13:39

Choose a tag to compare

3.2.5 (stable):

Documentation:

  • Update Visual Studio build docs
    (Chun-wei Fan) Pull request #58
  • Parser docs: Add a link to parser options
    (Kjell Ahlstedt)

Meson build:

  • Detect if we build from a git subtree
    (William Roy) Merge request gtkmm!72
  • Don't copy files with configure_file()
    (Kjell Ahlstedt)
  • Fix the evaluation of is_git_build on Windows
    (Kjell Ahlstedt) Issue gtkmm#131 (William Roy)
  • Backport libxml2 CMake support from libxml++-5.0
    (Chun-wei Fan) Pull request #57
  • Don't fail if warning_level=everything
    (Daniel Boles, Kjell Ahlstedt) Merge request gtkmm!87
  • Don't require the 'dot' command to build the documentation
    (Kjell Ahlstedt) Issue libsigcplusplus#98
  • Add the build-manual option
    (Kjell Ahlstedt)
  • Add bcrypt dependency when libxml2 is a subproject
    Issue #64 (Kjell Ahlstedt)
    (Andrew Potter) Pull request #65

Build:

  • Make it compatible with libxml2 >= 2.12.0
    by modifying #include directives
    (Kjell Ahlstedt)

2.42.3

11 Jan 13:36

Choose a tag to compare

2.42.3 (stable):

Documentation:

  • Update Visual Studio build docs
    (Chun-wei Fan) Pull request #61
  • Parser docs: Add a link to parser options
    (Kjell Ahlstedt)

Meson build:

  • Detect if we build from a git subtree
    (William Roy) Merge request gtkmm!72
  • Don't copy files with configure_file()
    (Kjell Ahlstedt)
  • Fix the evaluation of is_git_build on Windows
    (Kjell Ahlstedt) Issue gtkmm#131 (William Roy)
  • Backport libxml2 CMake support from libxml++-5.0
    (Chun-wei Fan) Pull request #59
  • Don't fail if warning_level=everything
    (Daniel Boles, Kjell Ahlstedt) Merge request gtkmm!87
  • Don't require the 'dot' command to build the documentation
    (Kjell Ahlstedt) Issue libsigcplusplus#98
  • Add the build-manual option
    (Kjell Ahlstedt)
  • Add bcrypt dependency when libxml2 is a subproject
    Issue #64 (Kjell Ahlstedt)
    (Andrew Potter) Pull request #65

Build:

  • Make it compatible with libxml2 >= 2.12.0
    by modifying #include directives
    (Kjell Ahlstedt)