ClearBlade IoT Enterprise and Edge

9.0 - 9.8

9.8.16 (2021-09-17)

None

9.8.15 (2021-05-19)

  • fix: fix cannot add permissions when permissions already exist error

9.8.14 (2021-03-24)

  • enhancement: add add config for changing mongo pool size

  • fix: fix prometheus not decrementing timers with finite iterations

9.8.13 (2021-03-23)

  • fix: fix elevated rate of tcp keep alive packets

9.8.12 (2021-03-15)

  • feature: create IA customer version endpoint

  • fix: use email as asset id for users in deployment settings

9.8.11 (2021-03-03)

  • fix: sqlite update returns incorrect results

  • fix: adaptor updates dont sync

9.8.10 (2021-02-23)

  • fix: user columns not synced on initial deploy

  • fix: sync fails for collection with all edges edge group

9.8.9 (2021-02-18)

  • enhancement: upgrade mongo go driver

  • fix: fix incorrect default values in code meta table

9.8.8 (2021-02-11)

  • fix: handle new auth error object

9.8.7 (2021-01-29)

  • enhancement: recognize proxy protocol

9.8.6 (2021-01-26)

  • fix: fix user auth service bad json marshalling

9.8.5 (2021-01-26)

  • fix: fix deploy for sync

9.8.4 (2021-01-20)

  • fix: adaptors deploy after every edge reconnect

  • fix: fix collection unidirectional sync

  • fix: phantom service on asset monitor environment

  • fix: fix panic on timer token column migration

9.8.3 (2021-01-15)

  • fix: fix successful and failed api requests swapped grafana

9.8.2 (2021-01-14)

  • fix: fix error collecting user data in systems starting with a number

9.8.1 (2021-01-08)

  • fix: fix deadlock code service logging

9.8.0 (2021-01-08)

Key notes:

The Omega Nebula, also known as the Swan Nebula, was discovered in 1745 by the Swiss astronomer Jean-Philippe Loys de Chéseaux and is one of the largest star-forming regions in the Milky Way galaxy.

You can find more information about the nebula here

JSON Column Support for Collections

Collections now supports the new column type “jsonb”. This will enable users to store json values in the database tables and query based on keys (for objects) or indexes (for arrays).

Upsert Functionality

In addition to JSON column support, collections also now support the upsert function. This prevents two different services from updating a row at the same time or creating duplicate rows.

Deploy Sync

Edge and Deployment sync statuses can now be monitored using a REST API endpoint. There is also an endpoint available to retry a failed deployment sync. This allows for sync status to be monitored real time and respond faster to a sync fail.

Google Buckets for File Management

Users can perform file management on Google Buckets and perform file operations within a code service.

Notes:

  • feature: add ability to get userid from token in js api

  • feature: allow js readdir to read non bucket directory

  • feature: add json column support for collections

  • feature: google buckets for file management

  • feature: edge incompatibility notifications

  • feature: add ability to retry sync

  • feature: fully implement list indexes

  • feature: support for jsonb columns

  • enhancement: print absolute db path edge startupfo

  • enhancement: optimize edge process

  • enhancement: event loop optimizations

  • enhancement: add config options to edge handshake

  • enhancement: improve sync optimizations

  • enhancement: populate edge cache on init

  • fix: optimizations for code logs

  • fix: recreated adaptor deploys to edge even if absent from deployment

  • fix: fix panic on user query with columns from service

  • fix: fixed owner not appearing admin table if owner is disabled

  • fix: trigger data topics are confusing

  • fix: create edge specifications table

  • fix: timers dont start at expected time after node restarts

9.7.8 (2020-12-16)

  • enhancement: improve duktape error handling

9.7.7 (2020-12-10)

  • enhancement: event loop optimizations

  • enhancement: change default log level to debug

  • fix: code services fail to deploy

  • fix: fix edge upgrade init system detection

  • fix: fix device service account sessions getting deleted when also updating active key

  • fix: add mqtt over http endpoint to edge

9.7.6 (2020-11-11)

  • fix: fix base64d strings mysql query response services

9.7.5 (2020-11-11)

  • fix: asset monitor doesnt load on firefox without content type header

  • fix: firefox fails to parse asset monitor gzip without content type header

9.7.4 (2020-11-09)

  • enhancement: prioritize service garbage collection

  • fix: fix concurrent map read

