ChangeLog V3.7.9


Major Changes

The git log is always the authoritative list of changes, but the following provides a high level overview of major changes since v3.7.8 (excluding changes already included in maintenance releases). v3.7.9 introduces improved documentation, new features, and a few examples. The bulk of features revolve around message passing and integrating message ports with Control Port.

GNU Radio Companion

GRC changes improve start-up time and flowgraph loading by asynchronously reading block docstrings. Loading flowgraphs with missing hier_blocks results in auto-generated hier_blocks so the top-level flowgraph remains viewable.

GRC menus are slightly reorganized to include submenus for new and recently used flowgraphs. A new option to include custom run commands (which is intended to assist remote deployments and starting applications related to a flowgraph) is available. A new easter egg in the menus will display flowgraph-complexity in Balints.

The GRC file format includes the following improvements:
- select default and per-flowgraph QSS themes for QT GUI.
- embedded python blocks: create and edit Python Blocks straight from
GRC using your favorite editor. Automatic wrapper generation. Stored in
the grc file.
- grc file format: minimizes diffs when changing flowgraphs
- embedded python modules: save custom python code directly in grc files
and edit it directly from grc.


New uniform integer distribution source Added a new message port to the signal source to change frequency tag propagation fix with QA
Add complex matrix multiply block.
New Complex to Imaginary char block (complex to IChar) with GRC support
Add blocks to convert between complex representations and magnitude/phase representations


A new DVB-T receiver flowgraph is available in tree. DVB-T is widely used in European television broadcasts. gr-dvt also saw major work on resolving coverity issues.


GNU Radio participated in the ESA SoC with Johannes Demel implementing polar codes. This work has been merged in and uses Johannes' VOLK kernels to accelerate en/decoding.
Tracie has continue work on LDPC codes from GSoC 2013. Much of the work in this release has been examples and improved documentation.


Windowing operations in fft_vcc_fftw were replaced with VOLK calls for improved performance.


The center frequency message port handles a dict as well as the pair that currently used pair which matches conventions used in other message handlers.


Expose trigger callbacks for GUI sinks to GRC.
Add a Qt style sheet for projectors and presentations as well as better color scaling and better coloring in general for sharing plots.
QT GUI plotting widgets have added support for control and data message ports. The GUIs can only plot data from messages or streams, but not both at once. These come with documentation and an example in gr-qtgui/examples/qtgui_message_inputs.grc
Added documentation for quadrature demod blocks and exposed through GRC.


Expose constant parameter of the multiply_const_ff and add_const_XX blocks through control port. As part of this the add_const_XX blocks are now implemented separately rather than templates.

Message Handlers are now all exposed through ControlPort which allows passing arbitrary messages in to a flow graph through ControlPort. For an example see gr-blocks/examples/ctrlport/simple_copy.grc and gr-blocks/examples/ctrlport/
ackRegister the average throughput performance counter.


Rearranged tabs for USRP blocks in GRC.
Register the "command" message handler with ControlPort. See the example in gr-blocks/examples/ctrlport/
Examples and utilities are improved with multi-channel support and a shared base class for accessing UHD (see gr-uhd/apps/


Work on random number generators to support the new uniform random source in gr-analog

Bug fixes

GNU Radio v3.7.8.2 is a simultaneous release of bug fixes to the 3.7.8 series. Contributors for this release are:


  • Fixes for ABI compliance checker
  • digital: fix callback typo in corr_est_cc XML
  • grc: cache compiled Cheetah templates
  • runtime: fix hierarchical block message port flattening/GRC usage
  • grc: set font for dummy block params
  • grc: typo in tooltip
  • blocks: fixed issue #861: tagged_stream_align can miss tags
  • zeromq: change addresses used in QA to allow parallel ctest
  • Improved documentation for freq modulator and crc32
  • grc: fix port spacing over canvas grid
  • grc: fix #858 category string splitting
  • dtv: fix coverity issue #1327836