Releases
Latest updates and improvements to Synnax.
0.47
Arc-Based Calculated Channels
Our Lua-based calculated channels were a powerful first step towards deriving values in real-time from a set of input channels. They also came with several limitations, notably the inability to create calculations that relied on channels with different indexes, and the lack of statistical functions such as averages, minimum, maximum, and standard deviation.
Our new Arc language is becoming the bedrock for building automations in Synnax, and the next step in its evolution is the introduction of Arc-based calculated channels. This uses a new, text-based syntax. It allows for calculations using mixes of persisted channels with different indexes, virtual channels, and even other calculated channels.
We’ve also added three statistical aggregation functions: avg, min, and max. These
functions can be used to calculate the average, minimum, and maximum values of a
calculation over a time- or trigger-based window.
Deprecation of Lua-Based Calculations
With the introduction of Arc-based calculated channels, Lua-based calculations are deprecated and will be removed in a future release. We’ll automatically attempt to migrate compatible Lua-based calculations to their Arc equivalent, and will provide warnings for incompatible calculations that must be manually re-written.
In this release, Lua-based calculations will continue to function normally, but creating new Lua-based calculations will not be allowed.
Important Breaking Changes
Auto-Commit is now Enabled by Default with All Writers
Auto-Commit is used to immediately persist
written data to Synnax, as opposed to calling commit manually.
Over the course of several release, we’ve observed that it’s far more common to write data in scenarios where you’d want to have auto-commit enabled (telemetry streaming, control) than in scenarios where you’d want to disable it.
As a result, we’ve made the decision to enable auto-commit by default with writers in all of our client libraries. Any code that implicitly disables auto-commit will now need to explicitly disable it.
Changes to Writer Behavior Under Mixed Control Authority
Synnax v0.47 fixes a critical issue that caused schematics to become unresponsive across all channels when a higher authority process acquired control of a channel on the schematic.
In this scenario, a schematic will have mixed control over a set of actuators. For
example, a schematic is controlling cmd_channel_1 and cmd_channel_2. Both of these
have independent, associated indexes (cmd_channel_1_time and cmd_channel_2_time). In
the scenario where the schematic operator has control over cmd_channel_1 but not
cmd_channel_2 and auto commit is enabled, any writes to cmd_channel_1 would fail
regardless of the fact that the operator has control over it.
We’ve changed the behavior of writers to support partial writes, meaning that a caller may have control over only a subset of channels in a particular write. When the user writes to a mixture of the channels it has control over as well as those it does not, all writes to a channel that it has control over will succeed.
This fix significantly improves the reliability of schematics in complex control scenarios where multiple systems or users may be managing different aspects of the system simultaneously.
Bug Fixes and Other Improvements
Core
- Fixed an issue where devices would accidentally regroup on startup.
- Fixed channel renaming synchronization issues across Synnax.
- Fixed issues with opening streamers when the channel key is 0.
Console
- Added a new Arc toolbar with language server support for improved code editing and development experience.
- Added a new input symbol to the schematic editor for sending messages to string channels.
- Fixed an issue where CSV exports failed for channels with different indexes, allowing proper data export from line plots.
- Improved workspace management with better synchronization and export functionality that now uses layout names for JSON files.
- Fixed schematic edge selection, node selectors, and symbol creation for more reliable schematic editing.
- Fixed styling issues for long channel names in task configuration dialogs.
- Fixed tooltip coloring to improve visual consistency.
- Added a copy properties context menu item to ontology toolbars for easier configuration management.
Driver
- Fixed OPC UA write task reliability, including proper handling of boolean writes.
- Fixed OPC UA browser status display to show accurate connection states.
- Added validation for NI Analog Read task minimum sample rate to prevent configuration errors.
- Fixed startup warnings in the embedded driver for cleaner initialization.
- Enabled auto-commit for Modbus driver to improve data persistence.
0.46
Arc Beta
Synnax v0.46 introduces the first release of our new automation language, Arc. We’ve also redesigned the browsing experience for ranges in the Console, added a new gauge component, and, as always, introduced a number of bug fixes and performance improvements.
Arc
Arc is the first iteration of our long term plan to build a unified automation language for Synnax. Arc is a hybrid language that allows for building programs using both a visual and a text-based representation. Today, we’re releasing the first version of the visual language for implementing alarms within Synnax.
Range Explorer
We’ve redesigned the way you browse ranges in the Console. We’ve removed the unwieldy Resources Toolbar and replaced it with an intuitive range explorer. The explorer let’s you search for ranges, filter by their labels, and favorite ranges for easy access and visualization.
We’ve also added a new status indicator that shows the progress state of a range: to-do, in-progress, and complete. These indicators make it easy to see which operations are active and which have been completed.
Gauge Symbol
Our new Schematic gauge symbol is a great way to display a bar-indicator representing the value of a gauge. To use it, simply drag and drop it into a schematic.
Bug Fixes and Other Improvements
- Fixed an issue where OPC UA nodes with periods in their names were not displayed correctly inside of the Read Task configuration dialog.
- Improved the performance of the Console telemetry streaming infrastructure by using a new and improved telemetry frame encoding mechanism.
- Improved the smoothness of toolbar actions (opening, renaming, deleting, etc.) by implementing more efficient caching mechanisms.
- Reduced the number of logs produced by the Core that were not useful for debugging purposes.
- Significantly improved Core storage engine performance by increasing meta-data cache sizes.
0.45
Custom Schematic Symbols
Synnax v0.45 adds the ability to create, edit, and import custom symbols for schematics.
We’ve also added metrics channels to the Core, which allow for monitoring the CPU and memory usage of the Core.
We’ve added staleness indicators to values in schematics. When a value has not been updated for a certain amount of time (5s by default), the color of the value will change to yellow.
Lastly, we’ve fixed minor issues with our frame encoding protocol, improved our Python client documentation, and improved a number of other minor features.
Custom Schematic Symbols
A long requested feature, you can now create, edit, and import custom symbols for schematics. To do so, create a new symbol group in the schematic symbols browser, and then create and edit symbols within that group.
Symbols and entire symbol groups can also easily be imported and exported for sharing and/or version control.
Metrics Channels
We’ve added metrics channels to the Core, which allow for monitoring the CPU and memory usage of the Core.
These new channels are called sy_node_x_cpu_percentage and sy_node_x_mem_percentage,
where x is the host key of the Core.
Staleness Indicators
To better inform users about potentially misconfigured sensors and/or data acquisition tasks, we’ve added staleness indicators to values in schematics. When a value has not been updated for a certain amount of time (5s by default), the color of the value will change to yellow. You can also configure the staleness timeout and color of a value in the value form.
Minor Improvements
- Fixed a minor issue where series in encoded frames would be sorted incorrectly, causing rare decoding issues in JSON series.
0.44
Embedded Console
Synnax v0.44 introduces an embedded Console into the Synnax Core, which can be used in place of the desktop Console application.
We’ve also improved the data export process by adding dedicated CSV export buttons to both ranges and line plots.
As always, this release comes with a number of additional performance, stability, and user experience improvements to Synnax.
Embedded Console
Every Synnax Core now comes with an embedded, browser-based Console. After starting the
Core using the default port of 9090, you can access the Console at
http://localhost:9090.
All functionality of the desktop Console is available in the embedded Console, with the notable exception of multi-window functionality.
The desktop Console will continue to be supported, and it’s still our preferred way to work with a Synnax deployment.
Data Export
We’ve added dedicated CSV export buttons to both ranges and line plots, making it much easier to export data from Synnax for analysis.
Legend Y-Axis Indicators
The line plot legend now separates lines into groups by their corresponding y-axis.
Added Methods for Reading the Latest Values from a Channel
We’ve added new methods in the Python and TypeScript clients for reading the most recent values written to one or more channels.
Python
In Python, simply call read_latest with the
channels and the number of values you want to read.
import synnax as sy
client = sy.Synnax()
print(client.read_latest(["daq_time", "ox_pt_1"], 1))
# {
# "daq_time": [1723200000000000000],
# "ox_pt_1": [100.0]
# } TypeScript
The TypeScript client has a
readLatest method that works in the same
way.
import { Synnax } from "@synnaxlabs/client";
const client = new Synnax();
console.log(await client.readLatest(["daq_time", "ox_pt_1"], 1));
// {
// "daq_time": [1723200000000000000],
// "ox_pt_1": [100.0]
// } Minor Improvements and Bug Fixes
- Added status indicators for devices and Drivers to selection dialogs.
- Made a number of updates to real-time data fetching infrastructure, improving the reactivity and performance of the Console.
- Added
Command + WandControl + Wkeyboard shortcuts to close modals, and added a press and hold delay to close the application on macOS. - Fixed an issue where the Palette would not properly switch between search and command modes when closed and re-opened.
- Added drag and drop importing and exporting of tasks.
0.43
Maintenance & Minor Features
Synnax v0.43 is a maintenance release that focuses on bug fixes and stability improvements to the Synnax Core and Console UI, along with a few minor features.
Schematic Button Modes
Buttons on a schematic now have a new mode property that can be set to one of the following values:
- Fire: A value of true is written to the channel when the button is pressed. This is the default behavior, and behaves the same as previous releases.
- Momentary: A value of true is written to the channel when the button is pressed, and a value of false is written to the channel when the button is released.
- Pulse: A value of true is written to the channel and immediately followed by a value of false.
Automatic Creation of Workspaces
Workspaces are now automatically created when you switch Cores in the Synnax Console.
Control Chip and Label Moving
You can now move control chips and labels around by dragging them when a schematic is in edit mode.
Minor Improvements and Bug Fixes
- Centered the appearance of the number in schematic values on low-resolution displays.
- Improved the appearance of tables on the documentation site.
- Fixed the appearance of the OPC UA connect server modal.
- Allowed for placing labels in the center of tanks.
0.42
Performance & Client Library Improvements
Synnax v0.42.0 has been dedicated to improving the performance of the Synnax Core, Driver, and Console UI, as well as refactoring the interfaces for writers in the Python, C++, and TypeScript clients.
Improved Client Library Writer API
We’ve received feedback that the current writer API in Python, C++, and TypeScript has
not been user friendly, especially when it comes to communicating errors. To address
this, we’ve redesigned the Writer class in all three languages to be more simple and
intuitive.
Instead of returning a boolean from calls to write, writers will now directly raise
any errors encountered during a write operation. This removes the need for calls to the
error method, so we’ve completely removed it.
Migration Guide
To migrate to the new writer API:
- Remove any calls to
error, and instead rely on the writer to raise an exception when an error occurs. - Remove any calls that check for the return value of
write.
For example, Python code that was previously written as:
with client.open_writer(
channels=["pressure_0"],
start=sy.TimeStamp.now(),
) as w:
for i in range(100)
if not w.write(
pressure_0=i,
timestamp=sy.TimeStamp.now(),
):
print(w.error()) is now simply:
with client.open_writer(
channels=["pressure_0"],
start=sy.TimeStamp.now(),
) as w:
for i in range(100)
w.write(pressure_0=i, timestamp=sy.TimeStamp.now()) And TypeScript code that was previously written as:
with client.openWriter({
channels: ["pressure_0"],
start: sy.TimeStamp.now(),
}) as w:
for (let i = 0; i < 100; i++) {
if (!w.write({ pressure_0: i, timestamp: sy.TimeStamp.now() }))
console.error(w.error());
} is now simply:
with client.openWriter({
channels: ["pressure_0"],
start: sy.TimeStamp.now(),
}) as w:
for (let i = 0; i < 100; i++)
w.write({ pressure_0: i, timestamp: sy.TimeStamp.now() }); Performance Improvements
These changes have been focused on improving the throughput, reducing the latency, and lowering the memory consumption of the Core, Driver, and Console UI. The following details are somewhat technical, and are provided for those curious about the inner workings of Synnax.
Network Communication
We’ve introduced a new telemetry encoding and decoding mechanism that reduces the amount of data transferred over the network. For small messages, such as digital write commands and their corresponding states, message sizes has been reduced by over 80% in most cases.
Core
The read, write, and data streaming pipelines have been tuned for higher throughput and lower memory consumption. Benchmarks have shown a 30% reduction in repeated memory allocations a 20% reduction in CPU consumption.
Console
The core rendering mechanisms of the Console UI have been refactored to reduce both GPU and CPU consumption. The most noticeable improvement is on devices that leverage GPUs built-in to the CPU, where we’re leveraging text-atlases to reduce the number of GPU draw calls.
Minor Improvements and Bug Fixes
- Added log persistence and rotation to the Synnax Core.
- Fixed an issue where copying time ranges from a selected region on a real-time plot would sometimes have incorrect values.
- Fixed auto-complete of
getin calculated channels. - Fixed Devices Toolbar statuses to still display when the toolbar is small.
- Fixed an issue where control status transfers would not display correctly on the Schematic.
0.41
Refreshed Console UI
Synnax v0.41.0 introduces the first major overhaul fo the Console UI since it’s initial release. In the new Devices Toolbar, we’ve added real-time information on device health. It also includes a number of minor improvements to the Synnax Driver, and various bug fixes.
Console UI
Based on over a year of feedback and suggestions, we’ve redesigned the Console to simplify navigation and improve workflows.
Deprecation and Eventual Removal of the Resources Toolbar
The Resources Toolbar was the single stop for accessing all of Synnax’s main data structures. Channels, ranges, workspaces, users, and more are all available from this location. While this has advantages for flexibility, it has been a common source of confusion for understanding how Synnax’s data model is organized. Displaying all resources in one place also posed a challenge for various resource-specific layout customizations we wanted to make.
To address these issues, we’ve decided to split the resources pane into a series of independent, category specific toolbars. There are new toolbars for devices, users, channels, and workspaces. workspace toolbars. The Ranges Toolbar and Tasks Toolbar have also been moved to the left-hand side of the Console.
We’re leaving the original Resources Toolbar in the Console for now, but we’ll be removing it in a future release once the new toolbars can meet all necessary functionality.
Removal of Bottom and Right Toolbars
Running complex operations involves building workspaces with large numbers of visualizations, tasks, and other dialogs. This means that real-estate within the Console is at a premium, and the bottom and right toolbars were occupying too much space for the value they delivered.
We’ve now moved all status indicators and buttons to the top and left toolbars, and allocated the freed space to the central mosaic.
Toolbar Hovering & Hotkeys
Opening a toolbar on the current Console causes the entire central layout mosaic to shift, this can cause issues with visualizations such as schematics that are precisely sized to fit within a particular view.
Often times, it’s necessary to perform a quick task on a toolbar, such as starting or stopping a task. In order to prevent layout shift, we’ve made it possible to hover and overlay the toolbar without causing a layout shift in the mosaic.
We’ve also added a series of hotkeys to make interacting with the toolbars even more
efficient. For example, typing C will trigger the hover mode for the channels toolbar,
and double pressing C will open toolbar permanently.
Devices Toolbar
The new Devices Toolbar provides real-time information on the status of Synnax Drivers and the devices connected to them. Synnax Drivers that are actively running will now show a blue heartbeat, and devices have a status indicators that shows the health of their connection.
Driver Task Auto-Start
We’ve implemented a new auto start mechanism for all Synnax Driver tasks. This is a toggle that can be turned on and off within the task configuration dialog. When enabled, the task will automatically start on configuration and Driver startup.
Renaming Channels within Tasks
Previously, the only way to rename a channel bound to a task was within the Resources Toolbar. We’ve added a new context menu item within all task configuration dialogs that allows you to rename a particular channel from within the dialog itself.
Schematic Symbols
An additional set of schematic symbols were added, including general polygon shapes, a flow straightener, a heater, and more regulator shapes.
0.40
Driver and Embedded Control Sequence Improvements
Synnax v0.40.0 is a maintenance release that introduces no breaking changes, improves performance of the Synnax Driver, and fixes a few bugs related to the embedded control sequences.
Driver Clock Skew Improvements
Our refactor of the Driver in Synnax v0.39 made several major improvements, and, unfortunately, introduced a few performance issues related to task timing. In this release, we’ve introduced a new clock skew detection algorithm that automatically corrects for timing offsets in hardware timed tasks.
Warnings on Slow Data Acquisition Tasks
In previous versions of Synnax, tasks that were set at too high of a stream rate would silently fall behind drop data samples. This release introduces a new warning mechanisms that updates the Console task configuration dialog and logs a warning to the Driver logs when Synnax cannot keep up with the requested stream rate.
Improved Device Disconnection Retry
We’ve improved the device disconnection retry mechanisms for NI, LabJack, and OPC UA to better handle unexpected cable disconnections and loss of power.
Cleaner Transfer of Devices Across Drivers
We’ve implemented a smoother mechanisms for moving data acquisition modules across Drivers, ensuring that existing tasks on a device are correctly transferred and started on new Drivers.
Other Improvements
- It’s now possible to change the identifier of a device after configuring it.
- Added the location of a device to the device drop-down list selectors.
Bug Fixes
- Fixed the location of the cursor in the embedded control sequence editor on Windows.
- Fixed an issue where dragging and dropping windows outside of the Console would be slow to open.
- Added the
set_authoritymethod to the embedded control sequence editor code completion.
0.39
Embedded Control Sequences
Synnax v0.39.0 introduces embedded control sequences. Write and deploy tightly timed control loops directly within the Synnax Console. We’ve done major refactoring work on the Synnax Driver to make it more reliable and user-friendly.
Embedded Control Sequences
We’ve added a new control sequencing system that makes it much easier to write, manage, and operate control sequences on devices. While this new system does not replace the existing Python-based control sequences, it can serve as an alternative in many situations.
NI Linux Real-Time Driver
We’ve released the Synnax Driver as a separate binary for deployment on NI controllers running NI Linux Real-Time. This allows you to acquire data, control hardware, and even run embedded sequences directly on a cRIO controller.
NI Analog Write Task
We’ve added a new NI Analog Write Task that allows you to write analog data to NI devices. This task is useful for a wide variety of applications, such as generating test signals or controlling hardware.
Driver Performance & Experience Improvements
We’ve rewritten a large portion of the Synnax Driver to improve its performance and stability. We’ve improved our device discovery mechanisms, made tasks more resilient to device disconnects, and made a number of changes to the Console task configuration UI’s to make them easier to use.
Removal of Deprecated synnax Python Client Command
The synnax command for the Python client was deprecated in v0.38.0 and is now
removed. Please use sy instead.
Other Improvements
- Improved and updated documentation for Writer error communication in the Python and TypeScript clients.
- Added support for changing the default Console control authority.
- Implemented a clock skew detection algorithm that warns when Synnax clients communicating with a Core have a significant time difference.
- Added warnings when you attempt to configure a task on a Driver that is not alive.
- Improved error messages in the Python client when methods require named parameters.
Bug Fixes
- Fixed a minor issue with releasing control authority from the Synnax Schematic.
- Fixed a race condition on Core startup that would cause search indexing to fail.
- Fixed an issue where hitting
Ctrl + Cimmediately after starting a Core would not stop the Core properly. - Fixed an issue where the Search and Command Palette would not properly switch between modes.
- Fixed an issue where the theme would not change automatically when the system theme changes.
0.38
Calculated Channels
Synnax v0.38.0 is our first release of 2025, and contains a large number of new features including beta calculated channels, workspace importing, and more.
Calculated Channels
Calculated channels are a new feature that allows for server-side calculations to be performed on channels in real-time. Calculated channels work by taking a Lua script that describes the calculation to be performed on the channel, including what channels the calculated channel takes data from.
Calculated channels are currently in beta, and you may run into stability issues and unexpected behavior while using them. If you run into any issues, please report it to the Synnax team.
Workspace Importing and Exporting
The Synnax Console now supports sharing workspaces via a directory configuration. Workspaces can be shared by importing and exporting workspaces into directories to be stored on your desktop.
Windows Core Installer
The Windows version of the Core can now be installed by an installer. This means you only need to download a single installer file, and then run it to install the Core. More information can be found on our Core installation page.
Python CLI Command Deprecation
The previous synnax and synnaxkit CLI commands to access the Python client have been
deprecated to avoid a name collision with the synnax CLI command for the Core. To
access the Python client, you should now use the sy command:
sy login Improvements
- A refactored version of the NI Digital Write Task was made with a more intuitive UI.
- Schematic snapshots can now be renamed from their tab name.
- NI Analog Read Task table scaling now only allows CSV files to be passed in.
- The Synnax Demo Core is now automatically available on the Core Selector when starting the Synnax Console.
- Modals and the version info window are now no longer saved in workspaces.
- Groups are now positioned above all other items within the Resources Toolbar.
- Line plots render
uint8data faster. Cmd + Acan now be used to group all schematic elements.
Bug Fixes
- A needless orientation selector was removed from the schematic switch and button components.
- A bug where items in the Resources Toolbar would get duplicated is now fixed.
- Multiple Core clusters now support key-value state forwarding.
- Groups can now be grouped correctly within the Resources Toolbar.
- Fixed an issue where the delete column option on the table cell context menu did not work.
- Fixed an issue where the python client examples were not working.
- Fixed an issue where deep linking was not working on Windows.
0.37
Goodbye 2024 - Touch Ups
Happy New Year!
Synnax v0.37.0 is our final release for 2024, and is focused on touching up many of the features our team has built over the past year.
More Schematic Symbols
We’ve added a number of new schematic symbols to the Synnax Console. These include flow meters, flame arresters, new valves, pumps, heat exchangers, strainers, and a thruster.
Minor Improvements
- Cleaned up the look of the schematic set point component, and prevented
NaNfrom being considered a valid input value. - Groups are now positioned above all other items within the Resources Toolbar, making it easier to navigate the tree.
- Upgraded a number of dependencies to make the Synnax Python client compatible with Python 3.13.
Bug Fixes
- Fixed line plot annotations not displaying correctly when a title is also visible on a plot.
- Made it impossible to configure an OPC UA read task when the sample rate is less than than the array size.
- Fixed an issue where importing a schematic would mistakenly create a new window.
- Removed needless orientation selectors from the schematic switch and button components.
- Fixed an issue where modals would not clear correctly when switching between workspaces.
- Blocked the user from selecting variable length data types when creating a non-virtual channel from within the Synnax Console.
- Fixed issue where schematic snapshots could not be renamed from their tab name.
- Fixed an issue where a deleted table would continue to render its values over an existing visualization.
0.36
Line Plot Annotation Tool
Synnax v0.36.0 introduces several new quality of life improvements and bug fixes, including a new line plot annotation tool, schematic undo/redo, a new way to select the time of the range, and a refactored LabJack write task.
Line Plot Annotation Tool
A new annotation tool has been added to the line plot. This tool allows you to add horizontal lines to the plots to mark thresholds or other important values. This tool can be accessed by clicking the ‘Annotations’ tab in the Visualization Toolbar.
Schematic Undo/Redo
You can now undo and redo changes to a schematic. This feature is possible by using the
Ctrl + Z and Ctrl + Shift + Z keyboard shortcuts on a schematic that you are
editing.
New Range DateTime Selector
Synnax has a refactored way to select dates and times of ranges. This can be opened by selecting the calendar icon that appears to the right of the time on the create range modal. You can now quickly type a short phrase and have an AI will automatically suggest the appropriate date and time.
Breaking Changes
This release introduces a breaking change in the communication protocol that the Core and Console use to communicate. This change means that Console versions 0.36.0 and newer will not work with Core versions of 0.35.0 and older. To avoid issues, please ensure that your Core and Console are updated to the same version.
Other Improvements and Bug Fixes
Improvements:
- Sort child ranges of a range by start time.
- Add copy link to Tasks Toolbar context menu.
- Add more attachment points to cylinder schematic symbol.
- Add schematic and line plot import commands.
Bug Fixes:
- Disable all form elements in task snapshot.
- Fix transport protocol websocket implementation.
- Add LabJack driver warning when all channels on a task are disabled.
- Close version update notification when clicking snooze.
- Remove unneeded label direction selector in off page reference schematic form.
- Fix NI table scale construction error.
- Fix issues with dragging groups and creating empty groups in the Resources Toolbar.
- Commit changes to Core when clicking on schematic elements.
- Close windows on empty workspace.
- Fix error when creating a channel that doesn’t exist.
0.35
Table Component
Synnax version 0.35.0 introduces a new table component, fixes a few issues with the recently released LabJack driver, makes several improvements to schematic editing, and fixes a number of performance related bugs.
Table Component
The new table component is a powerful tool for displaying and interacting with tabular data. Tables are particularly useful for displaying data from many different channels, and for displaying data that should be flagged for exceeding certain thresholds.
Schematic Improvements
New Symbols
10 new ISO compliant schematic symbols have been added to the symbol library: an ISO Check Valve, Cylinder, ISO Relief Valve, Angled ISO Relief Valve, ISO Burst Disk, ISO Cap, Vent, ISO Filter, Orifice Plate, and a T-Junction.
New Edge Types
To allow for greater clarity on complex schematics, edges can now have specific styles associated with their corresponding type. The currently available options are: Pipe (default), Electric Signal, Secondary, Jacketed, Hydraulic, Pneumatic, and Data Signal.
Label Improvements
Labels no longer cause elements to shift when their text is edited, and label alignment has been fixed to correctly justify the text of the label instead of the label itself around it’s symbol.
You can also now double click on a label to edit it’s text. Hit esc to cancel
label editing.
The Q Command
When a symbol is selected, hitting the Q key will open a quick layout menu for the
symbol. The rotation controls let you rotate the symbol, and the gray boxes allow you to
drag the label or control chip of a symbol to a new location.
Color Picker now has Recent Colors
The Console color picker now has a section that displays a hybrid of the ten most recently/frequently used colors. This makes it easier to pick consistent colors across your schematic.
Other Minor Improvements and Bug Fixes
- Reduced response times for configuring LabJack tasks.
- Enable support for multiple OPC UA read tasks on a single OPC UA Server
- Improved shutdown procedure for the Synnax Core and embedded Driver.
- The light schematic symbol can now accept telemetry types beyond just boolean sources, and includes a threshold setting to trigger state changes
Breaking Changes
While this release does not introduce any backwards incompatible changes, the updated label alignment system may cause the edges of existing schematics to shift.
0.34
LabJack Support
Synnax version 0.34 introduces a built-in LabJack driver supporting all T-Series devices.
You can use a write task to control digital and analog outputs on the device, and a read task to acquire data from inputs.
Synnax currently only supports LabJack devices on Windows, although we plan to add support for other operating systems soon.
Taring Functionality
Both National Instruments and LabJack read tasks now support taring functionality. This feature allows you to zero out the current value of a read task.
Other Minor Improvements and Bug Fixes
- Improved schematic connection line pathing.
- Implemented Python client support for configuring and running OPC UA read tasks.
- Font sizes on a schematic value are now configurable.
- Schematic values can now be displayed in scientific notation.
Breaking Changes
This release does not introduce any breaking changes.
0.33
Log Component
We’ve added a new log component to the Synnax Console that allows you to view channel data in a log format. This component can be connected to any channel, and is particularly useful for tracking the progress of control sequences and other automated hardware control processes.
Breaking Changes
This release does not introduce any breaking changes.
0.32
Multi-Device NI Analog Read Tasks
Summary
Synnax version 0.32 makes an improvement to NI Analog Read Tasks. The new version allows you to acquire data from multiple devices in a single task. This is useful in one of two scenarios:
- You have multiple devices and you want to acquire data from all of them synchronously.
- You have many different cards on a single chassis (e.g. cDAQ-9174) and you need to avoid hitting the maximum number of allowed tasks.
Instead of choosing the device at the top level of the task, you can now specify the device for each channel.
Breaking Changes
This release does not introduce any breaking changes. Previous NI analog read tasks will be migrated to the new format automatically.
0.31
User Registration & Access Control
Summary
User Registration & Access Control
Synnax version 0.31 introduces long awaited user registration and access control features. You can now register users via the command palette. Once registered, one of two permissions can be granted to a user: admin and schematic edit.
- Admin users have the permission to perform any task, including registering, removing, and changing the permissions of other users.
- Schematic edit defines whether a user is allowed to create and edit schematics.
These two permission sets are the first of many to come.
New Schematic Symbols
This release also introduces six new schematic symbols.
The label positions and wrap widths of all symbols can now be customized.
Breaking Changes
There are no breaking changes in this release.