9.7.3 (2020-11-02)

  • enhancement: add lock support to async clearblade library

  • enhancement: update sql parser to allow expressions before json operators

9.7.2 (2020-10-30)

  • enhancement: update sql parser to escape single quotes properly

  • enhancement: add manual gc to services

  • fix: timers dont start at expected time after node restarts

9.7.1 (2020-10-28)

  • fix: fix duktape valstack limit crash

  • fix: table aliases in columns clause do not workto master

9.7.0 (2020-10-14)

  • feature: remove and show constraints

  • feature: deployment and sync monitoring

  • feature: add upsert functionality

  • feature: sync file contents

  • feature: add support for unique index and index columns

  • enhancement: remove deprecated metrics package and api

  • enhancement: remove unused triage processors

  • enhancement: add config and subcommand for no logging

  • enhancement: more logging for sync dispatcher

  • fix: fixvalid json on code service http response

  • fix: make 50 code executors shrink and expand as necessary

9.6.6 (2020-09-25)

Key notes:

The Ring Nebula was discovered by French astronomer Antoine Darquier de Pellepoix in 1779 and gets it shape from a dying red giant star exploding into a ring of ionized gas.

You can find more information about the nebula here

File Management

File management allows for binary, log, configuration, etc. files to be easily moved, read, and processed between the edges and platform. This can be done using our Native Libraries API in a code service.

Async Library The ClearBlade Async library works with the event loop to provide asynchronous ClearBlade functions.

MQTT Library The MQTT library allows users to connect to any external broker or to the internal broker for the same system.

Big Query

The ClearBlade Native Library now supports the Big Query External Database. The database operations can be performed using the performOperation function.

Asset Monitor v2 A new Asset Monitor version is now available with UI/UX updates. Major highlights include:

No-coding capabilities for themes to allow for easier customization for branding.

Parent-child hierarchical relationships using Asset and Asset Type Trees to make data asset management easier and cleaner.

Java SDK Device and user authentication is now supported using Java SDK. This allows for more flexibility in authentication. Improving usability by adding more templates for the SDK usage.

Edge Management Edges can be deployed using initd or systemd scripts on Linux based operating systems as long as they support initd or systemd . The following operating systems have been verified:

RHEL 6 & 7

Centos 6 & 7

Debian 9 & above.

This allows for the edges to restart on device reboots.

Notes:

None

9.6.5 (2020-09-25)

  • feature: add no auth option for webhooks

  • enhancement: allow webhooks with no auth

  • fix: fix service caches cannot affect resource even with valid permissions

9.6.4 (2020-09-24)

  • feature: register user for asset monitor

  • fix: fix promise resolve not following thenable values

9.6.3 (2020-09-21)

  • enhancement: disable stats collection by default

9.6.2 (2020-09-16)

  • fix: user cannot retrieve own info

  • fix: update to latest gosdk to fix asset monitor user getting their own info

9.6.1 (2020-09-15)

None

9.6.0 (2020-09-15)

  • feature: sync file metadata

  • feature: buckets as first class object

  • feature: forgot password

  • enhancement: expose external mqtt connect and disconnect hooks to services

  • enhancement: make lrs buffer logs more readable

  • enhancement: allow deleting all failed runs

  • enhancement: prevent deleting libraries if service depends on them

  • enhancement: add base85 encoding option for http lib responses

  • enhancement: allow users to view their own roles and info without specific permission

  • enhancement: reduce duplicated code storage in db

  • enhancement: device key generated for update key

  • fix: autobalance euid issues causing services not to start

9.5.7 (2020-09-14)

  • enhancement: support IN operator within db queries

9.5.6 (2020-09-04)

  • enhancement: support binary mqtt payloads in services

9.5.5 (2020-08-31)

  • fix: fix event loop causing phantom services

9.5.4 (2020-08-24)

  • enhancement: start edge servers before syncing adapters

  • fix: edge not able to sync due to session errors

  • fix: fix duplicate client ids losing subscriptions

  • fix: duplicate timers on edge after sync of changes

9.5.3 (2020-08-13)

  • enhancement: add async query functions to match clearblade lib and add async collection count

  • fix: fix failed runs not returning error details

  • fix: revert service start times to old unix number

9.5.2 (2020-08-11)

None

9.5.1 (2020-08-11)

  • enhancement: allow collection delete all

  • fix: duplicate timers in timer queue should not happen

  • fix: fix multiple redialers on edge disconnect

9.5.0 (2020-08-05)

  • feature: triggers for file operations

  • fix: serialize register developer to prevent duplicate emails

  • fix: trigger lookup performs poorly

  • fix: download csv hashtag fix

9.4.7 (2020-08-03)

  • fix: dont type cast return values for external databases

9.4.6 (2020-07-31)

  • fix: fix eventloop goroutine leak

9.4.5 (2020-07-29)

  • fix: returned data not parsed correctly for external sql databases

9.4.4 (2020-07-24)

  • fix: fix device query not parsing correctly in code services

9.4.3 (2020-07-24)

  • fix: topic permissions not updated in real time

9.4.2 (2020-07-22)

  • fix: fix js query object regressions

9.4.1 (2020-07-22)

None

9.4.0 (2020-07-20)

  • feature: google bigquery integration

  • feature: connect to external mqtt brokers in code services

  • feature: change wait message to retry where possible

  • feature: add json column support

  • feature: async clearblade library databases

  • feature: async mqtt library

  • feature: async clearblade library

  • feature: one more lock optimization

  • feature: one more lock optimization

  • feature: add role management to clearblade js

  • feature: add support for bigquery

  • enhancement: update prometheus exporters

  • enhancement: disallow auto balance with invalid concurrency

  • enhancement: optimize sync queues

  • enhancement: clearer form widget draggable layout

  • enhancement: add alternative edge startup copy command for non tls

  • enhancement: conditionally color rows in crud grif

  • fix: duplicate timers in timer queue should not happen

  • fix: fix multiple redialers on edge disconnect

  • fix: remove adapter and adapter file undeploy optimizations

  • fix: mongo find without limit causes oom

  • fix: blade runner per statement ignore failure not implemented correctly

  • fix: fix admin panel not showing newly created systems

  • fix: broker not respecting leading and trailing slashes

  • fix: fix orphaned stream services becoming phantoms

  • fix: dont crash when mqtt client is nil

  • fix: layout changes erroneously

  • fix: auto bounds setting on Scatter plot doesnt consider Std

  • fix: test parser button updates original datasource

9.3.12 (2020-08-11)

  • fix: duplicate timers in timer queue should not happen

  • fix: fix multiple redialers on edge disconnect

9.3.11 (2020-07-17)

  • fix: do not deploy collection data if not syncing to edge

  • fix: fix possible unbounded query on collections

  • fix: add max limit for edge name length

  • fix: fix failed edge rpc keepalive not triggering redialer

  • fix: fix raw db queries on edge returning base64 instead of strings

9.3.10 (2020-07-01)

  • fix: fix share groups containing old client info after node bounce in cluster

  • fix: cleanup old node connections on connect

9.3.9 (2020-06-29)

Key notes:

The Eagle Nebula is a 5.5 million-year-old cloud of interstellar gas and dust that is 7000 lightyears from Earth. It was discovered by Swiss astronomer Philippe Loys de Chéseaux and rediscovered by Charles Messier as “M16” to be a part of his catalog.

You can find more information about the nebula here

Unidirectional Deployment

This feature allows an asset to be deployed from platform to edge at edge start up. There are 2 sync options that can be used:

Sync to Edge - An asset is deployed, and then any future change on Platform will be synced with ALL selected Edges.

Sync to Platform - An asset is deployed, and then any future change on an Edge will be synced with the platform only. A change to one Edge will no longer sync to other Edges.

Refresh Tokens

Refresh tokens gives new access tokens without an username and passwords. This allows devices the ability to get a new access token when its current token expires without reauthentication.

Role Management in PlatformSDK

Developers can now perform role and permission management natively using PlatformSDK. This includes creating roles, assigning roles to user/device, increasing/decreasing permissions, etc.

Event Topics for Stream Services

Event topics allows for greater scalability when handling stream service events by allowing the platform to send a MQTT message for each event.

JWT tokens for Authentication

Newly added JWT tokens are returned when a user/developer/device is authenticated to enhance account security.

Code Service Event Loop

The setTimeout() and setInterval() Javascript functions, as well as promises, are now available natively. The functions allow for callbacks executions to be scheduled.

Timer Page

Timers can now be managed on the Timers page in a system. The configuration is the same as the Timers tab on the Code Services page. The new page will help identify which timers are tied to a service and which ones are not.

Notes:

None

9.3.8 (2020-06-10)

None

