v2.104.0
v2.104.0, a significant milestone packed with crucial enhancements, most notably the elimination of openSSL command usage for creating private keys and self-signed certificates.
In this release, we have successfully upgraded node-opcua-crypto to v3.0.0. As a result, crypto key pairs are now generated via the node crypto module, a substantial shift from the previous openSSL dependency.
This enhancement not only simplifies the client integration within your environment by eradicating the need for openssl installation but also ensures a smoother user experience during node-opcua installation in restricted networks. You will no longer experience attempts to fetch and install openssl during the first run, leading to a streamlined installation process.
However, please note that due to this change, node.js version 16.0 or greater is now required, as earlier versions do not support the necessary crypto API.
💔 Breaking Changes
- Node-opcua now requires esModuleInterop=true for the build, a change made to accommodate new modules we rely on.
- OpenSSL does not need to be preinstalled anymore
- NodeJS >= 16 is required
🚀 Enhancements
A series of commits have led to updates to the new node-opcua-crypto & pki, and better warning messages for 'BadCertificateChainIncomplete'.
- 35f7969 chore: createPrivateKey fix issue with node<=16
- 4c64a14 update to new node-opcua-crypto & pki
- 0335415 switch to esModuleInterop=true
- e350b93 support BadCertificateChainIncomplete and improve warning message
🐛 Bug Fixes
Several bugs were squashed in this release, including TypeScript issues that surfaces with the switch to thenew typescript 5.x version, as well as fixes for EnumValueType value initialization.
- 186bbd1 fix typescript issues raised with new ts version
- 408db1d fix EnumValueType value initialisation
👍 Code Coverage Improvement
Our commitment to high-quality code has seen an upgrade in code coverage, with several commits dedicated to this, and the integration of a new coverall.
- a8ef721 b96cec0 14c40510cchore: improve code coverage and remove unused code
- 8e2021e aff600b use new coverall integration
- aa95d2a 578b1fd dc8b411 212dd90 chore: test tuning
- ac94751 give more memory for coverage
- 7f34b48 chore: nyc script
- bf9495d adjust nyc
🧑🏭 Maintenance and Code Improvement
Routine maintenance and code cleanup were undertaken, which included verification of certain fixes, package.json cleanup, removal of obsolete WriteMask, and TypeScript fixes in test.
- fa05883 chore: verify that #937 is fixed (Loading enums from nodeset.xml files does not work for enums with negative values )
- fdcdb03 7cad04a clean-up package.json
- 8ffcb1c remove obsolete WriteMask
- 511af5f chore: fix typescript in test
- a484a02 add test script
- 9d5cdb1 chore: fix export
- 90a6690 relax event loop in test (2)
📖 Documentation
The README.md file was updated, and an example was added to illustrate a particular issue, thereby enhancing the overall documentation.
👬🏽 community support
As we continue to refine and expand node-opcua, we warmly welcome sponsorships and contributions via our membership program at Sterfive or through OpenCollective. Your generous support empowers us to innovate and foster a community built on shared knowledge and creativity. Together, we are shaping the future of node-opcua!