Changelog
This page lists all relevant changes in regular version updates.
What has changed in 1.8.0?
Release date: 13.11.2024
Added
Security & Stability:
The license ID is now hidden by default to improve security.
Usability & Accessibility:
Users with restricted Data Explorer permissions will see a notification that guides them to the Service Details View, where they can select a service to explore its live data.
The Connectware documentation has been redesigned for better usability and an improved user experience. It is now available exclusively at docs.cybus.io and is no longer included in the Connectware installation package. Documentation for Connectware 1.7.3 and prior remains available at docs-old.cybus.io.
Documentation links in Connectware now direct to the online documentation at docs.cybus.io.
Monitoring & Resilience:
Added a new Live Data tab in the Service Details View that shows live data for each service. See Live Data.
The Service Details View and the tabs for Mappings, Connections, and Endpoints now show to which agent the resource is assigned to. See Resources.
Fixed
Security & Stability:
Fixed an issue where required permissions for auth/mfa were missing when multi-factor authentication (MFA) was enforced during login.
Usability & Accessibility:
Fixed an incorrect permissions changed popup that appeared for users with minimum access on the Service Details View.
Reliability & Robustness:
Fixed an issue where Kafka producer and consumer connections became inconsistent after losing network connection to the broker.
What has changed in 1.7.3?
Release date: 29.08.2024
Added
Security & Stability:
KafkaJS Library Update
Usability:
Protocol Mapper is listed under the Agents tab on the System Status page
Improved Deviations notification on Service Overview page now supports pagination
Enhanced the Service Details Page with a Deviations tab
Removed “type” column from Deviations list in Service Details page
Notification on changed permission (due to MFA) is now dismissible
Fixed
Security & Stability:
Fixed issue of TCP ingress routes with matching targets leading to flood of logs.
Reliability & Robustness:
Resolved Services Graph data corruption in large deployments by moving storage to PSQL.
What has changed in 1.7.2?
Added
Security & Stability:
Fixed LDAP certificate mounting for Helm installations.
What has changed in 1.7.1?
Added
Usability & Accessibility:
Made /api/topics usage optional, allowing users without read access to still load and use the Rule Engine and Data Explorer pages.
Added warning on Data Explorer to notify users with limited permissions that loading topics metadata is not possible.
Reliability & Robustness:
Improved clustering connection stability in CybusMQ, enabling reliable clustered mode operation and reducing message loss.
Fixed
Usability & Accessibility:
Corrected the link to wildcards in the documentation to use the proper href format, ensuring accessibility and preventing permission errors.
Reliability & Robustness:
Enabled message reception of a service sharing the same MQTT topic as another service by removing wildcard topic handling for overlapping topics.
Ensured MQTT connections using default credentials reconnect successfully after a Connectware restart.
What has changed in 1.7.0?
For Connectware 1.7.0, we’ve improved the performance and stability of CybusMQ.
As part of these improvements, older broker data volumes are not compatible with brokers of Connectware 1.7.0 and newer. To successfully upgrade to Connectware 1.7.0 or later, you’ll need to follow some additional update procedures.
This release requires manual upgrade steps. Please read Upgrading from 1.x to 1.7.0 carefully!
Follow this link for information how to upgrade:
Added
Security & Stability:
CybusMQ now uses an upgraded Debian Linux 11.9
Performance & Scalability:
Improved CybusMQ cluster’s metadata replication performance
Optimized image size of CybusMQ
Service manager can now allocate up to 16GB of RAM as potentially required for large deployments
Usability & Accessibility:
Admin UI: Added column in users overview table that shows if multi-factor authentication (MFA) is enabled or not
Admin UI: MFA options are now hidden for users if MFA is not enabled
Admin UI: Users are now automatically notified when the administrator enforces MFA or changes user permissions
Admin UI: Added notification to inform users of the number of login attempts with MFA and if they are banned after more than 5 failed login attempts
Maintenance & Adaptability:
imagePullSecrets for microservices can now be specified with the option to change the imagePullPolicy for installations
Added new variable to enable or disable MFA
Fixed
Performance & Scalability:
Improved ability of CybusMQ to start with large number of objects in metadata store on disk
Usability & Accessibility:
Selected table items in the service overview are only being de-selected in case they are gone from the view
Endpoint /api/session` returns the reduced set of permissions when user has MFA enforced but not enabled yet
Notifications in the Data Explorer inform when corresponding service endpoints are unavailable
Maintenance & Adaptability:
If a service update affects other services due to a shared connection, the other services/resources recover, and data flow is restored
What has changed in 1.6.2?
Fixed
Usability & Accessability:
OPC UA: Fixed edge case falsely returning
BadTypeMismatch
when writing numerical values
What has changed in 1.6.1?
Added
General backend: Started using ESLint
Protocol Mapper: OPC UA read endpoints now have access to the full raw payload
Admin UI: VRPC timeout is configurable from the UI
Helm charts: VRPC timeout support added
Fixed
General backend: Fixed an issue with running automated tests
Protocol Mapper: SOPAS - Fixed an issue with the EventListener being removed too early
Admin UI: Fixed an issue with not being able to write a configuration when not using the default user
Broker: Fixed an issue with cleaning up Broker cache entries
What has changed in 1.6.0?
Added
Performance & Scalability:
Updated service behavior to allow immediate HTTP connection attempts upon enabling.
Usability & Accessibility:
Redesigned the interface for an improved user experience and easier workflow.
Improved error handling when updating an existing service.
Introduced a validation endpoint
/api/validate/service
to ensure correctness of Service Commissioning Files and enhance error detection.
Monitoring & Resilience:
Service Manager is now more resilient on larger deployments.
Better VRPC timeout flexibility to improve support for large-scale deployments.
Improved data flow recovery in services, ensuring consistent data publishing resumes after any disruptions.
Fixed
Security & Stability:
Updated the admin-web-app image to ensure the Frontend remains accessible when started as the root user.
Fixed access issues for MFA-enabled users, ensuring they can now access the workbench.
Usability & Accessibility:
Enabled successful DateTime write operations to OPC UA variables, ensuring accurate updates on the server.
OPC UA write endpoint returns error on failing writing attempts when data types are mismatching.
Maintenance & Adaptability:
OPC UA StatusCode for variable values is now accessible for read endpoints.
Monitoring & Resilience:
Improved system resilience by ensuring smooth service enablement and stable Protocol-Mapper operation, even when custom protocol agents are absent during Service-Manager restarts.
What has changed in 1.5.0?
This release requires manual upgrade steps. Please read Upgrading from 1.x to 1.5.0 carefully!
In the latest version of Connectware, version 1.5.0, we’ve enhanced our approach to using elevated system permissions. Our focus is on improving security by adhering to the principle of least privilege across our software components.
As part of these improvements, we’ve altered the system user account under which certain containers run. To successfully upgrade to Connectware 1.5.0 or later, you’ll need to follow some additional update procedures.
Follow this link for information how to upgrade:
Added
Security & Stability:
Lowered system user privileges across several containers for enhanced security
Altered the internal ports for Connectware containers; external access remains unchanged on the original ports
Enhanced broker resilience to handle unexpected shutdowns more effectively
Enabled MQTT clients with persistent sessions to have their QoS 0 messages stored by the broker, minimizing message loss even for QoS 0 subscriptions (disabled by default)
Usability & Accessibility:
Implemented message deduplication for MQTT clients with overlapping subscriptions to prevent message duplication across matching topics (enabled by default)
Monitoring & Resilience:
Revised the logging format of our broker to incorporate the current date for better tracking
Fixed
Monitoring & Resilience:
Container logs can now be displayed when third party workloads are present in the same Kubernetes namespace
What has changed in 1.4.1?
We’ve fixed a bug causing some endpoint resources to be hidden when intentionally disabled. Now, after updating, all disabled endpoint resources will show up as expected.
Fixed
Protocol Mapper: Fixed a bug that caused endpoint resources to not be displayed if they were explicitly disabled.
What has changed in 1.4.0?
Users can now enable MFA (Multi-Factor Authentication) for their login process. The HTTP server has been upgraded to seamlessly request MQTT credentials through GET requests.
Added
Admin UI: MFA support
Auth Server: MFA support
Protocol Mapper: added GET support for HTTP server
Fixed
Protocol Mapper: Fixed problems related to MaxListenersExceededWarning
fixed wrong OAuth access token format for HTTP client
Reconnection of OPC UA connections is much faster now
Child services do not stay in deviation when parent service got updated
What has changed in 1.3.2?
Warning
Parts of this release affect required UI permissions. Please ensure to incorporate them in case you are using custom roles.
Users can now change their password using the settings page. MQTT shared subscriptions can now handle Rule Engine context variables, and we have improved error messages. For Kafka, we have fixed issues related to connecting to servers over TLS and improved the OPC UA Server behavior during startup. Furthermore, we have significantly optimized overall resource consumption and our Fanuc Focas protocol integration now supports AddressType E for even heavier lifting.
Fixed
Admin UI: Consistent language throughout the whole product (EN)
Admin UI: Changing password using settings page
Protocol Mapper: Significantly improved overall resource consumption
Protocol Mapper: Fixed handling of Rule Engine context vars with MQTT shared subscriptions
Protocol Mapper: Fanuc Focas - Adjusted configuration to support additional address types
Protocol Mapper: HTTP - Fixed auto generated endpoint topic name
Protocol Mapper: HTTP - Fixed missing error message on failed post request at TCP level
Protocol Mapper: Kafka - Fixed connecting to server using TLS
Protocol Mapper: OPC UA Server - Fixed potential race condition during startup
What has changed in 1.3.1?
We’re excited to bring you a set of essential fixes in this update of Connectware.This update addresses an issue where optional parameters in Write Endpoints were not functioning as intended. It also resolves a bug that prevented proper parsing of MQTT payloads into JSON-compliant representation.
Fixed
Protocol Mapper: Fix missing payload parsing for endpoint resource read operation
Protocol Mapper: MQTT - Fix payload send to broker to be JSON compliant
What has changed in 1.3.0?
Introducing the latest version of Cybus Connectware!This release brings exciting new features and important fixes to enhance your experience.
With the updated Admin UI, you now have the ability to filter logs by date and type, providing easier navigation and analysis. We have also made styling enhancements for a more seamless and visually appealing interface. In addition, the Auth Server now supports LDAP authentication, ensuring secure user access. The Broker now includes MQTT 5 simple authentication support, and the Protocol Mapper introduces MQTT 5 shared subscription support. We have also addressed various issues, including notification rendering, message delivery, and duplicate message retrieval.
Upgrade now to enjoy the enhanced capabilities of Cybus Connectware!
Added
Admin UI: Introduced ability to filter logs by date and type
Admin UI: Overall styling enhancements
Auth Server: LDAP support
Broker: MQTT 5 simple authentication support
Protocol Mapper: MQTT 5 shared subscription support
Fixed
Admin UI: Fixed notifications sometimes not being rendered correctly
Broker: Fixed some messages not being delivered under certain configurations
Protocol Mapper: ADS - Fixed retrieval of duplicate messages after reconnection
What has changed in 1.2.1?
We are excited to announce the release of Version 1.2.1 of our product, packed with powerful enhancements and optimizations.This release focuses on significantly improving the overall message throughput performance, ensuring a faster and more efficient user experience.
Enhanced Message Processing: We have fine-tuned the underlying algorithms and systems to streamline the message processing mechanism.
As a result, you will notice a substantial increase in the speed at which messages are handled, leading to quicker response times.
Added
Protocol Mapper: Optimized overall message performance
What has changed in 1.2.0?
We’re excited to announce the release of version 1.2.0, which brings a whole new User Interface,as well as a range of improvements and bug fixes to our Factory Data Hub.
The whole new User Interface, with a sleeker, more intuitive and modernized design,enables a better overall experience managing your assets.We’ve enabled support for horizontal scaling on the Auth Server, which will allow it to handle an increased workload as needed.Additionally, we’ve fixed some issues related to registering Agents using mTLS, which will help streamline the authentication process.On the Protocol Mapper side, we’ve added support for OPC UA Server Historical Access StartBound aggregation, a configurable probe timeout to HTTP Connection resources, and the ability to send binary data on HTTP Write Endpoints.
We’ve also improved deviation detection for Kafka protocol write operations, which will enhance the ability to detect and address any anomalies that may occur during data transmission.Lastly, some infrequent broker issues related to publish authentication timing were resolved, which significantly improved the reliability of message delivery.
Overall, these changes aim to improve scalability, historical access, binary data transmission, and fix bugs, resulting in a smoother and more reliable user experience.
Added
Admin UI: Completely revamped look, to get you where you want to be faster, with new in-app explanations and contextualization about Connectware.
Admin UI: User Management UI is now faster, with better warnings for dangerous commands and a more intuitive usage and search
Auth Server: Enabled support for horizontal scaling
Protocol Mapper: Added support for OPC UA Server Historical Access StartBound aggregation
Protocol Mapper: Added configurable probe timeout to HTTP Connection resource
Protocol Mapper: Added support of sending binary data on HTTP Write Endpoint
Fixed
Admin UI: Will no longer crash if a user goes from a mapping details to the services page
Admin UI: Change password form now displays the correct error message when using the wrong credentials to perform an operation
Admin UI: Now better explains server unavailability errors
Auth Server: Fixed issues when registering Agents using mTLS
Broker: Fixed rare publish authentication timing issues
Protocol Mapper: Deviation detection for Kafka protocol write operations now works as expected
What has changed in 1.1.5?
This release includes improvements to the MQTT broker to improve authentication handling, cluster formation, and logging improvements. Additionally Protocol Mapper uses a better strategy in cases when Broker is restarted for maintenance or due to migration of Broker Pods.
Added
Broker: make authentication more resilient
Broker: improve cluster formation to make it more deterministic
Broker: Investigate and implement possible robustness improvement around read-only filesystem
Kubernetes: Increase terminationGracePeriodSeconds for Broker and Control Plane Broker StatefulSets
Protocol Mapper: improve resilience when connection to the Broker is temporarily lost
What has changed in 1.1.4?
This release includes a fix for mTLS and improvements to the Broker and Auth Server.
Fixed
Connectware: add support for docker compose plugin
Protocol Mapper: fix potential data loss in Mappings
Protocol Mapper: fix mTLS authentication for Mappings
Added
Protocol Mapper: correct log texts
Auth Server: retry mechanism for migration in case of failure
What has changed in 1.1.3?
This release includes a fix for the Server resource type and fixes for Agents’ credential handling Additionally we now support certificates using SAN for mTLS authentication and we expose some variables to configure the duration of broker authentication and authorization results.
Fixed
Protocol Mapper: agents crash after registering with CYBUS_PROTOCOL_MAPPER_PASSWORD environment variable set
Protocol Mapper: improve credential management in Agents when using custom password rules
Protocol Mapper: improve credential management in Agents using mTLS when the registration process is aborted
Protocol Mapper: avoid potential crash when HTTP Server resource attempts to bind multiple times to its TCP port
Added
Auth Server: make cache timeouts for broker auth endpoints configurable
Ingress Controller: added support for certificates using SAN
Kubernetes: Use podAntiAffinity to schedule broker pods on different K8s nodes
Kubernetes: Make broker volume sizes configurable
Kubernetes: Expose cache timeouts for broker auth endpoints environment variables
What has changed in 1.1.2?
This release includes a fix for credentials handling for resources of type Server and Node in Agents in the case of restarts.
Fixed
Protocol Mapper: Fix incorrect handling of credentials for Server and Node resources causing authentication errors
What has changed in 1.1.1?
This release increases the performance of the MQTT protocol both internally and when used in Services.
Added
Protocol Mapper: Increase performance of MQTT protocol
What has changed in 1.1.0?
This release increases the reliability and resilience of Connectware, especially when run in Kubernetes and in high load scenarios. Many of the changes also benefit deployments that run in Docker. The changes include updates to the Admin UI, improved Helm chart usability and improved stability and connectivity of Connectware services.
When you upgrade Connectware to version 1.1.0, all services are disabled. After upgrading, you must enable the services that you want to use again.
Added
Admin UI: You can now load resources via HTTP instead of WebSocket for most resources
Admin UI: Refresh license button on offline installations is now disabled
Admin UI: Loading times for resources on the User Management page have been improved
Admin UI: Users without management access can now access the detail pages
Admin UI: Improved error messages when installing commissioning files that contain errors
Broker: Cluster join/leave logic has been improved
Container Manager: You can now use HTTP endpoints to start/restart/stop containers by specifying their identifier
Implement optional MQTT traffic decoupling for Control Plane & Payload Data by using different brokers
Kubernetes: Add Helm value to configure storage class
Kubernetes: Add common Helm value for mTLS and enable mTLS in control-plane-broker
Kubernetes: Change default access mode for postgres volume to ReadWriteOnce and introduce configuration option
Kubernetes: Add Helm configuration for securityContext
Kubernetes: Change Helm podResources to allow setups without limits
Kubernetes: You can now configure the protocol-mapper resource requests/limits via protocolMapperAgent
Kubernetes: Support for Helm best practices labels
Kubernetes: Support labels and annotations for resources with Helm installation
Kubernetes: Added init container to broker that checks Kubernetes API availability
Protocol Mapper Agent: Enable support for mTLS registration/authentication
Protocol Mapper: The resource Cybus::HttpServer now accepts configurable payload sizes of up to 512 KB
Service Manager: Services Graph is now enabled by default
Fixed
Admin UI: Custom topics are now displayed on the Explorer page
Admin UI: Stopping multiple containers now works as intended
Admin UI: You can now remove endpoints that are enabled
Admin UI: Rule Engine Sandbox and Mapping fix unexpected failure when non-JSON message is processed in transform rule
Admin UI: It is no longer possible to remove critical certificates from the Certificates page
Broker: MQTT clients are no longer interrupted and continue all operations when broker cluster nodes are down or not fully initialized
Service Manager: Restarting the Broker no longer makes Connectware Services unreachable
Protocol Mapper: Services with deviated connections are now displayed as deviated
Protocol Mapper: Kafka consumer no longer blocks execution on connection loss
Protocol Mapper: OPCUA value sanitizer now handles previously undetected errors
What has changed in 1.0.93?
This release includes an enhancement to the HTTP protocol that allows the user to overwrite the path property of write endpoints.
Task completed
Added support for overwriting the path property for HTTP write endpoints
What has changed in 1.0.92?
This release includes an enhancement to the Modbus protocol that allows the user to overwrite the unitId configured in the Connection resource by using the new optional unitId property of an Endpoint.
Task completed
Added support for multiple Modbus TCP UnitIDs per Connection
What has changed in 1.0.91?
This release fixes a problem in the broker cluster management logic which could cause broker state data (for example subscriptions and retained messages) to be lost upon restarts or updates of the Kubernetes Cluster which subsequently leads to disturbed inter-service communication of Connectware. Only customers using Kubernetes were affected by this behavior.
Task completed
No features were changed in relation to 1.0.90
Bugs fixed
Broker: during shutdown of broker cluster nodes last node does not keep MQTT session state
What has changed in 1.0.90?
This next release brings several improvements to the Admin UI, Backend and Infrastructure components, most significant changes include better handling of slow networks on the Admin UI, introduction of a module to better handle inter Service dependencies to avoid service enabling issues and better Broker cluster formation logic. Additionally documentation and several other improvements were done on different areas.
Task completed
Admin UI: MQTT topic subscription should verify the available topic depth, otherwise the connection is silently dropped
Admin UI: Certificates without common name (CN) don’t show anything
Admin UI: Validate Mqtt Publish Prefix on the user management UI on whether it is allowed by current user permissions
Admin UI: Revise Material UI theming
Admin UI: Replace UI Webpack bundler with Parcel
Documentation: Parse Rule provide sample commissioning file
Documentation: SetContextVars Rule provide sample commissioning file
Documentation: COV Rule provide sample commissioning file
Documentation: Burst Rule provide sample commissioning file
K8s: Add feature toggle Helm value to control Services Graphs enabling
Protocol Mapper: support PATCH method for HTTP write endpoints
Protocol Mapper/Auth-Server: log message if topic depth of MQTT topics exceed the configured limit
Service Manager: introduce Services Graph to keep persisted state of inter service dependencies
Service Manager: enable circular dependencies in Services Graph to account for edge case in services update
Service Manager: make the service-graph bootstrap optional
Bugs fixed
Admin UI: better handle unstable/slow networks scenarios
Admin UI: Data is not flowing under explorer tab
Admin UI: Wrong error is shown when bad client registry request is allowed to register
Admin UI: Mapping data preview for external brokers doesn’t make sense
Admin UI: Random VRPC timeouts might generate false-positive error
Admin UI: Catch and display more errors on the Explorer that were previously ignored
Container Manager: System > Status on Kubernetes does not work when there are unscheduled pods
Documentation: fix inconsistency in number of resources
Admin UI: Explorer non-selected custom topic vanish on page reload
Protocol Mapper: improve error handling on MQTT protocol
Service Manager: incorrectly identifies disabled services as removed
Service Manager: storage for service-graph needs to handle different container run times
What has changed in 1.0.89?
This next release brings several improvements to the Admin-UI, switches Connectware to use Cybus built binaries and Docker images for the MQTT Broker, improves documentation for several rules including examples that can be installed directly and many internal fixes and enhancements.
Task completed
General: Connectware now uses binaries and Docker images built by Cybus for the MQTT Broker
Admin UI: Improve metrics presentation
Admin UI: User now gets a notification after service is created instead of being redirected to the installed service
Admin UI: Improve schema error messages styling
Admin UI: Clicking on a Service row on the Service Link page now takes the user to the service
Admin UI: Added information about topics defined in the endpoint on the Endpoint page
Auth Server: Additional verification of username against CommonName for client registration using CSR
Documentation: Improve Transform Rule Documentation
Documentation: Improve Filter Rule Documentation
Documentation: Improve Stash Rule Documentation
Documentation: Improve Collect Rule Documentation
Bugs fixed
Admin UI: Mapping’s MQTT client shows error
Admin UI: Confusing dialog when activating interdependent services
Admin UI: Deviation Snackbar overlaps the main menu when a lot of deviations are given
Admin-UI: While updating password, change password button is not getting enabled
Admin-UI: Some images in service catalog depend on cybus.io - default image URL needs to be changed
Admin UI: Browser error on viewing mapping entries
Admin UI: Non clear error is displayed when attempting to remove token authentication method from admin user
Admin UI: Expired tokens not removed from the browser’s local storage
Helm Chart: Split cybus-broker-cluster-reader role permissions to avoid requesting non-default APIs
General: Timeout error on bulk deletion of 10 or more services in the UI in K8s
Container Manager: Creation of Cybus::File fails with “(HTTP code 404) no such container - No such image: alpine:3.15”
Protocol Mapper: OPC UA Client Int64 and UInt64 values are represented as array on MQTT topic
What has changed in 1.0.88?
This next release brings improvements in protocol-mapper for Kafka, OPC UA Server, improvements on service management for some resource types, general fixes on the Admin-UI, Mappings now support the usage of label templates.
Task completed
Add missing “topic” property to Cybus::Nodes
Invalidate the auth-server cache after database restore.
Support database backup+restore from older to newer versions
User Management: On Add/Edit user add validation hints for username
Allow wildcard templates in subscription label of Mappings
Add requirements and prerequisites to Backup & Recovery feature
Sort JSON fields in mappings
Bugs fixed
Kafka connector better handling of edge cases on subscribe/unsubscribe
OPC UA Server restart resource instance on protocol-mapper restart
Improve CSR validation when registering clients
OPC UA Server improve handling when errors occur during deployment
Metrics submission improve behavior by showing/hiding controls based on permissions
Improve handling of expired tokens in the Admin App
What has changed in 1.0.87?
This next release brings improvements in protocol-mapper for input buffering, improvements on service management performance, general fixes on the Admin-UI, Kafka protocol and other aspects of service internals.
Task completed
Protocol-mapper (high-severity bugfix): The new input buffering feature (introduced in version 1.0.86) is now disabled by default to ensure unchanged behaviour by default, but can be (and should be) enabled for specific endpoints, mappings, and nodes if there is a risk of running out-of-memory due to high input data rates.
Admin-UI: Add total number of resources in table view’s pagination label
Admin-UI: In the service enabling dialog showing the authorizations, the topic subscriptions of mappings are now shown in a more detailed way
User docs: For COV rule, clarify documentation as it is working for exactly one topic but not multiple topics
User docs: Improve documentation of inter-service referencing
Bugs fixed
Admin-UI: Fix error when trying to remove a MQTT publish prefix again
Admin-UI: Fix when using the application with a minimum access role, where an error of subscription issue was displayed
Admin-UI: On updating a service, fix previously configured parameter values to be correctly re-used even if the parameter has no default value
Admin-UI: Fix field “Confirm password” field if the “confirm password mode” is toggled, so that the password is not unintentionally auto-filled
Kafka: Fix headers in consumer to be rendered as a string and not erroneously as a Buffer
Auth-Server: Fix wrong response code 400 when no username is set, so that error log messages are significantly more understandable
Auth-server: Fix potential crash on unexpected error messages
Installer: Detect if docker was installed via snap and fail with clear error message in this case
Kubernetes: Fix very slow service enabling/disabling if there is a large number of users in the database
Fix inter-service dependency problems in case the broker container has been restarted
Fix client registry (explicit workflow) for the case using certificates with username/CSR
What has changed in 1.0.86?
Note
This version 1.0.86 has the new input buffering feature enabled by default and for all endpoints, which can lead to changed behaviour and unexpected message drop with certain Rule Engine rules (especially the burst rule), hence use version 1.0.87 instead where this feature is disabled by default.
Our next maintenance release brings an important bugfix in protocol-mapper for high data rates, some improvements in Rules, Mapping, and Kubernetes orchestration, and overall bugfix and stability increases.
Bugs fixed
Protocol Mapper (high-severity bugfix): Fix out-of-memory exception on high data load by introducing a controlled input buffering behaviour for endpoints, mappings, and nodes. This change introduces new properties on those three resources, most importantly
inputBuffering.maxInputBufferSize
(default: 5000). This value describes the maximum message burst size that can be received and are waiting to be processed, before messages have to be dropped. The value is set individually on each endpoint, mapping, or node resource. If message are being dropped, there will be a warning log message Dropped <number> message(s) for topic … due to maxInputBufferSize <number> exceeded. In that case, you should increase the maxInputBufferSize parameter for the resource in question.Admin-UI / auth-server: Fix broken password change for admin user in user management page
Rules: Fix parse rule with format ascii to also handle literal numbers
Admin-UI: Fix button for “upload metrics” that used to work only when clickingon the home page first
Mapping: Fix broken named wildcard handling on first level of mapping topics
Service files: Fix missing endpoint yaml schema validation for buffering properties
User docs: Fix / clarify needed permission settings for mqtt clients with topic prefix
User docs: Fix minor typo in backup and restore documentation
Task completed
Rules: Improve error message if the transform rule encounters a failure
Auth-server: Implement new listUsers endpoint with pagination and readAll method to fix performance with higher number of users
Protocol-mapper: Endpoint output buffering is now printing log messages into docker log upon dropping message during disconnect
Kubernetes: Remove persistent volume claim that is no longer needed in protocol-mapper
Kubernetes: Add detection of missing k8s API permissions during startup, if helm chart permissions updates were missing
Admin-UI: Hide service’s auto generated roles in dialog when adding role to user
What has changed in 1.0.85?
This next release brings a small but important bug fix that solves issues with resources deviation tracking, affecting versions 1.0.83 and 1.0.84.
Bugs fixed
Fix deviation tracking that was broken on subsequent enabling of services (affecting 1.0.83, 1.0.84)
What has changed in 1.0.84?
Note
This version 1.0.84 is affected by a bug preventing deviation tracking after multiple service enabling, hence use version 1.0.85 instead!
Our next maintenance release brings improvements in the Admin UI, in HTTP connections, and also some important bugfixes in Mappings and for Kubernetes deployments.
Tasks completed
HttpConnection: Added option for dynamically setting the path in HTTP/REST read endpoints
Admin-UI: Add UI for database backup and restore
Admin-UI: Add Mqtt Publish Prefix documentation link on User Management forms
Admin-UI: Improve dialog screen when license cannot be validated
HTTP Server: Cleanup of remaining issues: additional content-type, timestamp, documentation clarification
OPC UA client: Filter incoming OPC UA Events by EventType
User docs: Clarify usage of Agents, in particular also handling of connection loss
Auth-server performance: Optimize the MQTT subscription authorization
Bugs fixed
(High-severity bugfix) Fix failing Mapping subscriptions when overlapping wildcard topics exist. This bug affects versions 1.0.79 until 1.0.83 and could lead to Mappings not receiving data if topics with wildcards exist in overlapping ways. This can only be avoided by taking into account multiple duplicate messages in that situation, as explained here.
Auth-server: Fixing crash when /users/batch POST request is sent with duplicated username
Sopas protocol: Reduce log verbosity by correctly setting non-debug log level
Kubernetes: Fix usage metrics collection that was broken on multi-node broker cluster
Kubernetes: Fix initial connection failures of agents, causing errors about not being able to create resources on agent
What has changed in 1.0.83?
Note
This version 1.0.83 is affected by a bug preventing deviation tracking after multiple service enabling, hence use version 1.0.85 instead!
This next regular release brings new features in the Kafka protocol connector, as well as an important bugfix and change about unifying the service and resource persistence. Additionally, a minor bug in the COV rule has been fixed and overall stability has been improved.
Tasks completed
Kafka protocol: Implementing Kafka consumer (i.e. receiving data)
Bugs fixed
Service persistence: Unifying service and resource persistence by moving this information from separate protocol-mapper volume(s) to everything in service-manager. Now all persistence information about services and resources is stored in one common place, namely in the service-manager volume and not any longer in any protocol-mapper volume. The protocol-mapper volume is now not used anymore. Upon upgrade, all change happens automatically and no action needs to be taken.
Rule Engine: The Change-of-Value (COV) rule in its keys property now also accepts integer values in addition to strings.
What has changed in 1.0.82?
Our next weekly maintenance release brings a set of bugfixes in the Admin-UI, some internal updates now using Node.js 16, and overall stability improvements.
Bugs fixed
Admin-UI: Add missing Cybus::Server::Http resource in server list in the frontend
Admin-UI: Fix button on service update form to not be enabled when it should not
K8s: Adapt service manager so that commissioning files with unavailable k8s features give a clear error message
Tasks completed
Upgrade to NodeJS 16
What has changed in 1.0.81?
This maintenance release fixes a bug potentially causing a service-manager crash in high-load scenarios, hence we released just this bugfix release quickly.
Bugs fixed
(High-severity bugfix) Fix crash in service-manager or other microservices due to missing sanity checking in the CPU/memory monitoring feature. The respective error message in the logs is “SyntaxError: Unexpected token { in JSON”, causing a restart of the respective container. The bug affects versions 1.0.79 and 1.0.80 but is fixed now.
S7: Fix writing boolean value “false” which was failing
What has changed in 1.0.80?
Note
This version 1.0.80 is affected by a bug potentially causing instabilities, hence use version 1.0.81 instead!
This next maintenance release brings significant stability improvements on Kubernetes deployments, adds a HTTP/REST server for POSTing data to the Connectware, makes the password policy visible when changing password, and brings a set of further bugfixes and stability improvements.
Task completed
Implemented HTTP/REST server to PUT/POST data to the connectware. (Known issue: The Admin-UI frontend does not list a HTTP server resource in the list of “Servers” - to be fixed in the next release.)
Admin-UI: Improved password dialog to show password policy when entering a new password
Admin-UI: Change deviation popups to custom snackbar with link to the list of deviations
Admin-UI: Show uptime column in container views
Bugs fixed
K8s: Fixing initial admin password issues in Kubernetes/Helm that might be processed wrong if containing special characters. Concerns only deployments using Helm charts using the initial admin password setting: In that case, this is a BREAKING change as the password must now be given in base64 instead of plaintext.
K8s: Fix not being able to install a service initially due to “vrpc timeout” (high-severity bugfix!). Fix role permissions so that statefulset can be queried correctly from broker startup scripts. Fix vernemq startup scripts to ensure multi-node broker cluster is found correctly. Implement readiness probe in vernemq broker pods.
HTTP protocol: Fix HTTP token renewal that did not work for write operations
HTTP protocol: Fix connection state that was shown connected even with wrong authentication credientials
k8s: Fix ServiceCatalog instance, avoiding vrpc timeout error
Admin-UI: Minor fix of explorer page styling
User documentation updates
User docs: Adapt documentation to clarify which features are not available on k8s but only on Docker Compose
User docs: Improve list of Admin-UI access permissions by automating its generation
Minor swagger docs fix: Fix client registry swagger documentation about returned timestamp
What has changed in 1.0.79?
Note
This version 1.0.79 is affected by a bug potentially causing instabilities, hence use version 1.0.81 instead!
Our next weekly maintenance release brings a backup/restore function for the user database, an improved version check for distributed agents, several improves user interface pages, some bugfixes for MQTT and HTTP, significant user documentation updates, and improved overall stability.
Task completed
Implemented new backup and restore function for user/role/permission database, see Backup and Restore
Check connectware version match between protocol-mapper agent and main connectware and refuse startup on mismatch to avoid unexpected malfunction (causing breaking change when trying to use distributed protocol-mapper agents without update)
Admin-UI: Improve “client registry” page
Implement system resource monitoring log messages into the container logs
Bugs fixed
MQTT protocol, Mappings: Fix extra duplicated messages if there are multiple overlapping wildcard subscriptions
HTTP protocol: Fix missing basic auth (username/password) implementation when accessing other HTTP servers
User documentation updates
User docs: Explain route and permission configuration when users with lesser permissions should still be able to see certain Admin-UI pages
User docs: Update “Exporer” page after recent UI changes
User docs: Update “user management” page after recent UI changes
User docs: Explain the “Setting of environment” steps in a separate section
User docs: Ensure that all sample commissioning files work out of the box
What has changed in 1.0.78?
This is another weekly maintenance release with a set of bugfixes in OPC UA and Rule Engine, a new feature for HTTP query parameters, some documentation updates, and general maintenance.
Tasks completed
HTTP protocol: Added feature to set query parameters dynamically from MQTT message
Admin-web-app shutdown: Fix missing SIGQUIT handling in admin-web-app to enable graceful shutdown of container
Bugs fixed
OPC UA: Fix reconnect handling for many node subscriptions and slow servers that might cause too many requests at the server (high-severity bugfix)
Rule engine: Fix erroneous refusal of service installation when COV rule uses string array as key
ADS protocol: Fix error when receiving an INT64 value
User documentation: HTTP Connection Probing explanation improved
What has changed in 1.0.77?
Our next weekly maintenance release brings a newly designed user management page in the UI, some bugfix for OPC UA Server Historical Access, and a number of further improvements and bugfixes all over the product.
Tasks completed
Admin-UI user management: New User and Roles Management Screen. The pages for user management, role management, and permission overview were redesigned and re-implemented. This gives a much better overview and better user experience for editing all aspects of users and roles.
Admin-UI user management: Implement the possibility of renaming a user
Admin-UI user management: Hide auto-generated service users and roles in the user management page by default
Admin-UI user management: Enable editing the “Per-User MQTT prefix” (available since 1.0.73) in the user management page
Bugs fixed
OPC UA Server Historical Access (high-severity bugfix): fixing missing data on Historical Access request
Kubernetes: Change the Postgresql volume’s access mode from ReadWriteOnce to ReadWriteMany (RWX)
Postgresql container shutdown: Fix missing SIGTERM handling to enable graceful shutdown
doc-server shutdown: Fix missing SIGQUIT handling in doc-server to enable graceful shutdown
ADS protocol: Specify existing limit on subscribe interval of approx. 7 minutes
Auth-server: Minor improvements in handling of lost postgresql connection
protocol-mapper startup: Fix potential startup failure where errors were not causing a clean restart
Admin-UI user management: Fix error on assigning grant types in user management pages
User with MQTT prefix: Changed authorization to check MQTT topic permission now with prefix. Note: This might break existing setups which are using “Per-User MQTT prefixes” available since 1.0.73 with very specific permissions, but does not touch any setup that was not yet using this “MQTT prefix” feature.
What has changed in 1.0.76?
This is another weekly maintenance release with a set of bugfixes, some documentation updates, and general maintenance.
Tasks with minor additions
User documentation: Update documentation for Certificates screen
User documentation: Added explanation about the issue with Docker networks and alphabetical order of network names.
MQTT Broker: Configuration changed to increase maximum-topic-depth to 20
Debugging output: Add explicit clientIds to internal MQTT clients to improve debug output readability
Update node.js to 14.19.0, alpine to 3.15
Bugs fixed
(High-severity bugfix) Fix MQTT message duplicates that could appear after an internal disconnect/reconnect event, which has been observed seldomly but would be a problem. With this fix, no more duplicates appear.
Admin-UI: Fix slightly confusing message on empty table on “Service Links” page
Kubernetes: Extend resource limits to avoid out-of-memory kills under peak loads
HTTP protocol: The HTTP connection check can now be configured in more detail, see Connection Properties. Also, fixed unexpected large number of server connections due to HTTP connection check, if the liveness of the connection has been proven by other activities anyway.
Features removed
Pfannenberg protocol: The obsolete
pfannenberg
protocol has been removed because it was designed for some special devices which turned out to be out of use for quite some time already
What has changed in 1.0.75?
Our next weekly bugfix release included some bugfix for the setContextVars rule in the Rule Engine, some performance improvements for large number of users, and a set of additional bugfix and stability improvements.
Tasks with minor additions
Broker: Improve handling of message rate peaks (reducing potential message loss) by increasing max_online_messages parameter and making it available as configuration option
User documentation: Clarify service parameter array usage (and its limits)
User documentation: Add missing documentation about response codes for Write operations in all protocols, in particular also for using /set /res endpoints for protocol EtherNet/IP
Auth-server: Improve performance for larger number of users and running services at service-manager
Bugs fixed
Rule engine (high-severity bugfix for setContextVars rule): Fix erroneously failing verification of setContextVars rule whose var property needs and object, not array. Fix broken setContextVars rule where the variables could not be used in the publish topic.
Workbench: Fix global HTTP proxy settings to be applied in workbench, too
Kubernetes: Extend resource constraints to avoid out-of-memory kills under peak loads
Admin-UI: Fix missing display wrapping of service cards on service catalog page
OPC UA client with events: Fix erroneously ignored field selection from commissining file
What has changed in 1.0.74?
This regular bugfix release includes ones important high-severity bugfix concerning the qos property in endpoints, another important change for Kubernetes deployment (unrelated to deployments using Docker Compose), and a set of additional bugfix and stability improvements.
Tasks with minor additions
OPC UA user docs: Clarify documentation about session, subscription, monitored item groups
Bugs fixed
Endpoints (high-severity bugfix):
qos
property from commissioning file was unfortunately ignored when creating Endpoints, which is fixed nowKubernetes deployment (high-severity bugfix): Fix Connectware unable to start due to Postgres mountPath error. This is a breaking change for any Kubernetes Helm Chart deployment. However, it does not affect deployments using Docker Compose.
Kubernetes Admin-UI: Fix missing first letter in list of containers in Admin-UI
OPC UA server: Rename
alternateHostname
property tohostname
to clarify its meaning, adapting the documentation accordingly. The old property name is still accepted for backward compatibility, though.Services with Docker networks: Detect and log unintended ingress network change
Admin-UI: Minor layout improvements in explorer page for better understanding on first look
HTTP Client: Fix missing renewal of OAuth token that is used over longer time periods
What has changed in 1.0.73?
The weekly maintenance release of the Connectware includes two important high-severity bugfixes, for Mapping and for Kubernetes installations, as well as one new page in the Admin-UI for Rule Engine Sandbox and the new feature of MQTT topic prefixes. Additionally, many other areas received some bugfixes and stability improvements.
Tasks and Features
Admin-UI: Implement Rule Engine Sandbox page for live evaluating Rule Engine transformation expressions
New Feature: The MQTT broker can be configured to add an automatic MQTT topic prefix to incoming published MQTT messages, see Adding a MQTT Publish Prefix for Users, especially suited for high-throughput installations
Admin-UI: Feature request: Save Table View Settings
Auth-server optimization: Optimize User.read() method for Broker auth
User docs: Document result of of using /set /res endpoints for protocol MSSQL
Bugs fixed
Connection handling (high-severity bugfix): Mappings are stopping forwarding messages on certain combinations of disconnect/reconnect events
Postgres on kubernetes (high-severity bugfix): crash loop on startup due to missing permission for chmod, related to PGDATA environment variable. This is fixed with the current Helm chart and this Connectware version
Admin-UI: Wrong message on service deletion confirmation popup
Admin-UI: Password should not be stored after login on the Admin UI
Admin-UI: Error when displaying Service Details Page after installing a new service from Comissioning File
Admin-UI: Service details were not updated when uploading a file for a catalog service
Service validation: Mapping resources should validate rule names and properties
OPC UA Server: Clarify property “alternate hostname” which is needed always (to be renamed soon)
OPC UA client using events: Fix unhandled promise rejection for invalid nodeId in eventType
What has changed in 1.0.72?
This next maintenance release includes another set of bugfixes in the Admin UI, the auth-server performance, and user documentation. Also, the web tokens can now be used for authentication, as needed e.g. for displaying status pages without having to enter a username and password in the browser.
Added
Admin-UI: When using long-lived web tokens, the possibility to use this token for authentication was added, see Browser Authentication, where the token is specified by an extra apiToken URL parameter. This authentication can be used for either Admin-UI pages, or to access service containers according to their ingress routes. Both cases can be interesting for displaying status pages without having to enter a username and password in a browser.
Changed
Auth-server: Further work on optimization of authentication by adding an extra function that is optimized only for this authentication
Admin-UI: For ADS connections, display the Ads routerTcpPort as port number (instead of the uninteresting AMS port number)
Admin-UI: Order items in permission lists for users and roles alphabetically
Auth-server: For custom password policy configuration, improve the handling in client registry procedure by returning a special status code (422) on unsatisfied password complexity, and adapt the remote distributed agent to respond accordingly, so that distributed agents will work with client registry and any password policy.
OPC UA client: Improve error log message on problems with OPC UA type mismatch
Bacnet user docs: Extend docs for BACnet read/write
Focas user docs: set/res endpoint documentation for the Focas protocol.
Sinumerik user docs: documentation added for set/res endpoints
Fixed
Admin-UI: Fixed issue where Admin UI’s explorer page would take user to the wrong resource page in the hover-over box on some mqtt topic
Admin-UI: Fixing issue on Admin UI where messages in the Explorer page would not appear
What has changed in 1.0.71?
This regular Connectware maintenance release improves some issues with service parameters, authentication stability, Beckhoff/ADS protocol implementation, ingress routes, and user documentation clarifications.
Changed
ADS protocol: More stability improvements. New properties on AdsConnection to handle connnection checking process: routerTcpPort, timeoutDelay. The connectionCheck can be disabled or configured in more detail. localAddress and localPort properties are now explicitly marked as required, because the implementation requires them.
ADS user docs: Clarify endpoint MQTT topics and response messages
Heidenhain: Clarify user docs about endpoints and response message. Also, change write endpoints to also return a response message.
Sopas user docs: Clarify write endpoints and response messages
Pfannenberg user docs: Clarify write endpoints and response messages
Admin-UI: Technical debt reduction in deviation handling, simplifying code base.
Fixed
Services (high-severity bugfix): Fix Cybus::MqttHost global parameter value that was broken since version 1.0.67 because the connectware’s internal hostname for the broker (broker) is different from what service containers need to use (connectware). This change introduces a CYBUS_MQTT_HOST_FROM_SERVICES environment variable to configure this differently if needed. (NOTE: docker-compose.yml file change!)
Auth-server (high-severity bugfix): Increase authentication stability by using only exactly one instance of the UserModel code, decreasing occurrences of closed auth connections even more
Ingress-controller (high-severity bugfix): Fix broken ingress routes if multiple routes should target the same container host but with different port numbers
Ingress-controller: Fix bug causing multiple updates when there are multiple ingress routes with the same target container host.
Admin-UI: Fixing errors on the Mapping page for services with distributed agents
What has changed in 1.0.70?
This next maintenance release includes another set of bugfixes in the Admin UI, in service life cycle management, and various other areas. Also, with some regular component updates and bugfixes the overall stability and performance has been improved.
Changed
Upgrade node-opcua from 2.50.0 to version 2.62.7
Fixed
Admin-UI: Fixed issue on Admin UI where Connection page would never finish loading if the list is empty
Admin-UI: Now correctly hiding the
__internal__
connection from the list.Admin-UI: Technical debt reduction for “agents” page. Fixed sorting and pagination issues with UI for agents page
OPC UA: Add log message warning and improve description for missing resourcePath property
Services: Fix container issues after service delete, where on incomplete delete some containers might not be removed, but are removed now.
Protocol-mapper: Increase error message verbosity on protocol-mapper batch create problems with persisted resource parameters
Broker startup: Check for empty configuration file, and error out with a clear message if this situation occurs to avoid unnoticed startup errors
Auth-server: Improve model implementation to use database transactions in a cleaner way, making the code much more robust and reducing technical debt.
Auth-server database: Fix remaining roles and permissions that were left behind on the database when deleting users.
Auth-server: Fix missing routing permission for new REST endpoint /api/policy/password
What has changed in 1.0.69?
This regular Connectware maintenance release brings a set of bugfixes in the area of service handling, exception handling on C++ libraries, systemstate protocol, and REST endpoint. Also, the user documentation has received some minor updates and overall stability has been improved.
Fixed
Services (high-severity bugfix): Fix broken vrpc event listener un-registration in services, causing increasing vrpc traffic on every single disable/enable of any service.
Catch unhandled exception error on some C++ protocols if they encounter issues so that this does not crash the protocol-mapper anymore.
User management: Fix error on mqtt topic permissions that did not accept topics with spaces, although these are valid mqtt topics.
User docs: Add recently added protocol names in the user documentation of connection and endpoint
User model: Fix erroneous database transaction implementation on user creation
Systemstate protocol: Fix systemstate signalling of initial resource
Fix missing permissions for new REST endpoint ‘/api/policy/password’ (read-only)
Admin-UI: Fixing an irrelevant error display about the ‘_ _internal _ _’ connection in the connection page
What has changed in 1.0.68?
The next Connectware release brings the new feature of password policy specification, an important bugfix for mapping subscription clean-up and another one for FANUC Focas protocol, and user interface improvements such as the display of inter-service dependencies on the service page. Many more bugfixes and changes improve overall stability and reliability even further.
Added
User password policy: Add password policy configuration option. This feature makes it possible to configure password complexity policy rules in the Connectware using an environment variable called CYBUS_AUTH_PASSWORD_POLICY_RULES. Note: As the initial installation also sets an initial password for the default admin user, this initial password can be set by the newly implemented environment variable CYBUS_INITIAL_ADMIN_USER_PASSWORD. If this was forgotten and the initial password is rejected due to a stronger password policy, the initial setup will immediately terminate. (NOTE: docker-compose.yml file change!)
Admin-UI: Now show inter-service dependencies on service detail page (both: dependsOn and dependent services) and also if enabling/disabling a service will concern other services as well
User docs: Add docs for generating API tokens by the REST interface
Changed
Admin-UI: adjust metrics table headings for number of messages. Update user documentation of metrics page.
Modbus User docs: Update usage of /res /req /set in modbus docs
Only exit protocol-mapper after several consecutive failed broker authorizations
Further improvements in startup timing for Kubernetes and Docker Compose
Add consistent startup message across services: Adds the message ‘Connectware service bootstrap completed’ to all of our own-implemented services.
Fixed
Mapping subscription cleanup (high-severity bugfix): Bugfix for exception at subscriptions cleanup with cronTask, introduced in version 1.0.40 and apparently never being noticed. The bug surely causes erroneous double- subscription, but potentially also additional follow-up errors.
FANUC Focas protocol (high-severity bugfix): Fix endpoints mix-up when connecting more than one machine.
Broker: Show clear error message at startup on missing file permissions: If the broker container has no write permissions on the file /vernemq/etc/vm.args and the file ends up empty, the vernemq process shows a weird error message and is stuck in a crash-restarting-loop. With this change, the broker will still not yet start correctly, but at least show a clear error message.
Kafka: Fix broken KafkaEndpoint stored persistence. The error on storing Kafka endpoints (since 1.0.59) is being detected since 1.0.67 but is now handled even more gracefully by just fixing this particular storage problem, causing the endpoints to load fine again in any case.
Endpoints: Avoid unhandled promise rejection error when an endpoint reference was incorrectly written in the commissioning file
Admin-UI: Fixed container names of core containers being displayed only partially in the container detail pages
Admin-UI: If the default admin user is disabled, it will be no longer shown in the list of users.
What has changed in 1.0.67?
This next weekly maintenance release includes another set of bugfixes in Kafka, Modbus, Rule Engine, and other areas. Also, user documentation has been improved, and Beckhoff/ADS implementation has been rewritten significantly.
Changed
User documentation improvements: Documenting the input/output format of read and write endpoints for Influxdb, Modbus, MQTT, SQL
ADS re-implementation. This enables the capability of writing/reading complex data types like struct types.
Improve startup synchronization between microservices by letting the dependent ones wait on their dependencies before continuing with startup
OPC UA: improve error logging for MonitoredItem errors
Kafka: Better error reporting by printing topic names in log messages.
Fixed
Kafka: Fix erroneous extra properties on address object, causing errors on protocol-mapper restarts
Fix changing env-1.0.sh content order that caused subsequent crash loop when downgrading to Connectware version 1.0.64 or older
Modbus: general error handling improvements, in particular fixing an unhandled error event during reconnection, causing the protocol-mapper to crash and restart
Rule Engine: Fix SetContextVars rule not working properly with context vars and rules
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
Service resources: Add new Cybus::File resource type into commissioning file
Focas protocol: implement program_download command (where “download” means loading the file into the PLC).
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 Uploading 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
SQL Protocol: Support for connecting to PostgreSQL databases has been 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 the docker-compose.yml configuration file (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
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 schemeHeidenhain: 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 services 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
Some protocols: Cron expressions for polling at fixed time points on endpoints have been implemented.
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 Container 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 Container 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.yml 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
Implement OPC DA protocol
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.yml 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
New protocol: SQL connection protocol for e.g. MariaDB has been 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
Pfannenberg protocol ported to v1.0
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
New protocol: Ethernet/IP protocol
User docs: example commissioning files as downloads, and also verified to be loadable correctly
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
Last updated