Changelog and Upgrade Guide

This page lists all relevant changes in regular version updates.

What has changed in 1.0.66?

This regular maintenance release brings a set of bugfixes to improve overall stability. In particular, one important bugfix for write endpoint connection loss is included, where the bug is affecting 1.0.64 and 1.0.65 but is fixed in this version.

Changed

  • Installer: Use curl in favor of wget and force IPv4 lookup for wget to fix IPv6 issues

  • Admin-UI: Refactor server and node pages to new code standard. Refactor container-manager display pages to new code standard, fixing table sorting and rows per page issues for these pages

Fixed

  • All write endpoints: Fix missing subscribe of response endpoint after state change. This fixes a serious bug in version 1.0.64 and 1.0.65 concerning all write endpoints, which were not re-establishing their connection after a connection loss and re-connect.

  • Fix SetContextVars rule not working properly with context vars and rules

  • Modbus: Improving stability by fixing one seldom crash due to unhandled error event

What has changed in 1.0.65?

  • This version has a serious bug with write endpoints, please update to version 1.0.66!

This next maintenance release of the Connectware brings some more user configuration options, some downloads of metrics data, new response messages also for HTTP POST requests, and plenty of bugfixes in many areas.

Added

  • Users: Adding environment variable CYBUS_ADMIN_USER_ENABLED which can be switched off to disable the default admin user, see Default Admin User (NOTE: docker-compose.yml file change!)

  • Admin-UI: added download possibility for a usage metrics report

  • HTTP protocol: Add response message on write endpoints also for the HTTP protocol on POST requests.

Changed

  • System-control-server: Storage location for some cache data is changed from certs volume to systemControlServerData volume. Old data is copied to new location, and also not removed from old location so going back to older Connectware version is possible.

  • User docs: Improve focas documentation, especially for methods

  • Update Node.js to 14.18.1 and pkg to 5.4.1

  • MQTT: Improve diagnosis of specific error condition when target host refuses connection due to keepAlive=0 parameter, which happens with newer mosquitto servers.

  • Broker: Removes stunnel process from broker container (that was a proxy for the TLS connection to the auth-server) and replace it with direct connection to auth-server

Fixed

  • Admin-UI: Fix missing mqtt topics in explorer from agent, so that Explorer now shows all topics on central and distributed protocol-mapper agents.

  • Container-manager: Improve stability of microservice initialization on Kubernetes to avoid issues with VRPC connections

  • Broker: Fix and improve broker startup script

  • Connection: Fix unneeded persistence of connections during startup phase

What has changed in 1.0.64?

  • This version has a serious bug with write endpoints, please update to version 1.0.66!

Another regular release of the Connectware brings a set of new features: Endpoints for write operations can now enable additional buffering options. Agent registration has more options for specifying a password. The SQL protocol has more options for connecting to PostgreSQL databases. Additionally, a whole set of bugfixes for rule enging and service handling has been implemented, along with plenty of performance improvements in the Admin-UI.

Added

  • Introduce buffering options for endpoints that write to devices

  • Agent registration: Allow environment variable for specifying a password on the agent, alternatively to storing a randomly generated password in the local docker volume for agent registration

  • Services: Add validation of JSONata expression when enabling a service, to get faster and easier problem reporting on issues with JSONata expressions

  • Admin-UI: added button for sending usage metrics to portal manually

  • SQL protocol: Add support for accessing a postgres database over a SSL connection

Fixed

  • Services: Fixes retain property not working on Endpoints

  • Services: Fix missing re-evaluation of CYBUS_MQTT_ROOT variable on reconfigure/update of a service

  • Rule Engine: Create independent stores for each collect rule usage, so that it behaves correctly when used at different stages of a pipeline

  • Admin-UI: Better displaying errors on Admin UI

  • Admin-UI: Fix issue when endpoint resources on agents were sometimes not displayed

  • Admin-UI: Fix overview page of service links to only show services that in fact have links

  • Admin-UI: Fixing issue where the Admin UI Explorer would temporarily stop working when displaying large messages

  • Fix bootstrap.sh syntax error that could cause a crash loop of system-control-server on startup

What has changed in 1.0.63?

This regular maintenance release brings a set of bugfixes to improve overall stability.

Changed

  • OPC UA: improve error message if a session cannot be started due to mismatching security mode

  • Add user documentation of auto-generated ServiceID

Fixed

  • Fix collect rule to use its own storage, not modified by rules later in the chain anymore

  • Fix broken deviation tracking for service without endpoints, broken since version 1.0.53

  • Auth-server: Prevent removing grant type ‘token’ from ‘admin’ user

  • Admin UI: Fix displaying of error messages

  • Admin-UI: Fix table bugs on volume overview page

  • Admin-UI: fix metrics table sorting by date and time

  • Installer: Fix preflight checks to check for all URLs needed

What has changed in 1.0.62?

This regular weekly Connectware release brings two new features, where the commissioning file now has a new Cybus::File resource, and the Focas protocol also has the program_download command. Additionally, some minor bugfixes and stability improvements have been added to make working with the Connectware even more powerful and reliable.

Added

What has changed in 1.0.61?

This is a quick maintenance release because in version 1.0.60 the service catalog was unfortunately not working, but is working now again.

Fixed

  • Fix broken access to Service Catalog

What has changed in 1.0.60?

This is our next maintenance release with a set of bugfixes, a minor addition in the FOCAS protocol, and improving overall stability and performance.

Added

  • FOCAS: Adding new Focas methods: cncRdspeed, cncRdspload and cncRdgcode

Fixed

  • Admin-UI: Fix missing endpoint display if endpoints are on remote agents

  • OPC UA server and retained messages: fix typo where an undefined variable was used in the code

  • OPC UA events: fix typo in example yaml file

  • OPC UA events: fix eventtype filtering for opcua endpoints

What has changed in 1.0.59?

Another maintenance release of the Connectware brings several new features all around the product: Ingress routes can be extended with custom http headers to enable automated log-in at service webpages; Kafka gets more properties; OPC UA can be used with event subscriptions; OPC UA now has PLCOpen node types for S7 servers; Modbus gets more data type byte orders. Also, many bugfixes in the Admin-UI and several protocols have been implemented, increasing overall stability and performance.

Added

  • Ingress routes: Add support for adding http headers to ingress routes. Adds support for configuring headers to be added to requests processed by Envoy for Cybus::IngresRoutes.

  • Kafka: Implemented additional properties at Kafka messages. The message payload for the write operation of the Kafka protocol was reworked to accept more properties. The main change was that now each MQTT message can hold one or more messages in the payload to be sent to the Kafka Broker.

  • OPC UA client: Implement OPC UA event subscriptions. OPC UA endpoints can now be configured to set up event subscriptions instead of normal node (monitored item) subscriptions. This needs the properties eventTypes and and fields to be set.

  • OPC UA client: Implement PLCOpen node types for OPC UA servers running on Simatic S7. Some OPC UA servers running on a S7 PLC contains some nodes which use data types from the PLCOpen nodeset files. This change includes this nodeset files into our code, and also introduces a local type cache which should correctly handle the case when the OPC UA server has nodes with those types instead of running into issued with the standard opcua types.

  • Modbus: Added modbus datatypes floatBEWS and floatLEWS as datatype conversions for word swap float values.

Fixed

  • Admin-UI: Fixed issue where connections and other resources would be hidden if they were not from the protocol mapper agent.

  • Admin-UI: Fixing issue on the Admin UI where one could not consistently disable/delete/enable a cybus resource.

  • ADS: Fix endpoint deviation behaviour on subscription issues. ADS protocol endpoints will now become deviated when a subscription issue an error.

  • Focas: Fixed Focas connection on disconnect. Improved connect/disconnect methods with a state variable avoid connecting an already connected protocol or disconnect a disconnected one.

  • S7: Improve connection tracking for S7

  • S7: avoid protocol-mapper crash when attempting invalid reads. Add input validation and slight improvements to response in S7. Improve docs on S7 write operation.

  • Modbus: Improve disconnection state handling for Modbus.

  • Modbus: Add extra log for Modbus errors and improve disconnect on endpoint failure. Adds an extra error log in the case the jsmodbus library returns an error stating to check the response body of the request.

  • Kafka: The kafka protocol Write operation now correctly returns a message on the /res topic, indicating either success or an error.

  • Kafka: Only reset the connection on KafkaJSNumberOfRetriesExceeded exceptions, not on less severe errors.

  • User docs: Fix error in example for collect rule docs

  • Installer: Set default proxy configuration to empty to avoid issues on some outdated environments picking up empty string as a value

