Unlocking the Full Potential of OPC UA with Typescript and NodeJS - http://node-opcua.github.io/
MIT License
UAVariable#changeDataType
method, allowing dynamic changes to variable data types within the model after the variable has already been created.BaseNode
parent JavaScript property reconstruction when a child node is recreated.minDate
and minOPCUADate
in favor of getMinOPCUADate()
, to fix a wierd behavior introduced in [email protected] related tests.Published by erossignon 3 months ago
Full Changelog: https://github.com/node-opcua/node-opcua/compare/v2.129.0...v2.130.0
π¨ hot fix
We encourage you to use v2.130.0 over v2.129.0
Published by erossignon 3 months ago
This release solidifies the software's architecture with extensive refactoring, enhances security measures, and improves the overall robustness of the system. Each change is targeted to provide better performance, security, and user experience.
generateAddressSpace
and getMiniAddressSpace
into await/async
functions exclusively and improved error handling in loadnodeset2
, ensuring more robust and error-free operations.node-opcua-client
for deeper dependency management.Published by erossignon 4 months ago
CloseSecureChannelRequest
. This addresses issue #1377 and enhances client-server communication reliability.HelAck
phase.Full Changelog: https://github.com/node-opcua/node-opcua/compare/v2.122.0...v2.123.0
π Join the NodeOPCUA Support Network! π
NodeOPCUA continues to grow and evolve, thanks to the invaluable support from community members like YOU! π
We're dedicated to enhancing and expanding the capabilities of node-opcua, and we invite you to be a part of this exciting journey. Consider contributing through our membership program at Sterfive or by donating on
π€ Your support is crucial!
Your contributions foster innovation and strengthen a community founded on cooperation and the exchange of knowledge. π±
π Together, we can drive the future of node-opcua forward! π
Full Changelog: https://github.com/node-opcua/node-opcua/compare/v2.127.1...v2.128.0
Published by erossignon 4 months ago
Published by erossignon 4 months ago
Full Changelog: https://github.com/node-opcua/node-opcua/compare/v2.125.0...v2.126.0
Published by erossignon 5 months ago
packages/node-opcua-local-discovery-server/Dockerfile
to enhance security (Details).dockertest/Dockerfile
through necessary upgrades (Vulnerability Details).ServerCapabilities_MinSupportedSampleRate
and ServerCapabilities_MaxMonitoredItemsQueueSize
for improved server capability reporting.node-opcua-client-crawler
and introduced the professional module @sterfive/crawler
for NodeOPCUA Subscription members.readNamespaceArray
and resolveNodeId
usage to optimize operations.resolveNodeId
.recreateSubscriptionAndMonitoredItem
to an async method for better performance.Added useful exports in
node-opcua-client` to enhance module usability.withSessionAsync
for improved test efficiency.perform operation on client session
in test-helper for enhanced testing capabilities.readNamespaceArray
to use cache, reducing processing time.NodeId.toString({namespace})
to produce 'nsu=someuri;i=1223' form nodeid string, enhancing node identification clarity.OPCUAClient.withSession
as part of ongoing API cleanup.Full Changelog: https://github.com/node-opcua/node-opcua/compare/v2.124.0...v2.125.0
Version 2.124.0 of our software introduces significant enhancements to the client automatic reconnection mechanism
nodeVersion
operates properly when a node belongs to a custom namespace, maintaining namespace integrity.raiseEvent
method signature in TypeScript, aligning it with expected type definitions.packages/node-opcua-local-discovery-server/Dockerfile
by upgrading dependencies to address security concerns highlighted by Snyk (Vulnerability 1, Vulnerability 2).findEndpoint
now uses the same connection strategy as the parent OPCUAClient, harmonizing connection behaviors across the client.createMonitoredItemsLimit
to avoid using maxMonitoredItemsPerCall=0
, optimizing monitoring efficiency.setNextSubscriptionId()
to imitate open62541 behavior, enhancing subscription management capabilities.Published by erossignon 8 months ago
[NODE-OPCUA-W33]
if there's a notable time difference between the server's time and the local time on the computer where the OPCUA client is running. This enhancement aims to make it easier to identify servers with time synchronization issues (#1349) (#1351).the warning message looks like:
`
[NODE-OPCUA-W33] client : server token creation date exposes a time discrepancy of 10 minutes 23 seconds
the remote server clock doesn't match this computer date !
please check both server and client clocks are properly set .
server time: 2024-03-17 10:20:30.300Z
client time: 2024-03-17 10:30:53.300Z
server URL = opc.tcp.//mydevice:4840
securityPolicies
parameter in the OPCUA Server constructor. (#1348)Default policies used if securityPolicies
is not specified:
before | now in v2.123.0 |
---|---|
None | None |
Basic128Rsa15 | |
Basic256 | |
Basic256Sha256 | Basic256Sha256 |
Aes128_Sha256_RsaOaep | Aes128_Sha256_RsaOaep |
Aes256_Sha256_RsaPss |
We reintroduced PKCS1 padding (Issue #1347), which was previously removed in version 2.122.0, due to Node.js discontinuing support for PKCS padding with private key encryption. However, this reintroduction comes with a caveat for users of Node.js versions newer than 18.11.1 or NodeJS > 20.11.1. To enable PKCS1 padding, you must include the argument --security-revert=CVE-2023-46809 when running the Node.js executable. This step reverses a security fix in Node.js, allowing PKCS1 padding to function. Failure to apply this workaround may result in connectivity issues between the Client and Server when interacting with devices that still utilize the now-deprecated 128Rsa15 security policy for channel or user token encryption.
We found out that the recent version of NodeJS now emits an AggregateError instead of a Error on windows when multiple network cards are present, causing the connection mechanism to struggle, this only affects Node 20.11.1 on windows as far as we are aware [b4ff2588ba]
--security-revert=CVE-2023-46809
command line option needs to be used to allow legacy Basic192Rsa15 encryption and server ( in 20.11.1 and 18.11.1 onward)Full Changelog: https://github.com/node-opcua/node-opcua/compare/v2.122.0...v2.123.0
π Join the NodeOPCUA Support Network! π
NodeOPCUA continues to grow and evolve, thanks to the invaluable support from community members like YOU! π
We're dedicated to enhancing and expanding the capabilities of node-opcua, and we invite you to be a part of this exciting journey. Consider contributing through our membership program at Sterfive or by donating on
π€ Your support is crucial!
Your contributions foster innovation and strengthen a community founded on cooperation and the exchange of knowledge. π±
π Together, we can drive the future of node-opcua forward! π
Published by erossignon 8 months ago
For instance, when OPCUAClient encounters multiple identity token policyId for the same tokenType, the OPCUClient will select the policyId that provides the most robust encryption method. It will also avoid using Basic192RSA15, which is now deprecated in NodeJS 20.11.1 onward, to fix CVE-2023-46809.
Full Changelog: https://github.com/node-opcua/node-opcua/compare/v2.121.0...v2.122.0
Published by erossignon 8 months ago
d81924c60
Adjust UAVariable: fixing #1342 by forcing timestamp to be set when a simple variable getter is usedef9878409
Fix ambiguous abstract DataType with encoding while loading nodeset2 xml3b8613468
Server: monitored item; fix keep alive and resendInitialValue behavior7d161b074
Server channel: fix channel termination in registerChannelea7fac356
Fix release continuation point behaviorf521d25cb
Fix eventNotifier type to be a EventNotifierFlags in InstantiateObjectOptionse85efe29f
Fix boiler instantiation by specifying correct value for eventNotifier7c42fe464
Ensure eventNotifier flag SubscribeToEvents automatically set when object has EventSource or Notifieraacd2c86c
Fix default variable matrix value while loading nodeset2.xml7fb5d7c88
Fix a bug causing server to crash while raising AuditCertificate Events1e51b2184
Call should return BadMethodInvalid instead of BadNodeIdUnknown when MethodId doesn't exist or is not a methode482774c8
BadChannelIdInvalid should be returned in a ServiceFault instead of a Valid Requestaae18eed7
Issue #1320 bug-fix: now instantiating variable with same name as parent objectType.b9503fdf4
Issue #1326 bug-fix: no longer adding nodes from an unrelated object type to a node with the same browseName.8ec25b71a
Deprecate RSAPKCS1V15_Decrypt due to CVE-2023-4680997568f4bf
Update packages - [email protected] CVE-2023-468090a27cef67
Fix: dockertest/Dockerfile to reduce vulnerabilitiesce26af470
Fix: packages/node-opcua-local-discovery-server/Dockerfile to reduce vulnerabilities9ebe882e6
Feat: add description and displayName to base object when crawling17b48cc99
ArgumentList: verifyArgumentList returns BadTypeMismatch if at least one argument has a BadTypeMismatch status codeea7fac356
Fix release continuation point behaviorc38096565
Adjust flaky test on windows2eca643f2
Chore: reduce verbosity in test862ae72f5
Chore: adjust temporary folder location in tests22606c59b
Update CTT.xmladf2b22e9
CTT: ensure keepAlive is sent after 1xpublishInterval first time77ccf6417
Refactor: server tests to typescript88ba311f5
Add leak detector in test794e35cd1
Chore: fix typescript error in test47c75b7fb
Address space for ctt: fix matrix variables4610fa986
Chore: adjust tcp socket in testcd8d2705b
Chore: server_tcp_transport cleanup4e75b2d5a
ServerSecureChannel: return ServiceFault when OpenSecureChannel fails52388f80c
Chore: remove unused importb7b1f62ab
Chore: improve log messagedd8872782
Chore: fix typos in commentsf85e696f4
Chore: fix typescript issue2e60c9984
Chore: fix timerId declaration515303c2f
Chore: improve error message in internalDecodeVariant, when matrices are inconsistent1dd5562a0
Update standard UA nodeSet2.xml to version 1.5.3e8d592bb9
Update standard status codesd5f8f15c3
Improve Variable value set typescript definition and add new async modeFull Changelog: https://github.com/node-opcua/node-opcua/compare/v2.120.0...v2.121.0
Published by erossignon 9 months ago
[521f18d2f]
Fixes #1277 - Instantiating ObjectType with two Folders[744648e3f]
Relax Encoding detection to cope with bugs in python's asyncua - fixing #1232[56b40b191]
ClientSecureChannel: fix connection issue highlighted when server imposes maxChunk=1 #1335 #1263[2372431fd]
Ensure client.isReconnecting=true when client emits the 'connection_reestablished' event fixing #1331[45240f862]
Add example for GitHub #1232[a0234bbb5]
Update packages[37e181611]
Add open collective badges[2e6d5937b]
Update book URL[85bee187a]
Update lock file[af3520542]
Update copyright year[f3d452bd6]
Fix copyright year and other adjustmentsNodeOPCUA continues to grow and evolve, thanks to the invaluable support from community members like YOU! π
We're dedicated to enhancing and expanding the capabilities of node-opcua, and we invite you to be a part of this exciting journey. Consider contributing through our membership program at Sterfive or by donating on
Your support is crucial! π€
Your contributions foster innovation and strengthen a community founded on cooperation and the exchange of knowledge. π±
π Together, we can drive the future of node-opcua forward! π
Published by erossignon 10 months ago
NodeOPCUA continues to grow and evolve, thanks to the invaluable support from community members like YOU! π
We're dedicated to enhancing and expanding the capabilities of node-opcua, and we invite you to be a part of this exciting journey. Consider contributing through our membership program at Sterfive or by donating on OpenCollective. Your support is crucial! π€
Your contributions foster innovation and strengthen a community founded on cooperation and the exchange of knowledge. π±
π Together, we can drive the future of node-opcua forward! π
We're profoundly grateful for your continued support and commitment to our mission! ππ
Published by erossignon 11 months ago
In this version, OPCUA Server now automatically populate the following standard UA variables with the appropriate value from the OPCUAServer constructor options:
ServerConfiguration property | value |
---|---|
ServerCapabilities | same as options.capabilitiesForMDNS like ["DA", "HA"]
|
ApplicationType | same as options.serverInfo.applicationType
|
ApplicationUri | as computed by the server |
ProductUri | same as options.serverInfo.productUri
|
MulticastDnsEnabled | true if Server uses the MDNS ie options.registerServerMethod === RegisterServerMethod.MDNS
|
SupportedPrivateKeyFormats | defaulted to ["PEM"]
|
NodeOPCUA thrives because of supporters like YOU! π
As we passionately improve and broaden the scope of node-opcua, we're reaching out for your generous support. Join us in making a difference through our membership program at Sterfive or directly on OpenCollective. π€
Your contribution paves the way for innovation and nurtures a community built on collaboration and shared insights. π
π Let's shape the future of node-opcua together! π
Thank you for being a pivotal part of our journey! ππ
Published by erossignon 11 months ago
Those two enhancements have been introduced to improve the performance of @sterfive/modeler and @sterfive/toolbox
Published by sterfive 12 months ago
π bug fixing
π enhancement
πͺ± chore
π‘ Sponsorship Call! π‘
NodeOPCUA thrives because of supporters like YOU! π
As we passionately improve and broaden the scope of node-opcua, we're reaching out for your generous support. Join us in making a difference through our membership program at Sterfive or directly on OpenCollective. π€
Your contribution paves the way for innovation and nurtures a community built on collaboration and shared insights. π
π Let's shape the future of node-opcua together! π
Thank you for being a pivotal part of our journey! ππ
Published by erossignon about 1 year ago
π enhancement
π bug fixes
π§ maintenance
π¬π½ contributors
Published by erossignon about 1 year ago
π§ maintenance
π bug fixes:
Published by erossignon about 1 year ago
π§ enhancement
π bug fixing