Skip to content

Releases: open-ephys/plugin-GUI

v1.0.2

22 Jan 02:23
c91afeb

Choose a tag to compare

Binary release January 21, 2026

Release Notes

New Features

  • LFP Viewer Enhancements:

    • Added "Auto" range option for AUX channels that automatically scales each channel based on its input range
    • Enhanced channel sorting using new group, depth (Y-position), and X-position metadata
    • Improved "Color by Shank" mode to use group metadata when available
    • Display units (e.g. µV) next to channel type labels
    • Dynamic left margin adjusts to fit longest channel name
  • Plugin Update Notifications: GUI checks for plugin updates on startup and displays notification when available

  • Automated Testing: Added GitHub Actions workflows for unit tests and integration tests

Improvements & Bug Fixes

  • File Reader: Enhanced error handling with validation for file existence, channel count mismatches, and file size consistency. Displays user-friendly error messages for invalid or missing files

  • Record Node: Added comprehensive file validation before recording starts. Automatically stops recording with clear error messages if files fail to open due to disk space or permission issues

  • Parameter System: Fixed crash when loading configurations with mismatched channel counts (e.g., when Acquisition Board channel count changes between runs). Out-of-range channel selections in downstream plugins are now filtered out, and newly available channels are automatically included.

  • Audio Monitor: Reduced initialization time and fixed selected channels resetting during signal chain updates when no spike channel is selected

v1.0.1

29 Jul 21:22

Choose a tag to compare

Binary release July 29, 2025

Release Notes

Improvements

  • LFP Viewer: Added color grouping by shank for clearer visualization in multi-shank recordings

Safeguards

  • Blocked default config loading during acquisition

Bug Fixes

  • Prevent crash when recording TEXT events aligned to hardware-synced streams
  • Added input validation to File Reader to prevent crashes when loading saved parameters or default sample data

v1.0.0

16 Jul 00:56

Choose a tag to compare

Binary release July 15, 2025

Release Notes

This marks the first release of the "version 1.0" iteration of the Open Ephys GUI, which attains a new level of professionalism and robustness. This release brings a wide range of UI upgrades, performance improvements, and bug fixes based on feedback from end users over a period of 10+ years. We recommend that all users update to version 1.0, which has numerous advantages over previous releases.

The major changes are summarized below:

User Interface Upgrades

Enhanced Graph Viewer

The Graph Viewer provides a high-level overview of the current signal chains. As of version 1.0, the nodes in the Graph Viewer flow from left to right (rather than vertically), to mirror the layout of the plugin editors. In addition to information about the data streams generated or processed by each plugin, each node now includes editors for all available plugin parameters. This makes it easier to view and modify parameters for multiple signal chains in parallel. Graph Viewer nodes now retain their open/closed states when plugins are added and removed, or when signal chains are reloaded.

Graph Viewer

Stream info table

The “stream selector” in each plugin editor has been replaced with a table that summarizes information about all incoming data streams at a glance. Stream settings can be modified by clicking on each stream's row in the info table. The table can be expanded to reveal more detailed information about each data stream.

Stream info table

Empty processors

When a signal chain is missing a source node, an “Empty Processor” now appears as a placeholder. Empty processors also appear in place of unconnected sources for any Mergers.

Empty processors

Message Window

Custom text annotations can now be entered via a pop-up window. When recording is active, annotations are automatically timestamped and saved by all Record Nodes. Unlike the message bar in the main GUI, the pop-up window tags the annotation with the time it was opened, allowing users to launch it at the moment of interest and enter text at their convenience.

Message Window

More extensive undo operations

Previously, only plugin add/move/delete operations could be undone. Now, undo/redo also works with parameter changes, as well as channel reordering operations in the Channel Map and adding/removing electrodes from the Spike Detector. In addition, parameters for Spike Channels are restored correctly when undoing a plugin deletion or changing the number of incoming data streams.

More flexible Data Viewport

Tabs in the Data Viewport (which holds plugin visualizers) can now be rearranged, renamed, or deleted. Tabs can be placed in up to three columns, to allow multiple visualizers to be used side-by-side without the need to pop out additional windows.

Data Viewport

Support for color themes

Users can select “Dark,” “Medium,” and “Light” color themes, depending on their preference.

Color themes

Processor list search

Clicking on the new search button in the processor list header brings up a search bar that can be used to filter the processor list by name.