What has changed in 1.0.58?

Our next regular maintenance release of the Connectware brings a few bugfixes in various areas, and a small improvement for the license file at startup, especially for installation without Internet connectivity. Minor bugs have been fixed in OPC UA, S7, HTTP, and the installer script, and the overall stability has been improved.

Added

  • License file can be passed to system-control-server by injecting an environment variable (see Upload license file into Connectware), especially for installations without Internet connectivity

Fixed

  • OPC UA Server: Fix publishing of retained MQTT message

  • User docs: clarify dot operator in jsonata which gives confusing behavior if input messages are of array type

  • Fix installer –download-license-file option to be identical to the download from Portal website (NOTE: connectware-online-installer.sh file change)

  • Set default proxy configuration to empty in installer template (NOTE: connectware-online-installer.sh file change)

  • S7: minor improvements in error logging on connection timeouts

  • HTTP: Fix http probe on cleared _client

What has changed in 1.0.57?

This regular maintenance release of the Connectware brings many internal version updates, some stability improvements on restarts and shutdowns of containers, and a User Interface for managing certificates.

Added

  • Admin-UI: Add certificates management on the Admin UI (under the User Management menu), or /api/certificates HTTP endpoints.

Changed

  • Service-manager: Allow the “protocol” property of Connection and Endpoint to be set to an arbitrary value. Validation of child properties is skipped if the value is not one of the known list of protocols. In those cases validation is now done upon enabling those service and resources, not at installation time.

  • Version updates: Node.js from 12 to Node.js 14 in all containers; alpine runtime base image from 3.11 to alpine 3.12; VerneMQ to 1.12.3; node-opcua to 2.50.0

Fixed

  • Add correct handling of SIGTERM in containers, so that shutdown/restart of containers works considerably faster and under more control.

  • Admin-UI with reduced permission: Fix interpretation of readWrite to be accepted for read, too

  • Protocol-mapper: Improve error messages if x509 certificate errors are encountered during startup (such as expired internal certificates)

  • GenericVrpc: Fix crash on disable GenericVrpc resource

  • Fix auth-server startup warning about unknown sys-protocol-mapper user

What has changed in 1.0.56?

Another maintenance release of the Connectware is available with plenty of bugfixes all around the product. REST endpoints for bulk user handling are added, some dependencies have been updated, HTTP proxy handling has been improved, and bugs with GenericVrpc, distributed agents, and in the Admin-UI have been fixed.

Added

  • Auth-server: Add REST endpoint for bulk insertion and deletion of users

Changed

  • Workbench: Update node-red version to 2.0.6 (major update from 1.x to 2.0).

  • Update node.js version to 12.22.6

  • ADS: Allow minimum read interval to be as low as zero, so that it is the user’s responsibility to find a useful minimum value for a given system configuration

Fixed

  • Admin-UI: Fixed issue where the list of endpoints shows all resources, not only endpoint

  • Admin-UI: Fixing issue with occasional connection errors to backend

  • Container Startup: At startup when checking for existence of shared files, also check read permissions of those files

  • User docs: Fix portal backend address mentioning to be only a non-clickable DNS name

  • Distributed agent: Drop credentials only on 401 response. We change the policy on when the stored agent credentials are re-used and when they are dropped: Before, they were dropped on any result (including refused connection due to offline connectware) except a 501 or 503 timeout response from the ingress (which was caused by e.g. a overloaded auth-server). Now, they are dropped only on a valid http connection that gets a 401 response.

  • System Control Server: improve license validation and connectivity checks when the system is deployed behind a corporate proxy and add CYBUS_PROXY environment variables to docker-compose.yml file (NOTE: docker-compose.yml file change!)

  • GenericVrpc: fix deviation cleanup after reconnect

What has changed in 1.0.55?

This regular maintenance release of the Connectware brings performance improvements for large number of MQTT users, some fixes in the Admin-UI frontend where the pages were not displaying, and overall some updated and improve stability.

Changed

  • Auth-Server: Improve authentication performance for large number of MQTT users by caching the login credentials also on MQTT logins (which have already been cached for HTTP logins since many versions)

  • System-control-server, Admin-UI: Fix all outdated mentioning of portal.cybus.io as backend URL, which has been replaced by a new backend URL graphql-server.cybus.io since version 1.0.49. (Yes, the DNS name is somewhat technical, but that’s the current setup.) The features requiring online connection (license update, Service catalog) use the new URL since version 1.0.49 but the preflight checks were still mentioning the old URL, which is fixed now.

  • Introduces a barebone protocol-mapper-base docker image ‘protocol-mapper-base’ that can be used for creating special protocol-mapper agent Docker images that implement custom protocols

Fixed

  • Admin-UI: Fix several “vrpc connection lost” bugs by setting up the backend connection in a better way

  • Admin-UI: fix connectware metrics ordering in display

  • Usage metrics: Fix collecting number of messages in case of power cycling of broker to avoid negative numbers

What has changed in 1.0.54?

Another maintenance release of the Connectware is available, this time also bringing new HTTP OAuth authentication support, and Euromap 77 features in OPC UA server, and some useful bugfixes especially at the Admin-UI. Additionally performance and stability got improved in general.

Added

  • HTTP protocol: Add OAuth Client Credentials authentication support to HTTP Protocol, see Oauth 2.0 Client Credentials Grant

  • OPC UA: Add basic Euromap 77 integration, so that the OPC UA server can serve the data in Euromap 77 format by using the suitable nodesetFiles property in the configuration

Fixed

  • Admin-UI: Fix empty services list when switching between pages

  • Heidenhain protocol: Fix parallel reconnect trigger if multiple instances are being used

  • Kubernetes deployment: Fix service-manager volume mounting issue at startup

What has changed in 1.0.53?

This regular maintenance release of the Connectware adds a new overview table for the current system usage, and contains some important bugfixes concerning deviation tracking, OPC UA writing to Simatic S7 OPC UA servers, and ADS connectivity. The performance for large numbers of resources is also being improved continuously.

Added

  • Admin-UI: Add new information in page System -> Metrics where the collected usage numbers are shown in a table view.

Fixed

  • Fix deviation display problems when larger number of resources are being used. Sometimes the Admin-UI shows deviations even though the resources were working fine, which has been fixed now.

  • OPC UA: Fix failing write for S7 OPC UA servers. Also, an error message is logged in case opcua write is failing.

  • ADS: Fix connection problems for when he net ids and port are invalid causing the protocol-mapper to enter in a reconnect loop and crash.

  • Admin-UI: Now showing connecting label on button while connection is connecting on the Admin UI. Fixed issued where influx db connection would not reconnect

  • Admin-UI: Fixed issue where user without admin service custom routes access would be thrown in a authentication loop and the user cannot login anymore

What has changed in 1.0.52?

Our next regular maintenance release of the Connectware makes the explorer page even more powerful, and well-performing even for very large number of subscribed topics and messages. Additionally, in the S7 protocol there is an important bugfix, in the SQL protocol the connectivity to PostgreSQL has been added, and some more performance improvements have been implemented.

Added

Changed

  • Auth-server: The internal databases have been optimized to improve performance on large number of connecting clients

  • Connectware containers: The startup log messages of the node.js containers have been improved and skip the distracting info messages about added GET etc. routes.

Fixed

  • Admin UI: On home screen, fix the displayed number of services

  • Admin UI: On login, always redirect users to the home screen regardless of the previous URL, to avoid displaying confusing permission error messages

  • Admin UI: Fix explorer page for large number of topics so that the browser does not freeze anymore and many messages can be displayed

  • S7 protocol: Fix undefined variable in code, causing crash on “Bad 255” occurrence (unfortunately introduces in CYB-2933 version 1.0.43). Fixed now.

What has changed in 1.0.51?

This regular maintenance release of the Connectware brings a set of bugfixes in various protocols. The “write” operation now has return values added. And various improvements are implemented throughout the code.

Changed

  • All protocols: The “write” operation will now also return a response value

  • Ingress: Increase possible number of incoming connections by adding possibility to configure the maximum number of connections in ingress-controller. The env variable MAX_TCP_CONNECTIONS (default: 10,000) is added to docker-compose (previously the maximum was 1024). (NOTE: docker-compose.yml file change!)

Fixed

  • OPC UA client: Fix BadTooManyOperations error on unsubscribing from servers with MaxMonitoredItemPerCall limits

  • OPC DA protocol: string type for values is fixed again

  • Container-manager: Fix to work on Kubernetes by adding k8s namespace and docker ingressHostname as configuration variables

  • Agent: Fix accidental dropping of credentials on receiving a HTTP 504 response code

What has changed in 1.0.50?

Our next regular maintenance release of the Connectware brings further user interface improvements in the Admin-UI Explorer page, as well as improved Kubernetes deployment capabilities using a Helm Umbrella chart. Also, some bugfixes in the Admin-UI and also the rest of the software are improving the overall stability.

Changed

  • Admin-UI Explorer: Added a new popover to display resources associated with a topic

  • Admin-UI Explorer: Now it is possible to filter topics by their associated resource

  • Admin-UI Explorer: Now removing irrelevant topics

  • Admin-UI Explorer: Now hiding Admin UI Explorer´s monitored topic action buttons when not hovered

Fixed

  • Admin-UI: Fixed issue where publish endpoints would cause an error on the recently added Admin UI, either in the mapping detail page or in more places of the admin-ui

  • Admin-UI: Added loader screen after login while waiting for some UI components to initialize fully, to avoid showing an empty screen instead

Changes for Kubernetes deployment

  • Container-manager: Adapt container-manager to k8s, so that at least its first set of features (logs, container creation and deletion) are available in k8s as well

  • Broker cluster self-healing

  • Change Broker k8s Service to an StatefulSet

  • Make resource requests and limits configurable in the Helm Chart

  • Add namespace to container-manager roles

  • Add an init container to the broker-cluster deployment

What has changed in 1.0.49?

This regular maintenance release of the Connectware brings a new overview table of all “links” (e.g. dashboard buttons) in the Admin-UI, some more improvements in the recently overhauled Explorer page, and some more bugfixes in OPC UA protocol, SQL protocol, Kafka protocol and throughout the software.

Added

  • Admin-UI: Created Services Link table under the resources navigation tab, available also for non admin users

  • Kubernetes deployment: Added initial Helm chart integration

Fixed

  • Admin-UI: Fixed issue with table sorting being reset after new items are added

  • Admin-UI Explorer: Now showing grayed out topic check-boxes if the children beneath it have multiple selection states. Added unsubscribe button to Monitored Topics section. Fixed issue with topic messages or paths being too long. Do not load topics that the user does not have permission to subscribe to. Instantly display monitored topics if they do not contain a wildcard

  • OPC UA: Detailed error logging for createmonitoreditems request

  • SQL protocol: Placeholders for SQL read endpoints

  • Kafka protocol: Improved Kafka connection state handling

  • Service Manager: Fixes to usage reporting

What has changed in 1.0.48?

This regular release of the Connectware brings improvements to the Admin UI in the Permissions and Roles section, improvements to the Protocol Mapper in the form of OPCUA object crawling, support for MQTT V5 options in the MQTT endpoints and connections, and improved support for mutual TLS verification for the Broker.

Added

  • Admin UI: New system role with limited permissions added

  • Platform: Add env file option CYBUS_BROKER_USE_MUTUAL_TLS for mqtt mutual TLS configuration (NOTE: docker-compose.yml file change!)

  • Protocol Mapper: Add MQTT5 support in MQTT protocol for both connection and endpoint

Changed

  • Admin UI: Improved License management on Admin UI, the license information, including id, can now be viewed by every user on the Connectware and other general improvements

  • Service Manger: Decrease log verbosity of systemstate protocol connections

Fixed

  • Broker: Fixes in mutual TLS code and configuration

  • Protocol Mapper: Fixes for crawling of OPCUA structures

  • Service Manager: Fixes to deviation tracking

  • Admin UI: Improved permissions management

What has changed in 1.0.47?

This regular release of the Connectware brings significant improvements in the Mapping resources by adding the possibility to list many subscribe topics for a single mapping, together with the collect rule to combine these easily. The user interface for the Mapping got improved by displaying the data directly on the Admin-UI, together with potential errors from rules, to make rule debugging significantly easier and faster. The OPC DA protocol has been extended to support also simple write endpoints and an OPC DA bug with newer windows versions was fixed. Also, some more documentation improvements have been implemented, and more bugfixes in Mapping and OPC UA Server have been implemented.

Added

  • Mapping: Support multiple endpoints/topics in Mapping subscription and add new collect rule (see subscribe and collect)

  • Admin UI: Add new MQTT message display in Mapping page, and also displaying errors from Mapping Rules directly in the Mapping page.

  • OPC DA: The write operation was implemented on the OPC DA protocol.

  • User docs: Explain the definition of array parameters better in documentation (see Additional properties for arrays)

  • User docs: Add docs about system requirements (see System Requirements)

  • User docs: Complete list of S7 data types (see Siemens SIMATIC S7)

  • OPC UA Server: add config settings for max connections server in Custom Server Properties

Fixed

  • OPC DA: Fix OPC DA protocol version for newer windows versions to fix RPC_E_INVALID_HEADER error message

  • Mapping: Fix potentially duplicated messages on re-enabled mapping, especially when connecting to an external MQTT broker northbound

  • Admin UI: Choose default MQTT message display types similar to what they have been before

What has changed in 1.0.46?

Our next regular maintenance release of the Connectware brings a brand-new explorer page in the Admin UI where custom topics can be added, topics can be filters, and topic selection is much improved. Many more bugfixes in the Admin UI and some minor fixes in other areas are added, too, to achieve overall speed and stability improvements.

Added

  • Admin UI: New Explorer UI is now live: Button for “Add custom topics”, filter by topic types, collapsable history, improved performance

  • Admin UI: Extend deviation reporting: Add “reason” to state event

  • Distributed mappings: Mappings now can run on agents by specifying an agentName property, see Cybus::Mapping

Fixed

  • Admin UI: Connection details now displays extended properties

  • Admin UI: Fixed rows per page issue on Connections table and on Mappings table

  • Admin UI: Fixed sorting issues on Connections and Mappings table

  • Admin UI: Fixed issue with explorer UI where one could not copy JSON topic messages on the UI

  • Admin UI: Fixed issues with Sections expansion on Services (and now Connections)

  • Admin UI: Fixed issue on Admin Web UI where previous service parameters would be overwritten by the new default ones

  • Admin UI: Fixed issue where appbar breadcrumbs would use singular name instead of plural

  • Admin UI: Fixed issue with Admin Web UI rendering the wrong breadcrumbs on User and Role views

  • Auth-server: Fix creating and reading of roles with no permissions

  • OPCUA Server: Fix wrong if-clause before accessing this._historyManager

What has changed in 1.0.45?

This regular maintenance release of the Connectware brings another new protocol for connecting to Apache Kafka clusters, and some bugfixes throughout the system, in particular with the startup procedure of the system control server, in order to improve overall stability.

Added

  • Kafka protocol implementation. This change adds the Kafka protocol that allows connectivity to Apache Kafka clusters/brokers.

Fixed

  • User docs: mqtt client documentation improvements

  • Improve startup timing of system control server, fixing some conditions where the connection between system control server and container manager was not set up correctly

  • Fix parsing error on using Cybus::MqttPort global parameter which used to be refused in certain contexts requiring an integer value

  • Admin UI: removed beta tag from service catalog menu item

What has changed in 1.0.44?

This next regular maintenance release of the Connectware comes with some minor new feature for special login situations, several usability improvements in the Admin User Interface with earlier error checking, and various stability improvements and bugfixed in the general resource handling.

Added

  • Implement potential long-lived JWT tokens to be passed in the URL. Those tokens can be created and managed through the REST API and are intended to be used in shopfloor display devices where no keyboard login is usually used. (There is no UI to manage those tokens, yet)

Fixed

  • Distributed agent: Fix too quick discarding of existing credentials, if on re-connecting to the central connectware there is no immediate login possible. Now, the distributed agent will keep re-trying with existing credentials on unreachable connectware and unreachable auth-server.

  • Admin-UI: Check and prevent issues with long service Id and too long container names. If the commissioning file contains docker containers, the length of the serviceId is now limited according the the resourceId so that the resulting container name is within the 63 character limit. Before, there was no limit on the serviceId length, but the service enabling would eventually fail due to the limit on the container name.

  • Mapping: Fix setContextVars rule which was not working correctly, but is documented and working correctly now.

  • Auth-Server: Improve performance when querying roles and permissions

  • User docs: improve OPC UA documentation

What has changed in 1.0.43?

Another regular maintenance release of the Connectware! There are some helpful improvements in the commissioning file and in handling of container networks, and there are performance improvements in MQTT and S7 protocol. Also, the user interface has been worked on to fix some minor bugs and improve stability in general.

Changed

  • Commissioning files: The agentName of an Endpoint does no longer need to be specified but is looked up from the Connection resource

  • Container manager: Networks that are created by deploying container resources are now cleaned up again on service disabling

  • Kubernetes: improve manifests, broker clustering, and volumes.

  • Admin UI: Add alternative permissions for services table and extend REST endpoint

Fixed

  • S7 protocol: Fix “BAD 255” values when polling

  • MQTT protocol: Ensure that we never publish to a MQTT topic with wildcards, as this would terminate the mqtt connection immediately.

  • MQTT Performance: Improve auth-server performance for handling many mqtt clients

  • Admin UI: System Control Service changes for improved stability

  • Admin UI: Fix service links on the admin web ui to again open in new tab

  • Admin UI: Fixing issues where the services would appear for half a second to not be loaded when first loading the application

What has changed in 1.0.42?

Our next regular maintenance release of the Connectware comes with some bugfixes in various protocols, an interesting new protocol Systemstate for notifications of internal states, and overall speed and stability improvements.

Added

  • Systemstate protocol: Added a new protocol Systemstate that enables access to internal Connectware events as mqtt messages.

  • OPC UA Server: New Object Type Opcua:Reference was added for usage in commissioning giles. This enables users to reference preexisting nodes and structures in a commissioning file. The Reference type also creates an MQTT topic that publishes the value of the nodeId.

  • Deployment: Adds initial support for running Connectware in a Kubernetes cluster

  • Influxdb protocol: Added writing of multiple data records per message for InfluxDB.

Fixed

  • Fix missing MQTT endpoint/connection schema validation in service manager

  • Influxdb: Added default value http for connection scheme

  • Heidenhain: Make sure to not do anything if we are disconnected, to avoid any activity after service disabling.

What has changed in 1.0.41?

This next regular maintenance release of the Connectware comes with some bugfixes in various protocols, some helpful new configuration properties for OPC UA connections, and overall speed and stability improvements.

Added

  • OPC UA client: Add configuration property maxMonitoredItemsPerCall in OPC UA connections. This allows to let the group registration be done with the given maximum number of items per call, if the server requires such a restriction.

Changed

  • Admin UI: Further refactoring to prepare login with different permission sets. On a changed connectware version the admin-ui will now logout.

Fixed

  • Admin-UI: Revert service “links” style into buttons again

  • Admin-UI: Fixing issue where non-default parameters would not be loaded in update dialog

  • Admin-UI: Fix missing connection host/port to be displayed in overview table

  • Service manager: Fix waiting time upon service start that causes very long time on restart

  • Heidenhain protocol: Fix unhandled promise rejection on agent restarting by fixing missing await. Fix sanity check on disconnect. Also, fix lookup of instance name in ‘instanceGone’ event. Add more sanity checks where appropriate. Should fix missing reconnection on machine restarting.

  • Container-manager with more robust startup to run multiple attempts to instantiate a ProtectedDocker instance

What has changed in 1.0.40?

This is a bugfix release to improve the behaviour on two issues recently discovered. In the Admin-UI, the “links” buttons are fixed again, and in Bacnet the disable/enable behaviour has been improved. Also, minor other updates are included.

Fixed

  • Bacnet: Fix leftover connections (“zombie”) after disabling some bacnet services. This also enables the cronExpression property for bacnet endpoints.

  • Admin-UI: Fix broken “Links” urls on the service detail pages

What has changed in 1.0.39?

Another regular maintenance release of the Connectware! The Admin-UI has been improved in the service details view, and several bugfixes and improvements regarding large number of endpoints have been implemented. And there is the regular share of further stability improvements.

Changed

  • Admin-UI: Service details page for updating a service restructured: Buttons are placed in a more structured form; install, update, and reconfigure all use the same new two-section window. Further internal refactoring to reduce technical debt.

Fixed

  • Admin-UI: Services with no parameters will have a clear message about it

  • Admin-UI: Rows per page is now fixed on service resource tables and logs tables (but not yet on tables elsewhere)

  • Admin-UI/Explorer: Let mapping topics with named wildcard show messages in history

  • Admin-UI: Better error reporting when handling a service runs into an error

  • Service deviation detection: Fix deviation tracking and reporting for Endpoints, also for larger number

  • Admin-UI Deviation detection: Collect deviation events before emitting them, to fix freezing admin-ui on larger number of endpoints

  • Admin-UI: Available Service Catalog version is now always displayed on the service details page

  • OPC UA: Better cleanup after early termination of MonitoredItemGroup

  • Licensing: Fix expiration date to correctly keep working until day’s end of that date

  • Bacnet protocol: fix potential leftover polling timers to avoid double messages after fast reconnections or service updates

What has changed in 1.0.38?

Our next regular maintenance release of the Connectware comes with some bugfixes in various protocols, an interesting new polling schedule feature on endpoints, and overall speed and stability improvements.

Added

Changed

  • InfluxDB: Simplify the topic name for InfluxDB endpoints. The topic name for endpoints now uses either the name of the measurement for writing or “data” for read/subscribe

Fixed

  • Agents: Fix missing mqtt scheme when creating the internal MqttConnection, causing problems for agents that want to use “mqtts” instead of “mqtt”

  • OPC UA: Better error reporting with MonitoredItemGroup in case of initialization failure

What has changed in 1.0.37?

This next regular maintenance release of the Connectware comes with some improvements in most protocols about the reconnection timing, more stability towards handling very large commissioning files, and some more bugfixes and minor updates all across the board.

Added

  • All protocols: Add incremental delays for re-connection attempts, so that instead of trying a reconnection every 1 second, the waiting time is now increasing until 30 second maximum, and can be configured by the connectionStrategy property, see Cybus::Connection

Changed

  • Upgrade BACnet stack to version 1.0.0

  • Update various npm packages with minor and major version updates

  • Container-manager: Fix startup procedure of container-manager to not have it exit multiple times

  • OPC UA client: minor user docs improvement to clarify nodeId syntax

Fixed

  • Fix service delete/install via REST API not showing up in UI

  • Improve loading of large files in REST: Re-use Parser results in Service constructor

  • Admin-UI: fixed rendering of service metadata in service details view

  • OPC UA server: Finish exposing metadata for historizing aggregations

  • Influxdb: Simplify the topic name for InfluxDB endpoints

What has changed in 1.0.36?

Another regular maintenance release of the Connectware! Again the stability and configuration time for larger commissioning files is improved, as well as error reporting in OPC UA client protocol, BACnet, InfluxDB, and other places. And there are many other bugfixes and overall improvements.

Changed

  • OPC UA protocol: Clarify reconnection timing behaviour in user documentation, and decreasing default maximum waiting time between subsequent re-connection trials from 60 seconds to 30 seconds.

  • OPC UA protocol: Check and report if endpoint requests nodeId that does not exist on server. The respective endpoint will change into “disabled” state.

  • OPC UA server: Extend historical access methods to also allow aggregation functions Average, Minimum, and Maximum.

  • BACnet user documentation improvements

  • Admin-UI: Further improvements for loading large commissioning files, avoiding timeout error messages and increasing efficiency on loading the file in the backend. Improve efficiency on service delete, too.

  • Ingress-controller: Update Golang to 1.16.3 and use Alpine 3.13 for all Golang images

Fixed

  • Admin-UI: Fix ingress routing issue with some service dashboards where permissions were missing

  • Admin-UI: Fix page redirect after deleting a container resource

  • Admin-UI: Fix missing cache-cleaning when reloading web-app after version upgrade in some browsers

  • Docker: Fix docker image permission check if the license requires exact match, where the permission check erroneously reported that the current license does not have permission for some docker image

  • InfluxDB protocol: Fix occasional crash on disconnection which unfortunately caused a protocol-mapper crash

  • Container-manager: Fix startup behaviour

  • Fix re-attaching ingress route on restarting connectware if a service is enabled (broken since 1.0.33)

  • Fix service delete/install via REST API not showing up in UI (broken since 1.0.34)

What has changed in 1.0.35?

Our next regular maintenance release of the Connectware comes with more speed and stability improvements for larger commissioning files, and some bugfixes in various protocols.

Changed

  • OPC UA user documentation: Add example endpoint into documentation for commissioning files with only one connection, which might need also one simple endpoint (as a workaround for some OPC UA server that closes a connection after 30 seconds if it has no endpoint)

  • Modbus protocol: Adding support for configured data types on input data for write operation

  • Service files: Speed up the initial file parsing considerably

  • Admin-UI: Code refactoring to improve handling of large files. Also, change service installation window to give better overview of upcoming parameters.

  • Update node.js to 12.22.0

