Releases: macedigital/express-xml-bodyparser
Releases · macedigital/express-xml-bodyparser
sad-antilope
Notable changes
- Fix regression in handling custom mime-type declarations. As this is potential breaking change for some applications, bump version up a notch. See #13 for painful details.
Please note: (Being able to) mutating the regexp
property will be deprecated from the next minor release on, and removed entirely whenever v1.0.0 is released. Doing so can have very nasty side-effects in your application overall and is discouraged. Instead from the next release on, you can pass a custom mime-type regexp configuration option.
By doing so, the xml-body-parser will become more flexible and safer to use.
Async=false
Highlights
- Merge #10 which creates a new parser instance on each request.
- The option
async=false
is the new default for parsing XML data until Leonidas-from-XIV/node-xml2js#232 is resolved. All users are strongly encouraged to disable async mode, as malformed input can lead the parser to throw uncaught exceptions.
More resiliant to malformed input
Highlights
Thanks to the help of @fiznool the middleware handles more cases of bad input data!
Changes:
- Until Leonidas-from-XIV/node-xml2js#229 is merged upstream the xml-body-parser is operating in synchronous mode. This should have little to no impact on operations as long as the incoming data is relatively small in size, and/or the number of concurrent connections doesn't approach the levels of high volume sites. There will be a new minor release reverting behavior back to asynchronous mode, once the aforementioned PR has been merged and a new release has been made.
In return, the parser operates in way better shape to malformed input (aka. invalid) data.
node-processors
- upgrade to xml2js 0.4.6+
- drop support for node v0.8.x
- possible breaking changes:
- options are no longer replaced, but instead merged with defaults
- when passing empty request body, a 200 status instead of 411 is returned
- drop support for node 0.8.x
- other changes:
- reverse argument order most test cases, as assert works in mode 'actual, expected'
- by upgrading to xml2js 0.4.6+ you can now specify custom node processors (transformers)