Skip to content

v2.104.0

Compare
Choose a tag to compare
@erossignon erossignon released this 07 Jun 12:16
· 249 commits to master since this release

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.

🧑‍🏭 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!