Release notes

Release notes

General notes:

  • Version numbers are formatted as x.y.z where x=major version, y=minor version and z=patch version

  • Regarding Blue/Green upgrades:

    • Blue/Green upgrades can be performed on environments running version a.b.c or newer.

    • ClearBlade only guarantees compatibility between one minor version and the next.

    • If an environment needs to be upgraded from one version to another in a Blue/Green fashion where the origin and target versions are separated by more than one minor version, then:

      • Multiple upgrade steps are required.

      • The steps must upgrade the environment to each of the minor versions between the origin and target versions.

      • Only one step per minor version is required.

      • Although a step can be used to upgrade to any patch version within a minor version, it is recommended that the latest patch version is chosen. This is because the latest patch version is likely to incorporate the most bug fixes.

      • For example, if upgrading from 9.36.2 to 9.38.0 either of these series of steps can be used:

        • 9.36.2 -> 9.37.2 -> 9.38.0

        • 9.36.2 -> 9.37.4 -> 9.38.0 (recommended)

 

2025.2.0

Date: 2025-07-01

Notes:

Platform:

  • Feature: MQTT connector for Azure Event Hub

  • Feature: Support shared access token authentication in the broker. This can be disabled with DisableSharedAccessTokenAuth.

  • Feature: New query parser option that natively supports Postgres syntax. This can be enabled by setting config option UseLegacyParser to false.

  • Feature: New distributed lock store option. Add config options ConsistentHashVirtualNodes, HashRingGetNodeRetryCount, HashRingGetNodeRetryDelaySeconds, DebounceTimeoutSeconds and ClusterStablePeriodSeconds to configure the consistent hash ring and waiting for the cluster to stabilize and connect to every other node. Add config options LockQueueSize, MaxLockRetryAttempts, LockRetryInitialDelayMilliseconds, LockRetryMaxDelayMilliseconds and LockRetryBackoffFactor to configure the hash ring lock implementation.

  • Enhancement: Add ReportIntervalSeconds and ReportIntervalInitialDelaySeconds config options for tuning metric reporting

  • Enhancement: Add config options AzureEventHubPullBatchSize, AzureEventHubPullTimeoutSeconds, AzureEventHubPushBatchSize and AzureEventHubPushTimeoutSeconds for customizing the Event Hub connector

  • Enhancement: Allow preloaded services to serve many requests concurrently, even if no run-as user is set.

  • Enhancement: Add config variable MaxInFlightPreloadedRequestsPerInstance to limit the number of requests that a preloaded service instance will serve concurrently.

  • Enhancement: Pull user contexts in execution engines directly from global store instead of storing a local copy. This deprecates HotSwapUserCtx.

  • Enhancement: Allow use of the EXCLUDED keyword in the ON CONFLICT clause of raw queries

  • Enhancement: Reject raw queries that use black-listed functions. See config options RawQueryFunctionBlacklist, DefaultQueryFunctionBlacklistOverride, and DisableDefaultQueryFunctionBlacklist.

  • Enhancement: Upgrade MongoDB driver to v2.2.2

  • Fix: Check primary key index name dynamically using queries before converting collections to hypertables

  • Fix: Reject raw queries that contain cyclical aliases

2025.1.11

Date: 2025-06-27

Notes:

Platform:

  • Fix: Message history getting deleted when using cb-cli push that excludes message history settings

  • Enhancement: Add prometheus metric clearblade_rpc_messages to track total number of RPC messages sent by each node

  • Enhancement: Change default Buckets.QueueEmptyIntervalSecs config value to 1 hour

2025.1.10

Date: 2025-06-24

Notes:

Platform:

  • Fix: Decode null and undefined bodies in the fetch library instead of throwing an error

  • Fix: Remove default throttlers when EnableDefaultThrottlers is updated

  • Fix: Don't allow permissions to be set on invalid MQTT topic filters

  • Fix: verifytables subcommand failing with "table is already a hypertable" and "constraint already exists" errors

  • Fix: system uploads not removing library dependencies from service metadata

  • Fix: Prevent race condition when updating config through the set subcommand which could generate malformed toml files

  • Fix: Prevent panic when using external brokers in V8.

  • Enhancement: Add prometheus gauge clearblade_security_sessions for user, dev, and device sessions (may cause long scrape times, disabled by default with config Security.DisableSessionMetrics)

  • Enhancement: Support {systemKey} wildcard in topic permissions to match the current system

