This relesase note is a summary of the changes in the OPC UA Modeler and the OPC UA Modeler Extension in its core module @sterfive/opcua-modeler-ex. See below to find the version of the OPC UA Modeler Extension and the node-opcua library that is compatible with the version of the OPC UA Modeler.
Versions table
OPC UA Modeler Cli - Release notes
Release 2.8.0
opcua-modeler-cli changes:
- update to modeler-ex 4.5.3
- Release 2.8.0
@sterfive/opcua-modeler-ex changes (bundled):
- fix: interface hierarchy
- improve optionals management
- fix: support multiple instances sharing the same browse name under different parents
- schema: ConnectedObject must use exactly one parent reference
- expose missing nodeId properties
- docs(spec): add public-draft v0.0 of the OPC UA YAML DSL specification
- docs: capture Model-Best v1.03 conformance findings, rule catalogue and plan
- fix(addin): accept AddIn target without DefaultInstanceBrowseName when explicit browseName is supplied
- feat(interfaces): lean materialisation per Part 3 §6.3.3.1 + round-trip support
- fix(reverse): mark all DataType aggregates visited (HasProperty + HasComponent)
- docs: backlog entry for DTS8 round-trip fix
- fix(reverse): hide auto-generated 1.03 TypeDictionary children from YAML
- docs(conformance): refresh ÔÇö Phase 9 lint, INTERFACE area, R-track, diagnostic design
- docs(diagnostic-output): reframe ÔÇö Biome and rustc as inspirations, not targets
- feat(lint): phase 0 diagnostic plumbing and pretty renderer
- fix demoRobotic
- chore: complete engineeringUnits
- fix(modeler-ex): inherited-interface visibility, recursion, and reverse-walk override detection
- chore(schema): tolerate Red Hat YAML's markdownEnumDescriptions under ajv strict mode
- chore(samples): use fully qualified optional paths in demoRobot
- chore(fixtures): clarifying comment, lint-silence config, explicit subtypeOf
- chore(explore): use node:fs default import in balancedTree
- fix(reverse-walk): mark all aggregates of FSM states/transitions as visited
- test(import): assert on the new pretty-renderer warning text
- fix(reverse-walk): round-trip activated deep optionals + preserve descriptions
- docs(spec): generate index.html from specification.md
- chore: minor fixes
- chore(npm): restrict published files to dist, bin, and metadata
- Release 4.5.1
- fix(reverse-walk): emit promotedToMandatory for state machines and components
- fix data in yaml
- Release 4.5.2
Release 2.7.0
opcua-modeler-cli changes:
- docs: prep for ScoopInstaller/Extras submission
- chore(deploy): move trial/licence notes to install_notes
- update opcua-modeler-ex to 4.4.0 (fixing interface)
- add public doc
@sterfive/opcua-modeler-ex changes (bundled):
- mark implementedInterfaces deprecated in favor of inestances
- Release 4.3.1
- feat(load_yaml): support optional members of interfaces
- Release 4.4.0
Release 2.6.0
opcua-modeler-cli changes:
- chore(deploy): extract inline node -e blob into scripts/deploy.mjs
- feat(cli): add install-schema command
- Release 2.6.0
@sterfive/opcua-modeler-ex changes (bundled): (modeler-ex pin unchanged at 4.3.0)
Release 2.5.0
opcua-modeler-cli changes:
- chore: add deploy script ÔÇö npm run deploy invokes sterfive-deploy release
- fix(deploy): run sterfive-deploy from its own cwd so .env is found
- chore: detect missing npm token
- update pacakges ( fix interfaces: )
- Release 2.5.0
@sterfive/opcua-modeler-ex changes (bundled):
- feat: introduce debounced filewatch
- fix: implementedInterfacs: support in Type and Instance
- break: replace 'implementedInterfaces' with 'interfaces'
- Release 4.3.0
Release 2.4.1
opcua-modeler-cli changes:
- ci: auto-publish @sterfive/opcua-modeler to npm-registry on semver tag (FEAT-076)
- chore: add sterfive-deploy.yaml release config
- Release 2.4.1
@sterfive/opcua-modeler-ex changes (bundled): (modeler-ex pin unchanged at 4.2.0)
Release 2.4.0
opcua-modeler-cli changes:
- Release 2.4.0
@sterfive/opcua-modeler-ex changes (bundled): (modeler-ex pin unchanged at 4.2.0)
Release 2.3.3
opcua-modeler-cli changes:
- fix update url
- Release 2.3.3
@sterfive/opcua-modeler-ex changes (bundled): (modeler-ex pin unchanged at 4.2.0)
Release 2.3.2
opcua-modeler-cli changes:
- fix(update): correct registry URL and surface failures
- chore
- Release 2.3.2
@sterfive/opcua-modeler-ex changes (bundled): (modeler-ex pin unchanged at 4.2.0)
Release 2.3.1
opcua-modeler-cli changes:
- chore
- Release 2.3.1
@sterfive/opcua-modeler-ex changes (bundled): (modeler-ex pin unchanged at 4.2.0)
Release 2.3.0
opcua-modeler-cli changes:
- fix: include assets, demo, nodesets, schema, viewer in published package
- a
- Release 2.3.0
@sterfive/opcua-modeler-ex changes (bundled): (modeler-ex pin unchanged at 4.2.0)
Release 2.2.0
opcua-modeler-cli changes:
- add missing import_esm.js
- packages
- Release 2.2.0
@sterfive/opcua-modeler-ex changes (bundled): (modeler-ex pin unchanged at 4.2.0)
Release 2.1.1
opcua-modeler-cli changes:
- chore: update app-packager
- Release 2.0.1
- feat(viewer): add --pdf option for headless PDF generation
- fix: resolve TypeScript 6 deprecation and type errors
- chore: add biome linter and formatter
- refactor: use native fetch, ESM imports, biome on save
- chore: bump node-opcua to 2.169.0 and dependencies
- chore: licence-check fixing info
- Release 2.1.0
- update package.json
- Release 2.1.1
@sterfive/opcua-modeler-ex changes (bundled): (modeler-ex pin unchanged at 4.2.0)
Release 2.1.0
opcua-modeler-cli changes:
- feat(viewer): add --pdf option for headless PDF generation
- fix: resolve TypeScript 6 deprecation and type errors
- chore: add biome linter and formatter
- refactor: use native fetch, ESM imports, biome on save
- chore: bump node-opcua to 2.169.0 and dependencies
- chore: licence-check fixing info
- Release 2.1.0
@sterfive/opcua-modeler-ex changes (bundled):
- update change log
- chore: minor improvment
- chore: apply some biome fixes
- chore: complete biome migration, remove eslint and prettier
- fix(load_yaml): fix state machine transition validation and error message
- refactor(load_yaml): extract type creators and processing into separate modules (Phase 2)
- refactor(load_yaml): decompose add_direct_props.ts into focused processing sub-modules
- refactor(load_yaml): extract adjustDataDefinition and installAddIn from add_direct_props.ts
- chore: biome formatiing fixes
- chore: minor refactoring
- instantiate component fully that exist in base type
- fix: adjust existing variable nodes when inferred from parent type definition
- chore: upgrade dependencies and build toolchain
- chore: refine editor and biome configuration
- refactor: extract adjust_node module from process_variable
- fix: improve type safety and adapt to API changes
- chore: modernize test imports and reformat
- test: add OT28 and VT3 test cases, add ia namespace
- test: update expected XML fixtures for node-opcua 2.169
- chore: update demoRobot sample for updated nodesets
- chore: mocha
- fix: use mocha imports and apply biome formatting
- Release 4.2.0
Release 2.0.0
- feat: upgrade to node-opcua 2.160.0
- fix: adjust to changes in node-opcua 2.160.0
- improve: viewer template and use of frontmatter
Release 1.43.0
- fix: node-opcua 2.158.0 for fixing error in simulator with enumeration dataType
Release 1.42.0
-
(generate) fix styling issue in markdown table generation.
-
(generate) improve error message when referenceType is missing.
-
fix duplicated doc in method markdown generation.
-
feat: improve error reporting with precise YAML location
Significantly enhances the error reporting capabilities when parsing YAML models by pinpointing the exact location of issues within the source file.
-
Integrate the
yamlparser to access detailed source mapping information, including line and column numbers. -
Add a new utility to resolve a conceptual path (e.g.,
MyObject.MyProperty) to its precise location in the YAML document. -
Update the error, warning, and logging context to include the filename, line, and column, making it much easier for users to debug their models.
-
fix test with newest nodesets
-
(reverse) fix issue with abstract DataType extraction.
-
Release 1.41.0
- minor packages update
Release 1.40.0
- fix regression in modellingRule handling.
- adjust json schema.
- feat: allow custom nodeId s=XXX to instances
- fix state machine example
- fix analog data item type (cannot be property)
Release 1.39.0
- add new nodesets, define new alias for new nodesets.
Release 1.38.0
-
add
addInsproperties for add in composition inside an Object or ObjectType -
add
defaultInstanceBrowseNameproperties to an ObjectType declaration -
add promoteToMandatory to specify which properties or componenent of the ObjectType or Variable Type subsub that should be promoted from "Optional" to "Mandatory".
-
fix description generation in FiniteStateMachine state
-
automatically populate availableTransitions and availableStates variables when overloaded in the derived FiniteStateMachine defined in the yaml file.
-
add description in FSM state and tested initial state.
-
add promoteToMandatory and implementInterfaces.
@sterfive/opcua-modeler-ex - Release notes
4.10.0 - 2026-01-21
Major Features
- Diagramming: Introduced a new "Vertical Spine" diagram layout to improve the visualization of deep class hierarchies.
- Diagramming: Added support for Mermaid diagrams and integrated Puppeteer for high-quality rendering.
- Diagramming: Support for advanced component references (orderedComponents, physicalComponents, containedComponents, attachedComponents) in diagrams.
- Documentation: Completely overhauled Markdown generation with support for nested levels, better table formatting, and improved PlantUML integration.
Added
- TypeScript: Enhanced TypeScript definition generation (.d.ts) for better type safety and code folding regions.
- Validation: Added checks for duplicated enum values in yaml2xml conversion.
- Dependencies: Added puppeteer, mermaid, and svgo to package.json.
Changed
-
Core: Updated core node-opcua libraries to version 2.160.0.
-
Build: Updated TypeScript to version 5.9.3.
-
CI: Updated CI pipelines to support Puppeteer and Chrome Headless execution.
Fixed
- Loader: Fixed issues with type definition overrides and shadow browse name detection.
- Tests: Improved test stability and timeouts for CI environments.
All notable changes to this project will be documented in this file.
3.43.0 - 2026-01-06
Changed
- Graphviz: Improved layout algorithm for hierarchical graphs to be better balanced and more compact using virtual clusters and rows.
- Documentation: Enhanced markdown generation with better table formatting, header normalization, and improved reference tables.
3.42.0 - 2026-01-05
Added
- Validation: Added a new YAML validation script to verify nodeset files against the schema.
- Loader: Implemented strict type definition verification in YAML loader to prevent illegal redefinitions.
- Loader: Added detection for browse name shadowing in type hierarchies.
- Loader: Allow overriding
typeDefinitionin subtypes if the new type is a subtype of the original one.
Changed
- Schema: Updated
nodeset2.schema.ymlto useiso-date-timeforpublicationDateand refinedbrowsePathregex. - Schema: Allowed
accessLevelandvaluefields in instance definitions in the schema.
3.41.0 - 2026-01-02
Added
- Markdown: Added support for
!include(path)directive in markdown files to include external files. - Markdown: Added automatic header normalization when including markdown files.
- TypeScript: Added region comments to generated TypeScript definitions for better code folding.
Changed
- Documentation: Updated
buildDocletto support base directory for relative includes. - TypeScript: Refactored TypeScript definition generation to be cleaner and more structured.
- Yaml: Improved YAML model loading and saving to better handle property overrides and reduce redundancy in exported files.
3.23.0
- Replaced @hcc-js/wasm for graphviz.
- Updated husky config.
- Updated package and fixed structure XML output.
3.22.0
- Added test: overriding default UA namespace.
- Used 2020 instead of 1900 for default date year.
- Added the ability to inject a different version of the UA namespace.
3.20.0
- better handle accessLevel.
3.19.0
- Improved handling of components of an object that are also organized in a folder.
3.18.0
- Fixed symbolFilename variable assignment to include correct file extension.
- Added logging for symbolFilename existence and preset symbols length to provide more information during execution.
- Added extra check to detect badly overwritten components and properties.
- Displayed missing err.message.
- Added consistency check for overridden variable or object from base type.
- Added support for inite state machine with spare state and transition values.
3.16.0
- Fixed a few markdown generation issues with StateMachine.
- Checked import namespace URI consistency.
3.15.0
- Improved resolveNodeSetFilename to locate nodesetfolder when opcua modeler is installed globally as an npm package.
3.14.0
- Updated packages.
3.13.0
- Improved resolveNodeSetFilename to follow links.
- Fixed unbalanced dot graph issue.
3.12.0
- chore and reactoring
3.11.0
- updated graphviz (bug with arrow teetee still present).
- Improved graphviz generation.
3.10.1
- Fixed type in markdownImage doc.
3.10.0
- Added --markdownImage options and improved logging.
- Added ability to provide an empty -g prefix in y2m.
- Added missing tbody in tables.
- Fixed a few markdown formatting issues.
3.9.0
- Updated package.json.
- Handled version and publication date.
- Chased invalid dataType and fixed diagram of abstract state machine.
3.8.0
- Improved Variable support.
- Added support for recursive ObjectType at a deeper level.
3.7.1
- Fixed markdown generation.
3.7.0
- Minor adjustments.
- Updated packages.
3.6.0
- Improved error checking and modellingRule validation.
- Updated schemas.
- Used instead of definition.
- Added organized elements to topology sort.
- Fixed issues with incorrect modellingRule.
- Fixed kitchen in schema.
- Handled OptionalPlaceholder and MandatoryPlaceholder with abstract types.
- Added YAML AST.
- Displayed errors & warnings.
- Used withYamlPath instead of push/pop.
- Added warning message when types are not defined by logical order.
- Handled organizes in ObjectType and Object.
- Added schema validation.
3.5.1
- Fixed text eol.
- Updated packages.
3.5.0
- Updated packages.
- Improved state machine generation.
- Added tool to link node-opcua modules.
- Fixed dataType order processing.
- Ensured reference type starting with HasXXX have inferred inversedName.
3.4.1
- toMarkdownTable.
3.4.0
- Used HTML tables instead of markdown.
- Fixed SVG view port.
- Improved engineering unit inference.
3.3.4
- Fixed optional type (should have one n).
3.3.3
- Fixed state machine header level.
3.3.2
- Fixed XML comparison in tests (Windows).
- Checked correct use of typeDefinition and subtypeOf.
- Reverse: fixed description in method argument.
3.3.1
- Improved import_esm management.
3.3.0
- Fixed SVG generation.
3.2.0
- Updated packages.
3.1.0
- Added use case for derived StructureType.
- Updated packages.
- Added finite state machine support.
- Improved valueRank management.
- Fixed valueRank.
- Improved hasVariableType use case.