And with that, we now support a total of 77 different protocol decoders. There are some more in the pipeline for the next releases, and we get contributed decoders on a pretty regular basis these days, which is awesome! If you're working on additional PDs, please send patches our way!

Decoders using PD v3 API can benefit from both readability improvements as well as performance improvements. Up to 10x speedup has been measured in some situations (depends a lot on the decoder, the amount of data, the amount of edges in the signals, and the amount of oversampling).

The majority of all decoders have been converted to PD API v3.

For the time being, both APIs (2 and 3) will remain supported until all decoders have been converted to API version 3. Then, support for API version 2 will be dropped.

There is now support for specifying the (assumed) initial pin states before the first sample that is being decoded. This can be set to 0/low, 1/high, or to "use the same value as in the first sample". This is very useful for some setups where decoders need to wait for edges.

See the NEWS file for a much more detailed list of changes, or browse the git history for even more details.

sigrok-firmware-fx2lafw

This release adds open-source FX2 firmware for the Hantek 6022BL USB scope/LA (similar, but not quite compatible to the already-supported Hantek 6022BE).

See the NEWS file for a much more detailed list of changes, or browse the git history for even more details.

sigrok-cli

The sigrok-cli command-line utility has seen a few improvements and bugfixes as well.

The new -L|--list-supported option shows the supported drivers, modules, and decoders (this was previously listed as part of the -V|--version output).

There's now support for running multiple decoder stacks on the capture at the same time by specifying multiple -P|--protocol-decoders options; the old -S option is no longer needed and has been removed.

See the NEWS file for a more detailed list of changes, or browse the git history for even more details.

PulseView

The PulseView GUI has seen a pretty large set of improvements as well.

There's a facility to add multiple sessions and views in PulseView now:

Sessions represent individual files/device instances. Each session is represented as a tab in PulseView.

Views are different data representations of one specific session. For example, different views of a session can have different zoom levels, can be scrolled to different positions, etc. Each view is a dock window within the respective session's tab.

The view docks can be repositioned, resized and extracted out into their own individual windows.

Sessions and views are partially saved and restored when PulseView exits/starts. Not all information is restored yet, though (e.g. decoders).

Various new or improved features have been added:

Support for saving analog data to .sr files.

Support for showing the sampling points in traces.

Various UI and usability improvements.

Various improvements for analog traces and their presentation.

There's a global settings menu now with config options for various PulseView behaviours.

There have also been a large number of other random new features, bugfixes, documentation fixes, portability fixes, build system improvements, and so on.

See the NEWS file for a much more detailed list of changes, or browse the git history for even more details.

There are also a bunch of regressions and/or known bugs and missing features we'll be working on for the next minor bugfix release. If you notice any issues that haven't been reported yet, please file a bug.

Thanks a lot to everyone who has contributed to any of the sigrok projects to make these releases happen! This wouldn't have been possible without the help of the numerous contributors!