2025.1.9

Date: 2025-06-06

Notes:

Platform:

  • Fix: Fix builds for 32-bit edges

2025.1.8

Date: 2025-06-06

Notes:

Platform:

  • Enhancement: Allow account registration when using OIDC without requiring full OIDC flow

  • Enhancement: Faster json marshaling on large responses from code services

  • Enhancement: Upgrade Mongo driver to 1.17.4

2025.1.7

Date: 2025-05-27

Notes:

Platform:

  • Fix: Setting number values for config values with the set subcommand failing on remote cluster nodes due to type conversion error

  • Fix: Preloaded request timeout not changed when updated in code service

  • Fix: Fix issue that prevented duktape engines from having their metrics tracked while exiting due to timeout or kill

  • Enhancement: Add setlocal subcommand for setting config values on a single cluster node

  • Enhancement: Include engine type in currently running services output

  • Enhancement: Add config var Engine.PreloaderQueueSize to control preloaded request queue size

  • Enhancement: If local queue is full when MQTT.ShareGroupLocalPreference is enabled, forward the message to another node instead of immediately dropping

  • Enhancement: Add config var RPC.RPCConnectionTimeout to control the initial connection timeout to the platform

2025.1.6

Date: 2025-05-16

Notes:

Platform:

  • Fix: Improve V8 engine termination so that services which get stuck in the event loop (E.g. infinite loops) may be killed.

  • Fix: Prevent race condition in AWS Go SDK that could occasionally cause Kinesis MQTT connectors to panic

2025.1.5

Date: 2025-05-12

Notes:

Platform:

  • Enhancement: Allow infinite code service restarts, with exponential backoff controlled by engine config variables QuickRestartThresholdMs, MinRestartIntervalMs, and MaxRestartIntervalMs. Defaults to a 5s threshold, with a minimum interval of 1s and a max of 60s

  • Enhancement: Upgrade sqlite dependency to v3.49.1

  • Enhancement: Explicitly close Mongo cursors

  • Enhancement: Add index for email_lower_case column in user tables

  • Enhancement: Reduce the number of logs when a shared queue is full and drops a message

2025.1.4

Date: 2025-04-14

Notes:

Platform:

  • Fix: Revise TLS handling to allow TLS on the edge.

  • Enhancement: Add HTTP.UseTLSHTTP config var to enable serving HTTP over TLS

2025.1.3

Date: 2025-04-03

Notes:

Platform:

  • Fix: Undo alias resolution to fix relation does not exist error when using an alias the same name as a collection (SQLSTATE 42P01)

2025.1.2

Date: 2025-04-02

Notes:

Platform:

  • Fix: Stop substituting aliases in raw queries to avoid table name specified more than once error (SQLSTATE 42712)

2025.1.1

Date: 2025-03-31

Notes:

Platform:

  • Fix: Change malloc arg type to support 32-bit architecture builds

2025.1.0

Date: 2025-03-31

Notes:

Platform:

  • Fix: Prevent all websocket servers from sharing the same router. The websocket server at the config's BrokerWSPort serves /mqtt and MessagingAuthWSPort serves /mqtt_auth.

  • Fix: Allow binary payloads to be sent to code services via webhook request body.

  • Enhancement: Add config option, DisableCodeCache, which defaults to true. Due to internal data structure changes, this option must be set to true during the blue-green deployment process.

  • Enhancement: Add config option, DisableBrokerCache to disable redis and use the database to process new MQTT connections and perform client ID checks. Defaults to false

  • Enhancement: Change distributed lock wait queue bumper to operate on a per-lock basis instead of per-node

  • Enhancement: Return more detailed error messages when system creation fails.

  • Enhancement: Add prometheus gauge, clearblade_remote_shell_sessions, to track number of remote shell sessions per edge

  • Enhancement: Add prometheus metrics clearblade_code_services_heap_bytes and clearblade_code_services_heap_bytes_overhead to track long running service heap usage.

  • Enhancement: Replace config option LicenseRenewalWebhook with LicenseRenewalWebhooks to support fallback URLs.

  • Enhancement: Add config variable ShareGroupLocalPreference (default false) which will distribute messages to share group members on the same node that a message arrives on.

  • Enhancement: Add v8 and onnx build support to about response

  • Feature: Support the clearblade_ai library in V8 services

  • Feature: Add websocket endpoint to allow opening a remote shell to connected edge devices.

  • Feature: Add RPC message retries for node to node communication. See config options RPCPlatformMaxRetries and RPCRetryBackoffSeconds.

  • Feature: Track heap usage of javascript engines and report metrics to prometheus. See config option TrackHeapUsage.

  • Feature: Add cache subcommand

  • Feature: Add the following functions to the crypto library for working with keys: importKey, generateKey, generateX509Certificate, exportKey.

  • Feature: Add edge uptime tracker and metrics reporting

