[v3.9.0] - 2025-05-28

platform:

  • improved Windows Service Start/Stop Handling Refactored service control logic to ensure more reliable handling of start/stop requests, particularly on Windows NT4. Previously, the service process could terminate without fully releasing resources, causing Windows to lock the executable files. This prevented clean updates during installation. With this update, services are expected to shut down gracefully, allowing the installer to replace binaries without issues.

[v3.8.0] - 2025-05-27

s7:

  • optimized File Upload to CNC with Destination Directory Support File uploads to the CNC have been optimized by eliminating the need for a separate move operation after transfer. The OPC UA server now automatically generates a special header that enables direct file transfer to the specified destination directory. If the target directory does not exist, it will be created automatically.

[v3.7.0] - 2025-05-23

s7:

  • added support for uploading large files exceeding 999 999 bytes to the controller.
  • file uploads to the CNC now support specifying a destination directory. By default, MPF files are uploaded to MPF.DIR and SPF files to SPF.DIR. If a custom destination is specified, the OPC UA server uploads the file to the default directory first, then attempts to move it to the target location.
  • s7 AMQ layer: added support for file operations: delete, copy, and rename.

FANUC FOCAS:

  • improved automatic detection of CNC models for the 0i series. Previously, the OPC UA server could not reliably distinguish between model variants A, B, and C — critical for correct FOCAS API behavior. This led to BadNotSupported errors when reading certain OPC UA nodes. Detection logic has been refined to ensure accurate model identification.

MAZAK MAZATROL SMOOTH:

  • series C/G/X: added support for file upload and download between the OPC UA server and the controller.

[v3.6.0] - 2025-04-22

FANUC FOCAS:

  • cnc_rddiag_ext
  • cnc_rdparam_ext

[v3.5.0] - 2025-04-14

platform:

  • github actions for both alpine/debian builds
  • hid: filter on pci/non-pci net adapters

FANUC FOCAS:

  • focas for linux
  • focas docker
  • ssync re-structure
  • ssync fs
  • fs download
  • fs upload
  • get rid of platform dependent LONG and ULONG types

[v3.4.0] - 2025-02-23

SYNTEC:

  • syntec linux support
  • syntec switch from wchar_t to utf16
  • docker for syntec

[v3.3.0] - 2025-02-20

platform:

  • common ssync: async result always
  • github actions/upload-artifact switch to v4
  • github actions/download-artifact switch to v4

SYNTEC:

  • fs transport
  • file download
  • file upload
  • utf-8
  • file/dir exists
  • fs: delete, copy, move
  • api error processing
  • custom nodes
  • NcFiles dir
  • keep alive
  • alarms getMessage
  • syntec alarm msg
  • move string encoding to utils as preparation for linux support

PMAC:

  • pmac ssync fix after common ssync refactoring

[v3.2.0] - 2025-01-22

SYNTEC:

  • syntect-t ls
  • proto refactoring
  • stack refactoring
  • async result buffer initial size
  • structured kernel responses: status

s7:

  • sinumerik S7TCP build for W2K and NT4

PMAC:

  • pmac com security

[v3.1.0] - 2024-12-24

SYNTEC:

  • general opcua server

[v3.0.0] - 2024-11-14

platform:

  • code sign
  • github actions sign tool
  • github actions fix linux build
  • github actions fix containers deployment

[v2.16.0] - 2024-11-06

platform:

  • msbuild pipeline
  • switch common tests from google to ms tests
  • alias bug fix: field converter fails if input value is received with bad status code

FANUC FOCAS:

  • implement cnc_getmaxpath

MAZAK MAZATROL MATRIX 2:

  • implement plcdevsignal

[v2.15.0] - 2024-10-21

platform:

  • crt: remove from libs
  • crt: add to deps
  • no precompiled open62541
  • no precompiled mbedtls
  • no precompiled pev
  • msbuild scripts
  • pev build
  • open62541 build
  • cleanup: unused projects

s7:

  • s7 setup communication fail-over scenario in case of corrupted response

FANUC FOCAS:

  • switch to common build infrastructure
  • cnc_rdparam & cnc_rdparam3 - directly specify param type as arg (index)
  • focas ssync
  • check path range 0..10
  • cnc_rdalmmsg & cnc_rdalmmsg2 - the type is optional
  • cnc_rdopmsg, cnc_rdopmsg2 & cnc_rdopmsg3 - the type is optional (-1)
  • cnc_modal, cnc_rdgcode, cnc_rdcommand

[v2.14.0] - 2024-08-15

s7:

  • bugfix: s7 REAL was assuming “double” data size which lead to TypeMismatch error

[v2.13.0] - 2024-07-23

platform:

  • do not check mac address for HID calculation when running in docker. Extra fix

[v2.12.0] - 2024-07-23

platform:

  • do not check mac address for HID calculation when running in docker

[v2.11.0] - 2024-07-19

platform:

  • fix installers target platform detection to correctly select crt version NT4/W2K/XP/current

[v2.10.0] - 2024-07-18

platform:

  • fix installers CRT_ANY

[v2.9.0] - 2024-07-09

s7:

  • now s7 plc supports the following areas: DB, M, I, Q, C, T

[v2.8.0] - 2024-06-24

s7:

  • we implemented support of plc M area (FLAGS)
  • fixed ctrl tool command line args processing

[v2.7.0] - 2024-06-03

s7:

  • docker deployment

[v2.6.0] - 2024-04-18

s7:

  • download fix
    we did not handle downloadBlock correctly
    we did not respond to downloadEnd - while we have to

[v2.5.0] - 2024-04-09

SYNTEC:

  • get rid of third-party libs dependencies
  • fully native implementation of SYNTEC communication protocol
  • switch to 64-bit mode

[v2.4.0] - 2024-03-04

platform:

  • aliases support for field access converter

s7:

  • S7 ONLINX strict transactions processing
    the response transaction should be exactly data response OR request ack. otherwise - reconnect!!!

MAZAK MAZATROL MATRIX 2:

  • new OPC UA server released for MAZAK MAZATROL MATRIX 2 and MATRIX NEXUS 2 series

[v2.3.0] - 2024-02-04

PICANOL BICOM:

  • new OPC UA server released for PICANOL BICOM

[v2.2.0] - 2024-01-25

s7:

  • s7: nck/plc batch read - invalid data item move next when data item comes with bad status
  • s7 onlinx: close driver on disconnect, otherwise ghost transactions arrive on session open

[v2.1.0] - 2024-01-09

MAZAK MAZATROL SMOOTH:

  • new OPC UA server released for MAZAK MAZATROL SMOOTH serial C/G/X

[v2.0.0] - 2023-12-14

platform:

  • fix monitored items register/unregister notifications to safely handle bad (unparsable) indexes
  • unification and simplification of platform (windows/lynux) abstraction layer

s7:

  • s7 deep refactoring of the protocol implementation, async model, transactions scheduler, cache and engines
  • s7 asynchronous tcp connection layer with event driven model
  • s7 CLNP and COTP protocols deep refactoring including event driven model
  • s7 ONLINX deep refactring including event driven model, much more simple and clean implementation
  • s7 TRANSPORT deep refactoring, much more simple and clean implementation
  • s7 API layer is introduced which extends s7 TRANSPORT with all types of s7 requests and s7 responses
  • s7 AMQ layer is introduced which is in full responsibility of transactions and tasks handling
  • s7 SCHEDULER deep refactoring
  • s7 SCHEDULER strategies: “device read”, “device write”, “batch read”

[v1.7.0] - 2023-11-17

platform:

  • The COMMON library has been introduced, serving as a shared component across all OPC UA servers. It encapsulates essential functionalities such as license management, certificate management, instances, aliases, and more. This approach enables us to maintain cleaner and bug-free projects for OPC UA servers
  • COMMON library ‘s-sync’ strategy. It offers an asynchronous engine designed for SERIAL/SYNCHRONOUS protocols. In this context, ‘s-sync’ signifies that the next API call is permissible only when the preceding call has been completed, and the response/error has been received. This strategy is particularly useful for SYNCHRONOUS protocols, where the API call blocks the worker thread until the response is received. Typically, the ‘s-sync’ strategy is applied when utilizing third-party protocol implementations, often supplied by CNC/PLC vendors, where we may lack in-depth control over the internal workings of the protocol
  • COMMON lib: modbus, syntec, ylr, pmac, cndex, evl

SYNTEC:

  • switch to loader and arg2
  • NcGetOSInfo - custom read - to avoid any requirements on indexes.
  • NC pending alarms
  • s-sync
  • gracefully process device disconnect/reconnect
  • retrying callbacks
  • MFC cleanup
  • cnc File System support, including Download, Send, List files, List dirs
  • kernel/multi tcp always come both if any
  • OCUser.dll should be included and installed - as it is needed for kernel api

PMAC:

  • s-sync

[v1.6.3] - 2023-10-16

platform:

  • HID calculation for linux: use enX0 adapter when eth0 is not there
  • HID calculation for linux: machine-id is used only if exists
  • update open62541 submodule
  • docker builder: ALPINE builder container

MODBUS:

  • modbus worker now fully supports gracefull shutdown
  • modbus synchronous socket io (less code, more reliable)
  • modbus socket listen: fix for linux
  • MODBUS proto: response timeout
  • MODBUS command line args: refactor descriptions
  • modbus OPC UA server now supports Linux
  • modbus OPC UA server is now available as docker image on DockerHub

PMAC:

  • PMAC fix BSTR to UA_String conversion
  • PMAC dcom reconnect timeouts
  • pmac pcomm32 stub/proxy
  • PMAC motor dump small fix
  • PMAC now supports “last error”
  • PMAC fix: correct device number to connect
  • PMAC error processing improved
  • PMAC process “RPC server is unavailable” error
  • PMAC async: monitored items, cache, requests, scheduler, handlers
  • PMAC link properties exposed

[v1.6.2] - 2023-07-24

features:

  • MODBUS recovery of protocol failures
  • CNDEX switch opcua server to standard loader
  • PMAC STD model
  • PMAC VAR
  • PMAC DPR MEM
  • PMAC DCOM support

[v1.6.1] - 2023-07-20

features:

  • MODBUS recoverable errors
  • MODBUS request interval default 100 ms

[v1.6.0] - 2023-07-18

features:

bugfixes:

  • YLR opc ua server: fixes in communication protocol

[v1.5.11] - 2023-06-29

features:

  • MODBUS OPC UA server: graceful process of timeouts.
    Important, when device is not ready to send responses.

[v1.5.10] - 2023-06-28

features:

  • MODBUS OPC UA server: configurable timeouts
  • MODBUS OPC UA server: device write

[v1.5.9] - 2023-06-27

features:

  • MODBUS OPC UA server: async model of communiction
  • MODBUS OPC UA server: cache for efficient device reads, transactions scheduler

[v1.5.8] - 2023-06-19

features:

  • MODBUS OPC UA server: pass slave id as index (optional)

[v1.5.7] - 2023-06-15

features:

  • MODBUS slave id support
  • universal tcp connection functionality: autmatic reconnect, notifications model
  • internal refactoring: unify command line args processing, services, OPC UA servers bootstrap code

[v1.5.6] - 2023-05-18

features:

  • beta release OPC UA server for MODBUS

[v1.5.5] - 2023-05-12

bugfixes:

  • HID calculation: legacy/current way to fetch mac addresses
  • DELTA TAU PMAC: multiple fixes in beta version

[v1.5.4] - 2023-05-06

features:

  • beta release OPC UA server for IPG PHOTONICS YLR
  • beta release OPC UA server for DELTA TAU PMAC

[v1.5.3] - 2023-04-25

bugfixes:

  • HID calculation
    for some servers with multiple Ethernet interfaces the HID was randomly changing

[v1.5.2] - 2023-04-11

bugfixes:

  • Release build of open62541 writes INFO/WARN logs to console std out.
    INFO/WARN are needed for Debug builds only!

[v1.5.1] - 2023-04-10

This is an EMERGENCEY fix release due to a critical error in v1.5.0:
OPC UA servers fail to load nodesets.
v1.5.0 was removed from downloads.

[v1.5.0] - 2023-04-07

features:

  • switch to mbedtls 2.28.3
  • platform build tools: mbedtls, open62541
  • restructure libs dir
  • update build scripts and installer scripts
  • s7nck for linux: cleanup CMakeLists.txt
  • github actions: build for linux
  • qt5 git submodule
  • opcua model compiler scripts for linux: license.sh, opcuamodel.sh
  • FOCAS add “AS” node to comply address spaces structure agreements
  • test server upgrade to v143 toolset

bugfixes:

  • bugfix: FOCAS incorrectly determines CNC system

[v1.4.5] - 2023-03-10

CHANGED:

  • UA namespaces changed to use “http://dpaxt.io” prefix

[v1.4.4] - 2023-02-28

FIXED:

  • HID calculation was fixed
    license HID calculation was corrupted in case of multiple ethernet interfaces including virtual interfaces (like VPN or Bridge)

[v1.4.3] - 2023-02-27

ADDED:

  • SYNTEC: NcDumpPendingAlarm, NcGlobalDump, NcCoordVarDump, SPLCA_ParamDump, Rot_ParamDump, LASER_ParamDump, LASER_GAxisParamDump

[v1.4.2] - 2023-02-27

ADDED:

  • SYNTEC: PlcDumpTimer, PlcDumpCounter, CncParamDump, NcDebugDump

FIXED:

  • SYNTEC installer: misprint in installed dll name

[v1.4.1] - 2023-02-21

ADDED:

  • SYNTEC license validation
  • SYNTEC NcStateDump

[v1.4.0] - 2023-01-31

ADDED:

  • Windows NT4 support
  • SINUMERIK S7 ONLINE for Windows NT4

[v1.2.2] - 2022-10-16

ADDED:

  • FANUC FOCAS opcua server. ALPHA version, do not use in production!

[v1.2.1] - 2022-08-10

FIXED:

  • s7nck & s7onck: estimate REQUEST pdu size - to correctly merge packages.
    OPC UA server generates corrupted requests in case when s7 dispatcher groups too many read items in one request.