Flexible clock.

Added the option to reset the clock whenever acquisition begins.

Plugin Updates

LFP Viewer

In single-channel mode, each channel displays the RMS voltage instead of the standard deviation. The options bar can now be scrolled, to access all parameters on condensed displays. Rendering of continuous signals and event overlays is smoother across Windows, macOS, and Linux.

Spike Viewer

Added transparency to spike waveforms and peak locations. Added more information about channel info and display range.

spike viewer

Recording & Synchronization

More intuitive directory selection

Record Nodes now inherit the default recording directory from the Control Panel, unless the Record Node explicitly specifies a custom directory.

Synchronization upgrades

The synchronization algorithm used by the Record Node and Event Translator has been rewritten to improve robustness and add support for arbitrarily short sync pulses. In addition, details about each stream's synchronization status (stream start time, sync tolerance, and time since last sync pulse) can now be viewed by expanding the stream selector within the Record Node

Performance Improvements

Multithreading support

The Bandpass Filter now processes data using multiple threads, greatly reducing the delays incurred when filtering many channels in parallel.

GPU-based rendering on Windows

Visualizations on Windows are much more responsive, thanks to the addition of GPU-based rendering.

Faster data transfer

Greatly reduced the number of copy operations required to stream data from external devices

Logging

Integrated Console

The Console now appears as a tab in the Data Viewport, making it easier to access on Mac.

Integrated console

More complete log messages

Messages from plugins are now saved to the log file, and each line in the log file includes a timestamp.

Developer Improvements

Upgrade to the latest JUCE library

The GUI is now built on top of JUCE version 8, the most recent major release. This update makes the application more efficient, especially with respect to rendering graphics, and includes built-in support for OSC Messages and Video display.

More flexible Parameter editors

This update makes it even easier to build plugin user interfaces with minimal custom code. Default editors now have a more consistent appearance, while also being easier to customize. We have added default editors for selecting files, data streams, and TTL lines. Each Parameter can be linked to multiple editors, allowing settings to be modified directly from the Graph Viewer.

Expanded plugin API

Added callbacks for additional software events, such as signalChainWasLocked() and isReady().

Coding standards

A .clang-format file makes it easy to auto-format source code according to JUCE standards

Testing & Benchmarking

Unit testing infrastructure

The TESTABLE macro allows developers to easily write tests for any class, which can be run using Google Test. Unit tests for key data processing classes are now included alongside the GUI’s source code. Tests run automatically whenever a pull request is opened against the main branch.

Support for headless mode

A UI-free signal chain can be instantiated by running the application with the --headless command-line argument. This makes it easier to test features through cloud-based continuous integration services. In addition, all user interactions can now be simulated via the HTTP Server, and these are incorporated into a suite of automated integration tests.

Benchmarks for key use cases

We now provide precise information about the maximum number of channels and minimum processing delays achievable with various system architectures, from standard laptops to state-of-the-art workstations.

v0.6.7

01 Mar 20:13

Choose a tag to compare

Binary release March 1, 2024

Release Notes

Record Node

  • Fix Record Node base path logic. Previously, the Record Node base path did not actually change if it was updated during acquisition. Now, the path is updated, and the next experiment/recording counter is maintained, unless the “Create New Directory” button is selected in the Control Panel.
  • Fix Record Node disk space check. Previously, this check did not always consider the currently set path in the Record Node due to the issue mentioned above.
  • Fix Record Node path tooltip not updating when path loaded from saved configuration.
  • Fix Record Node Editor UI elements enabled during recording that shouldn't be (though this did not affect actual recordings).
  • Fix File Reader crash when loading events if a File Source does not support text events.

Plugin Installer

  • Platform-specific bug fixes:
    • On Windows, an issue that caused crashes or displayed garbage strings in the Processor List during plugin updates has been resolved.
    • On MacOS, fixed a bug where it would incorrectly show that the plugin has updated successfully even when it did not.

Editor Viewport

  • Improved Editor Selection Behavior. Multiple editor selections in the Editor Viewport now work correctly when using “Shift + Right/Left Arrow” keys.
  • The plugin version is now shown in the plugin editor’s right-click popup menu.

v0.6.6

16 Aug 23:54

Choose a tag to compare

Binary release August 16, 2023

Release Notes