9.39.10

Date: 2025-03-11

Notes:

Platform:

  • Fix: cryptoJS undefined error in duktape crypto library

9.39.9

Date: 2025-03-10

Notes:

Platform:

  • Fix: OIDC failing due to capital letters in developer emails

  • Enhancement: Add option for verbose logging around sessions and user contexts

9.39.8

Date: 2025-02-27

Notes:

Platform:

  • Enhancement: Update Mongo driver to v1.17.3

  • Enhancement: Return better error message when auth or registration services return unexpected results

9.39.7

Date: 2025-02-21

Notes:

Platform:

  • Fix: Sessions deleted if database returns error during auth process

  • Fix: Panic caused by passing cyclic object to native library functions in code service

  • Fix: Add TTL to collection cache entries

9.39.6

Date: 2025-02-17

Notes:

Platform:

  • Fix: Clean up Mongo server connections on connection failures

  • Fix: Minor memory leak in V8 during unhandled promise rejections

  • Fix: Cancel sleeps in microservices that time out

  • Fix: Return error when subcommand does not exist

  • Fix: Disabled timers erroneously report as enabled

  • Fix: Ensure all locks acquired by services are tracked and removed on service completion

  • Fix: Properly parse concat operator in raw queries

  • Fix: Handle NaN/Inf float values when querying collections

  • Fix: Summarize goroutines which list their parent goroutine in stack dump

  • Enhancement: Remove confusing log stating "Had a problem getting first element off of queue ... redis: nil"

  • Enhancement: Add optional IoTCore logs for MQTT PINGRESPs and PUBACKs sent by server

  • Enhancement: Change default Cloud Logging resource type config value to "global"

9.39.5

Date: 2025-01-27

Notes:

Platform:

  • Fix: Allow comma separated list of values in accept-encoding header

  • Fix: Avoid panic in MQTT connect when device session does not exist

  • Fix: Load timer queue on node startup

9.39.4

Date: 2025-01-10

Notes:

Platform:

  • Fix: Respond with error if unregistered RPC message arrives on edge

  • Enhancement: Add logStdErr to v8

  • Enhancement: Drop PubSub messages if device does not exist

9.39.3

Date: 2025-01-07

Notes:

Platform:

  • Fix: Deadlock in Postgres distributed lock implementation

  • Fix: Race condition in distributed read locks

  • Fix: System upload bucketset pkey violation error

  • Fix: Strip non-existent columns in deploy messages

9.39.2

Date: 2024-12-27

Notes:

Platform:

  • Fix: V8 NaN panic

9.39.1

Date: 2024-12-20

Notes:

Platform:

  • Feature: Kafka MQTT connector

  • Feature: Pulsar MQTT connector

  • Feature: Remote DB wipe for edges

  • Feature: Remove restart for edges

  • Feature: Remote shell command execution for edges

  • Feature: Remote get/set config for edges

  • Feature: Add priority system to throttlers

  • Feature: Add metrics for RPC RTT and queue times

  • Enhancement: Allow updating log level on running code services

  • Enhancement: Add new permission type for edge remote operations

  • Enhancement: Use database for timers/triggers instead of relying on cache

  • Enhancement: Add signal timeout option to fetch library

  • Enhancement: Add default timeout to fetch library

  • Enhancement: Allow distributed locks to be stored in postgres

  • Enhancement: Add platform version and feature support to cbmeta

  • Enhancement: Use duktape as fallback if v8 not available

  • Enhancement: Add transaction around system creation

 

Console:

  • Feature: Code service log levels

  • Feature: DB Stats tab on admin page

  • Fix: Incorrect value shown for timer frequency if time is under one minute

9.38.9

Date: 2024-12-20

Notes:

Platform:

  • Fix: Correct marshal logic when pushing return value to v8

  • Fix: Correct edge auto-upgrade version comparisons

9.38.8

Date: 2024-12-19

Notes:

Platform:

  • Fix: Allow duplicate PubSub topics in connectors

  • Fix: Recover from panics in v8 code services

  • Fix: Handle logging sets in v8

  • Fix: Use snake case for bucket set config options

  • Fix: Respond to unregistered RPC messages with error

9.38.7

Date: 2024-12-16

Notes:

Platform:

  • Enhancement: Promote broker trace logs to info level

  • Fix: Allow pubsub migration to continue if some systems throw errors

  • Fix: Prevent password auth once a user/developer switches to OIDC

  • Fix: Allow logging enabled to override log level

  • Fix: Account for timescale versions and availability when fetching db stats

  • Fix: Resolve panic on PubSub message received

  • Fix: Propagate engine type when pulling code meta from db to prevent reverting V8 services back to Duktape

9.38.6

Date: 2024-12-10

Notes:

Platform:

  • Enhancement: Remove topic mapping requirement when creating Google PubSub or Amazon Kinesis MQTT connectors

9.38.5

Date: 2024-12-09

Notes:

Platform:

  • Fix: Properly marshal null and undefined in v8

9.38.4

Date: 2024-12-09

Notes:

Platform:

  • Fix: Set deviceName field from broker authentication errors

  • Fix: Set proper permissions on collections when using system upload

  • Fix: Store params with code services when set in console

  • Fix: Use correct error string and fix parsing of some failed run cases

  • Fix: Make data formats consistent between duk and v8

9.38.3

Date: 2024-11-22

Notes:

Platform:

  • Enhancement: Use caller name instead of lock name in lock metrics

  • Fix: Send error response on bucketset file create failures

  • Fix: Better version comparison algorithm for edge upgrades

9.38.2

Date: 2024-11-15

Notes:

Platform:

  • Fix: Stop overwriting redirect responses from services with status codes in the 300s

  • Fix: Properly initialize node socket object to avoid push call on undefined object error

  • Fix: Add details to s3 files in bucketset list endpoint

  • Fix: Always set deployment name in sync status messages

  • Fix: Ensure async functions run asynchronously in v8

  • Fix: Better promise rejection handling in v8

  • Fix: Use proper parameter order for create_jwt in v8

  • Fix: Fire triggers on collection actions in v8

9.38.1

Date: 2024-11-05

Notes:

Platform:

  • Fix: Only flush timer cache during init on leader node

  • Fix: Only add a node to the leader manager after a successful connection

  • Fix: Skip data upsert with no data in system upload collection handler to avoid panic

9.38.0

Date: 2024-10-17

Notes:

Platform:

  • Feature: Add log levels to code services

  • Feature: Add admin endpoint to reset database statistics

  • Feature: Add requireLibrary to v8

  • Enhancement: Allow filtering edges based on connectivity status

  • Enhancement: Remove system secrets

  • Enhancement: Add additional logging and auditing to service account session deletion

  • Enhancement: Ignore unregistered RPC messages

  • Enhancement: Migrate PubSub connections to MQTT connectors

  • Enhancement: Add prometheus metric for gRPC connections

  • Enhancement: Add prometheus metric for RPC execution times

  • Fix: Don't print periodic stat logs when executing subcommands

  • Fix: Add external broker connections back to prometheus metrics

Console:

  • Enhancement: Remove system secret from system settings page

  • Fix: Allow edge names to start with a number

9.37.5

Date: 2024-11-05

Notes:

Platform:

  • Fix: Only flush timer cache during init on leader node

  • Fix: Only add a node to the leader manager after a successful connection

  • Fix: Skip data upsert with no data in system upload collection handler to avoid panic

9.37.4

Date: 2024-10-17

Notes:

Platform:

  • Fix: Handle new user in code service meta during system upload dry runs

  • Fix: Remove preemptive delete from running service map

  • Fix: Remove extra lock in broker leading to deadlocks in connect

9.37.3

Date: 2024-10-15

Notes:

Platform:

  • Fix: Correct column name in device public key replace function

9.37.2

Date: 2024-10-11

Notes:

Platform:

  • Enhancement: Move node connection stats log from debug to info level

  • Fix: Allow service undeploy to succeed if service is already gone

  • Fix: Don't attempt to sync secrets to edges with insecure connections

  • Fix: Sort undeploy messages in reverse order to fix dependency errors

9.37.1

Date: 2024-09-30

Notes:

Platform:

  • Fix: Send metadata along with gRPC requests

  • Fix: Register missing error types with gob

9.37.0

Date: 2024-09-26

Notes:

Platform:

  • Feature: Kinesis integration

  • Feature: gRPC client support in code services

  • Feature: Full system support in system upload

  • Feature: Prometheus metrics for distributed locks and leader status

  • Feature: Admin endpoint for database statistics

  • Feature: Add detach node subcommand

  • Enhancement: Allow configuring the mTLS MQTT ALPN string

  • Enhancement: Add stack trace to unhandled promise rejection errors

  • Enhancement: Allow changing RPC MaxInFlightWorkers and MaxProcessMessageQueue config variables at runtime

  • Enhancement: Calculate Prometheus gauge metrics at scrape time

  • Enhancement: Aggregate dropped event queue messages to avoid spamming logs

  • Enhancement: Improve logging around auto-balance process

  • Enhancement: Improve stat log structure in json log mode

  • Enhancement: Add package category to log fields in json log mode

  • Enhancement: Add more details to router permission denied errors

  • Fix: Prevent edges from being downgraded when connecting to older platform nodes

  • Fix: Prevent deadlock on timer queue reinitialization

  • Fix: Stop auto-scaling services that exit too quickly

  • Fix: Correct service stack trace line numbers when custom libraries are included

  • Fix: Remove sessions when system is deleted

  • Fix: Modify killclient to work with AddRandom config option

  • Fix: Prevent duplicate throttlers from being created

Console:

  • Fix: Add bucket set button throws error

9.36.6

Date: 2024-08-27

Notes:

Console:

  • Fix: Updated cblib dependency to allow for importing secrets via IPM

9.36.5

Date: 2024-08-23

Notes:

Platform:

  • Enhancement: Add temporary config option to reduce JWT size by disabling JWT auth

  • Fix: Handle interface conversion to avoid panic in cache MGetInternal

  • Fix: Sync collection schema when only syncing a subset of collection items

9.36.4

Date: 2024-07-30

Notes:

Console:

  • Feature: Add OIDC allowed domain filters

  • Enhancement: Remove unnecessary comment in micro service template

9.36.3

Date: 2024-07-25

Notes:

Platform:

  • Fix: Added checks in internal MQTT client to avoid nil dereference panic

  • Fix: Use more accurate queue stats in autoscaler

  • Fix: Restart timer queue after cluster leadership change

9.36.2

Date: 2024-07-15

Notes:

Platform:

  • Fix: Ensure Postgres system errors are propagated back to code services

  • Fix: Properly lock when killing code service to avoid panic during deletion

  • Fix: Use the correct query in sync status to delete errors on the initial edge handshake

Console:

  • Fix: The simple filter for tables does not work

9.36.1

Date: 2024-07-01

Notes:

Platform:

  • Feature: Add subcommand for dumping database statistics

  • Feature: Add subcommand for manually reinitializing timer queue

  • Enhancement: Add config options for sync queue reaper enabled, interval, and per-target thresholds

  • Enhancement: Add timeouts to RPC message calls

  • Enhancement: Reregister node info in Redis if keys get cleared unexpectedly

  • Fix: Avoid index out of range panic in code services caused by clearTimeout

  • Fix: Use proper timescale chunk sizes for message history tables and add subcommand for manual fixes

  • Fix: Ensure auto-scaled services keep receiving messages after scaling down

  • Fix: Enforce minimum auto-scale concurrency of 1

Console:

  • Fix: Upgrade filter package to fix CSP violation

9.36.0

Date: 2024-06-18

Notes:

Platform:

  • Feature: One-step mTLS support for MQTT

  • Feature: Stream service autoscaling

  • Feature: Add overridable Process.onShutdown callback in JavaScript engine

  • Feature: Add Prometheus metrics for active and throttled MQTT connects

  • Feature: Add Prometheus metrics for MongoDB operations

  • Feature: Add a subcommand for toggling the force clean session option for the system

  • Feature: Add a subcommand for manually setting the leader node

  • Feature: Periodically dump stack to disk

  • Enhancement: Gracefully terminate stream services

  • Enhancement: Use blue/green update process for stream services

  • Enhancement: Capture system enable and disable in the audit trail

  • Enhancement: Add gin index to messaging table topicid column

  • Enhancement: Skip persistent session message history query if the topic is not whitelisted

  • Enhancement: Allow userid as a parameter in the userConnections native library function

  • Enhancement: Add retries on external DB initial connect

  • Enhancement: Support users, collections, webhooks, bucket sets, and external DBs in the system upload endpoint

  • Enhancement: Force cluster leader change if leader ID is invalid

  • Enhancement: Allow migrations to run when a node with a newer version joins the cluster

  • Enhancement: Code log cleanup optimizations

  • Enhancement: Warning log when device numid is missing in Pub/Sub messages

Console:

  • Feature: Add auto scale settings to the service settings tab

  • Enhancement: Reorganize the code service settings tab

  • Fix: Selecting OIDC scope crashes page

9.35.4

Date: 2024-06-04

Notes:

  • Fix: Ensure correct primary key is returned for revoked certificates migration

9.35.3

Date: 2024-05-31

Notes:

  • Enhancement: Add config variable for Google Cloud logging resource type

  • Enhancement: Reduce distributed locking around MQTT sessions

  • Enhancement: Reduce database querying around MQTT sessions

  • Fix: Disallow duplicate entries in mTLS revoked certificates

9.35.2

Date: 2024-05-23

Notes:

Platform:

  • Fix: Persist message history settings on system disable

  • Fix: Session handling with anon clients no longer leads to nil pointer panic

  • Fix: Allow timer creation with zero repeats from code services

  • Enhancement: Raw query log moved from debug to super level

Console:

  • Fix: Toggle all logging wipes run_user setting

  • Feature: Add sensitive params checkbox to code service advanced settings

  • Enhancement: Add missing triggers

9.35.1

Date: 2024-05-07

Notes:

Platform:

  • Enhancement: Add helm chart version to reported metrics

  • Fix: Revert accidental rename of client connect/disconnect trigger payload key to "triggerKey"

  • Fix: Add missing error string in kill-client error log

  • Fix: Register missing map[string]string type with gob

  • Fix: Ensure developer tokens are removed from the cache after logout

  • Fix: Avoid potential concurrent map read/write panic in preloaded request manager

  • Fix: Avoid potential assignment to nil map panic in preloaded request manager

Console:

  • Fix: Subscribing on the test topic tab on the messages page doesn't work if a sync status message is received before the topic is set

9.35.0

Date: 2024-04-24

Notes:

Platform:

  • Feature: System upload endpoint with support for code services, libraries, and roles

  • Enhancement: Use POST request for subcommands to allow URLs as arguments

  • Enhancement: Separate preloaded request queues from execution engines to prevent dropped requests

  • Enhancement: Add Prometheus metrics for preloaded request queues

  • Enhancement: Accept certificate hash in mTLS revocation endpoint

Console:

  • Feature: Add V8 support when creating/editing services

  • Fix: Handle non-200 status code when testing code services

Note: If blue/green environments want to upgrade to 9.35.0, they’ll have to go through the three-step upgrade sequence beginning with version 9.34.0.1.

9.34.4

Date: 2024-05-31

Notes:

  • Enhancement: Add config variable for Google Cloud logging resource type

  • Enhancement: Reduce distributed locking around MQTT sessions

  • Enhancement: Reduce database querying around MQTT sessions

The new versions in our new recommended blue/green upgrade sequence are 9.34.0.2 -> 9.34.2.2 -> 9.34.4.

9.34.3

Date: 2024-04-24

