v0.8.9

Improved CodecPipeline error behaviour for unknown messages

refactor

When the CodecPipeline can't find a match for a message it can now optionally passthroughNoMatch, warn (the default), or error.

v0.8.8

Updated to Electron 11.3.0

chore

The template now runs Electron 11.3.0.

Reduced allocations for binary protocol

refactor

The binary protocol now has reduced allocations resulting in lower garbage collection pressure and better performance.

v0.8.7

Fix for handshake screen not being full height

bug

In some circumstances the handshake loading screen wouldn't be full height, this is now fixed.

v0.8.6

Prevent multiple clicks on Connection Cards

bug

Connection cards without a loading screen can no longer be clicked multiple times to skip to the device page.

Process Type Log

feat

Each process console will now display in the console what process type it is.

Only warn on unidentified messageIDs for codecs

refactor

By default, if the codec pipeline can't encode or decode a packet, it will warn instead of throwing an error.

Printer inline styling

feat

Printers now allow for inline styling via the style prop.

Improved Printer Performance

feat

Printers are now imperatively updated, avoiding a React render loop, increasing performance for frequent updates.

v0.8.5

TriggerDomain time accessor

bug

The TriggerDomain accessor is now passed the current time.

v0.8.4

Fixed dll building

bug

A package was preventing the shared dll from building, this is now resolved.

v0.8.3

Scale accessor for 3D ControlledGroup

feat

The ControlledGroup component now supports scale being modified by hardware.

v0.8.2

3D Renderer

feat

3D Renderer components. Read the docs here.

v0.8.1

Hook Intellisense documentation

docs

All hooks now have intellisense documentation inline.

v0.8.0

Loggers have access to accessors

feat

CSV and other loggers have access to accessors now.

New Data Transformer API

refactorBREAKING

The Data Transformer API has been revamped.

Improved Chart Performance

refactor

Charts of all types now allocate less and are therefore more performant.

Microsecond timing

featBREAKING

Timing is now done using a global @electricui/timing package, and is now accurate to the microsecond instead of the millisecond.

Chart Axis Performance Improvements

refactor

Chart Axes are now more performant to render.

X-Y Plots

feat

X-Y Plots are now supported.

Better hot reloading

refactorBREAKING

Hot reloading, especially on the transport context, has been improved.

The logic for this has been moved to @electricui/core, and may now be updated without modifying the template.

Interval requester

refactorBREAKING

Interval Requesters no longer retry forever if messages don't reach hardware. They now attempt up to acceptableConsecutiveFailures=10 times before giving up.

v0.7.34

Regression fix for builds

bug

Builds had a regression where the app-builder binary wasn't marked as executable. This has been fixed.

v0.7.33

LineChart color fix

bug

Fixed a regression in the automatic colors functionality for LineCharts.

v0.7.32

Next channel now follows latest

bug

If a release on latest is ahead of one on next, the next channel will use the latest release.

v0.7.31

NodeUSB linux regression

bug

On the upcoming Electron v11 branch, NodeUSB wouldn't build, this has been rectified.

v0.7.30

THREE colourspace correction discrepancy resolved

bug

Removes automatic colour space management which caused an incorrect shift on input colours (as they were in the correct colourspace to begin with).

LineChart lines now support opacity

feat

The opacity prop accepts a number from 0 to 1 to control line translucency.

v0.7.29

Custom connections page 'no devices' text

feat

Allows custom control over the text displayed when no devices could be found during search.

Pass a noDevicesText string into the Connections component to modify the default.

v0.7.28

v0.7.27

VerticalAxis Tick count & Tick values properties added

feat

VerticalAxis (y axis) now supports a tickCount property to explictly control the number of vertically drawn ticks.

tickValues allows manually setting an explicit set of tick values.

TimeAxis Tick count control

feat

TimeAxis (x axis) now supports a tickCount property to explictly control the number of horizontally drawn ticks.

v0.7.26

node-abi update for Electron v11

chore

node-abi update.

Test coverage for dynamic RealTimeDomain window (xaxis) resizing

test

Test coverage to prevent regressions

Fixed RealTimeDomain window auto-range selection issue

bug

The RealTimeDomain property window accepts an array of window timescales to allow the LineChart to automatically increase it's x-axis domain over longer periods.

It was incorrectly only using the smallest window in the array. It should now auto-range across the array values correctly.

Thick Line shader refactor

refactor

The shader used by LineChart to increase the width of plotted lines has been refactored.

Fixed missing Serialport types

bug

The template had missing serialport types, which meant the transport-manager/config/serial.tsx would throw linter warnings around baudRate configuration.