Skip to content

Releases: gnuradio/gnuradio

Release Candidate v3.10.10.0-rc1

06 Apr 12:54
Compare
Choose a tag to compare
Pre-release

[3.10.10.0-rc1] - 2024-04-06

Changed

Runtime

  • Modernize location of config files. XDG_CONFIG_HOME will be used if set
    (often $HOME/.config). This change attempts to be backward compatible with
    existing config file locations, but be aware that config files may show up
    in the old ($HOME/.gnuradio/) and new ($XDG_CONFIG_HOME/gnuradio)
    locations depending on GNU Radio version. Files are not automatically moved,
    since some users run multiple versions of GNU Radio.
  • Ctrlport Probe, Ctrlport Probe PSD and gr-ctrlport-monitor. Ctrlport Monitor blocks
    are still broken.

GRC

  • NEW Qt-based front end! Run gnuradio-companion --qt to try it out. This feature is
    still in testing, so the Gtk front end runs by default. In a future release, Qt will
    become the default, removing Gtk as a manditory dependency. Maintenance will focus on
    the Qt front end at that point.
  • Restore property field background colors (as a View option, off by default) for the Gtk
    front end. Background colors were previously replaced with textual type string.
  • The canvas can be panned using the middle mouse button
  • C++ code generation improvements related to parameters and strings
  • C++ code generation fixed for Add Const

gr-audio

  • Added 96 kHz and 192 kHz selections to ALSA source/sink

gr-blocks

  • Float To UChar block adds vector support, and also scale and bias params

gr-digital

  • Additive Scrambler adds soft symbol handling

modtool

  • Improvements to handling of Python blocks (add, rm, and rename work reliably)
  • New parseable manifest format (yaml instead of md) to better support the OOT ecosystem
  • Manifest and examples are installed by "make install"

Build system and packaging

  • Python byte-compiled (pyc) files are no longer installed, as they are
    deprecated by Python

Testing

  • Added MinGW test runner and fixed various MinGW compilation failures
  • Update Fedora to test 38, 39 and 40

Release v3.10.9.2

17 Jan 20:41
Compare
Choose a tag to compare

[3.10.9.2] - 2024-01-17

Changed

Project

  • Fix a few memory errors in various modules.

GRC

  • Fix regressions in bus connections.

Release v3.10.9.1

01 Jan 11:46
Compare
Choose a tag to compare

[3.10.9.1] - 2024-01-01

Changed

Project

  • Python minimum version is now 3.7.2, vs 3.6.5, to support type hints. Even
    Python 3.7 is EOL, so this is not expected to affect people using newer versions of
    GNU Radio.
  • Add tox.ini, so that editors use the same formatting as github CI.
  • Use pointers to pass s32fc arguments to VOLK in gr-blocks, gr-digital, and
    gr-dtv to avoid undefined behavior. The fix is conditional on VOLK 3.1.0, which
    add a new supporting function.

Runtime

  • Disallow None for pmt_t arguments in Python.
  • Support spdlog installations with internal or external libfmt.

GRC

  • Use text labels to specify types for block parameters, instead of background colors
    which were difficult to read/remember.
  • Enable setting of documentation URLs, relative or absolute in yaml. This allows
    OOTs to use the documentation link in the block parameter dialog.
  • Disallow use of block ids that are Python keywords and "gnuradio".
  • Add type annotations in some places (required bump to Python 3.7.2).
  • Use C version of YAML loader (yaml.CSafeLoader) for better performance.
  • Connections may have properties for supported connection domains. This feature
    was added for RFNoC connections. Standard stream and message connections do not
    support this feature, but they may in future versions.
  • Check grc file version. The above feature required a version bump to "2". Where
    no connection properties are used, version "1" is still emitted. Note that previous
    versions of GRC do not check for file version. RFNoC flowgraphs with connection
    properties will fail to load in previous versions as a result.
  • Fix bug where an impressive number of backslashes were added to some filenames.

gr-dtv

  • Read expected data as little-endian

gr-fec

  • Add FEC_API to CCSDS Reed-Solomon functions so they can be used by OOTs.

gr-qtgui

  • QT GUI Msg Push Button: add a callback for Message Value to allow it to
    change at runtime.

gr-uhd

  • RFNoC Rx-Streamer: Add start stream options
  • Add back-edge property to RFNoC connections

Build system and packaging

  • Update conda build. Re-rendered with conda-build 3.27.0, conda-smithy 3.28.0,
    and conda-forge-pinning 2023.11.07.18.09.01.
  • Use utf-8 encoding when writing files in gr_python_install.