9.3.7 (2020-06-09)

  • fix: do not broadcast every wait queue changed

9.3.6 (2020-06-09)

  • fix: fix timers triggers services prometheus exporters sometimes not exporting

9.3.5 (2020-06-08)

  • fix: redis optimizations

9.3.4 (2020-06-05)

  • fix: forward lock changes directly

  • fix: cleanup locks from dead node

9.3.3 (2020-06-03)

  • enhancement: periodically bump distributed lock queues to prevent getting stuck

9.3.2 (2020-05-29)

  • enhancement: increase redis read timeout

  • fix: deep copy rpc response maps

  • fix: fix panic on nil device store

  • fix: initialize rpc client for kill client request

  • fix: fix unhandled mongo errors

9.3.1 (2020-05-28)

None

9.3.0 (2020-05-27)

  • feature: optimize edge syncing

  • feature: option to kill old clients on duplicate connects

  • feature: improve subscribe unsubscribe performance

  • feature: add service support for setTimeout setInterval and promises

  • feature: delete filtered set

  • feature: refresh tokens ui

  • enhancement: enable wal journal on edge db connections

  • enhancement: smarter cache operations on device update

  • enhancement: add segmented rpc packet transfer support

  • enhancement: disallow overlapping assets in deployments

  • enhancement: changed per item and overall labels in role detail page

  • enhancement: add loading indicator when refreshing currently running code service instances

  • enhancement: improve design for button load

  • enhancement: ability to clear the received messages window

  • enhancement: allow custom add and filter modals for crud grid

  • fix: rpc response channels deleted on edge disconnect

  • fix: fix stream service errors not being reported as failed runs

  • fix: lrs logs service id does not match request object service id

  • fix: fix message history failing to insert with postgres max parameters error

  • fix: fix mqtt prometheus metrics not being reported

  • fix: fix nil pointer in code service

  • fix: on scatterplot auto bounds checkbox moves upper bound but not lower bound

  • fix: widget error boundaries freeze portals

  • fix: forms onupdate called multiple times on load

  • fix: dynamically configuring date picker wrong disabled dates

  • fix: portal logout issue

  • fix: disable topic subscription if no topics selected

  • fix: grid widget calculated parser for fetch grid data never executes

9.2.6 (2020-05-19)

  • feature: improve subscribe unsubscribe performance

9.2.5 (2020-05-15)

  • enhancement: add timeouts to mongo operations

  • fix: too many redis calls in mqtt connect disconnect process

  • fix: fix service subscriptions hash not matching empty string

  • fix: code log delete error on sqlite

  • fix: service logs not deleted on delete

9.2.4 (2020-05-06)

  • fix: fix nodeup uid race

9.2.3 (2020-05-04)

None

9.2.2 (2020-04-30)

  • fix: permissions check not implemented for external db operations

9.2.1 (2020-04-29)

  • fix: fix race between timer and code service initialization

9.2.0 (2020-04-29)

  • feature: unidirectional sync

  • feature: unidirectional sync

  • enhancement: better crud grid search controls

  • fix: updating datasource asset name changes ds name to tempDatasource

  • fix: form number fields error on firefox

  • fix: radial gauge widget errors out on initial render and fill color only responds to previous value

  • fix: update webhook url on edge

  • fix: admin removing dev loading ui confusing

  • fix: parser changes cleared after save and discard changes

9.1.5 (2020-04-22)

  • fix: fix messaging failing to forward after node down events

9.1.4 (2020-04-17)

  • enhancement: add legacy token support for mqtt auth

9.1.3 (2020-04-16)

  • fix: fix deadlock in broker

9.1.2 (2020-04-15)

None

9.1.1 (2020-04-15)

  • fix: fix code services not receiving messages on wildcard topics

9.1.0 (2020-04-14)

  • feature: refresh tokens

  • feature: timers send mqtt messages

  • feature: allow services to be notified when trigger occurs

  • feature: sleep function for clearblade js

  • feature: timers page

  • feature: add runtime flag for custom docs url

  • enhancement: add index on device table name column

  • enhancement: send all service errors to failed runs

  • enhancement: remove unnecessary adapter redeploys on deployment updates

  • fix: kill running services when service is deleted

  • fix: topic tree concurrent map read write

  • fix: fix audit trail not showing adapter file name

  • fix: fix roles perms indexes not being created for new systems

  • fix: UI error after system deleted

  • fix: Firefox disabled inputs in crud grid prevent highlight event

  • fix: crud grid search query clear

  • fix: fix registration email not being sent

  • fix: example icon link in lists no longer valid

  • fix: units not accessible to standalone radial gauge

