Releases: gnuradio/gnuradio
Releases · gnuradio/gnuradio
Release v3.10.11.0
[3.10.11.0] - 2024-07-24
Changed
Project
- Const (keyword) cleanup in a large number of files. QtGUI code uses const in many more places.
Runtime
- Add
persistent()
function to gr paths module. This function returns either the value of theXDG_CACHE_HOME
environment variable, orappdata()/.local/state
.
GRC
- Work continues on the Qt version of GRC (
gnuradio-companion --qt
). While the Gtk version is still the default, we're getting close to the point where the Qt version can be the default. - Generated Python code now includes a startup event (
flowgraph_started
) to the top level class. This was added specifically to avoid a race in the Variable Function Probe block, and may be useful elsewhere. - Struct variables have not been usable since around v3.8. Fixed!
- Paths are now based on gr paths, where they were previous hardcoded to the user's home directory.
- C++ hier block code paths fixed (so hier blocks work again).
- Block connection line shape and width are now preferences.
gr-blocks
- New Burst To Stream block transforms a bursty tagged stream into a continuous stream by inserting zeros in the output between input packets whenever no packets are available at the input.
gr-digital
- FLL Band Edge power calculations fixed, along with thread safety issues.
gr-fec
- Unused RS code removed - unlikely anyone will notice.
gr-filter
- Numpy
float_
changed tofloat64
for Numpy 2.0 compatibility.
gr-fft
- Vector version of FFT
fft_v
library function (calls fftw) thread safety improved.
gr-uhd
- Do not require PyQt5 for non-graphical configurations.
modtool
- Many bug fixes and cleanups, resulting in more reliable operation. That sounds really good, right?
- Remove dependency on the "click plugins" package.
- Appending new blocks to CMake files respects closing parens.
Build system and packaging
- CMake minimum versions were out of sync in different places - fixed.
- Incorrect Qwt maximum version removed.
- Conda re-rendered.
Testing
- Add Ubuntu 24.04 LTS to CI
- Remove Fedora 38 from CI
- Conda: build with VS2022 for Windows
Release Candidate v3.10.11.0-rc1
[3.10.11.0] - 2024-07-10
Changed
Project
- Const (keyword) cleanup in a large number of files. QtGUI code uses const in many more places.
Runtime
- Add
persistent()
function to gr paths module. This function returns either the value of theXDG_CACHE_HOME
environment variable, orappdata()/.local/state
.
GRC
- Work continues on the Qt version of GRC (
gnuradio-companion --qt
). While the Gtk version is still the default, we're getting close to the point where the Qt version can be the default. - Generated Python code now includes a startup event (
flowgraph_started
) to the top level class. This was added specifically to avoid a race in the Variable Function Probe block, and may be useful elsewhere. - Struct variables have not been usable since around v3.8. Fixed!
- Paths are now based on gr paths, where they were previous hardcoded to the user's home directory.
- C++ hier block code paths fixed (so hier blocks work again).
- Block connection line shape and width are now preferences.
gr-blocks
- New Burst To Stream block transforms a bursty tagged stream into a continuous stream by inserting zeros in the output between input packets whenever no packets are available at the input.
gr-digital
- FLL Band Edge power calculations fixed, along with thread safety issues.
gr-fec
- Unused RS code removed - unlikely anyone will notice.
gr-filter
- Numpy
float_
changed tofloat64
for Numpy 2.0 compatibility.
gr-fft
- Vector version of FFT
fft_v
library function (calls fftw) thread safety improved.
gr-uhd
- Do not require PyQt5 for non-graphical configurations.
modtool
- Many bug fixes and cleanups, resulting in more reliable operation. That sounds really good, right?
- Remove dependency on the "click plugins" package.
- Appending new blocks to CMake files respects closing parens.
Build system and packaging
- CMake minimum versions were out of sync in different places - fixed.
- Incorrect Qwt maximum version removed.
- Conda re-rendered.
Testing
- Add Ubuntu 24.04 LTS to CI
- Remove Fedora 38 from CI
- Conda: build with VS2022 for Windows
Release v3.10.10.0
[3.10.10.0] - 2024-04-22
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
- Add callback to set header format in Digital Protocol Formatter
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 Candidate v3.10.10.0-rc1
[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
[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
[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
[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
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
[3.10.8.0] - 2023-10-20
Changed
Runtime
- Add
MAP_FIXED
to circular buffer implementations usingshm_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 replacesmakev()
, and optionally specifies
buffer types. Previous variants are still valid, for backward compatibility. The
single-streammake()
, along with themakev()
,make2()
andmake3()
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 refactorextract_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. Thesigma
parameter was removed
from the decoder and an optional noise powernpwr
parameter was added to the
constellation.
gr-network
- Better support for vectorized output from UDP source. The payload size must still
be a multiple ofitem size * vector size
for this to work.
gr-qtgui
- Range widget
eng_slider
andeng
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 onreturnPressed
. 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 withcontext_t.shutdown()
defined.
Ifshutdown
is not defined, thegr-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
Since v3.10.8.0-rc1
- Require
zmq.hpp
(cppzmq) version withcontext_t.shutdown()
defined. Ifshutdown
is not defined, thegr-zeromq
is disabled.