Skip to content

Bump node-opcua from 2.175.3 to 2.179.0 - #62

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/node-opcua-2.179.0
Closed

Bump node-opcua from 2.175.3 to 2.179.0#62
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/node-opcua-2.179.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 31, 2026

Copy link
Copy Markdown

Bumps node-opcua from 2.175.3 to 2.179.0.

Release notes

Sourced from node-opcua's releases.

v2.179.0

node-opcua 2.179.0

Compare: v2.178.0...v2.179.0

A robustness and performance release. The client's keep-alive and transaction handling no longer mistake a slow link for a dead server; the encoding path is measurably cheaper; and a family of lifecycle races in the server and address space was found and fixed after the test suite was moved to a parallel runner. Also a full biome pass across the monorepo (0 errors / 0 warnings) and a new CI gate for fixed test ports.

🚀 Features

BinaryStream

  • Optional growable mode: the stream can now extend its own buffer instead of requiring the final size up front, which is what lets the extension-object encoder backpatch rather than pre-size. [3cc5ad771]

🐛 Fixes

Client — connection liveness

A connected client could conclude a healthy server had gone away, or quietly lose a request that was still in flight. These are one theme, fixed together:

  • client: keep-alive must not treat a timed-out transaction as contact with the server — a slow answer was being read as a dead one. [d10f2aa1d]
  • client: a ServiceFault is genuine server contact; treating it as silence could tear down a working session. [cce2c1a4b]
  • client: anchor session lifetime on the last answer actually received. [9cbe6e93d]
  • client: subscription lifetime must not count unanswered publishes. [1f4fb6688]
  • client: hold transactions while the connection is down, and always resolve them — previously a caller could wait forever. [fc695694d]
  • client: stop orphaning a transaction that hits BadSessionIdInvalid. [114785c5c]
  • client: the keep-alive scheduler no longer delays and wedges itself. [910bc68cf]
  • secure-channel: deliver an abandoned request like any other ServiceFault, so the caller gets an answer rather than nothing. [65d35487d]

Encoding / dataTypes

  • dynamic-extension-object: pair each DataType with its own description. The 1.03 loader zipped two arrays by index, but abstract types are skipped, so after the first skip the pairing drifted — encodings were attached to the wrong description and several standard classes (FetchResultDataType, TransferResultErrorDataType, ParameterResultDataType, TransferResultDataDataType) were never registered at all. A client needing one of them failed far from the cause. The assert that would have caught this had been commented out with "in some circumstances like Euromap, this assert fails" — it was right to fail, and is restored. [cc88e240d]
  • dynamic-extension-object: report unregistered dataTypes once, by name, instead of scattered log lines that nobody reads. [2ac9951a4]
  • client-dynamic-extension-object: restore the null-NodeId fallback for enumeration fields. [f1bbad1ac]
  • variant: Variant.clone is a true deep copy — the shallow copy leaked shared state between values. [66a4f0127] plus the follow-up repair of what that exposed. [9e21a605b]

Server

  • server: suspendConnection now waits for the listener to be released. It called back while close() was still in flight, so restoreConnection could re-listen on a port the old handle still held — an EADDRINUSE out of resumeEndPoints, hit during certificate rotation. [f3154ecfe]
  • server: createSession refuses with BadServerHalted once the engine is shutting down. A request already in flight could land after the address space was disposed and surface as Cannot read properties of null (reading 'findDataType') from a promise nobody awaited — taking the process down rather than failing one request. [f3154ecfe]
  • server: scale a channel's listener ceiling with its session count. [c647f7006]
  • server: default writeAttribute statusCode to Good instead of rejecting. [00534f6cf]
  • server: correct createSubscriptionDiagnosticsArray browseName and options [be070ca65], and restore the explicit namespace-0 browseName for SubscriptionDiagnosticsArray. [a459eaf27]

Address space

  • address-space: UAVariable.readValueAsync must honour isAccessRestricted. [8f13f6a9e]
  • address-space: stop asking massively-used types to drop absent references. _propagate_ref never installs back references for HasTypeDefinition / HasModellingRule — "because there are too many" — but removal did not mirror that, so detaching any node produced Cannot find reference to remove. 101 of them in a single CI run. [0f43a1afc]
  • role-set: rebind Identities to the store so bindRoleSet cannot shadow it. [08fb5a940]

⚡ Performance

  • secure-channel: encode each message once instead of twice. [31818de36]
  • data-value: DataValue.clone no longer copies its payload twice. [194cf151e]
  • extension-object: backpatch the body length instead of pre-sizing the buffer. [168f87d4c]
  • variant: memoise the built-in codec per numeric DataType [83ade33ae]; index the typed-array helper table numerically [ac06826ee].

... (truncated)

Commits
  • c78c6ee v2.179.0
  • 602e69a chore: update packages
  • 2ac9951 fix(dynamic-extension-object): report unregistered dataTypes once, by name
  • da436ed test(transport): wait for the socket pair to settle, not for a fixed delay
  • 0f43a1a fix(address-space): stop asking massively-used types to drop absent references
  • cc88e24 fix(dynamic-extension-object): pair each DataType with its own description
  • 80c6613 ci: upgrade the actions off the deprecated node20 runtime
  • 4ecaf82 test(transport): assert what FS-13 guarantees, not one observed interleaving
  • 0dd52a7 fix(secure-channel): declare data-value and variant, used by its tests
  • fd5c4ee fix(secure-channel): declare the certificate-manager dependency its tests use
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [node-opcua](https://github.com/node-opcua/node-opcua) from 2.175.3 to 2.179.0.
- [Release notes](https://github.com/node-opcua/node-opcua/releases)
- [Changelog](https://github.com/node-opcua/node-opcua/blob/master/RELEASE_NOTES.md)
- [Commits](node-opcua/node-opcua@v2.175.3...v2.179.0)

---
updated-dependencies:
- dependency-name: node-opcua
  dependency-version: 2.179.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Aug 31, 2026
@dependabot @github

dependabot Bot commented on behalf of github Sep 7, 2026

Copy link
Copy Markdown
Author

Superseded by #64.

@dependabot dependabot Bot closed this Sep 7, 2026
@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/node-opcua-2.179.0 branch September 7, 2026 10:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants