Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
### Breaking changes · [Migration guide](https://zwave-js.github.io/node-zwave-js/#/getting-started/migrating-to-v10) * Dropped support for Node.js 12 (#4824, #4491) * Moved `Driver.interviewNode` method to the `ZWaveNode` class (#4823) * Added support to provide an API key for the firmware update service, soon mandatory (#4816) * Removed several deprecated things and reworked `beginExclusion` to use an options object instead (#4699) * CC implementations were moved into their own package (#4668) * CC code can now be used mostly without a driver instance (#4651) * Implement discoverable and transparently-typed CC value definitions instead of `getXYZValueId` methods (#4704) * `Supervision CC` is now used automatically when supported and for more CCs than just `Multilevel Switch CC` (#4761) * Updated the argument type of the `"node found"` event to indicate that it is not an operational node (#4825) * S2 inclusion user callbacks were moved into `ZWaveOptions` (#4856) with the possibility to override them for individual inclusion attempts (#4911) * Node firmware versions are now exposed as `major.minor.patch` where supported (#4857) ### Features * Implement Z-Wave Protocol CC, for internal use (#4691) * Implemented mock controller and mock nodes to vastly improve how integration tests are written (#4697, #4892) * Add values to `Basic CC` and `Multilevel Switch CC` to restore previous non-zero level (#4732) * Answer incoming requests with the same encapsulation (#4832) * Allow passing a custom serial port implementation in `port` param of the Driver class (#4885) * Support sending `TimeCC` reports and automatically respond to requests (#4858) * Allow overriding API key for the FW update service per call (#4912) * Support updating some driver options on the fly (#4930) ### Bugfixes * Swap order of `destroy()` call and `Driver_Failed` error after restoring NVM (#4661) * Do not request ACK when sending node to sleep (#4826) * Correctly interpret powerlevel values as signed in `GetPowerlevelResponse` (#4827) * Add missing `reflect-metadata` dependency to some packages that were meant to be used standalone (#4846) * Fixed an off-by-one error while parsing the `supportedOperationTypes` bitmask of `User Code CC` (#4848) * Query user codes 1-by-1 if bulk reading is not supported (#4849) * Include both V1 values and V2+ values in `Notification CC` logs (#4904) * Obfuscate keys in `Entry Control CC` logs (#4905) * Improved command flow for S2-encrypted communication when both parties transmit at the same time (#4900) * Fixed a bug where commands that should be discarded because of a lower than expected security level would still store their values into the value DB (#4924) * Fixed looking up a node's provisioning entry using its node ID. This didn't work previously and would cause excluded SmartStart nodes to be included again immediately. (#4925) * No longer overwrite the security classes of a node when they are known for certain, and retry querying securely supported CCs during the interview (#4923) ### Bugfixes (broken and fixed in v10 beta) * Emit value event after successful supervised `setValue` (#4899) * Correct nested encapsulation of Supervision CC Reports (#4890) * Ensure the `major.minor.patch` firmware version matches the legacy `major.minor` field before using it (#4906) * Move `"notification"` event args types back into `zwave-js` package (#4907) * Fixed a typo in `AddNodeStatusContext`, which would result in an `UNKNOWN` device class of newly included nodes (#4922) ### Config file changes * Corrected manufacturer and device labels for Heatit devices (#4838) * Slightly clean up the Fibaro Motion Sensor config (#4790) * Update Zooz ZEN17 to firmware 1.10 (#4809) * Add NewOne N4003, template more in the Minoston directory (#4834) * Add Fibaro Wall Plug UK - FGWPG-111 (#4865) * Correct param 9 for STEINEL devices, rework to templates (#4895) * Add Zooz Zen05 Outdoor Smart Plug (#4896) * Add MP31ZP (rebranded MP21ZP) (#4894) * Update Zooz ZEN20 with additional parameters 28 - 36 (#4898) * Clean up branding of Jasco devices (#4873) * Add new 700 series Jasco devices (#4928) * Update description on several Jasco manufactured devices (#4927) * Apply compat flag to GreenWave PowerNode 5 (#4934) * Add wakeup instruction to Zooz ZEN34 (#4932) * Add parameter 15 Invert Output to Heatit Z-Temp2 (#4915) * Add Enbrighten 58438 / ZWA3016 (#4913) ### Changes under the hood * Patch `tsserver` after install to allow displaying large types * Upgrade dependencies (#4820, #4663) * Make several reflection decorators generic and untangle `Manufacturer Proprietary CC` implementations (#4701) * Fixed typos throughout the project (#4837, #4842) * Added compliance tests for Z-Wave certification (#4832) * Removed a polyfill for `Object.entries` (#4859) * Added best practices for a reliable mesh to the docs (#4875) * Changes to the public API surface are now tracked using `@microsoft/api-extractor` (#4860) * Reorganized the CI jobs to only compile TypeScript once and reuse the build output during subsequent jobs (#4880) * Move Supervision Session ID onto `ZWaveHost` interface (#4891)
- Loading branch information