The patch to add a NetBSD-specific accomoodation for PATH_MAX seems
not really right, as POSIX specifies limits.h. It is not necessary
for building, even if one removes upstream's workaround.
To be pointed out upstream, and we can re-remediate if necessary.
NFCI
This commit does not intend to make any functional changes.
- drop removal of LIB_SUFFIX via SUBST, as that seems overtaken by
upstream
- set db5 include prefix correctly and drop patches to work around
the old way
packaging:
- Adjust upstream program testlibusb to have rigctl_ prefix to avoid
collisions.
- Note that sunos patch should be sent upstream.
Version 4.3.1
* 2021-09-14
* Bug fix release
Version 4.3
* 2021-09-01
* libusb-1.0.23 or greater is now required or use --without-libusb
* Generating documentation now requires GNU source-highlighter.
* Added IC-575
* Less VFO swapping of newer Icom rigs -- zero swapping in WSJTX and JTDX
* Dual rotator control in rotctl -R option
* Started work on simulators -- very crude right now but usable to debug some things
* Overhaul of rig split -- reverse split (VFOA=RX VFOB=TX) should work for rigs capable of it
Starting VFO does not matter -- rig will end up on RX VFO
S VFOA 1 VFOB
S VFOB 1 VFOA
S Main 1 Sub
S Sub 1 Main
Version 4.2
* 2021-05-17
* New rig_get_mode_bandwidths -- returns token set for bandwidths for given mode
Rig command: \get_mode_bandwidths CW
Mode=CW
Normal=500Hz
Narrow=50Hz
Wide=2400Hz
* New rig_get_info -- returns token set for all vfos where order does not matter
This is a string return to allow for easy future expansion without changing the API
New tokens may be introduced and can be skipped if not used by clients
Rig command: \get_rig_info
VFO=Main Freq=145000000 Mode=None Width=0 RX=1 TX=1
VFO=VFOB Freq=145000000 Mode=FM Width=15000 RX=0 TX=0
Split=0 SatMode=0
Rig=Dummy
App=Hamlib
Version=20210429
CRC=0xf49f4708
* New rig_get_vfo_info
Rig command: \get_vfo_info VFOA
Freq: 145000000
Mode: None
Width: 0
Split: 0
SatMode: 0
* FILPATHLEN has changed to HAMLIB_FILPATHLEN
* USRP lib and gnuradio are deprecated and will be removed in 5.0
* Added Radan rotator
* Added Malachite SDR
* Major rework for PRM80
* Add twiddle_timeout and twiddle_rit --set-conf options
rigctld --set-conf=twiddle_timeout=5,twiddle_rit=1
This will set the twiddle timeout to 5 seconds and turn on twiddle_rit
For twiddle timeout VFOB will not be polled for 5 seconds after VFO twiddling
is detected
* rigctld --twiddle is deprecated and will be removed in 5.0 along with
get_twiddle and set_twiddle
* Rework Doxygen manual including default layout for Doxygen 1.9.1. So far
the amplifier, rotator, and utilities API sections have been updated. The
rig (radio) section remains to be updated.
(doc/xnec2.html)
Version 3.6-beta: I migrated Xnec2c to the latest GTK+-3.22 toolkit to bring it
up to date. A lot of changes were needed to both the GUI and parts of the
Xnec2c source code, mainly the use of GTK3's GUI Builder for creating the User
Interface and the revised drawing model of GDK for presenting the Graphics
displays. A new autogen.sh script has also been incorporated in the source
package and internationalization has been migrated to the GNU GetText system.
Because Xnec2c is very complicated and thorough testing is difficult, I am
releasing this version as a beta.
Version 3.6.1-beta: After a request by Don Walters W9DKI I modified the
xnec2c.glade file to reduce the default size of the drawing areas as they would
not fit in displays with reduced resolution. I also removed some legacy code,
left over from the migration of xnec2c to GTK3, which was producing error
messages from GTK3 during the dragging of structure or radiation pattern
displays. And I modified the Makefile.am file to get "make install" to install
program files and documentation to the right places.
Version 3.7-beta: After some feature requests by users of xnec2c, I implemented
a number of changes to xnec2c so that it can save the state of the GUI at exit
and restore it on start up. To this effect xnec2c now produces a configuration
file xnec2c.config in the user's ~/.config directory. In this file xnec2c saves
the state (position, size, active toggle buttons, projection parameters for
structure and radiation pattern displays, the state of the frequency loop etc)
of the main windows, e.g. structure, radiation pattern, frequency plots and
NEC2 editor.
I have also added keyboard accelerators for a number of buttons and menu items,
more commonly used in the main windows of xnec2c, and a new "Zo" NEC2 "card" to
specify transmission line impedance.
Version 3.7.1-beta: Fixed a reported bug that prevented wire diameter entries
less than 0.01 in the Helix (GH) card editor. This was due to specifying a
minimum value of 0.01 in the xnec2c.glade file.
Version 3.8-beta: I edited some of the code so that when a NEC2 file is saved,
the Center x and y offsets (the change of position) of the structure and
radiation pattern are not changed. I also arranged for the offset values to be
saved in ~/.config/xnec2c.config when closing xnec2c, and to be read back and
restored when starting.
Version 3.9-beta: I have arranged for some user actions to be "nested", mainly
regarding the saving of NEC2 editor data followed by the opening of another
file or starting a new project. Some such functionality already existed in
previous versions but it is now more comprehensive.
Another useful change is fixing a bug in the original NEC2 code for producing a
helix (as specified by the GH "card"). This bug resulted a division by zero if
the helix length was specified as zero, possibly intended to produce a spiral.
The GH card can now be used to produce both a helix or a spiral with no
floating point exceptions.
Version 3.9: Since I have not received any bug reports for some time after
releasing version 3.9-b, and having fixed a bug that resulted in a
gtk_widget_destroy() command to be passed on an invalid widget pointer, I am
releasing xnec2c as version 3.9.
Version 4.0: I have changed the code that saves the state of the
View-Polarization menu items, as it would only correctly save the state of
these items in the Main (structure) window. I also changed the code that
handles the removal of "card" entries in the NEC2 editor, as it was causing
crashes of xnec2c under some user action combinations.
Version 4.0: I corrected some mistakes in the GUI interface code, which handles
the creation of windows and dialogs from the glade UI description file. These
mistakes were such that they did not effect the operation of xnec2c but in any
case I fixed them for the sake of correct programming. Also changed the wire
designer dialog to include the Tapered Wire selection check-button in the
dialog's frame and the relevant code to deal with this better.
Version 4.1: I corrected some mistakes in the GUI interface code, which handles
the creation of windows and dialogs from the glade UI description file. These
mistakes were such that they did not effect the operation of xnec2c but in any
case I fixed them for the sake of correct programming. Also changed the wire
designer dialog to include the Tapered Wire selection check-button in the
dialog's frame and the relevant code to deal with this better.
Version 4.1.1: I made a small change to the Radiation Pattern code to allow the
drawing of both horizontal an vertical "cuts" in the radiation pattern, in the
zx and zy vertical planes and the xy horizontal plane. Also changed the
accelerator keys for the Add, Remove, Clear, Save As, Save and Revert buttons
to be Modified by the Control button as the original accelerator keys were
being activated when writing in the Comments Treeview.
Version 4.1.2: Changed the installation commands in Makefile.am so that all the
relevant files (desktop file, application pixmap, configuration file,
executable binary etc) are installed under any location specified to the
configure script by the --prefix= option. Also modified the program so that on
first start up after installation, the application will create its working
directory by copying files from the relevant directories under the installation
prefix.
Version 4.1.3: Arranged the pipe reading function for the parent process to
re-read from the child processes if not all data is transferred at the first
read(). In this case xnec2c was crushing with "Resource temporarily
unavailable" error message.
Version 4.1.4: Added the stdint.h include file to common.h to fix a compilation
error reported by Nick G3VNC.
Version 4.1.5: After an inquiry by Eric Wheeler KJ7LNW regarding the use of the
GH card to create spirals, I found a bug that caused the GH editor to delete
the GH entry in NEC2 Editor's treeview. I also found a bug that caused the
number of turns of a spiral to be rounded to the nearest integer. Both bugs
have been fixed in this version.
Changed
SoapySDR support (gr-soapy)
GRC
Parameter expressions and/or values can be displayed in blocks on the flowgraph. Previously, only values were displayed. Look for the "Show Parameter ..." toggles under the View menu.
Deprecated blocks are shown in a distinct color (orange), and the optional deprecated property has been added to block yaml
Dark theme works better, especially for parameter fields
Vector length is now correctly applied to all input ports
Validation has been improved. Raw types are validated. Port connections are checked by type rather than by item size.
Variable names that cause name conflicts in Python code (e.g., with package names) are rejected
Bus logic fixes
Blocks can no longer be dragged off the screen and lost forever
gnuradio-runtime
Remove pmt::pmt_* functions, which were not actually implemented. This is technically an API change, but any use of the API would have resulted in a link error.
Remove Python bindings for internal buffer functions
gr-analog
Added an example for PLL Frequency Detector
Better names for parameters in PLL GRC blocks
gr-blocks
Consistent naming for Vector Length parameter in GRC blocks
count_bits uses VOLK popcnt for better performance (used for example in the Correlate Access Code block)
Rotator block phase increment parameter is controllable via a message, and a tag can be added at the point where the increment is adjusted
gr-digital
MPSK example updated to use a Linear Equalizer (replacing deprecated block)
gr-filter
Filter Delay documentation improvement
Interpolating FIR filter can generate C++ code
gr-dtv
VL-SNR bugs fixed (incorrect constants).
gr-qtgui
Improve autoscaling for vector sinks
Fix floating-point resolution problems in several widgets, due to interpretation of PMT doubles as floats
gr-uhd
Add policy enum to Python bindings for tune_request
Additional time spec options on UHD blocks (PC Clock on Next PPS, GPS Time on Next PPS)
Fix up code that was generating warnings
Fix command handler logic to apply commands from messages to the correct channel
gr_filter_design
"File/Save" is disabled until the taps have been computed, and the GUI is reset after a save, to make it clearer which data is being saved.
Entries are hidden for parameters that do not apply to the selected filter type.
Save window type as an integer instead of a Python enum name
gr_modtool
Improve validation of module and block names
Build System and Infrastructure
Improved messages related to dependencies MPIR and GMP. Only one of these packages is required, and the previous error messages were confusing.
Cleaner builds for Windows and Conda. A number of general cmake improvements have resulted from this work.
In-tree packaging files for DEB and RPM, used with Launchpad and COPR
Added man pages for GNU Radio tools
Test code generation for all in-tree GRC examples
In GrPybind.cmake, PYBIND11_INCLUDE_DIR (incorrect) was changed to
pybind11_INCLUDE_DIR
This yields one common package to provide libfftw3 (double) and libfftw3f
(single) by default and optionally the Fortran bindings as well as
OpenMP and MPI variants, and those with long double or quad precision.
This changes all packages depending on fftwf in the same commit to minimize
the time of inconsistency. Soon, math/fftwf will disappear.
Changed
C++14
C11
VOLK now “regular” dependency, not in-tree submodule
numpy now also a CMake-checked hard dependency for Python support
Exception Handling: throw by value, catch by reference (clang-tidy check)
C++11: Emplace in vectors where you can; brings performance boni, but not included in clang-tidy-checks
An exception-throwing block will now terminate the flow graph process, configurable through top_block
gr-utils cleanup, folder restructuring
config version checks installed CMake file will accept “at least this version” now
PyBind11 replaces SWIG
Full tree conversion from SWIG to Pybind11 bindings
Doxygen now uses MathJax, full LaTeX installation no longer required
GRC
start flowgraph in folder where it resides
gnuradio-runtime
When calculating offsets in non-integer rate FEC, lround
default seed for gr::random now actually as documented time-dependent
loggers moved from gr::block to gr::basic_block
PMT serialization
PMT dicts no longer indistinguishable from pairs
PMT symbol hashing no longer suffers under oddball own implementations
gr-audio
Increased ALSA buffer nperiods
gr-blocks
add, add_const VOLK’ized, templated
this seems to break things in other places, even if it proves to be mathematically identical
wavfile infrastructure: libsndfile now dependency
gr-digital
transcendental block: default to 32 bit float complex, not double
Linear equalizer: separate adaptive algorithm, allows for using e.g. trained sequences instead of the classical LMS, CMA
DFE: better structure for decision history
gr-dtv
LDPC encoder: template functions instead of #defined macros
LDPC encoder: smaller tables through uint16_t for index tables
gr-fec
API uint8_t, not char
gr-fft
FFT blocks/functions templatized
gr-filter
logging format
rational_resampler_base -> rational_resampler
gr-uhd
Required UHD version bumped to 3.9.7
logging format
Deprecated
gr-analog
sig_source: freq port will be removed in the future
gr-audio
audio-sink, -source: Windows audio sink/source deprecated, the portaudio
sink/source works even better under windows anyway
gr-digital
In favor of symbol_sync, deprecate:
clock_recovery_mm
msk_timing_recovery
pfb_clock_sync
Added
C++ Generation all over the place
PyBind bindings + generator
gnuradio-runtime
block_gateway: set_max_output_buffer
GR_PREFS_PATH environment variable sensitivity to configure the path to the
config file
gnuradio-config-info --print-all
GRC
option to toggle ID visibilities globally
Validation check for QT GUI hints
Python snippets
block header parsing tool
block header parsing tool (GSoC 2019)
gr_modtool
option to convert blacklisted files
gr-analog
sig_source: cmd port adds support for dicts, setting of frequency, amplitude,
offset and phase parameters
gr-blocks
selector now has control message ports
Rotator-based freq shift convenience wrapper
Message-to-Variable and vice versa blocks
DC Spike removal
IQ Swap
Complex to interleaved char / short: scaling option
Delay block: control message port
Phase Shift block with message port
wavfile_sink, _source can now deal with a lot of audio formats: uncompressed
WAV/AIFF, µ- and A-law compressed audio, OGG/Vorbis, FLAC, even octave files
Stream Demux, which demuxes streams according to lengths vector
rotator: phase() getter
gr-digital
OFDM: multiple CP lengths
ofdm_equalizer_simpledfe: enable_soft_output
Constellation Encoder
Constellation: normalization options
gr-fec
{en,de}code_rs_8, {en,de}code_rs_ccsds: Reed-Solomon en- and decoders
gr-fft
Windows:
Gaussian
Flat Top
Tukey
Window build() call now with default beta
gr-filter
GRC: File taps loader block
Low pass FFT filter convenience wrapper
ichar / ishort decimator
phase continuity for freq_xlating_fir_filter
gr-network
gr-network: a whole new networking blocks module!
TCP
UDP
Much better lockup/multithreading support than 3.7-era blks2
gr-qtgui
Azimuth/Elevation plot
Autocorrelation plot
Compass visualization
Dial control
Gauge: dial, level
Distance plot
LED-like indicator
Message-passing check box
Message-passing numeric control
Message-passing push button
Toggle Button
Eye sink
Vertical slider
gr-uhd
Filter API
UHD 4.0 support
Power Reference API
Bidirectional setting messages on both sink, source
gr-vocoder
Codec2 dev branch support
FreeDV: In/output rates can differ
FreeDV: text message output
gr-zeromq
C++ GRC templates
Tag filtering for tag-forwarding blocks
Removed
VOLK is no longer a submodule
Sphinx: consolidate into doxygen, or wiki-maintained block list.
Python 2
SWIG
gru python module
gnuradio-runtime
circular_file.cc
math/common_factor.hpp
gr-blocks
bin_statistics_f
log2_const
gr-digital
PFB clock sync: set_taps
deprecated old OFDM infrastructur
ofdm_frame_acquisition
ofdm_frame_sink
ofdm_insert_preamble
ofdm_sync_fixed
ofdm_sync_pn
ofdm_sync_pnac
ofdm_sync_ml
ofdm_receiver
digital_voice
gr-fft
malloc_float, _double: rely on VOLK
Goertzel: dtor superfluous
gr-filter
deprecated window function duplicates (use them from gr-fft!)
Fixed
CMake: Qwt, Log4Cpp detection
ctrlport strings unicodified
Freedesktop install script was not executed
Redundant icons installed
Path substitution on Windows was backslash-broken
YAML definitions: more than I can count
Cross-building: py interpreter at runtime != build time
gnuradio-runtime
ctrlport: unholy stored reference to stack-allocated object removed
Sine table generation for fixed point math
gr_unittest: floatAlmostEqual had a lot of false passes due abuse of all()
get_tags_in_range for delay < (end-start)
Premature tag pruning
release flattened flowgraph after stopping, fixes restartability/shutdown
problem
PMT serialization portability
latency issue caused by setting block alias on msg block
Windows logging errors
ctrlport: Thrift >= 0.13 broke
GRC
Tab widget ID visibilities
A lot of YAML templates
Default setting in qtgui chooser restored
Boolean parameters no longer switch buttons
Nested namespace handling
Don’t rely on set ordering in tests
configparser import
input box color theme on dark themes
Search box typing doesn’t inadvertedly interact with the rest of GRC anymore
gr_modtool
Empty argument lists allowed
Boost UTF replaced CppUnit, this needed to be done here, too
gr-analog
wfm left/right, filters
gr-audio
portaudio: lock acquisition was improper
gr-blocks
Throttle now uses monotonic clock
Tag debug only saved last work call’s tags
File sink flushes on stop
gr_read_file_metadata.py used to lose rx_time precision
File source big file handling under Windows
file_*: fseek errors used to be ignored
gr-digital
map_bb: thread safety, buffer overflows
additive_scrambler: reset was broken
Constellation scalefactor wasn’t always initialized
long-standing qa_header_payload_demux bug addressed by waiting for both RX and
TX, not only either
false triggers in correlate_access_code
gr-dtv
rate mismatch in ATSC flowgraphs
gr-fec
async_decoder Heap corruption
cc_encoder: constraint length K > 8 led to wrong output
gr-fft
thread safety of copy assignment/ctor
log power FFT Python
gr-filter
variable_band_pass_filter GRC complex taps input
RRC filter gain for alpha = 1
gr-qtgui
Remove copies of image data in returns by using move semantics
Remove bogus overriding in drawing functions of plot_raster, _waterfall
Edit MSG box: don’t require key to be set
Don’t check for Python2 libs
Number Sink ignored averaging setting
gr-uhd
UHD apps: Py3 fixes
USRP blocks: multichannel objects not properly populating channels
gr-video-sdl
YUV formats fixed
gr-zeromq
Don’t depend on deprecated ZMQ functionality
Unhandled exceptions now handled, much calmer
Avoid infinite blocking in tb.stop() by using ZMQ_LINGER
This release requires updating your HackRF to the latest firmware.
CPLD bitstreams are now included in and loaded automatically by the firmware.
There is no longer a need to update the CPLD separately.
The clock output (CLKOUT) is now turned off by default.
A new utility, hackrf_clock, provides a way to inspect and modify configuration
of hardware clocks, including turning on and off CLKOUT.
The rad1o badge is now supported by firmware in this release. Firmware from the
HackRF release/repository is different than the original CCCamp firmware and
only supports operation as a USB SDR peripheral.
When using a HackRF One with a PortaPack in "HackRF Mode" (operating as a USB
peripheral), the PortaPack display now indicates operational status and settings.
There have been many more enhancements and bug fixes.
For a full list of changes, see the git log.
- Changes for xlog version 2.0.22 - 2021-feb-27
* Fixed empty ADIF file when Distance and Azimuth fields are in use
* Distance must be "km" in ADIF output - fixed
- Changes for xlog version 2.0.21 - 2021-feb-18
* Modified get_smeter and get_powerlevel to use default values
(S9 and UNKNOWN) if hamlib cannot get values from the radio
(e.g. quisk).
* Be sure to use at least hamlib4.1 to avoid a crash that occurs
when using the "Select a Radio" GUI more than once.
* Modified configure.ac to check if compiler can support -W parameters
* Updated cty.dat 20210218 (cty-3104)
Version 4.1
2021-01-31
* rigctld and rigs should be more robust for disconnect problems
* Several fixes for Icom and Yaesu rigs
* Nobody should need to use rig->caps or rig->state anymore
If you need a variable added please contact us.
Note that rig->state abstraction is not implemented yet...no need known
* New rig_get_caps_int and rig_get_caps_cptr functions to replace using caps-> values
* New rig_get_function to replace using caps-> function pointers
* Fix shared library problem with WSJTX, JTDX, and JS8Call
* New model Barrett 950
Version 4.0
2020-11-29
* API/ABI changes, advance ABI to 4 0 0.
* Add GPIO and GPION options for DCD. Jeroen Vreeken
* New backend: ELAD FDM DUO. Giovanni, HB9EIK.
* New RIG_LEVEL_RFPOWER_METER_WATTS level
* All channel functions now take a vfo argument
* New rotator backend: iOptron. Bob, KD8CGH
* New model: Icom IC-R8600. Ekki, DF4OR
* New utility: rigctlcom. Mike, W9MDB
* New model: FT847UNI for unidirectional early serial numbers. Mike, W9MDB
* Remove GNU Texinfo files and build system dependency.
* Rig model numbers have changed to allow future growth
* Fix a lot of static code analysis errors and warnings. Mike, W9MDB
* Rearrange directory structure to put rigs and rotators sources
under their own subdirectories. Mike, W9MDB
* rig_get_channel changed to add read_only flag.
* rigctl(d) f command also returns VFO now.
* caching of vfo, frequency, mode, and ptt speeds up rigctld for all.
* caching of kenwood/yaesu "IF" speeds up polling from WSJTX/JTDX.
* rig_get_channel now has read_only flag but it still needs to be
implemented based on rig behavior, so if you use rig_get_channel you
may get a RIG_ENIMPL error to contact us for fixing it.
* New rig backend for Elecraft K4.
* New rig backend for PowerSDR (Flex and Apache users).
* Many fixes and enhancements. Mike, W9MDB and many contributors
* PTT port is no longer shared by default, use --set-conf=ptt_share=1 to enable
Mostly, this is adapting the warning flags removed from the build and
those added to clang vs gcc.
Hoist removal of -Wno-stringop-truncation to always happen, because it
was separately on for clang and gcc, and it seems likely it would be
unknown on some other compiler.
pkgsrc changes:
- drop workaround for upstream bug fixed in this release
- rename patchfile per pkglint
- Changes for xlog version 2.0.20 - 2021-jan-30
* Updated cty.dat 20210127 (cty-3102)
* Added FST4 support and 5m/8m bands for ADIF 3.1.1
* Added /dev/ttyUSB0 and /dev/ttyUSB1 to the hamlib device menu
* Logeditor can hide TX(RST) and RX (RST) (useful for VHF contests)
* ADIF exports Distance and Azimuth correctly if enabled in Logeditor
* Imports ADIF from wsjt-x on UDP port 2333
* Fixed use-after-free error discovered by Chris K2CR and valgrind
* Fixed hash-table != null assert in dxcc.c
* Fixed GLib-GObject-WARNING in log.c
* Compiles cleanly with hamlib4 on ubuntu 18.04 and 20.04
This will ease transition to newer Python versions, and also removes
the apparently unnecessary restriction on 3.6. According to the upstream
build system, 3.6 is the minimum version required.
Upstream doesn't build support for these devices by default anymore:
> The actual osmosdr had only a very limited production run many years
> ago and is therefore of little interest to most gr-osmosdr users.
> Mirisdr was experimental at best, because the dongles were never
> widely avaialble outside of Japan and had multiple unconnected antenna
> ports.
Here is a very high level list of changes:
## Changed
### Project Scope
- 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
### gnuradio-runtime
- reworked fractional tag time handling, especially in the context of resamplers
### GRC
- C++ generation as option
- YAML instead of XML
- removed `blks2`
- much better canvas tooling
- consistent gobject usage
- ROUNDED ARROWS
### gr-qtgui
- moving from Qt4 to Qt5
### gr-utils
- `gr_modtool` now vastly improved
### gr-vocoder
- improved versatility
- removed in-tree libgsm, libcodec2, use system-wide libs
## Removed
### Project Scope
- Modules `gr-comedi`, `gr-fcd` and `gr-wxgui` are gone
### gr-comedi
- nobody could remember who used this, or for what. It has seen 0 active code
contributions in the 3.7 lifecycle
### gr-digital
- python-based `packet_encoder` and related tools: Bugs that were sporadic and
never fixed, so after long deprecation, we're removing it
### gr-fcd
- 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.
### gr-utils
- removed PyQwt (dead) based tools
### gr-wxgui
- 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.