Core application

  • The software now checks for more recent versions upon launch; if an update it available, the user has the option to download the latest version (and install it automatically if on Windows). This can also be done manually via Help > Check for updates.
  • Remove popup warning when loading configs saved by GUI version 0.6.0 and higher, since these should always be compatible with more recent versions
  • Remove popup warning when plugin updates are available, since this can easily be seen via the green arrow icons
  • Fix bug where main window is located off screen when a monitor has been removed since the last run

Record Node

  • Fix bug where recording is stopped when disk space becomes negative (due to float to int conversion)
  • Allow recorded channels to be selected/deselected via config messages (e.g., SELECT <stream_index> ALL)

LFP Viewer

  • Remove timebases lower than 50 ms, since these were causing lags in some configurations
  • Fix bug where channels become out of sync when switching away from very small timebases or changing the size of the display

Arduino Output

  • Fix bug where disabling the gate line doesn't actually turn it off

v0.6.5

22 May 21:45

Choose a tag to compare

Binary release May 22, 2023

Release Notes

Updates & Bug Fixes:

  • Add default configuration for acquisition boards with custom Open Ephys FPGA
  • When selecting the default Acquisition Board configuration, prompt the user to select which type of FPGA is present on their board in order to ensure the correct plugin is installed
  • Prevent the Arduino Output plugin from re-initializing when it's placed downstream from a Merger

v0.6.4

13 Mar 20:03

Choose a tag to compare

Binary release March 13, 2023

Release Notes

New features

  • Backwards scrolling in LFP Viewer. If a display is paused, you can now scroll backwards in time up to 3x the width of the visualizer, without changing the timebase. Simply click and drag the timescale to move forwards and backwards in time, or use the scroll wheel while the mouse is hovered over the timescale.
  • Alternative clock display: right-click on the clock to change the display mode to HH:MM:SS
  • Signal chain locking: under the "edit" menu, you can now lock the signal chain to prevent adding, moving, or deleting processors.
  • Display currently installed version for each plugin in the Plugin Installer
  • Enable sending config messages to individual plugins while acquisition is active. Plugins are now responsible for ignoring any messages that cannot be handled during acquisition.

Bug fixes

  • Fix data viewport tabs re-loading in the wrong order, or loading a blank tab
  • Fix crash when Audio Monitor has a channel selected, but receives no input channels
  • Channel selection parameter editors now retain the correct channel count after the input streams are updated
  • Prevent saving invalid XML files (affected signal chains that used early versions of the Rhythm ONI Plugin)
  • Re-enable the refreshState() method for visualizers (called whenever a visualizer's tab becomes visible again)
  • All Spike Viewer settings are correctly re-loaded on re-launch or after deleting an upstream source
  • Fix undo operation when a processor is moved out of the signal chain

v0.6.3

12 Nov 00:54

Choose a tag to compare

Binary release November 11, 2022

Release Notes

Bug Fixes & Updates:

HTTP Server:

  • Remotely add processors via /api/processors/add
  • Remotely delete processors via /api/processors/delete
  • Query available processors via /api/processors/list

Record Node

  • Calculate the average data rate, and use this to estimate the time left in the recording (displayed when hovering over the buffer monitor)
  • Automatically stop recording when less than 5 minutes of space is available

Channel Map

  • Ensure settings persist when input is deleted or sample rate is changed

File Reader

  • Add backwards compatibility with Binary format recordings from GUI v0.5.x
  • Improve performance of file scrubber for browsing data files >30 s long

LFP Viewer

  • Prevent crash when deleting input while channels are sorted by depth

v0.6.2

21 Sep 19:22

Choose a tag to compare

Binary release September 21, 2022

Release Notes

Bug Fixes & Updates:

  • Fix UP/DOWN keypress inside Editor Viewport causing crash when last selected editor is null
  • Fix crash in plugins with ComboBox parameter editor when a plugin preceding it is deleted
  • Bring visualizer window to front when editor is selected
  • Update Windows installer to streamline Microsoft Visual C++ Redistributable installation process

v0.6.1

19 Aug 05:08

Choose a tag to compare

Binary release August 18, 2022

Release Notes

Bug Fixes:

  • Use viewport to display Spike Detector table (fixes #519)
  • Make sure correct Record Node is checked when requesting its synchronization status
  • Use original stream name when creating streams in File Reader