Fixed

  • Admin-UI: Fix missing resource count update on enabling

  • Admin-UI and REST endpoint: Prevent default role protocol-mapper-agent from being deleted

  • OPC UA server: Fix accidental server shutdown after 60 minutes

  • Service files: Fix error messages about createBatch timeout which are not necessarily a problem

  • System startup: Fix occasional startup timing issues; sometimes error message “Could not create EndpointView instance… 6000ms timeout” appeared, sometimes the service-manager could not establish the connection to the container-manager, or vice versa.

  • System startup: Avoid writing resources with failed initialization to docker volume persistence.

What has changed in 1.0.34?

This next regular maintenance release of the Connectware comes with a significant improvement towards handling very large systems and commissioning files. Many inconveniences and issues with large files have been fixed, together with some bugfixes in the Admin-UI and the OPC UA Server.

Added

  • Add logLevel parameter to SQL connection: Adds a new flag for the SQL connection, logLevel, to switch on per-request log messages.

  • User docs: Adding kubernetes deployment example to the agents documentation

Changed

  • Service management: Several improvements to significantly increase speed and stability when dealing with large service commissioning files throughout their whole life cycle: At installation from Admin-UI, at installation from REST endpoint, at deviation tracking during runtime, at restarting of the protocol-mapper or other containers, and at disabling and deletion.

  • Mapping resources: Significantly improve performance when enabling large amounts of mappings

  • Admin-UI: Internal refactoring to improve response times and stability

  • Admin-UI: Implemented a warning display if frontend and backend may operate on different versions if page is not manually refreshed by user

Fixed

  • Fix /api/services/post REST endpoint to accept large files

  • Service management: Fix various crashes with large number of endpoints

  • OPC UA Server: Check for duplicate browsenames and nodeids and display appropriate error messages

  • Pfannenberg protocol: Fix too often renewal of subscriptions

  • Admin-UI: fixed count of resources in service detail page after resources have been deleted

What has changed in 1.0.33?

Another regular maintenance release of the Connectware! This time, stability for larger commissioning files is improved, as well as error reporting in OPC UA server, InfluxDB, and other places. And there are many other bugfixes and overall improvements.

Added

  • OPC UA client: Add optional check by TCP whether the target host and port is actually reachable (needs checkHostReachable: true)

  • OPC UA Server: Add OPC UA object types that can be received or published via JSON structures on MQTT topics.

Changed

  • Container manager: Add more descriptive error message if setting ulimit in container fails due to missing permissions, which are not available on some Docker host setups, see ulimit

  • OPC UA Server: Again introduce better error reporting on duplicate browse name errors

  • Admin-UI docker logs: Change button “raw logs download” to really return raw logs, which is the output from the Docker daemon’s logs, not anymore a JSON file, see Logs.

  • InfluxDB protocol: Improve InfluxDB user documentation and example, and improve error handling

Fixed

  • OPC UA protocol: Fixed handling of large number of endpoints by managing endpoint in address groups internally

  • Services: Some fixing of deviation tracking in larger commissioning files. Also, fix criterion when deviation tracking is switched on or off for larger amount of endpoints.

  • Services: Reduce proxy timeout errors when subscribing deviation tracking

  • Services: Improve the loading behaviour of persisted Service instances on service-manager restart

  • Protocol-mapper: Fix endpoint creation on container restart to also use batch creation

What has changed in 1.0.32?

This regular maintenance release of the Connectware brings stability improvements for OPC UA, some improvements on error reporting for container resources and container logs, and some bugfixes on InfluxDB and Modbus protocols.

Added

  • Container resources: Add support for configuring ulimit -n in containers from commissioning file properties, see ulimit.

  • Admin-UI: For container logs, added “Download raw logs” button for retrieving more details for bugfixing, see Logs.

Changed

  • Container manager: better feedback on missing registry permissions for pulling Docker images

  • OPC UA client: Some log output improvements for larger customer setups

  • Docker logs: Set docker logging parameter max-file default to 2, so that there should be one log file always available

Fixed

  • OPC UA server: Fix occasional problems after service deletion when enabling another service with new OPC UA server

  • InfluxDB protocol: Fix disconnection tracking and improve configuration

  • Modbus protocol: Fix too quickly reported state changes, especially on startup

What has changed in 1.0.31?

Another regular maintenance release of the Connectware. There are bugfixes in some protocols, some user documentation, and optimizations.

Changed

  • SQL protocol: increased connection probe delay and reduced logging level.

  • Auth-server: Optimize basic auth API

  • OPC UA Server: ObjectNode integration. Allows creation of OPC UA object types by commissioning files and the ObejctType node creates a JSON topic that is published on MQTT topic.

  • Admin-UI: In the System->Agents list, allow offline agent entries to be deleted from the list.

Fixed

  • User docs: Added instructions on how to deploy an agent on the Modbus Agent example

  • Connection parameters: AdditionalProperties property was set to false in all protocol connections and endpoints schema.

What has changed in 1.0.30?

This regular maintenance release of the Connectware brings some protocol enhancements as well as a new node.js security patch and improvements to interdependent service handling.

Changed

  • Service manager: Introduce inter-service dependent enabling/disabling so that disabling a parent service with dependent child services will cause those to be disabled as well.

  • Werma protocol: Improve reconnection state handling

  • Update node.js to 12.21.0, which includes security updates

  • Container manager: Fix checking for docker container’s hostname string length which must not exceed 63 characters. Watch out: Under certain conditions, longer container names were silently accepted and seemed to work, but will no longer be accepted now.

Removed

  • MSSQL protocol: Removed optional SQL syntax checking option. If the option is still used, a deprecation warning is logged, but nothing happens anyway now.

Fixed

  • OPC UA Server: Fix error on deletion, and fix large numbers of endpoint and node deletion

What has changed in 1.0.29?

This regular maintenance release of the Connectware brings some OPC UA and ingress timing bugfixes.

Changed

  • Ingress: Increase ingress route timeout to 30 seconds, and also add CYBUS_ROUTE_TIMEOUT as environment variable to the docker-compose.yml file.

  • OPC UA Server: Integration of prebuild Nodeset files

  • Modules update: nodejs to 12.20.2, vrpc to 2.3.2, pg to 8.5.1, db-migrate-pg to 1.2.2

Fixed

  • OPC UA: Fix deletion of endpoints to not take too long anymore

  • Admin-UI: Fix TCP ingress routes erroneously shown as HTTP routes

What has changed in 1.0.28?

This release brings a new protocol for connecting to InfluxDB databases directly from the Connectware. Also, OPC UA Server can now have nodes added and removed at runtime flexibly. And some additional bugfixes for OPC UA Server, ADS protocol, and agent installation are improving Connectware stability and reliability continuously.

Added

  • InfluxDB protocol: Add support for InfluxDB connection protocol

Changed

  • Ingress: Update ingress-controller implementation to use Envoy API V3.

  • OPC UA Server: Enabled inter-service referencing for server nodes, so that additional nodes can be enabled and disabled while the server is running

Fixed

  • OPC UA Server: Fix re-creation of service after restarting connectware

  • OPC UA Server: Print useful error message for out-of-range values, in case a JSON message contains a value that does not fit in the range of the OPC UA node

  • OPC UA Server, MQTT protocol: Node and Endpoint with improved qos option handling

  • Agents: Fix permission problem on restarting previously running agents

  • Installer: Clarify default value of systemd install option

  • Service enabling: Improve error message on offline agent

  • Service catalog: fix download counter on installing a service from the services catalog

  • ADS protocol: fix error on write operation

  • ADS Protocol: Code cleanup and better error reporting

What has changed in 1.0.27?

Another regular maintenance release of the Connectware, including a collection of OPC UA bugfixes and other protocol improvements.

Fixed

  • OPC UA Server: Fix handling of initialValues for receivingDataNodes

  • OPC UA Server: Prohibit enabling if duplicate browseName was used

  • OPC UA: Update node-opcua to 2.31.0, fixing connection problems with Heidenhain client

  • ADS protocol: Fix cancelling of blocking connection requests

  • Fix spurious Endpoint/Node persistence files after deletion of service

What has changed in 1.0.26?

The next regular maintenance release of the Connectware, including a collection of connectivity bugfixes for various protocols and for the OPC UA Server.

Changed

  • OPC DA protocol: Improve handling of connection errors and wrong connection parameters to quickly show an understandable error message

  • Focas Protocol: Update Focas library to version 4.16 (February 2018)

  • Admin-UI: Let the Agent overview page also display Heidenhain agents

  • Containers will now exit on missing permissions

