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)
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:
...