Changelog
Release notes for Connectware and Cybus Helm Charts, including new features, improvements, and bug fixes.
Connectware 2.6.1
Fixed
Metrics
Fixed an issue where the Metrics View could fail to load on Connectware 2.6.0 deployments.
connectware Helm chart 3.3.1
On Kubernetes, deploy Connectware 2.6.1 with connectware Helm chart 3.3.1. This is a version bump that raises the default Connectware version to 2.6.1. No other changes compared to 3.3.0.
connectware-agent Helm chart 3.3.1
On Kubernetes, deploy Connectware 2.6.1 with connectware-agent Helm chart 3.3.1. This is a version bump that raises the default Connectware version to 2.6.1. No other changes compared to 3.3.0.
Connectware 2.6.0
Added
Monitoring
Added metrics endpoints in the OpenMetrics format for Auth Server, Protocol Mapper, Resource Status Tracking, and Service Manager, so you can track connection health, data flow, service state, and authentication activity with Prometheus-compatible monitoring tools. See Connectware Metrics and Metrics Reference.
Added the
CYBUS_METRICS_BINDHOST,CYBUS_METRICS_COLLECTINTERVALMS,CYBUS_METRICS_RATELIMIT_COUNT, andCYBUS_METRICS_RATELIMIT_WINDOWMSenvironment variables to control which interface a metrics endpoint binds to, how often it collects values, and how often it accepts scrape requests. See Environment Variables.
OPC UA
Added support for identifying OPC UA nodes by namespace URI in the
nodeIdproperty, using thensu=<namespaceURI>;<identifier>form. Connectware resolves the URI to the current namespace index at runtime, so endpoints keep working when the server's namespace index changes. Applies toread,write, andsubscribeendpoints. See Node IDs.OPC UA connections now use the server's advertised monitored-items-per-request limit by default when available. You can still set the batch size manually. See Setting the Maximum Monitored Items per Call.
Added the applicationUri connection option, which sets the application URI that the OPC UA client presents to the server. When you connect with
SignorSignAndEncrypt, this URI must match thesubjectAltNameURI of the client certificate. See OPC UA Client Connection Options.
Rule Engine
Added the JSONata custom functions
$uuidv4()and$uuidv7()for generating globally unique identifiers intransformrules. See Data Processing Rules.Added the
splitrule, which fans one array-bearing message out into one message per element and routes each element through the remaining rules of the mapping individually. See Data Processing Rules.Added the
schemarule, which validates the current message payload against an inline JSON Schema and writes the result to$context.schema. See Data Processing Rules.
Services
Added the Loading service's parameters permission, which covers write access to
/api/services/parametersSchemaand was previously part of the Creating or updating services permission. You can now view a service's parameters and commissioning file without write access to/api/services. See Admin UI Permissions.
SQL
Added support for the Oracle SQL dialect, including TLS (TCPS) connections. See Oracle Connections and TLS.
Changed
Admin UI
Updated the Admin UI design elements.
InfluxDB
Renamed the
measurementandmeasurementPrefixendpoint properties on theInfluxdb3protocol totableandtablePrefixto align with InfluxDB 3 terminology. Services that usemeasurementormeasurementPrefixonInfluxdb3endpoints, or that send messages with ameasurementkey to the/settopic, must be updated to use the new names before upgrading to Connectware 2.6.0. TheInfluxdb(InfluxDB 2) protocol continues to usemeasurementandmeasurementPrefix. See InfluxDB 3 Support.
Fixed
Admin UI
Fixed an issue where users with partial permissions were redirected incorrectly after signing in.
Fixed an issue where the information section on the user management page closed on every tab change.
Fixed an issue in the Rule Sandbox where the latest output was not always displayed.
Fixed the display of ports in the container configuration view.
Fixed an issue where the Data Explorer could not add topics containing repeated topic levels.
Fixed an error in the service logs view when selecting a start timestamp in the past.
Agents
Fixed an issue where stale mTLS agent records were kept in storage.
Auth Server
Fixed an issue where bearer token expiration was not checked on all authentication paths.
Fixed an issue where users and roles that were recreated after being disabled and enabled again were permanently dropped.
Client Registry
Fixed an issue where the
/client-registry/registerand/client-registry/confirmroutes accepted any JSON array aspermissions, storing malformed permission entries that later caused the confirmation request to fail. Both routes now validate permission objects and reject invalid ones.
Kafka
Fixed an issue where Kafka resources reported incorrect deviations.
MQTT
Fixed an issue where MQTT client IDs could collide.
Clarified the log message written when the same MQTT topic is subscribed repeatedly.
OPC UA
Fixed an issue where a single endpoint with an invalid
nodeIdprevented all endpoints of the same service from enabling. Only the endpoint with the invalidnodeIdis now affected, and the remaining endpoints enable as expected.
Services
Fixed an issue where updating a service with a JSONata error returned an unclear error instead of a
406response.Fixed an issue where a timeout while waiting for roles produced an error message without details.
Fixed an issue where a WebSocket connection that was no longer available could cause an error in resource status tracking.
Cybus Helm Charts 3.3.0
On Kubernetes, deploy Connectware 2.6.0 with the following chart versions:
connectwareHelm chart 3.3.0connectware-agentHelm chart 3.3.0connectware-toolkitHelm chart 1.1.0
Connectware 2.6.0 required
Helm charts 3.3.0 require Connectware 2.6.0 as the minimum supported Connectware version for both the connectware and connectware-agent charts. See Compatibility Matrix.
Added
connectware chart
Added support for exposing metrics in the OpenMetrics format on Auth Server, Protocol Mapper, Resource Status Tracking, Service Manager, Broker, and Protocol Mapper agents. See Configuring Metrics.
Added support for Prometheus Operator ServiceMonitor resources for Auth Server, Protocol Mapper, Resource Status Tracking, Service Manager, Broker, and Protocol Mapper agents. See Configuring Metrics.
Added a liveness probe to Auth Server, Service Manager, Protocol Mapper, and Protocol Mapper agents, and a readiness probe to Service Manager. See Helm Chart Reference.
Added Helm values to configure the readiness probe on Auth Server, NATS, Resource Status Tracking, Topic Explorer, and Broker. See Helm Chart Reference.
Added Helm values to configure the startup probe on NATS. See Helm Chart Reference.
connectware-agent chart
Added support for exposing agent metrics in the OpenMetrics format. See Configuring Metrics.
Added support for Prometheus Operator ServiceMonitor resources. See Configuring Metrics.
Added a liveness probe to agent workloads. See Helm Chart Reference.
Changed
connectware chart
The metrics sidecar on NATS is now enabled by default, and its ServiceMonitor is configured through the new
global.metrics.serviceMonitorHelm values. See Configuring Metrics.Updated the readiness probe for Auth Server, NATS, Resource Status Tracking, Topic Explorer, and Broker. See Helm Chart Reference.
connectware-toolkit chart
Updated the Connectware Toolkit container to version 1.5.0.
Fixed
connectware-agent chart
Fixed an issue where the chart created a Kubernetes Service only for the last agent defined in
protocolMapperAgents.
Cybus Helm Charts 3.2.0
Added
connectware chart
Added PodDisruptionBudget to the Auth Server, NATS, Resource Status Tracking, Topic Explorer, and Broker workloads.
Added support for using existing ServiceAccounts instead of the RBAC setup that the chart orchestrates.
connectware-agent chart
Added support for additional persistent volume claim templates on agents through
protocolMapperAgentDefaults.extraVolumeClaimTemplatesorprotocolMapperAgents[*].extraVolumeClaimTemplates.
Changed
connectware chart
The chart now blocks the internally used environment variables
CYBUS_NATS_AUTH_PASSWORD_HASH,CYBUS_NATS_SYS_AUTH_PASSWORD_HASH, andCYBUS_NATS_SYS_PASSWORD_HASHfrom being set on the NATS StatefulSet.
Connectware 2.5.0
Added
Auth Server
Added support for authenticating MQTT clients directly with LDAP credentials. See Single Sign-On with LDAP.
InfluxDB
Added support for InfluxDB 3 via the new
Influxdb3protocol. See InfluxDB 3 Support.
Changed
Admin UI
Updated the Admin UI design elements.
Cybus Helm Charts
Updated the
connectwareandconnectware-agentHelm charts to version 3.1.0 to align with this Connectware release. Chart 3.1.0 contains no changes compared to 3.0.0.
Connectware 2.4.2
Added
BACnet
Added support for configuring BACnet timing and retry behavior on slow, unreliable, or congested networks via new
Cybus::Connectionproperties:apduTimeoutMs,apduRetries, andsweepIntervalSeconds. See Handling Slow or Unreliable Devices.Added experimental support for reaching BACnet/IP devices on remote subnets via the new
bbmdconnection property. Full support is planned for a future release. See Reaching Devices on Remote Subnets.
Protocol Mapper
Log messages for messages discarded from a write buffer now include the service name and endpoint ID, making it easier to identify which endpoint dropped expired items.
Changed
Cybus Helm Charts
Updated the
connectwareandconnectware-agentHelm charts to version 3.0.1 to align with this Connectware release. Chart 3.0.1 contains no changes compared to 3.0.0.
BACnet
The valid range for the
priorityendpoint property on BACnet write operations is now1–16(previously0–16). Services that setpriority: 0are rejected and must be updated before upgrading to Connectware 2.4.2.
Fixed
Admin UI
Fixed an issue in the service installation dialog where clearing the service ID field with Backspace triggered a validation error before the field was fully cleared. The field can now be edited freely, and validation runs on submit.
Agents
Fixed an issue where agents could send progressively more heartbeats after repeated NATS reconnections, occasionally producing
too many requestswarnings.
Auth Server
Improved log messages during PostgreSQL outages so that transient database errors are no longer reported as
username does not existduring MQTT authorization.
BACnet
Fixed an issue where reading BACnet array properties whose response exceeded a single APDU (~1476 bytes) failed. The client now detects the oversized response and automatically reads the property in chunks, so large arrays such as
object-listcan be read without any manual configuration.
Protocol Mapper
Fixed an issue where endpoints stopped capturing machine data when the internal broker connection was temporarily lost. Endpoints using
qos: 1orqos: 2now buffer machine data locally until the broker is reachable again, reducing data loss during short CybusMQ outages. See Connection Loss.Extended write buffering to also engage when a write fails with a timeout or error, not only on a detected disconnection.
Fixed an issue where a service update could leave a stale endpoint behind, resulting in symptoms such as the endpoint remaining in the
enablingstate or write buffers appearing to hold messages indefinitely. As a side effect, any messages still in a write buffer at the moment of a service update are no longer flushed.Fixed a rare case where a mapping using a custom connection could remain partially subscribed after a broker restart. Subscriptions are now reliably re-established on reconnect.
Service Manager
Fixed an issue where installing many services concurrently through the asynchronous deployment endpoint could fail with HTTP 406 or YAML parse errors, or in rare cases produce inconsistent resources. Concurrent installs are now processed in isolation.
Removed
HBM DAQ
The Hottinger Baldwin Messtechnik (HBM) DAQ connector (
HbmDaqprotocol) has been removed.
Cybus Helm Charts 3.0.0
This release marks the first standalone update of the Cybus Helm charts, decoupled from the Connectware release cycle. Chart improvements can now ship independently, and you can plan chart and Connectware upgrades on separate schedules. See the Compatibility Matrix for supported combinations.
Chart 3.0.0 reorganizes the values.yaml file for both the connectware and connectware-agent charts, aligns naming with Kubernetes conventions, and lowers default resource requests to make smaller clusters easier to start with. The agent chart is now embedded as a subchart of the connectware chart, replacing the built-in agent templates with the same configuration surface used by standalone agent installations.
Upgrade Guide for Cybus Helm Charts 3.0.0
This release introduces breaking changes to values.yaml and requires manual upgrade steps. For detailed instructions, see Upgrading connectware and connectware-agent Helm Charts to 3.0.0.
Added
connectware and connectware-agent charts
Both charts now enforce a minimum required Connectware image version. Installs fail if the image tag is below this minimum, protecting against incompatible chart and Connectware version combinations. Custom registries and non-semver tags are not checked to allow custom use cases.
Added
validVersionas an opt-in Helm value. When set, the install fails unless the value matches the deployed chart version, protecting against mismatched chart andvalues.yamlcombinations. See Locking Helm Chart Version in values.yaml.Each component now accepts
extraContainersandextraInitContainersHelm values to inject sidecar or init containers into the workload, as well asextraVolumesandextraVolumeMountsHelm values to mount additional volumes. See Adding Sidecars and Volumes, as well as Adding Init Containers.Added
podPriorityClassNameHelm value, globally and per component, to assign a Kubernetes PriorityClass to the workload pods. See Pod Priority Classes.Added
nodeSelectorHelm value, globally and per component, to constrain pods to nodes matching the given labels. See Kubernetes Scheduling.Added
tolerationsHelm value, globally and per component, to schedule pods onto nodes with matching taints. See Kubernetes Scheduling.
connectware chart
The
connectware-agentchart is now embedded as a subchart, replacing the built-inglobal.protocolMapperAgentstemplates. Users gain access to theprotocolMapperAgentDefaultsblock to share values across agents, as was already possible with the standaloneconnectware-agentchart. See Deploying Agents with Your Connectware Installation.Added Helm values for MFA issuer and label (
global.authentication.mfa.issuer,global.authentication.mfa.label). The equivalent environment variablesCYBUS_MFA_ISSUERandCYBUS_MFA_LABELare now blocked; use these Helm values instead.The license key, license file, admin user, and broker cluster secret can now each be sourced from a pre-existing Kubernetes Secret, improving the GitOps-style deployment experience.
The
connectwareIngress.serviceblock now accepts additional configuration:type,ports,loadBalancerIP,loadBalancerClass,clusterIP, andexternalTrafficPolicy.Added
toolkit.enabledto opt into deploying the Connectware toolkit container for debugging.Auth-server now defaults to two replicas for improved availability. Set
authServer.replicas: 1to keep the previous single-replica behavior.The
brokerandnatscomponents now accept anextraVolumeClaimTemplatesHelm value to add custom StatefulSet volume claim templates.Added
global.initContainerSecurityContextOverrideto set the security context for init containers across all components. By default, init containers inherit the effectivecontainerSecurityContext.Added a headless Service for the CybusMQ broker. Cluster nodes now discover each other through stable DNS records, improving cluster formation and resilience under pod restarts.
The
global.proxysettings can now be overridden per component onauthServer.proxyandsystemControlServer.proxy. Use these overrides to route only specific components through a different HTTP proxy.
connectware-agent chart
Added
existingAgentPasswordSecretfor managing the agent password through a pre-existing Kubernetes Secret.StatefulSets now set
persistentVolumeClaimRetentionPolicytoRetainfor bothwhenDeletedandwhenScaled, so PersistentVolumeClaims survive scale-down and StatefulSet deletion on Kubernetes 1.32 and later on clusters where the default behavior is changed.
Changed
connectware and connectware-agent charts
Charts are now distributed via an OCI registry at
oci://repo.cybus.ioinstead of a Helm chart repository. Chart versions are pulled by exact tag, removing the need to manage a registered repo or runhelm repo update. For offline installations, charts and container images can now be mirrored to the same registry.Chart versioning is now decoupled from Connectware versioning. Chart upgrades and Connectware upgrades can be planned independently. See Compatibility Matrix.
Helm 4 is now required.
Kubernetes 1.25 or later is now required. The chart does not deploy on older versions.
Security context values no longer merge with chart defaults. The new keys
podSecurityContextOverrideandcontainerSecurityContextOverridefully replace the defaults when set. Either omit them to keep the defaults, or provide a complete security context with all fields you want applied. There is no partial override. See Overriding Security Contexts.Default compute resources have been adjusted: CPU and memory requests are reduced for most components and agents, and default resource limits have been removed. Lower defaults make it easier to get started on smaller clusters. For production workloads, set explicit
resourcesvalues. If you are unsure about what values are required for your installation, see Right-Sizing Kubernetes Resources for Connectware.
connectware chart
Component configuration blocks (
adminWebApp,authServer,broker,containerManager,ingressController,nats,postgresql,protocolMapper,resourceStatusTracking,serviceManager,systemControlServer,topicExplorer,workbench) have moved fromglobal.*to the top level, following Helm best practices.global.ingressis nowconnectwareIngress, and its Deployment is renamed fromconnectwaretoconnectware-ingress. The new name conveys more clearly that the component is an ingress proxy for Connectware, distinct from a Kubernetes Ingress.global.userManagementis merged intoglobal.authentication.global.userManagement.adminUser.initialPasswordbecomesglobal.authentication.adminUser.initialPasswordand now accepts plain text instead of base64.global.authentication.adminUser.enabledis now a boolean instead of the strings"true"/"false".storageblocks are renamed topersistenceacross the chart. This affectsglobal.storage→global.persistenceand the per-component blocks onbroker,nats,postgresql,systemControlServer, andworkbench. Inner keys (size,storageClassName,data,log,accessMode) are unchanged.Keys with initialisms now use uppercase to align with Kubernetes conventions (
ingressDnsNames→ingressDNSNames,postgresql.persistence.preprovisionedNfs→postgresql.persistence.preprovisionedNFS).Resource limits and requests are now configured directly on each component. The
global.podResources.*block has been removed.Several CybusMQ broker keys were renamed or retyped:
replicaCount→replicas,messageQueueSize→onlineMessageQueueSize, and theallowRegisterDuringClusterFormation,allowPublishDuringClusterFormation,allowSubscribeDuringClusterFormation, andallowUnsubscribeDuringClusterFormationkeys now take booleans instead of"on"/"off"strings.The CybusMQ broker cluster secret now supports three options: leave
broker.clusterSecretempty ("") to let Helm auto-generate the secret at install time, set the newbroker.existingClusterSecretto reference a pre-existing Kubernetes Secret, or keep providing the literal secret string inbroker.clusterSecret. See Specifying the Broker Cluster Secret.The
nats.metrics.prometheusintermediate block is removed. All configuration (enabled,resources,serviceMonitor.*) now lives directly undernats.metrics.*.global.image.versionis renamed toglobal.image.tagto match the Kubernetes convention. The value controls the container image tag, not necessarily a version.global.licensekeyis renamed toglobal.licenseKey. Custom registry users are now configured by referencing a pull secret throughglobal.image.pullSecretsbecauseglobal.registryUseris removed.Workloads now carry the standard
app.kubernetes.io/name=<component>label instead of the shortapp=<component>label. This aligns with the Kubernetes recommended labels and matches theconnectware-agentchart.The
connectwareLoadBalancer Service no longer exposes ports40000to40009by default. If you useCybus::IngressRouteresources of typetcp, add the required ports toconnectwareIngress.service.ports. See Configuring the Load Balancer for the connectware Helm Chart.The Kubernetes RBAC Role
pod-manageris replaced with a new role with read-only access. The role is no longer bound to the default ServiceAccount; the chart now creates a dedicated ServiceAccount, which is used exclusively by thecontainer-managerworkload.
connectware-agent chart
The chart now strips reserved environment variables (
CYBUS_AGENT_MODE,CYBUS_AGENT_NAME,CYBUS_HOSTNAME_INGRESS,CYBUS_PROTOCOL_MAPPER_PASSWORD,CYBUS_USE_MUTUAL_TLS, and any name starting withCYBUS_DATAPLANE_orCYBUS_STREAMSERVER_) from anyenvlist. Agent identity, connectivity, and security can no longer be silently misconfigured. Dedicated Helm values are provided for each of these settings, unless they are automatically computed.The deprecated
mTLS.caChain.*path has been removed. Usetls.ca.*instead. See Configuring CA Certificate Chain for Agents with the connectware-agent Helm Chart.The auto-generated image pull secret is renamed from
<release>-cybus-docker-registryto<release>-image-registry.
Removed
connectware chart
global.setImmutableLabelshas been removed. Labels on immutable objects are now always set.global.loadBalancer.metalLB.addressPoolNamehas been removed. Configure MetalLB through annotations onconnectwareIngress.service.annotationsinstead.
Connectware 2.4.0
Upgrade Guide for Connectware 2.4.0
If you are using the OPC UA Server with a custom PKI, you must update your service commissioning files after upgrading. If you do not use the OPC UA Server, no action is required.
For detailed instructions, see:
Added
Services
Updated the Node.js version on the majority of Node-based Connectware services.
OPC UA Server
Added the caFile property, allowing you to specify the path to a custom CA certificate file instead of placing it manually in the OPC UA server's trusted certificates directory. See CA Certificate for more information.
Admin UI
Refreshed icons, typography, side navigation, and the color palette across the Connectware user interface.
Fixed
OPC UA
Fixed an issue where OPC UA method calls did not accept the
{"value": <value>}input argument format.
Connectware 2.3.1
Added
CybusMQ
CybusMQ now processes subscribe and unsubscribe requests in batches, significantly reducing authorization, storage, and replication overhead for clients with large numbers of subscriptions.
Fixed
CybusMQ
Fixed an edge case where synchronous subscribe handling could freeze client sessions during broker restarts, using a secondary detection mechanism to avoid waiting on unavailable nodes.
Fixed an edge case where a hanging TCP connection from a crashed server blocked connections from the new instance; old nodes are now automatically cleaned up on detection.
Metadata store sync timeouts between broker nodes now detect peer failures significantly faster.
Connectware 2.3.0
Added
Modbus/TCP
Added batch processing support for Modbus read requests via the new
batchReadEnabledandmaxBatchSizeconnection parameters. Connectware can now group multiple read requests into fewer, larger ones, reducing communication overhead with the device. For more information, see Batch Read Processing.
BACnet
Added support for the
multi-state-valueobject type in BACnet Endpoint Properties.
Fixed
CybusMQ
Fixed MQTT5 subscribe authorization not being enforced correctly in certain cases.
Fixed an issue where internal broker cluster connections could drop under certain network conditions.
Services
Fixed an issue where Connectware could become unresponsive during startup under heavy system load, preventing agents from connecting.
Fixed an issue where the startup script produced a corrupted TLS certificate file (
cybus_combined_ca.crt) on Azure File volumes, which could cause TLS failures.Fixed an issue where resources with
targetState: disabledin service commissioning files were incorrectly shown as deviated.Fixed an issue where Connectware could permanently fail to reconnect to internal services after a restart if the messaging layer was temporarily unavailable. Connectware now retries indefinitely with increasing intervals between attempts.
BACnet
Fixed an issue where certain BACnet data requests were incorrectly reported as device connectivity errors. These failures are now logged with a specific message to aid diagnosis.
Admin UI
Fixed an issue where the role search field in the Create User and Edit User dialogs did not accept multi-character input.
Fixed an issue where valid login requests to the Admin UI could intermittently fail, particularly when multiple requests were processed in parallel.
Connectware 2.1.2
Added
Reliability & Robustness
Added optional message buffering for MQTT connections using persistent sessions with QoS 1 or QoS 2. The new
messageBufferWindowMsandmaxBufferedMessagesproperties prevent message loss during endpoint reconstruction after reconnect. For more information, see Configuring Message Buffering.
Connectware 2.1.1
Fixed
Reliability & Robustness
Fixed an issue where the BACnet, FOCAS, and S7+ protocols could fail to start correctly after upgrading to 2.1.0.
Fixed an issue that prevented the BACnet, FOCAS, and S7+ protocols from running concurrently within the same protocol mapper instance. These protocols can now be used in parallel as intended.
Connectware 2.1.0
Connectware 2.1.0 introduces support for the Siemens SIMATIC S7+ protocol and OPC UA complex data types. It also reintroduces service-level tracking for the Systemstate protocol, offering improved performance. Furthermore, it provides significant enhancements to resource deviation tracking and OPC UA reliability. See below for a complete list of changes.
Upgrade Guide for Connectware 2.1.0
This release includes an optional cleanup step to reclaim disk space from the deprecated resourceStates NATS bucket.
For detailed instructions, see:
Added
Innovation & Enhancement
Added support for the Siemens SIMATIC S7+ protocol. For more information, see Siemens SIMATIC S7+.
Added support for OPC UA complex data types, enabling the protocol-mapper to handle more sophisticated data structures and expanding its applicability to a wider range of use cases. For more information, see Complex Data Types.
Added service-level tracking to the System State protocol. For more information, see Systemstate.
Systemstate instances are now managed by a centralized microservice, enabling reliable tracking of large-scale deployments with improved performance.
Reliability & Robustness
Resource deviation tracking has been optimized to provide higher accuracy, reliability, and resilience during peak load scenarios or infrastructure issues. Deviation state traffic has been reduced by 50%.
Added the
CYBUS_RESOURCE_CATEGORIES_GRAPH_ENDPOINTS_DEPEND_ON_MAPPINGSenvironment variable to configure the resource deployment order of endpoints and mappings. For more information, see Environment Variables.
Fixed
Security & Stability
Fixed a race condition that could cause an older resource state to overwrite a newer one.
Fixed MQTT connections to correctly create a secure context even when a CA certificate is not provided.
Reliability & Robustness
BACnet
Fixed an edge case where BACnet connections did not recover automatically after connection loss.
OPC UA
Fixed subscriptions failing when multiple endpoints reference the same nodeId.
Fixed memory leak caused by frequent re-subscription attempts for non-existent nodeIds.
Fixed event subscriptions creating infinite retry loops due to
BadTooManyMonitoredItemserrors, preventing monitored items from accumulating on the PLC.
Connectware 2.0.5
This release brings significant improvements to OPC UA reliability and CybusMQ performance, reducing message loss and improving system stability under load.
Upgrade Guide for Connectware 2.0.5
This upgrade requires you to delete the data volumes that store the metadata of CybusMQ.
For detailed instructions, see:
Added
Reliability & Robustness
OPC UA
Reduced overall OPC UA message volume to lower server-side stress and improve performance.
Improved OPC UA monitoring behavior to prevent potential message loss.
CybusMQ
Added synchronous subscription handling to CybusMQ to prevent potential message loss and out-of-memory issues.
Fixed
Reliability & Robustness
OPC UA
Fixed potential loss of initial value updates for OPC UA subscription endpoints.
Fixed potential protocol-mapper crash after connection loss to OPC UA servers.
Restored OPC UA event functionality that was not working correctly.
Read and write endpoints no longer send unnecessary monitoring requests.
Fixed issues after reconnect that could lead to incorrect connection states and message loss.
CybusMQ
Fixed metadata store issues to prevent unnecessary CPU and memory usage.
Fixed webhook caching issues to prevent unnecessary CPU and memory usage.
Changed
CORS Policy
The HTML5 cross-origin resource sharing (CORS) policy is now disabled for all services except the Node-RED Workbench. This update enhances security by restricting cross-origin requests.
To also disable CORS for the Node-RED Workbench, you must manually remove permissions for its HTTP endpoints. Remove permissions for
/workbenchand/workbench/#from all users and roles. For detailed instructions, see Removing Permissions from Roles and Removing Permissions from Users.
Connectware 2.0.4
Added
Maintenance & Adaptability
Connectware's MQTT server now automatically identifies whether a connection uses TLS and mutual TLS based on the provided client certificate. The
CYBUS_BROKER_USE_MUTUAL_TLSenvironment variable has been removed.
Connectware 2.0.3
Added
Security & Stability
Administrators can now define how long a user stays signed in before being logged out for security reasons. For more information, see User Session Expiration.
Usability & Accessibility
The values of the HTTP connection parameters
agentOptionsandrequestTimeoutare now displayed in the Configuration tab of the Connections view.
Removed
The Backup & Restore view has been removed from the Admin UI.
Connectware 2.0.2
Added
Reliability & Robustness
New HTTP connection parameters (
maxSockets,maxFreeSockets,timeout,keepAliveMsecs) allow you to customize agent options and request timeouts directly in the service commissioning file. Newly installed HTTP-based services automatically use the new default values unless overridden. If you want to use the new configuration parameters for existing services, disable and re-enable each affected service after upgrading. For more information, see HTTPS Agent and Socket Management.All Axios-based HTTP operations use a default
requestTimeoutvalue of 10000 ms (10 s). This configuration ensures that requests terminate if the target server does not respond within the specified time frame, improving reliability and preventing indefinitely hanging requests. For more information, see Controlling How Long Requests Wait for a Response.
Performance & Scalability
CybusMQ: Reduced memory usage when clients subscribe or unsubscribe from topics.
Connectware 2.0.1
Upgrade Guide for Connectware 2.0.1
Connectware 2.0.1 introduces enhancements to the Data Explorer. If you are running services that are configured with CYBUS_MQTT_ROOT, this upgrade requires you to run a migration script to populate missing database entries.
Additionally, Connectware 2.0.1 adds a new microservice for MQTT topic exploration. As a result, Connectware requires more resources.
For more information, see the 2.0.1 upgrade guide:
Added
Reliability & Robustness
Subscribe endpoints now enter an
Enablingstate during temporary OPC UA node unavailability until the connectivity is restored.
Usability & Accessibility
System-level topics are now filtered out from the Data Explorer.
The Data Explorer now uses the new Topic Explorer API service to retrieve topics for resources.
Fixed
Reliability & Robustness
Resolved an issue where OPC UA servers and nodes failed to initialize correctly when the server's resource name differed from the default
opcuaServervalue.Agent-to-Connectware version compatibility verification has been reinstated.
Connectware 2.0.0
Connectware has always been built for reliability in production environments — with version 2.0.0, that foundation has been significantly reinforced. The platform now runs on a rearchitected core with isolated microservices, ensuring failures remain contained. A simplified control plane and new Service Manager reduce operational complexity, while PostgreSQL and NATS provide a robust backbone for consistent state management and communication.
The major advancement: Connectware now scales from tens of thousands of resources to millions, with verified throughput of 1 billion data points per hour. Recovery from failures is faster and deterministic, ensuring continuous data integrity even under heavy load. Smaller deployments also gain clear benefits: shorter startup times, more consistent logging, and automated service recovery reduce manual effort in daily operations.
Across all environments, the event-driven design makes the system easier to maintain, extend, and troubleshoot — establishing a resilient platform, there to support the journey of your factory data integration.
Added
Security & Stability
Highlights
Improved security due to a more strict TLS verification by the Connectware Agents. See TLS Changes (Kubernetes) and TLS Changes (Docker).
Deterministic state recovery. Lost messages and corrupted states eliminated.
Technical changes
TLS trust enforced by default; self-signed certificates rejected unless explicitly configured.
Default user/group is only created when the service commissioning file uses the parameter
Cybus::MqttUser.
Performance & Scalability
Highlights
Capacity increased from ~50,000 to 3M+ resources.
Verified throughput of 1 billion data points/hour.
Also small deployments run with lower latency and higher stability.
Progressive service deployment for Connectware agents to stagger startup fetches after restarts, reducing load spikes on large deployments. See Progressive Service Deployment.
Technical changes
Services and resources are no longer stored on the service-manager volume, but inside the PostgreSQL database.
Service state is decoupled from startup behavior.
Usability & Accessibility
Highlights
Unified MQTT topic structure simplifies automation scripts with stable, consistent naming. See Auto-Generated MQTT Topics of Resources (Kubernetes) and Auto-Generated MQTT Topics of Resources (Docker).
Added Deviated Services view in the left sidebar of the Services section to easily check for deviated services. See Deviations.
Technical changes
MQTT topics standardized to
<Cybus::MqttRoot>/<serviceId>/<resourceName>.You may need to update your service commissioning files if they relied on literal references to previously auto-generated topics.
Maintenance & Adaptability
Highlights
Event-driven architecture (CQRS, event sourcing) ensures maintainability and extensibility.
New control plane improves developer workflows and debugging.
Improved Custom Connectors reliability. See Custom Connectors (Kubernetes) and Custom Connectors (Docker).
Technical changes
Control plane broker removed, simplifying deployments.
VRPC fully removed across Protocol Mapper (and agents), Service Manager, Container Manager, System Control Server, and Admin UI.
NATS introduced to transport and store control plane information.
Monitoring & Resilience
Highlights
Retry logic, correlation IDs, and transparent logging improve troubleshooting.
Technical changes
Expanded logging across components.
Improved observability in the control plane.
Reliability & Robustness
Highlights
Fault isolation: Microservices are ~90% independent, reducing failure impact.
Deterministic state recovery across all deployments.
OPC UA: Optional override the change-of-value (COV) filter to enforce interval-based updates. This ensures predictable, time-synchronized delivery, even when values do not change. Introduces new OPC UA endpoint parameters:
trigger,deadbandType,deadbandValue. See OPC UA Endpoint Properties.
Technical Changes
JSONata rules are validated during service installation. See Installing Services.
Services with missing dependencies (child service without a parent service) can be installed but not enabled until all parent services (dependencies) are enabled. See Inter-Service Referencing.
Installing a service with the same ID as a deleted service is now prevented for 5 seconds. This delay can be configured via the
CYBUS_SERVICE_REINSTALL_DELAY_SECONDSenvironment variable. See Deleting Services.Data Explorer: MQTT topics in are currently only shown if they have at least one active subscription. Additionally, topics that are not linked to a Connectware resource are now visible.
Version History
Last updated
Was this helpful?

