2025.3.21 (2026-07-22)
Platform:
-
Fix: Move socket writes out of locked regions in the broker to avoid stalls caused by blocked clients
2025.3.20 (2026-06-26)
Platform:
-
Enhancement: Allow more specific throttler control
-
Enhancement: Allow frequency throttlers to count globally instead of per-node with config
Misc.EnableGlobalThrottlers(default false)
2025.3.19 (2026-04-02)
Platform:
-
Fix: Send errors back to clients when executing preloaded requests instead of crashing the service
2025.3.18 (2026-03-24)
Platform:
-
Fix: Unable to decode timers due to nil entry from cache
2025.3.17 (2026-03-24)
Platform:
-
Fix: Panic caused by nil pointer in auth user from code service
2025.3.16 (2026-03-23)
Platform:
-
Fix: Memory leak in query parser token rewriter
-
Fix: Throttlers added with the same filters as a previously hit throttler would not take effect
-
Fix: Remove default schedule interval with continuous aggregates, and only create refresh policy if schedule interval is defined
-
Fix: Memory leak caused by cancelled signals not being removed from map
-
Fix: Return error when writing to Google bucket if writer cannot be closed
-
Fix: Items could get stuck in sync queue if deployment changes or node restarts while syncing
-
Fix: System upload endpoint dropped existing column if type was an invalid type.
-
Fix: Role perm change was not pushed when level dropped to 0
-
Fix: Webhooks cannot be recreated after service deletion due to cache error
-
Enhancement: Remove redundant stderr logs with sql parser errors
-
Enhancement: Avoid deleting device sessions during update if auth fields are unchanged
-
Enhancement: Optimize primary key constraint query
-
Enhancement: Improve usercontext cache utilization
-
Enhancement: Reduce number of database queries made during MQTT client connect and disconnect
-
Enhancement: Cache sessions by session id
-
Enhancement: Add prometheus metrics and logs for MQTT authentication attempts
-
Enhancement: Support real-time aggregates on hypertables
2025.3.15 (2026-02-25)
Platform:
-
Fix: V8 service OOM could cause server to crash
-
Fix: Index column information not supported in system upload
-
Fix: Cache asset edge map on systems without any deployments
-
Fix: Permission checks
-
Enhancement: Add Prometheus counter
clearblade_panics_total -
Enhancement: Improve caching around Postgres primary key queries
-
Enhancement: Add query parameter support to Collection.fetchAggregateRaw
-
Enhancement: Cache edge names by system
-
Enhancement: Use time column as first column in Hypertable primary key
-
Enhancement: Switch from UUIDv4 to UUIDv7
2025.3.14 (2026-02-17)
Platform:
-
Fix: V8 isolates that hit heap limit hang while holding engine lock
-
Enhancement: Support weak ciphers in TLS connections with
EnableWeakCiphers -
Enhancement: Minimum TLS version can be set with
MinTlsVersion -
Enhancement: Add
RootRedirectURLconfig option -
Enhancement: Censor service account credentials from bucket set api response
2025.3.13 (2026-02-11)
Platform:
-
Fix: Developers sometimes falsely reported as disabled if a system they own is disabled
-
Fix: Race condition when updating device attached proxies in database.
2025.3.12 (2026-02-09)
Platform:
-
Fix: Separate userctx cache entries by session
-
Fix: Developers sometimes falsely reported as disabled if a system they own is disabled
-
Fix: Unlock topic tree before publishing to clients to avoid locking broker if client hangs
-
Fix: Distributed locks not timing out when max wait time is greater than the bump interval
-
Enhancement: Return error when attempting to delete default throttlers via api
2025.3.11 (2026-01-27)
Platform:
-
Fix: Segfault in publish from code service
-
Fix: Sessions can appear from other systems
2025.3.10 (2026-01-26)
Platform:
-
Fix: Memory leak in preloaded code service heaps due to tasks scheduled after response send
-
Fix: Double load of library causes
ClearBladeRequestCallbackto be declared twice -
Fix: Register websocket handlers on TLS listeners if enabled
-
Fix: Do not redirect ACME challenge requests from HTTP to HTTPS when
EnableReverseProxy=true -
Enhancement: Allow TLS listeners to serve multiple certs via SNI. TLS certificates can be managed with the
tlssubcommand. -
Enhancement: The content of a file may be used as a subcommand argument by prefixing its local path with "@"
2025.3.9 (2026-01-14)
Platform:
-
Fix: Remove "concurrently" from drop index calls when operating on hypertables
2025.3.8 (2026-01-13)
Platform:
-
Fix: Don't allow disabled developers to create new sessions
-
Fix: Prevent disabled developers from reusing existing sessions
-
Fix: Flush system cache after system owner update
-
Fix: Flush developer cache after developer delete
-
Fix: System migration would fail when migrating MQTT connectors
-
Fix: System migration may fail due to PKEY violation when migrating sync queue
-
Fix: Custom edge columns not migrated in system migration
-
Fix: Abort system migration if platform instances are on a different minor version
-
Fix: Iot core errors not reported when devices subscribe to non Iot core topics
-
Fix: Prevent edge remote shell input/output from being processed out of order
-
Fix: V8 could leak callstack memory if an error is encountered while building the callstack
-
Enhancement: Set
TERM=xterm-256coloron edge remote shell
2025.3.7 (2026-01-06)
Platform:
-
Fix: Bucket set files fail to sync from edge to platform if parent directory is not already created
-
Fix: Only validate developer 2FA settings if 2FA is enabled
-
Fix: Add
clearblade_aiandgrpcto list of libraries supported by V8 -
Fix: Incorrect asset info for bucket set sync
-
Fix: Support permissions for FileStores, FileStoreFiles, and EdgeRemoteAdmin in system upload endpoint
-
Enhancement: Support mailer library in v8
-
Enhancement: Support hypertables in system upload endpoint
-
Enhancement: Allow EXPLAIN queries to be run when
UseLegacyParser = false -
Enhancement: Add support for TLS and non-TLS ports. Redirect HTTP to HTTPS.
-
Enhancement: Reduce default value for
QueueEmptyIntervalSecsfrom 3600 to 30 on edges -
Enhancement: Restart bucket set watchers when
QueueEmptyIntervalSecsis updated at runtime
2025.3.6 (2025-12-12)
Platform:
-
Fix: Prevent local bucketset operations from escaping the root
-
Fix: Take preloaded request queue size into account when deciding if an autoscaled service should scale up
-
Fix: Make autoscaler react to queue sizes more quickly
-
Fix: Divide by zero panic may happen when client queues fill for shared subscription
-
Fix: Throttler cases not loaded on startup. Default throttlers are now loaded in-memory instead of from the database.
-
Fix: Execution continuing in engine after resp sent
-
Fix: Memory corruption caused by heap profiling mechanism
-
Fix: Build failure on edges with arm architectures
-
Fix: Code service logs block during flush to db
-
Fix: Code service execution continuing after resp call
-
Fix: Callbacks scheduled with
setTimeout,setInterval, andsetImmediatemay be executed as incorrect user -
Fix: Preloaded services timing out early
-
Fix: setTimeout timers started by preloaded services not cancelled when request responds
-
Fix: External broker connections from v8 code services not cleaned up when code service exits
-
Fix: Remove CONCURRENTLY from DROP INDEX statements executed in transactions
-
Fix: clearblade_expiration metric only updated once a day
-
Fix: Tasks scheduled with
process.nextTickmay run as incorrect user -
Fix: Preloaded service requests were handled using perms of "executing as" developer instead of user sending request
-
Enhancement: HMAC sign requests to file hosting server
-
Enhancement: Increase logging around RPC errors
-
Enhancement: Add LRU to query parser cache to keep size reasonable. Size configurable with
Database.QueryCacheLRUSizeconfig variable. -
Enhancement: Only expose subcommand server on loopback interface
-
Enhancement: Updated Redis default client config to set consistent timeouts and a smaller default max pool size
-
Enhancement: Allow changing the Redis client max pool size with config var
KVStore.PoolSize
2025.3.5 (2025-11-13)
Platform:
-
Fix: Index out of range panic in timer queue
-
Fix: Panic in edge proxy requests caused by nil pointer dereference
-
Fix: Auto-scaler not cleaned up on system delete, system disable, and service delete
2025.3.4 (2025-11-7)
Platform:
-
Fix: Concurrent map read/write in query rewriter
2025.3.3 (2025-11-4)
Platform:
-
Enhancement: Add cache to query parser to improve cpu utilization
-
Enhancement: Use better estimate of size needed for stack dumps to avoid large allocations on low resource environments
2025.3.2 (2025-10-30)
Platform:
-
Fix: Bug causes V8 to crash if engine is terminated while calling
_unhandledRejection -
Fix: Prevent out of bounds memory read in V8
-
Fix: Quote aliases with new Postgres parser to preserve case sensitivity
-
Fix: crypto.decode returning string instead of uint8array
-
Fix: Segfault panic on startup in getAssetEdgeInfoForSystem
-
Enhancement: Support binary response in base64 and hex decoding
-
Enhancement: Dynamically allocate memory for queues controlled by the following config variables:
Engine.MessageQueueLength,Engine.EventQueueLength,Engine.PreloaderQueueSize -
Enhancement: Omit empty shared message queues from "Shared MQTT Client Stats" log
-
Enhancement: Automate migration to add pkey to hypertables - may take some time for larger tables
-
Enhancement: Improve performance for V8 code service arguments and deliver binary arguments as Uint8Array instead of base64 string
-
Enhancement: Sanitize binary data in server logs when executing code services for better readability
-
Enhancement: Improve V8 heap statistics reporting to better match actual RAM usage by including physical heap size, external memory (ArrayBuffers), and V8 internal malloc allocations
-
Enhancement: Convert additional statically sized queues to elastic queues for better memory efficiency
-
Enhancement: Use more aggressive caching with Postgres primary keys and columns
-
Enhancement: Stable sort order now only applies to paginated queries to prevent performance issues on large tables
2025.3.1 (2025-10-16)
Platform:
-
Enhancement: Make two factor authentication trust window configurable with platform setting
dev_two_factor_trust_window_minutesand system settingtwo_factor_trust_window_minutes -
Enhancement: Parse device name and system key from mTLS cert common name using regex, configurable with
Security.MTLSCertSystemKeyPatternandSecurity.MTLSCertDeviceNamePattern -
Enhancement: Allow mTLS connections to get their system key value from the route path
-
Enhancement: Dynamically allocate memory for queues controlled by the following config variables:
Engine.MessageQueueLength,Engine.EventQueueLength,Engine.PreloaderQueueSize -
Enhancement: Omit empty shared message queues from "Shared MQTT Client Stats" log
-
Fix: Prevent out of bounds memory read in V8
2025.3.0 (2025-10-01)
Platform:
-
Feature: Add HTTP and JS APIs for generic file storage with File Stores.
-
Feature: Add MQTT batch connector
-
Feature: Add MQTT collection connector
-
Feature: Add system-specific JWT validation settings configurable via the
/admin/jwt_settings/{systemKey}endpoint -
Feature: Add internal message topics that send OIDC claims on successful user auth or registration
-
Feature: Unified OIDC flow for users - a single endpoint that will register new users or auth existing users
-
Feature: Add support for AWS S3 file store.
-
Feature: Add support for GCP Cloud Bucket file store.
-
Feature: Add SFTP support
-
Feature: Persist client tracing in database, forward requests to all cluster nodes, and add an admin endpoint to manage traced clients
-
Enhancement: Add MQTT5 user properties to PubSub message
-
Enhancement: Add functions to the clearblade async JS library for creating, querying, and deleting continuous aggregates.
-
Enhancement: Add support for TLS servers, reverse proxy and certificate renewal. Change HTTP TLS port to 9002.
-
Enhancement: Allow configuring default JWT settings, and max configurable JWT settings, with platform config variables
JWTMaxExpiryHours,JWTMaxIssuedAgeHours,JWTClockSkewMinutes, andMaxJWTMaxExpiryHours,MaxJWTMaxIssuedAgeHours,MaxJWTClockSkewMinutes. -
Enhancement: Support MQTT 5 user properties in
mqttjavascript library -
Enhancement: Support binary response in base64 and hex decoding
-
Enhancement: Add new "monitor" log level, which displays manually enabled trace/debug logs even when the platform log level is set to error
-
Enhancement: Add endpoints to create, read, and delete hypertable compression settings
-
Enhancement: Add alternate webhook endpoint with name at end
-
Enhancement: Add mTLS auth option to webhooks
-
Enhancement: Allow multiple auth options on webhooks
-
Enhancement: Add param when executing webhook to indicate if a request was using mTLS
-
Enhancement: Support file stores in system upload endpoint
-
Fix: Release memory on V8 fatal errors
-
Fix: Developer password changes are not synced to the edge