w3c-xmlserializer is an XML serializer that follows the W3C specification. It is useful in Node.js for converting a DOM node (for example, from jsdom) into an XML string, with an option to require well-formedness and throw errors for non-well-formed constructs.
Project status
- Maintenance status: Not actively maintained as of today, with the last upstream push on 2023-11-12, about over 2.5 years ago (no evidence of ongoing work since then).
- Update cadence: Releases appear infrequent and irregular (major updates in 2018, 2019, 2020, 2021, 2022, 2023, then no further updates through 2026).
AI summary generated
Recent updates
v5.0.0
Release v5.0.0 primarily raises the Node.js engine requirement to >=18. The code diff also shows a tooling and dependency modernization (npm-based installs, test runner migration, and major dependency bumps) that is not mentioned in the release notes.
Breakingv4.0.0
Release v4.0.0 raises the minimum supported Node.js version to v14 and improves handling of well-formedness requirements so that emoji characters can be serialized when `requireWellFormed` is enabled. The code changes also expand the XML character validation regex to include supplementary Unicode code points, and the project/tooling dependencies are bumped.
BreakingFeaturesv3.0.0
Release 3.0.0 of the XML serializer raises the minimum supported Node.js version to v12 and claims that XML name validation is now correctly enforced when `requireWellFormed` is enabled. The code diff also shows multiple internal serialization/validation implementation changes and several major dependency upgrades that are not called out in the release notes.
Breakingv2.0.0
Release 2.0.0 is a major API overhaul of the package, switching from an XMLSerializer class-based interface to a simpler default-exported serialization function. It introduces an options object form for well-formedness checking and changes the thrown error types to plain Error/TypeError instead of DOMException.
BreakingFeaturesv1.1.2
v1.1.2 addresses a packaging/entry-point regression that caused `require()` of the package to fail. The code changes add a new entry module under `lib/` and update `package.json` so consumers load it correctly.
v1.1.1
Release v1.1.1 makes a small documentation-only fix. The release notes state an incorrect README sample code issue, and the diff shows only README adjustments plus a package.json version bump.
v1.1.0
v1.1.0 adds support for serializing CDATA section nodes and improves XML serialization correctness around namespaces and tab characters. Release notes also mention better handling of tabs in require-wellformedness mode and a fix for namespace prefix memoization.
Featuresv1.0.1
Release v1.0.1 updates the XML serializer to correctly handle unknown namespace prefixes during serialization. Specifically, it prevents an internal exception when an unexpected prefix/namespace mapping is encountered, and adds a regression test to confirm correct output.
v1.0.0
This is the first release (v1.0.0). The release notes do not mention any features, fixes, security changes, or migration steps beyond stating it is an initial release.