9.0.2 (2020-04-10)

  • enhancement: dont send trigger messages for message publish events

  • enhancement: add async function for performOperation

  • fix: fix server startup process

9.0.1 (2020-04-03)

  • feature: add runtime flag for custom docs url

  • fix: fix registration email not being sent

  • fix: example icon link in lists no longer valid

  • fix: units not accessible to standalone radial gauge

9.0.0 (2020-04-03)

Key notes:

IoT Data Orchestration

This feature allows for bi-directional streaming into any database, with full functionality, this includes relational, document, warehouse, and cloud offering. Users can implement this in

ClearBlade using the External Databases functionality.

Raw Queries for ClearBlade’s native Databases

Developers can now run raw queries on platform and edge. The queries can run against collections, user, and device tables. The new raw queries supports all SQL operations such as

JOIN, LIKE, GROUP BY, ORDER BY, etc which were not supported by ClearBlade’s old query model.

Custom Microservice Response Object

New customizable service responses that can be interoperated with existing APIs and webhooks. resp.success resp.error resp.set resp.status resp.send

Asset Monitoring

Asset monitoring is a solution template within ClearBlade that is designed to be customizable for various monitoring and tracking use-cases. It gives the ability to monitor and track assets and alert when an action is performed

Audit Trail

Audit trail is a record of who made changes, when the changes were made, and what type of changes were made in a system. The purpose of the audit trail is to view the history of changes when a question arises.

Two Factor Auth

Developers can now utilize two factor authentication (SMS and email) when signing up and logging in to a ClearBlade account. This improves security of ClearBlade developer accounts

Notes:

  • feature: allow services to be notified when trigger occurs

  • feature: cache interface change and use redis shared cache

  • feature: external database operations redesign

  • feature: locking for shared cache

  • feature: two factor authentication

  • feature: allow service response customization

  • feature: external db ui

  • feature: two factor auth

  • feature: audit trail pages

  • feature: users can be managed from a portal

  • enhancement: add indexes to roles and perms tables

  • enhancement: add line numbers to runtime errors in services

  • enhancement: add support for multiple share groups on shared topic subscriptions

  • enhancement: create way for react components in HTML widget to hook into the portal React tree

  • enhancement: update github auth mechanism

  • enhancement: remove count of api requests and messages in admin panel

  • enhancement: relabel collections to data

  • enhancement: improved UI for filter modal

  • enhancement: better default parsers for crud grid

  • enhancement: scroll indicator

  • enhancement: update clearbladejs server types with new custom response methods

  • enhancement: allow import and csv export on console tables

  • enhancement: update docs link in shared cache tooltip

  • fix: fix raw query offset and limit

  • fix: redis get of non existent key returns success

  • fix: upgrades not performed when nodes bounce once at startup

  • fix: dont allow service accounts to log out

  • fix: sync does not complete if edge disconnects mid operation

  • fix: adapter deploy times out on initial ingress

  • fix: not checking for empty message closed channel rpc

  • fix: edge upgrade fails due to busy port

  • fix: panic on async update error

  • fix: unable to delete using db exec

  • fix: adapter files dont sync

  • fix: removed failed runs after service delete

  • fix: device and user service account sessions not stored correctly for sync

  • fix: log stderr stdin for adapter scripts

  • fix: replace tokens with user types in timers table

  • fix: fix mqtt sessions storage performance issues

  • fix: users should not see svc acct tokensto master

  • fix: fix role save error

  • fix: admin panel removing developer removes wrong one

  • fix: update adapter doesnt update until clicked twice

  • fix: dynamic form layout inherits from small

  • fix: comparison operators not displaying in collection filter modal

  • fix: allow uuid type changed to empty

  • fix: csv export json values

  • fix: generated crud service for fetch cannot reach code

  • fix: portals login showing full error JSON

  • fix: sort removes filter

  • fix: extra fields in datasource json

  • fix: portal internal resource order not maintained

  • fix: latest data for datasource modal doesnt show data

  • fix: highlight shared cache list item when on shared cache page

  • fix: fix export to github

  • fix: radial gauges stuck short in form widget

  • fix: chart recommendations crashes widget editor on empty dataset