Releases: jameslan/libxml2-wasm
Releases · jameslan/libxml2-wasm
v0.6.0
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_XINCLUDEoption, or - Call the
processXIncludemethod explicitly.
- Set the
Bug Fixes
- Allow non-ASCII file names as the entry script.
New Contributors
- @MarekBodingerBA – First contribution in #85
- @PaulSearcy – First contribution in #101
Full Changelog: v0.5.0...v0.6.0
v0.5.0
New Features
- The DOM is now modifiable.
- You can serialize the
XmlDocumentto 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
XmlXPathhas been changed to an internal method. Instead, useXmlXPath.compileto create an instance. - The
XmlNode.parentproperty now returns anXmlElementinstead of anXmlNode. - Several methods have been removed from the
XmlNodesubclasses. For example,prevandnextare no longer methods ofXmlAttribute, andfirstChildandlastChildare only available forXmlElement.
Full Changelog: https://github.com/jameslan/libxml2-wasm/compare/v0.4.1…v0.5.0
v0.4.1
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
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
v0.3.0
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
@@disposemethod to supportusingsyntax 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
libxml2-wasm v0.2.0 has the following changes,
- Bump libxml2 version to 2.12.3
- Add
XmlXPathclass which will be compiled once and could be used multiple times, even with multipleXmlDocuments. - Breaking method changes,
parseXmlStringbecomesXmlDocument.fromStringparseXmlBufferbecomesXmlDocument.fromBuffernew XmlDocument()becomesXmlDocument.create
v0.1.0
Release with parsing functionalities available:
- String API
parseXmlStringand Buffer APIparseXmlBuffer - namespace support
- xpath support
- functions to walkthrough XML DOM
v0.0.6
More efficient API by parsing a buffer
v0.0.5
Meaningful error message