All notable changes to GNU Radio will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning, starting with version 3.7.12.0.
Older Logs can be found in docs/RELEASE-NOTES-*
.
- Logging: removed all
std::cerr
andfprintf(stderr,…)
by GNU Radio logging - Logging: Changed logging format for many multiline error logs
Witness me!
Tonight, we release GNU Radio 3.8.0.0.
It's the first minor release version since more than six years, not without pride this community stands to face the brightest future SDR on general purpose hardware ever had.
Since we've not been documenting changes in the shape of a Changelog for the whole of the development that happened since GNU Radio 3.7.0, I'm afraid that these release notes will be more of a GLTL;DR (git log too long; didn't read) than a detailed account of what has changed.
What has _not** changed is the fact that GNU Radio is centered around a very simple truth:
Let the developers hack on DSP. Software interfaces are for humans, not the other way around.
And so, compared to the later 3.7 releases, nothing has fundamentally modified the way one develops signal processing systems with GNU Radio: You write blocks, and you combine blocks to be part of a larger signal processing flow graph.
With that as a success story, we of course have faced quite a bit of change in the systems we use to develop and in the people that develop GNU Radio. This has lead to several changes that weren't compatible with 3.7.
This is an excerpt only:
- Roughly 36 dBBug, (ETOOMANYBUGS)
- Fixed .so versioning
- C++11
- merged the wholeness of the
next
branch - Dependency version bumps: CMake, GCC, MSVC, Swig, Boost
- New dependencies: MPIR/GMP, Qt5, gsm, codec2
- Removed dependencies: libusb, Qt4, CppUnit
- Python: Python 2 & Python 3 compatible. 3.8 will be the last Py2k-compatible release series
- gengen was replaced by templates (if you don't know gengen, don't do any research; save yourself that sorrow)
- Modern CMake (as far as feasible at this point)
- VOLK version updated to v2.0.0
- .clang-format file now dictates coding style
- clang-format'ed the whole tree.
- installed CMake files now tell about configuration
- reworked fractional tag time handling, especially in the context of resamplers
- C++ generation as option
- YAML instead of XML
- removed
blks2
- much better canvas tooling
- consistent gobject usage
- ROUNDED ARROWS
- moving from Qt4 to Qt5
gr_modtool
now vastly improved
- improved versatility
- removed in-tree libgsm, libcodec2, use system-wide libs
- Modules
gr-comedi
,gr-fcd
andgr-wxgui
are gone
- nobody could remember who used this, or for what. It has seen 0 active code contributions in the 3.7 lifecycle
- python-based
packet_encoder
and related tools: Bugs that were sporadic and never fixed, so after long deprecation, we're removing it
- since it's currently untestable by the CI, it's being removed, as there was no code contributions. Generally, we strive to include all batteries with GNU Radio. Re-integration within a more general SDR interface would be desirable.
- removed PyQwt (dead) based tools
- Unmaintained, breaks on increasingly many systems, always was slower than Qtgui. We've been starting to tell people to migrate to Qt since at least 2015. Now, we're finally removing it.