Fixed

  • OPC UA Server: finalize integration testing

  • GenericVrpc protocol: Fix multiple connects in remote agent

  • OPC UA Server: Fix parsing int64 values and also initial values

  • Bacnet protocol: Fix Bacnet connection errors (on subscribe)

  • MQTT Protocol: Fix MQTTS connection errors

  • Heidenhain protocol: Fix broken reconnect if agents are restarted

What has changed in 1.0.25?

This is just another regular maintenance release for the beginning of the year, bringing mainly some bugfixes for the OPC UA Server and some small improvements in SQL protocol and workbench handling.

Added

  • SQL protocol: Enabled submitting multiple records per message into one SQL statement

  • Workbench: Added node-red project support (git repository)

Changed

  • Ingress proxy: Update Envoy to version 1.17

  • User docs: Added documentation for Cybus::Container resource limitations introduced in 1.0.21

Fixed

  • OPC UA Server: Fix connection from UAExpert

  • OPC UA Server: Fix crashing protocol-mapper on additional services in parallel to OPC UA Server

  • OPC UA Server: Let OPC UA Server also start correctly from persistance

  • Containers: all containers should exit when authorization is not possible. VRPC update to 2.3.0.

  • User docs: Fix mistake in OPC UA docs and adjust Focas endpoint properties description.

What has changed in 1.0.24?

Another regular maintenance release for the beginning of the year, bringing some bugfixes for OPC UA Server and improving the recently added Focas protocol.

Changed

  • Update NodeJS to version 12.20.1, including security updates

  • All protocols: Switch base image of protocol-mapper from alpine linux to debian (buster-slim) to avoid compatibility issues with musl-libc and now just use standard glibc

  • MQTT Broker: Upgrade VerneMQ to version 1.11, fixing issues with overly consuming disk space

Fixed

  • OPC UA Server: Fix for Mismatch of UserIdentityTokens, fixing some connection problems from specific OPC UA clients.

  • Focas protocol: Make Focas connection asynchronous again

  • Focas protocol: Fix crash on return value conversion of pmc_rdpmcrng method

  • Documentation: Fix modbus example files to always define a dataType property on all endpoints

What has changed in 1.0.23?

This regular bugfix update improves stability and scalability, but also brings new features. The release includes ingress routes to custom service containers now not only for HTTP protocol connections but also for general TCP/IP connections. Also, the Focas protocol for Fanuc CNC machines has been added.

Added

  • New ingress routes for TCP/IP added, so that not only HTTP but also general TCP/IP connections can be routed to service containers via Cybus::IngressRoute.

  • New protocol added: Fanuc Focas

Changed

  • Admin UI: Service catalog display page is updated with categories and more pointers on how to create and deploy further services

Fixed

  • Modbus protocol: connection status not updating on half-open TCP socket

  • OPCUA Server: Increase large number of nodes that can be created

  • Documentatino: Update docs to reflect actual default for QOS on mappings

  • Admin-UI: Fix double upload needed on license upload

  • Admin UI: Fix system status page reload

  • OPC UA Server: fix OPC UA Server’s different endpoint specification preventing some client access

  • Commissioning files: Fix bug in circular dependency detection algorithm

What has changed in 1.0.22?

Added

  • Add local caching of valid license file so that offline instances can restart without additional license file handling

  • OPC UA Server: Added 64-bit integer number support

  • ADS protocol: Added data type conversion directly in endpoints

Changed

  • Docker: Change docker image tags to version number instead of git commit hash

  • OPC UA Server Historical Access: Use the original data timestamp when writing to influx database

  • OPC UA Server Historical Access: Improved retention policy handling

Fixed

  • OPC UA Server: fixing server behavior if MQTT broker is reconnecting

  • SQL protocol (MariaDB): Fix sql insertion when template variables contain non-ascii characters

  • OPC UA Server: Fix error on influx setup preventing OPC UA access at all

What has changed in 1.0.21?

This regular bugfix update improves the stability of the new OPC UA server considerably. Also, issues with MQTT connections, in Heidenhain protocol, and in the user interface have been fixed. And the first beta version of the Service Catalog for downloading services online from the Cybus Portal has been added - more content will be added there over the upcoming weeks and months.

Added

  • Admin UI: Added first draft of Service Catalog for installing services online from the portal

  • Docker resources: Add properties to limit CPU and memory usage

Changed

  • OPC UA Server: enable OPC UA secure channel by default. BREAKING CHANGE: Connectivity to OPC UA Server is now only possible by “SecuritySetting: Basic256Sha256, SecurityMode: SignAndEncrypt”

  • Modbus protocol: Improved error messages in case of modbus server disconnect

  • Update some npm dependencies packages

Fixed

  • OPC UA Server: Fix for nonexposure of Namespace metadata for cybus namespace

  • OPC UA Server: Fixed errors when more than one root node is specified

  • OPC UA Server: Fix error with array datatypes

  • OPC UA Server: Fix initialValue 0 not accepted

  • OPC UA Server: Fix slow endpoint creation if service contains also nodes

  • OPC UA Server: Catch errors and exceptions on starting OPC UA server if e.g. port is in use

  • MQTT and GenericVRPC protocols: Fix mqtt-package dependency to non-broken version 6.7.0 where the previous version 6.6.0 caused “Error: Invalid length” exceptions. The erroneous dependency affected Connectware 1.0.18, 1.0.19, and 1.0.20.

  • Heidenhain protocol: Fix endpoint schema to allow function call parameters on subscribe

  • Admin UI: Fix unsorted service overview table

  • Admin UI: Fix various mui-datatables deprecation warnings

  • Admin UI: Fix blank screen for service details if agent is offline

  • Admin-UI: Fix wrong character encoding on downloading commissioning files with non-ascii characters

  • Managed Appliances: Fix missing NODE_ENV in balena docker-compose file

What has changed in 1.0.20?

Another regular bugfix update of the Connectware. This time, some EtherNet/IP and MsSQL protocol issues have been fixed, some structure improvements with the OPC UA Server were added, and several overall stability improvements were implemented.

Changed

  • Admin-UI: On a Balena managed appliance, show a different link for updating

  • Agent performs version check upon connecting to central broker, for now just printing a clear log message on version mismatch, but in the future more automatic actions are being prepared.

Fixed

  • OPC UA Server: Simplify configuration to only define server and node, no more “parent node” resources. Various other configuration clarifications.

  • OPC UA Server: Several unhandled promise exceptions are fixed. Deviation tracking is fixed, too, and also UI representation.

  • Mssql protocol: Fixed host parameter which could not be changed on subsequent connection attempts.

  • EtherNet/IP protocol: Fix unhandled promise rejection on errors in scanning process

  • REST API: Fix client registration behaviour if username already exists

  • Authentication: Fix errors with username and rolename with spaces

  • Container handling: Fix annoying log error messages about unhandled promise rejections after containers have been restarted

  • Admin-UI: Fix crashing UI on deleting service in service overview

What has changed in 1.0.19?

This week’s bugfix update improves some issues in SQL (MariaDB) and Beckhoff ADS protocols, along with further stability improvements.

Added

  • Admin-UI: Let distributed agents show their versions in the Agent overview page

  • SQL protocol (MariaDB): Extend error reporting for when a query validation fails

Changed

  • Beckhoff ADS protocol: Adding id, timestamp and value to protocol output

  • ADS protocol: User documentation improved by explaining input/output message format in detail

  • Admin-UI: Make endpoint overview page faster for large number of endpoints

  • Admin-UI: Improve display refresh of system health page

Fixed

  • Beckhoff ADS protocol: Fix occasional segmentation fault on disconnect

What has changed in 1.0.18?

This week’s update release brings stability improvements and bugfixes, especially regarding service commissioning files with larger number of endpoints. Additionally, some user interface improvements were implemented, such as an improved license handling and some minor usability improvements when no services are installed yet, to get started even easier.

Added

  • OPC UA Server: New OPC UA server is added, available as Cybus::Server resource, using port 4841, along with historical access (using an InfluxDB internally). Documentation is still in preparation.

  • REST: Added /api/system/health endpoint which returns information about the connectware system container.

Changed

  • License file handling improved and better connected with Cybus Portal management interface

  • Admin-UI: Some UX improvement on empty connectware

