Skip to content

Releases: jameslan/libxml2-wasm

v0.6.0

09 Aug 21:30

Choose a tag to compare

What's Changed

Enhancements

  • Upgraded to libxml2 2.14.5 and marked the RelaxNG feature as deprecated due to its uncertain future in libxml2.
  • Added DTD support.
  • Added EntityReference support.
  • Support for validating a DOM subtree using an XSD schema.
  • Support for serializing a subtree from an XmlElement.
  • Added more options to control formatting when saving a document or element.
  • Ability to evaluate XPath expressions to boolean, number, or string on a document or a node.

Breaking Changes

  • XML parsing will no longer process XInclude by default.
    To enable it, either:
    • Set the XML_PARSE_XINCLUDE option, or
    • Call the processXInclude method explicitly.

Bug Fixes

  • Allow non-ASCII file names as the entry script.

New Contributors

Full Changelog: v0.5.0...v0.6.0

v0.5.0

03 Jan 04:16

Choose a tag to compare

New Features

  • The DOM is now modifiable.
  • You can serialize the XmlDocument to a buffer, file, or string.

Bug Fixes

  • An initialization issue that required parsing to be the first method call (#51) has been resolved.

Breaking Changes

  • The constructor of XmlXPath has been changed to an internal method. Instead, use XmlXPath.compile to create an instance.
  • The XmlNode.parent property now returns an XmlElement instead of an XmlNode.
  • Several methods have been removed from the XmlNode subclasses. For example, prev and next are no longer methods of XmlAttribute, and firstChild and lastChild are only available for XmlElement.

Full Changelog: https://github.com/jameslan/libxml2-wasm/compare/v0.4.1…v0.5.0

v0.4.1

03 Jan 04:18

Choose a tag to compare

What's Changed

  • Hide internal decorator disposeBy, to allow client to use typescript 4 by @jameslan in #48
  • Maint: configure homepage in package.json by @jameslan

Full Changelog: v0.4.0...v0.4.1

v0.4.0

16 Sep 00:51

Choose a tag to compare

Features

  • Memory Diagnostics - track the allocation of XmlDisposable
  • Multiple errors in one XmlParseError or XmlValidateError
  • XInclude 1.0 and XSD include/import support

Bugfix

  • Error importing with relative paths
  • Error importing libxml2raw.js when type is set to module in package.json in #38

Merged Pull Requests

  • Move build cmds to package.json and remove dependency to gulp by @jameslan in #14
  • Make default tsconfig for unit test, so that IDE could analyze test code easier. tsconfig for production becomes tsconfig.prod.json by @jameslan in #15
  • Memory Diagnotics feature: track the allocation of XmlDisposable by @jameslan in #16
  • Bump dep versions by @jameslan in #17
  • fix: use the file suffix when importing with relative paths by @fennibay in #18
  • Add caller information to memory diagnostic report, to help addressing the code of memory leaking by @jameslan in #22
  • Move memeory diagnostics code into new module by @jameslan in #23
  • Bump libxml2 to v2.13.1 by @jameslan in #24
  • XmlParseError now supports multiple parsing errors, as well as detailed information of the error, such as line, column etc by @jameslan in #25
  • XmlValidateError supports multiple errors by @jameslan in #26
  • Renaming diagnostics functions by @jameslan in #27
  • Maint: Add Windows and NodeJs 22 to compatibility test by @jameslan in #30
  • introduce devcontainers by @fennibay in #29
  • Use TypeDoc 0.26 to generate the doc site, remove usage of Jekyll by @jameslan in #32
  • Build doc site into gh-pages branch by @jameslan in #33
  • Maint: report the coverage in PullRequest's comment by @jameslan in #34
  • Add information of Diagnostic tool in memory management doc by @jameslan in #37
  • fix: include statements in XSDs are not handled properly by @fennibay in #21
  • Support XInclude by @jameslan in #39
  • Add file name in the error detail by @jameslan in #40
  • Bugfix: xmlRegisterInputProvider handles the returned value from js callback according to libxml2's document by @jameslan in #41
  • Add helper module: nodejs, provide default callbacks using fs module to access local files by @jameslan in #42
  • Revise XmlInputProvider and xmlRegisterInputProvider by @jameslan in #43
  • Rename libxml2raw.js to libxml2raw.cjs so that it won't be wrongly treated as ESM by @jameslan in #44
  • Maint: bump version with -dev suffix in master branch, to be distinguishable with published version by @jameslan in #45
  • Add test case of handling big including file(>4k, multiple read calls) by @jameslan in #46

New Contributors

Full Changelog: v0.3.0...v0.4.0

v0.3.1

18 Jun 04:29
9f0afa3

Choose a tag to compare

What's Changed

  • fix: use the file suffix when importing with relative paths by @fennibay in #18

New Contributors

v0.3.0

05 Mar 07:31

Choose a tag to compare

libxml2-wasm v0.3.0 release has the following changes,

  • New classes XsdValidator and RelaxNGValidator to validate XML with XSD schema and RelaxNG RNG schema.
  • Implemented @@dispose method to support using syntax in typescript or javascript.
  • Automatically release wasm object if its corresponding javascript wrapper is garbage collected - but don't rely on it - it could be too late.

v0.2.0

27 Dec 04:39

Choose a tag to compare

libxml2-wasm v0.2.0 has the following changes,

  • Bump libxml2 version to 2.12.3
  • Add XmlXPath class which will be compiled once and could be used multiple times, even with multiple XmlDocuments.
  • Breaking method changes,
    • parseXmlString becomes XmlDocument.fromString
    • parseXmlBuffer becomes XmlDocument.fromBuffer
    • new XmlDocument() becomes XmlDocument.create

v0.1.0

06 Nov 03:56

Choose a tag to compare

Release with parsing functionalities available:

  • String API parseXmlString and Buffer API parseXmlBuffer
  • namespace support
  • xpath support
  • functions to walkthrough XML DOM

v0.0.6

15 Oct 22:33

Choose a tag to compare

More efficient API by parsing a buffer

v0.0.5

12 Oct 08:06

Choose a tag to compare

Meaningful error message