Testing

There has been a great effort to identify why tests fail intermittently, or only
on certain platforms. This has lead to a number of improved test, and identification
of a number of real bugs.

Release Candidate 3.10.9.0-rc2

24 Dec 14:45
Compare
Choose a tag to compare
Pre-release

[3.10.9.0] - 2023-12-24

Changed

Project

  • Python minimum version is now 3.7.2, vs 3.6.5, to support type hints. Even
    Python 3.7 is EOL, so this is not expected to affect people using newer versions of
    GNU Radio.
  • Add tox.ini, so that editors use the same formatting as github CI.
  • Use pointers to pass s32fc arguments to VOLK in gr-blocks, gr-digital, and
    gr-dtv to avoid undefined behavior. The fix is conditional on VOLK 3.1.0, which
    add a new supporting function.

Runtime

  • Disallow None for pmt_t arguments in Python.
  • Support spdlog installations with internal or external libfmt.

GRC

  • Use text labels to specify types for block parameters, instead of background colors
    which were difficult to read/remember.
  • Enable setting of documentation URLs, relative or absolute in yaml. This allows
    OOTs to use the documentation link in the block parameter dialog.
  • Disallow use of block ids that are Python keywords and "gnuradio".
  • Add type annotations in some places (required bump to Python 3.7.2).
  • Use C version of YAML loader (yaml.CSafeLoader) for better performance.
  • Connections may have properties for supported connection domains. This feature
    was added for RFNoC connections. Standard stream and message connections do not
    support this feature, but they may in future versions.
  • Check grc file version. The above feature required a version bump to "2". Where
    no connection properties are used, version "1" is still emitted. Note that previous
    versions of GRC do not check for file version. RFNoC flowgraphs with connection
    properties will fail to load in previous versions as a result.
  • Fix bug where an impressive number of backslashes were added to some filenames.

gr-dtv

  • Read expected data as little-endian

gr-fec

  • Add FEC_API to CCSDS Reed-Solomon functions so they can be used by OOTs.

gr-qtgui

  • QT GUI Msg Push Button: add a callback for Message Value to allow it to
    change at runtime.

gr-uhd

  • RFNoC Rx-Streamer: Add start stream options
  • Add back-edge property to RFNoC connections

Build system and packaging

  • Update conda build. Re-rendered with conda-build 3.27.0, conda-smithy 3.28.0,
    and conda-forge-pinning 2023.11.07.18.09.01.
  • Use utf-8 encoding when writing files in gr_python_install.

Testing

There has been a great effort to identify why tests fail intermittently, or only
on certain platforms. This has lead to a number of improved test, and identification
of a number of real bugs.

Release Candidate v3.10.9.0-rc1

18 Dec 12:31
Compare
Choose a tag to compare
Pre-release

Here is the git log for v3.10.9.0-rc1 ... we'll write up a nicer changelog for the final.