Notes:

  • Enhancement: Node library UDP packet additions

  • Enhancement: Remove noisy library import cycle log

  • Fix: Webhooks not working due to failed migration

  • Fix: Broker deadlock with shared MQTT subscriptions from code services

Note: This is part three of a three-part release series to support RPC updates in blue/green environments. If your environment needs strict blue/green upgrades, you must successfully deploy each of the three versions sequentially and can’t skip any.

9.34.2.2

Date: 2024-05-31

Notes:

  • Enhancement: Add config variable for Google Cloud logging resource type

  • Enhancement: Reduce distributed locking around MQTT sessions

  • Enhancement: Reduce database querying around MQTT sessions

The new versions in our new recommended blue/green upgrade sequence are 9.34.0.2 -> 9.34.2.2 -> 9.34.4.

9.34.2.1

Date: 2024-04-26

Notes:

  • Fix: Broker deadlock with shared MQTT subscriptions from code services

  • Fix: Webhooks not working due to failed migration

Note: This is part two of a three-part release series to support RPC updates in blue/green environments. If your environment needs strict blue/green upgrades, you must successfully deploy each of the three versions sequentially and can’t skip any.

9.34.2

Date: 2024-04-03

Notes:

  • Fix: Forwarding MQTT5 messages across cluster nodes causing RPC disconnection

  • Fix: Execution engines that subscribed to shared topics not being cleaned up after termination, leading to memory leak

  • Fix: P2P migrations erroring due to missing DEK

9.34.1

Date: 2024-03-28

Notes:

  • Enhancement: Add Prometheus metrics for MQTT shared topic queues

  • Enhancement: Add JSON option to dump stack subcommand

  • Enhancement: Add RPC handlers for code updates

  • Fix: Memory leak in Duktape context cache

9.34.0.2

Date: 2024-05-31

Notes:

  • Enhancement: Add config variable for Google Cloud logging resource type

  • Enhancement: Reduce distributed locking around MQTT sessions

  • Enhancement: Reduce database querying around MQTT sessions

The new versions in our new recommended blue/green upgrade sequence are 9.34.0.2 -> 9.34.2.2 -> 9.34.4.

9.34.0.1

Date: 2024-04-26

Notes:

  • Enhancement: Add Prometheus metrics for MQTT shared topic queues

  • Fix: Memory leak in Duktape context cache

  • Fix: Execution engines that subscribed to shared topics not being cleaned up after termination, leading to memory leak

  • Fix: Broker deadlock with shared MQTT subscriptions from code services

  • Fix: Webhooks not working due to failed migration

Note: This is part one of a three-part release series to support RPC updates in blue/green environments. If your environment needs strict blue/green upgrades, you must successfully deploy each of the three versions and can’t skip any.

9.34.0

Date: 2024-03-22

Notes:

  • Feature: Add endpoint for reading platform config

  • Feature: Improve raw query parsing to support the ON CONFLICT clause for upserts

  • Feature: Kill clients if they accumulate too many unacknowledged QoS 1/2 messages

  • Feature: Add CORS header config variables

  • Feature: Add ConsoleURL config variable

  • Enhancement: Separate MQTT shared subscription queues from execution engines to prevent dropped messages

  • Enhancement: Allow multiple route levels and path variables in webhooks

  • Enhancement: Remove the item_id unique constraint on the hypertable collections

  • Enhancement: Move retain messages to the database to avoid expensive cache scans on subscribe

  • Enhancement: Suppress error messages when autobalanced services are restarted

  • Enhancement: Rename EdgeCookie to EdgeToken in edge config

  • Enhancement: Stop creating timer and trigger topic permissions by default

  • Enhancement: Add session ID and IP to trigger data for connect, disconnect, subscribe, and unsubscribe triggers

  • Enhancement: Add Prometheus metric for QoS storage map size

  • Enhancement: Add MQTT version to current connections Prometheus metric

  • Enhancement: Add init cache expiry to make blue/green upgrades easier

  • Fix: Make edge retry failed sync events without requiring a reboot

  • Fix: Attempt to reconnect if node connections are lost in a cluster

  • Fix: Prevent double close on channel panics when deleting systems

  • Fix: Remove cache race condition when deleting or renaming columns

  • Fix: Clean up MQTT trigger config table on system delete

9.33.8

Date: 2024-05-23

Notes: