All notable changes to saxen are documented here. We use semantic versioning for releases.
Note: Yet to be released changes appear here.
FEAT
: turn into ES moduleCHORE
: requireNode >= 18
CHORE
: drop UMD distribution
- No longer ships UMD distribution
- Requires
Node >= 18
FEAT
: do not transformxsi:type
attribute contents (#23)FEAT
: do not hardcodexsi
namespace prefix (#23)
- Moved
xsi:type
attribute manipulation bysaxen
andxsi
prefix binding out of this library, to be handled by downstream libraries, this one is low-level (#23)
FIX
: correct skipping of>
in body tag (#22)
CHORE
: rename ES module todist/index.esm.js
for improved bundler compatibilityFIX
: dropbrowser
field for better interoperability with module bundlers
FIX
: allow.
in attribute name part
-
FEAT
: exposeParser
anddecode
via single export only. Useimport
or destructuring to access it:var { Parser } = require('saxen');
FEAT
: generate pre-built distributions for CommonJS and Browser targetsFEAT
: generate UMD bundleCHORE
: Migrate code base to ES6
This is a re-publish of the broken v6.0.0
version.
FEAT
: recover from attribute parse errors (#13)
Unpublished; Use v6.0.1
instead.
FEAT
: detect and gracefully handle local attribute re-declarations that are forbidden via the XML spec: We'll now emit a warning and ignore the offending attribute (7d0c8629
)
This release accidently introduced backwards incompatible changes; use >= 5.7.0
instead.
FEAT
: exposegetContext
on all hooks (634857b0
)
FIX
: bundledecode.js
with published package (528cd1c0
)
CHORE
: configure hooks only if actually used (5ab3e2ee
)
FIX
: properly handle missing open tags</a>
CHORE
: simplify and speed up entity decoding (066e712d
)
CHORE
: properly compile with Google Closure compiler
FEAT
: proxy mode exposes clonable view (73c6c44a
)
FIX
: return{}
on non-existing attributes, too
CHORE
: don't returntrue
on empty attrs (f7360b11
)
DOCS
: improve readme
FEAT
: fully support anonymous elements in namespace mode (2f48744a
)FEAT
: emit<warn>
for all attribute parse issues (a5014b25
)
FEAT
: keep non-decodeable entities as isFEAT
: decode only required sub-set of named entities
CHORE
: add license field topackage.json
FEAT
: throw on handler errors (4b0ebb1
)FEAT
: expose current namespaces in proxy modeFEAT
: normalizexsi:type
attribute values (#4)FEAT
: addwarn
event, informing about recoverable errors (7fce2151
)
-
FEAT
: rename eventstextNode -> text
startNode -> openTag
endNode -> closeTag
FEAT
: handle non-xml input
DOCS
: better@type
annotationsCHORE
: save a few bytes in decoding logic
DOCS
: correct@type
and@return
annotations in parser
FIX
: properly handle namespace prefix collisions (#1)
CHORE
: improve test coverage and documentation
FEAT
: don't skip unknown namespace nodesFEAT
: expose parse context instartNode
,endNode
anderror
FEAT
: introduce parser object modeFEAT
: pipe handler errors toerror
handlerFEAT
: allow non-args#ns
callFIX
: various namespace handling errorsSTYLE
: unify code styleCHORE
: rename library to saxenCHORE
: improve test coverageCHORE
: add lintingDOCS
: move to english language for documentation and README
Check git log
for earlier history.