fix gr_python_install
UHD: set URL of FPGA FFT to avoid collision with plain URL
GRC: enable setting of documentation URLs, relative or absolute in yaml
fec: add FEC_API to CCSDS Reed-Solomon functions
blocks: Fix flaky chunk throttling test
blocks: msq_pair_to_var QA: wait up to 1 s.
qtgui: Remove unnecessary imports from templates
gr-uhd: Remove old references
analog: PLL frequency detector example: use limited-wait throttle
blocks: msg_pair_to_var: Log with block logger, not gr.log (#6950)
pmt: Disallow None for pmt_t arguments in Python
conda: sync conda-build.yml with main branch
qt-gui: QRfnocF15ColorMapper: Add missing <array> include.
MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.28.0, and conda-forge-pinning 2023.11.07.18.09.01
ci: conda: Move conda stuff to .conda directory to unify with OOT style.
ci: conda: Clean up recipe and update for latest boost packages.
modtool: template: Update conda recipe.
spdlog: include spdlog system settings header before including spdlog/fmt/
gr-qtgui: QT GUI Msg Push Button add callback for Message Value
Use pointers to pass s32fc arguments to VOLK
filter: Accept rounded output from fir_filter_fsf
Remove 'friend' from 'read_wavein' callback function (#6971)
gr-uhd: RFNoC Rx-Streamer: Add start stream options
grc: Extend ID blacklist by Python keywords
grc/core/FlowGraph: pythonify old strings, lists
grc: param.py: refactor internal function name
grc/core: Type annotations, so I can somewhat sensibly work in my editor
grc/core/FlowGraph: remove unused imports
grc/core/FlowGraph: refactor internal namespace refresh code
grc: remove Py3 backports
grc: no Python type 'long'
grc: backlist gnuradio as valid id
grc: use yaml.CSafeLoader for performance if available
GRC: generated python code use gr.logger.warn instead of ….warning
grc: Consistently format filenames in messages
uhd: rfnoc: Add back-edge property to RFNoC connections
grc: Add edge (connection) properties
grc: Check flow graph format version
grc: Remove superfluous import
fec: fix incorrect runtime error message
gr-fec: cc_decoder: untangle C-style, strange argument check
project: add tox.ini, so that editors use the same formatting as github CI
Python: minimum version 3.7.2, was 3.6.5
qtgui: remove stray d_wf_lines in rfnoc_f15_display
qtgui: Rename instances of fosphor to rfnoc_f15
Revert "qtgui: Add fosphor formatter block"
fosphor display widget: Fix std::bad_alloc
qtgui: conditionally install fosphor yaml files
qtgui/QFosphorColorMapper: std::sstream+string replacing sscanf("%m")+char*
uhd: Add RFNoC Fosphor example
qtgui: Add fosphor formatter block
qtgui: Add fosphor display widget
grc: Fix way-over-backslashing in file paths
gr-digital every time
grc: Remove param field colorings by type and replace with labels

Release v3.10.8.0

20 Oct 12:32
Compare
Choose a tag to compare

[3.10.8.0] - 2023-10-20

Changed

Runtime

  • Add MAP_FIXED to circular buffer implementations using shm_open() and
    mmap backed by tmp files. These versions are not used by most system, and
    flaws were discovered during a FreeBSD build.
  • PMTs can be formatted for logging (format wrapper added).
  • New io_signature::make() variant replaces makev(), and optionally specifies
    buffer types. Previous variants are still valid, for backward compatibility. The
    single-stream make(), along with the makev(), make2() and make3() variants
    should not be used in new code, and may be removed in the future.
    make(int min_streams,
         int max_streams,
         const std::vector<size_t>& sizeof_stream_items,
         const gr::gr_vector_buffer_type& buftypes =
             gr::gr_vector_buffer_type(1, default_buftype::type));
  • Fix logging params to be compatible with C++20

GRC

  • Add "Choose Editor" button to Python block properties. Use the GTK app chooser.
    Save choice to the config file.
  • Correct Python Qt imports in Hier blocks and flowgraph templates.

gr-blocks

  • Enable building the benchmark testing executable, which runs tests on various
    math functions.
  • Repeat block implemented as a basic block (vs sync interpolator) and output
    buffer allocation fixed.
  • Add a GRC example for Throttle usage.

gr-digital

  • Add set_sps() to Symbol Sync.
  • Header Format: Fix CRC and OFDM formats, add option to header_buffer to read
    bits lsb first, and refactor extract_bits functions as templates.
  • Constellation Sink uses different colors for each input by default.
  • Rework Constellation Soft Decoder, Constellation Object and LDPC Decoder Definition.
    Previously, the LDPC Decoder did not work at all. The sigma parameter was removed
    from the decoder and an optional noise power npwr parameter was added to the
    constellation.

gr-network

  • Better support for vectorized output from UDP source. The payload size must still
    be a multiple of item size * vector size for this to work.

gr-qtgui

  • Range widget eng_slider and eng modes can now be selected in GRC.
  • Range widget and a couple of UHD apps now accept values on editingFinished, e.g.,
    loss of focus, rather than on returnPressed. Since UIs generated by GRC do not
    have OK/Apply for such values, there is no "correct" behavior. The behavior is
    now selectable on the Entry widget.
  • Frequency Sink startup time improved where sample rate is low

gr-soapy

  • RTLSDR buffer size may be specified

gr-uhd

  • RFNoC NullSrcSink block added. The block may be both source and sink.
  • Add support and examples for RFNoC loopback.
  • RFNoC Rx Radio adds issue_stream_cmd() and block message handler.

gr-zeromq

  • Explicitly shutdown and close source/sinks to prevent hangs in some cases.
  • Require zmq.hpp (cppzmq) version with context_t.shutdown() defined.
    If shutdown is not defined, the gr-zeromq is disabled.

Modtool

  • Add cmake-format support for generated modules

Build system and packaging

  • Update Read-the-docs config to include build.tools

Testing

  • Change Debian 11 to Debian 12 in CI

v3.10.8.0-rc2

13 Oct 11:18
Compare
Choose a tag to compare
v3.10.8.0-rc2 Pre-release
Pre-release

Since v3.10.8.0-rc1

  • Require zmq.hpp (cppzmq) version with context_t.shutdown() defined. If shutdown is not defined, the gr-zeromq is disabled.

v3.10.8.0-rc1

07 Oct 21:07
Compare
Choose a tag to compare
v3.10.8.0-rc1 Pre-release
Pre-release

Runtime

  • Add MAP_FIXED to circular buffer implementations using shm_open() and
    mmap backed by tmp files. These versions are not used by most system, and
    flaws were discovered during a FreeBSD build.
  • PMTs can be formatted for logging (format wrapper added).
  • New io_signature::make() variant replaces makev(), and optionally specifies
    buffer types. Previous variants are still valid, for backward compatibility. The
    single-stream make(), along with the makev(), make2() and make3() variants
    should not be used in new code, and may be removed in the future.
    make(int min_streams,
         int max_streams,
         const std::vector<size_t>& sizeof_stream_items,
         const gr::gr_vector_buffer_type& buftypes =
             gr::gr_vector_buffer_type(1, default_buftype::type));
  • Fix logging params to be compatible with C++20

GRC

  • Add "Choose Editor" button to Python block properties. Use the GTK app chooser.
    Save choice to the config file.
  • Correct Python Qt imports in Hier blocks and flowgraph templates.

gr-blocks

  • Enable building the benchmark testing executable, which runs tests on various
    math functions.
  • Repeat block implemented as a basic block (vs sync interpolator) and output
    buffer allocation fixed.
  • Add a GRC example for Throttle usage.

gr-digital

  • Add set_sps() to Symbol Sync.
  • Header Format: Fix CRC and OFDM formats, add option to header_buffer to read
    bits lsb first, and refactor extract_bits functions as templates.
  • Constellation Sink uses different colors for each input by default.
  • Rework Constellation Soft Decoder, Constellation Object and LDPC Decoder Definition.
    Previously, the LDPC Decoder did not work at all. The sigma parameter was removed
    from the decoder and an optional noise power npwr parameter was added to the
    constellation.

gr-network

  • Better support for vectorized output from UDP source. The payload size must still
    be a multiple of item size * vector size for this to work.

gr-qtgui

  • Range widget eng_slider and eng modes can now be selected in GRC.
  • Range widget and a couple of UHD apps now accept values on editingFinished, e.g.,
    loss of focus, rather than on returnPressed. Since UIs generated by GRC do not
    have OK/Apply for such values, there is no "correct" behavior. The behavior is
    now selectable on the Entry widget.
  • Frequency Sink startup time improved where sample rate is low

gr-soapy

  • RTLSDR buffer size may be specified

gr-uhd

  • RFNoC NullSrcSink block added. The block may be both source and sink.
  • Add support and examples for RFNoC loopback.
  • RFNoC Rx Radio adds issue_stream_cmd() and block message handler.

gr-zeromq

  • Explicitly shutdown and close source/sinks to prevent hangs in some cases.

Modtool

  • Add cmake-format support for generated modules

Build system and packaging

  • Update Read-the-docs config to include build.tools

Testing

  • Change Debian 11 to Debian 12 in CI

Release v3.10.7.0

16 Jul 00:59
Compare
Choose a tag to compare

[3.10.7.0] - 2023-07-15

Changed

Runtime

  • Setting the minimum buffer size should have the desired effect now, and
    not be overwritten. NOTE: the value returned by min_buffer_size() is not
    intended to indicate the actual buffer size. Header Payload Demod was the
    only block attempting to use this value, and was corrected.
  • Use a set to store thread group (more efficient)
  • Message Debug can now output via the logging system
  • The field prefs.singleton is no longer externally exposed (was unintentional)
  • PMT dict can be generated more easily using pmt::dict_from_mapping()

GRC

  • Save changes under all exit conditions (a couple were previously missed)
  • Prevent silent Generate/Run failures for unsaved flowgraphs

Testing

  • Add Fedora 38, using the clang compiler
  • Remove EOL Fedora 36

gr-analog

  • C++ code generation for Quadrature Demod
  • Add max_gain parameter for AGC

gr-blocks

  • Probe Rate adds a name parameter, for clearer logging
  • Selector has a new "sync" more that consumes the same number of items from all
    inputs. Default is now to consume as many items as possible from the active input,
    and no more than that many items from other inputs. The previous behavior was, well,
    broken.
  • Throttle reset item count on restart, to avoid long delays

gr-digital

  • Constellation Encoder and Decoder: constellation can be changed at runtime

gr-filter

  • Filter design tool: multiple improvements in bounds checking and exception handling
  • Filter design tool: update QMessageBox to work in Qt5

gr-network

  • Multiple memory management errors fixed in UDP Source/Sink and TCP Sink

gr-soapy

  • Better AGC and gain behavior in RTL, AirspyHF and SDRPlay blocks
  • Support bias controls in RTL and SDRPlay blocks

gr-uhd

  • Remove possibility of infinite recursion for network overruns
  • Support fmtlib v10
  • RFNoC: bindings and block yml for Vector IIR, Replay and Log Power blocks
  • RFNoC: add S16 format to RX Streamer

gr-vocoder

  • Support additional codec2 modes

Modtool

  • Don't override user-defined CMAKE_INSTALL_PREFIX

Release Candidate v3.10.7.0-rc1

08 Jul 12:33
Compare
Choose a tag to compare
Pre-release

Changelog TBD - the following commits were added since v3.10.6.0

8e82849ca gr-uhd: fix infinite recurse in the case a device is poorly connected
f031f641b soapy: fix variable naming in RTL grc
df6fbdeec soapy: fix variable naming in RTL grc
a231e7c87 gr-uhd/lib: support fmtlib 10
cfcba3ee9 soapy: fix sdrplay biasT_ctrl/agc/gain settings
ce24e1896 header_payload_demod: remove buffer size check
626ea296d runtime: do not set max buffer size as side effect of allocation
32b028bed network: Fix various bugs
c57b50ba7 runtime: thread_group use set instead of list for set of threads
077851bf2 digital/constellation_{en,dec,soft_de}oder: mark function overridden
f9e780970 constellation soft decoder: throttle bps warning
5aebf953f constellation encoder/decoder: add warnings Adds warnings when changing to constellation with different dimensionality
0934952a1 constellation encoder/decoder: Fix formatting
b155127bb constellation encoder/decoder: Add const callback
d0095552e runtime: remove unused flat flowgraph field
899204d35 CI: F38 as clang build
70dd627e1 grc: Fix unsaved changes lost if prompt dismissed w/ Esc or window-close
a4d168fbc blocks/message debug: add logging input
f80b93bef runtime/logger: Add adjustable-level log function
13d681c05 blocks/probe rate: Add name field to dictionary, GRC interface
3a6b91fb7 logging: remove configuration remnants from old logging system
d4abaaa6c soapy: add discrete rates for AirspyHF, always show gain in params
c50443281 soapy: sdrplay agc and gain fixes
e8382d41c soapy: rtlsdr bias tee and restore gain after agc
9a3bc6530 analog_quadrature_demod_cf: fix cpp-generation
4b534d43f analog_quadrature_demod_cf: add cpp code generation
71fd7aab9 Include cstdint in gr-fec's alist.h
0ef8fdea4 uhd: pybind: use module_local() for types registered by uhd
f87ee512b ci: add fedora 38
16d52482c CI: disable Fedora 36 Builder, since 36 is EOL
be3a3e0f7 uhd: rename replay stop
89d51e178 filter: Fix exception when dragging in Band Diagram plot
c5abaf6e7 filter: Fix exception when dragging plot axes in Filter Design Tool
8edd1e2c0 filter: Remove duplicate code
926cbbb2e filter: pm_remez fixes/rework
5d7af18f5 filter: fir_design needs to check band edge specifications
bd7f221fb PMT: modern interfaces for dicts and strings
e95786b63 vocoder: codec2 en/decoder GRC: correctly implement string lookup for vlen
efedc021a GRC: Make evaluation errors more expressive by at least supplying the error type
876c1db6e filter: Update QMessageBox to work in Qt5
551c4e313 max_gain parameter added to agc constructors
a31082575 qtgui: sort list of installed headers, remove duplicates
644451b70 runtime: don't expose prefs.singleton
1c5b2189a modtool: cmake: Don't override user-defined CMAKE_INSTALL_PREFIX
d10e7d516 blocks: selector: don't blindly consume same amount from all inputs
e33e70921 New test for agc3
fc8765b89 grc: prevent Generate/Run silent fails for unsaved GRC flowgraphs
e58e8cb63 modtool: fix formatting of python qa template
24498f12c blocks: Reset item count when starting throttle
8a2ca316e uhd: rfnoc: CMakelists alphabetize and add examples to install
f74866531 UHD: fix rfnoc binding hashes
e49dbbfff uhd: rfnoc: Add bindings log-power RFNoC block, expand rx streamer types
130dbcb04 uhd: rfnoc: Add GRC binding and support for replay block
02acbc8dd uhd: rfnoc: fix literal_eval error
e3f913982 uhd: rfnoc: Add GRC binding and support for Vector IIR block