Fixed

  • Bacnet: Updated bacnet code for improved stability and reliability

  • Service files: Enable enabling of a large number of endpoints (2000-3000 endpoints)

  • Service files: Fix cleanup on service rollback if service cannot be installed or updated

  • Service files: Fixed mapping resource validation on error

  • EtherNet/IP: programName property can now be null

  • EtherNet/IP: Optimized connectivity by removing watchdog in favor of reconnection logic in the scanning.

  • Beckhoff ADS: Fix problems with larger number of endpoints

What has changed in 1.0.17?

This week’s regular update release brings again several bugfixes, in particular related to the Beckhoff ADS protocol. Additionally, some user interface improvements were added, such as a notice about newer version availability on the Home section of the Admin-UI.

Changed

  • Admin-UI: Improve user experience for Internet Connectivity checking

  • Admin-UI: Display available newer versions on Home page

  • Admin-UI: Improve display of hostname in agent overview

  • MsSQL: Extend mssql read function to use templates, similar to mssql write function

  • MsSQL: Add property to skip SQL query format validation, to enable using specific MsSQL syntax variants

  • Installer: Add extra operation mode for installer to prepare offline installation files

Fixed

  • ADS: Fix Beckhoff crash by adding missing delete of async handler

  • ADS: Fixed subscriptions by choosing the correct subscribe mode

  • ADS: Update ADS client library from github

  • OPC DA: Improve wording for OPC DA error messages

  • Installer: Let the installer not logout if it was logged in before

  • Services: Fix missing termination condition when setting up state checking, related to the noted bugs

  • Services: On failing service update, improve cleaning up of resources for rollback

  • Startup: Fix blocked start-up of system-control-server by fixing an erroneous awk command in bootstrap script

  • Startup: Fix postgresql error message when User.read is called with empty userId

What has changed in 1.0.16?

Next regular update release with several bugfixes, in particular fixing an issue with resource persistance and also for OPC UA reconnection stability. Additionally, another new protocol OPC DA has been added, and plenty of small bugfix improvements make life easier in production use of the Connectware.

Added

Changed

  • Commissioning files: Allow more characters in serviceId and resourceId. For backward compatibility reasons, the rule for auto-generation of a serviceId is kept unchanged, so that an auto-generated serviceId is still all lowercase.

  • Admin-UI: Implement more details overview of currently used Connectware license

  • All protocols: Introduce versioning in protocol-mapper so that distributed agents can check for compatible versions

  • Installer: Improve installer script to self-contain the docker-compose file so that no extra download is needed anymore

Fixed

  • Severe bugfix in Admin-UI: Fix erroneous removal of listeners from service instances, causing breaking persistance of resources and unexpectedly restore of older resource versions on Connectware restart

  • Admin-UI: Fill the host/port field in the Authorize dialog and the Connection overview and detail pages for all protocols

  • Admin-UI: In the Grant Client Registry dialog, also display the requested roles

  • All protocols: Improve logging statements in protocol-mapper to let all contain context

  • All protocols: Fix partly broken subscription restore on reconnect by improving the Connection base class API, especially for OPC UA

  • OPC UA: Fix remaining issues with OPC UA reconnection behaviour to be much more stable

  • Pfannenberg: Fix polling data access, improve stability of subscribe data access

  • Modbus: Fix boolean datatype in modbus data

What has changed in 1.0.15?

A new regular update with several bugfixes, some performance improvements in the user interface, and even more stability in working with services. Also, a general SQL connection protocol has been added for connecting the MariaDB database.

Added

Changed

  • LDAP: Security and stability update. LDAP UTF-8 filter values now strictly required to be escaped following the XX hex notation (see LDAP Filters Documentation).

Fixed

  • Admin-UI: Fixing buttons in service detail page to appear automatically after enabling the service

  • Fixed buttons on service detail page that were broken after re-start

  • Admin-UI: In connection overview and connection detail page, show IP address also for various protocols like Heidenhain and Bacnet

  • Docker: Improve error message on failing docker image pull

  • GenericVRPC: Fixing issues with deleting resources

  • Beckhoff: Fix subscribe/unsubscribe in Beckhoff ADS

  • Fix race condition that caused corrupt resource persistence storage by ensuring that all persistence access is protected against race conditions

  • Admin-UI: fix missing error message display on volume deletion

  • Sinumerik: Fixed writing of Sinumerik teethCount parameter

  • Fix container-manager memory leak

  • Modbus: Fix typo preventing processing discrete input

  • Service Manager: Fixed instabilities after restart by improving resource polling for deviation detection

  • Service Manager: Fix endpoints to not get stuck in enabling state

  • Service Manager: Fix confusing short user/role deviation display at service startup

  • Fix sopas reconnecting

  • User docs: Fix spelling of protocol names in docs

What has changed in 1.0.14?

A new weekly regular update with several bugfixes, some performance improvements in the user interface, and much speed-up of enabling and disabling of services.

Changed

  • Make resource creation and deletion in parallel, and fix delete order. This significantly accelerates enabling and disabling of services

  • Clarify, clean up and improve parse rule in RuleEngine

  • Admin-UI: Improve UI performance for Endpoints

  • Update nodejs version to 12.18.4

Fixed

  • User docs: Improved documentation for MQTT_ROOT

  • User docs: The documented REST API health endpoint was not working as expected, but instead /api/system/info is available to be used for health checking, which is now documented better.

  • Admin-UI: Fix endpoint deletion in overview page

  • Improved genericVrpc to be resilient against instantiation order

  • Admin-UI: let all tables in the ui keep their local state to fix disappearing selection on state changes

  • Distributed agents: Fixed resource deletion on agents

  • SHDR: Fix endpoint key mismatch

  • Bacnet: Fix TypeError crash

  • Let persistence of objects ignore files with parsing errors

  • Pfannenberg: Fix crashes on mismatching object declarations

What has changed in 1.0.13?

Next weekly regular update with several bugfixes and performance improvements. Also, this release now includes the Pfannenberg protocol.

Added

Fixed

  • Admin-UI: Fix connection and endpoint pages when Agents get offline

  • Admin-UI: Fix container overview page selections by only updating on data change

  • Admin-UI: Fix toolbar button availability if multiple services are selected

  • Mapping: Further fix potential message duplication when multiple Mapping resources were subscribing to the same topic

  • Improve connection cleanup on endpoint disable by removing event listeners on state change

  • Bacnet: decrease verbosity in normal operation

  • RuleEngine: Fix parse rule for boolean values

  • ADS: removing unnecessary verbose error message

What has changed in 1.0.12?

The next weekly regular update with several bugfixes and performance improvements.

Changed

  • Improve stability at docker container handling by preventing race conditions on docker calls

  • Update node-red to 1.1.3

Fixed

  • OPC UA: Some bugfix at reconnection handling

  • Installer: Fix problems at removing old bootstrap container and image

  • Fix erroneous generation of default serviceId which allowed only a very restricted character set for metadata.name.

  • Admin-UI: In service detail view, make sure to show only matching connection, endpoint, mapping, not ones from other services.

  • Admin-UI: Fix missing parameter default value 0 which was not displayed in the configuration dialog

  • Fix resourceId parsing which is now allowed to start with a number, too.

  • Remove any mention of old log-server and device-dispatcher, fixing spurious DNS queries for those outdated hostnames.

  • Bacnet: Bugfix in logging statements

What has changed in 1.0.11?

Another regular update is published which brings further performance improvements and bugfixes. In particular, an annoying problem with duplicate messages after disabling and enabling services with mappings has been fixed. Also, the explorer window is working much faster right now, and more issues have been fixed, too.

Changed

  • Improved internal communication performance by switching internal mqtt connections to bestEffort (qos=0) usage, except for the non-local connection of a protocol-mapper agent to the connectware

Fixed

  • Increased performance of explorer view

  • Fix remaining duplicate subscriptions after disabling and enabling again any Mapping resource with more than one mapping

  • Fix wrong tooltips in toolbar of connection overview, and also fix endpoint and connection button functions

  • fixed installer in silent mode to be really silent

What has changed in 1.0.10?

This regular update release brings further performance improvements and bugfixes. The bootstrap container has been removed and its functions have been integrated into other containers. The new protocol Ethernet/IP has been added. The user documentation contains all example commissioning files as direct downloads.

Added

Removed

  • Move bootstrap functionality into system-control-server, removing bootstrap container completely

Changed

  • Auth-server: improve SQL queries for the user and role model to improve auth-server performance even more

  • User docs: Add hint about required license if examples use Docker image from Cybus registry

  • Implement license validation in system control server

  • Improve container log file download

  • Admin-UI: improvement for success and failure messages on service state changes

  • Admin-UI: Service deviation information is now aggregated in backend instead of frontend to improve performance and response time in UI

