All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Instances of
PunchOutSetupRequest
andOrderRequest
now have a property calledrequestTimeout
, which is used to specify the amount of time (in milliseconds) to wait on the outgoing HTTP request. This value defaults to30000
.
- The methods
setBuyerInfo
,setSupplierInfo
, andsetSenderInfo
now throw an error ifnull
orundefined
values are provided for any options. I felt that the original behavior was misleading at best, or at worst, could allow a simple typographical error to lead to hours and hours of misdirected troubleshooting (ask me how I know this). Although I think that the original behavior was a "bug", this seems like a breaking change to me, hence its inclusion in a semver-major release.
- Removed support for Node.js version 8, since it has reached end-of-life.
Although it doesn't affect the version number, the library has undergone a major refactorization, which should make future maintenance easier. It also brought in a couple of new features 🙌
-
Instances of
PunchOutOrderMessage
now have aquery()
method that allows the source cXML to be directly queried through the use of XPath expressions. This provides access to data that is not otherwise exposed through the limited set of property getters. Please refer to the documentation for more information about this new method. -
Instances of
PunchOutSetupRequest
andOrderRequest
now emit events that provide visibility into the cXML that is sent and received from suppliers. This may be useful for logging or trouble-shooting. Please refer to the documentation for more information about these new events.
- If the
<ShortName>
element was missing from an item's description, this would cause an exception when creating a new instance ofPunchOutOrderMessage
. This has been fixed, and the behavior for setting the values ofdescription
andname
now matches the documentation correctly. (#3)
First release.