Fixed

  • Fix broken mapping rules for messages with non-JSON content. This was broken in 1.0.9 release, fixed in 1.0.10 release.

  • Admin-UI: Fix endpoint display in service details to show only relevant subset

  • Installer: fix installer in offline mode if docker-compose.yml is the same file

What has changed in 1.0.9?

With this release, performance for complex systems has been improved significantly. Additionally, numerous improvements in the Admin-UI and overall stability fixes have been included. Also, the installer will now remove old unused Docker images of previous Connectware versions, decreasing disk size usage and improving stability, too.

Added

  • UI Explorer view: Data values which are JSON objects can be copied to clipboard by clicking on a newly introduced Clipboard icon, see Copying Data to Clipboard

Changed

  • Installer: Add removal of old docker images after pulling the newest ones.

  • Update vrpc to 2.1.6 which also improves instance creation performance, so that now at least 200 endpoints can be handled quickly, with more to come

  • Improved API of genericVrpc protocol (subscribe now uses id instead of callback)

  • Improve change-of-value (cov) filter behavior. The COV Filter should now work as expected, independently from its position in the rule chain.

  • Use the native redsocks instead of our custom container in Balena release

  • The qos level for all internal MQTT connection was set to default 0 (zero) to improve overall connection performance.

Fixed

  • Admin-UI: hide private (internal) roles in user overview upon sorting

  • Admin-UI: List view sorting and selection is not reset quickly anymore

  • Admin-UI: fix UI hang in resource/connection view if internal connection exists

  • Admin-UI: Fix log time display to use range 0..23 hours instead of 1..24

  • Installer: fix erroneous usage of curl if only wget is available

  • Mappings: fix incomplete removal of mappings causing duplicate connections (“zombie connections”)

  • Fix balena-iso-config-configuration

  • Protocol Mapper: Endpoint waiting for connection now works more than once

What has changed in 1.0.8?

This release includes various stability and ease of life improvements as well as slightly more compact file size of the docker images of the Connectware.

Changed

  • Reduce docker image sizes and application package by partly compiling application source code and javascript libraries

  • Reduce connectware networks to only one. Also, change default network mask to a slightly less common IP range 172.30.0.0/24

  • Improve error log message on endpoint creation if endpoint does not find its connection, to simplify debugging

Fixed

  • OPC UA protocol: OpcuaEndpoint allows either nodeId or browsePath, where it previously required nodeId alone, but now allows either of both.

  • Mapping: Fix MQTT message handling with named wildcards, which previously stopped working after the first message, but now works correctly.

  • Fix erroneous deviation message on user or role permissions which contain pseudo-parameters

  • Admin-UI: fix various UI problems when deleting individual resources: Fix delete button of connections, fix deletion of endpoints, fix display update of volume list after deleting a volume

  • Documentation: Fix explanation of parameter section in commissioning file

What has changed in 1.0.7?

This release brings a large number of stability improvements and better explanations in the user documentation.

Added

  • HTTP protocol: Added options to configure client certificates (SSL) and certificate policy

  • Licensefile can be uploaded to system control server by REST endpoint

  • Sinumerik protocol: Data point “number of teeth” added

Changed

  • User documentation improved for protocols Http, Modbus, Sopas, and for Connection resource

  • Admin-UI: User interface has been refactored and improved for better performance in Service, Connection, Endpoint, Mapping view

  • Update node.js to latest 12.18.3

Fixed

  • Admin-UI: Fixed displaying of information when an external broker is involved during mapping

  • User documentation: HTTP permission explanation improved

  • Fix integer type interpretation of Cybus::MqttPort parameter

  • Admin-UI: serviceId parameter description fixed in configuration dialog

  • Admin-UI: favicon size set correctly in manifest

  • Admin-UI: button tooltips added where missing

  • Admin-UI: fixed issues with role names from commissioning file

  • Fix yaml schema to allow qos and retain options at mapping and endpoint resources

  • Fix missing docker label at bootstrap container

  • Performance fix when creating larger number of services

  • Fix authorization of REST calls with query string

What has changed in 1.0.6?

This release includes various stability and ease of life improvements as well as new features regarding service updates and configuration as well as agent tracking.

Added

  • Enabled in-place update of service parameters and/or commissioning files

  • Agents are being tracked and emit messages on deviation

  • Possibility to specify qos and retain options for MQTT within mapping configuration

Changed

  • Documentation regarding Connectware users and services has been improved

  • Sinumerik initial compatibility checking of OPC UA server has been improved

  • Node.js updated to 12.18.2, node-red workbench updated to 1.1.0

Fixed

  • Fixed authentication limitations under load (PostgreSQL communication improved)

  • Fixed issue with subscribe topic resolution on wildcard ‘#’ mapping when published on parent

  • Fixed UI problem when pressing escape key in roles dropdown

  • Fixed issues with API calls to POST /services when used in combination with targetState: enabled

  • Fixed problems on disabling or deleting mappings in UI

What has changed in 1.0.5?

This release was skipped due to QA issues. The changes are listed in the 1.0.6 release.

What has changed in 1.0.4?

Feature updates and maintenance: Two new protocols have been added, Sinumerik and Beckhoff ADS. Also, many stability improvements have been implemented, along with regular bug fixes and UI improvements.

Added

  • Protocol implementation for Sinumerik controls

  • Protocol implementation for Beckhoff controls (ADS protocol)

  • Implemented mutual TLS authentication for MQTT

Changed

  • Improve date/time format in filename of log download

  • Prohibit deletion of admin user and connectware-admin role in admin-ui and REST API

  • REST API call correlation-id is renamed to id according to JSON-RPC

  • user documentation: sample commissioning files improved

Fixed

  • S7 protocol write method was dropping data on high load, now fixed

  • Fix selection of correct service in admin-ui service view

  • Fix burst rule in rule engine

  • user documentation: fix missing parts of Heidenhain protocol

  • Fix auth-server lock-up due to issues with PostgreSQL connection handling

  • Fix issues on disabling Werma connections

  • REST API service delete is fixed

  • Fixed issue in incomplete disabling of mapping resources

What has changed in 1.0.3?

The Heidenhain protocol has been added and further stability improvements have been implemented, along with regular bug fixes and UI improvements.

Added

  • Heidenhain protocol has been added and completed in 1.0

  • Log files can be downloaded as .csv files from UI

  • Installer script has alternative offline installation mode

Changed

  • Node-RED version in workbench updated to current 1.0.6

  • More npm dependencies have been updated to current versions

  • Updated CI pipeline with Balena OS VM images build and push

Fixed

  • Fix all warnings from react in admin-web-app

  • Fix problem with topic construction on unsubscribe

  • Installer script checks even more for potentially missing Internet connection

What has changed in 1.0.2?

Stability improvements with some bug fixes.

Changed

  • The node.js version is upgraded to 12.18.0 which includes security updates

Fixed

  • Service count number on home page view is fixed

  • REST API-based creation and deletion of services is now integrated correctly with admin ui

  • Topic generation in BACnet is fixed

  • OPC UA re-subscription which failed in certain re-connection scenarios is now fixed

  • S7 data write format is fixed

What has changed in 1.0.1?

Minor bug fixes with improved stability.

Added

  • Added Rest API for Cybus::Link resource at /services/links

  • Addded Agent view in Admin Web App so users can view currently connected agents

Fixed

  • Fixed general bugs in Cybus services swagger files

  • Fixed issues with 0 or false values in default parameters in service files

  • Fixed issues with protocol mapper with a number of issues fixed in the MSSQL protocol

What has changed in 1.0.0?

This is the first 1.0 stable release in the 1.0 series of the Connectware! Data governance and connectivity from the shopfloor to the enterprise is now easier and more reliable than ever.

The general changes compared to 0.x are explained in the page General changes from 0.x to 1.0. For upgrading and migrating, see Upgrading from 0.x to 1.0.

This Changelog describes the incremental changes between each different patch version.

Changes from last beta version

Changed

  • Unify swagger filenames to swagger.yaml everywhere

  • Update node.js in protocol-mapper to 12.16.x

Fixed

  • Clarified constraints on username/password length in UI and REST API

  • Improved OPC UA reconnect behaviour

  • Mapping resource to respect the state of external MQTT connections

  • Fix erroneous handling of service id in REST API

  • Improved SOPAS sopas reconnection behaviour

  • Fixed performance of frontend adding separate event-backends in react-vrpc, unmounting views not seen in details view, filtering results in parent components and separating state changes into smaller components

See General changes from 0.x to 1.0 and Upgrading from 0.x to 1.0