Changelog for Release 3.7.8

GNU Radio releases 3.7.8 and 3.7.7.2 are available for download:

http://gnuradio.org/releases/gnuradio/gnuradio-3.7.7.2.tar.gz
http://gnuradio.org/releases/gnuradio/gnuradio-3.7.8.tar.gz

GNU Radio Live DVD 3.7.8

SHA256 sums:

022408ec791852b0e1d804f67ea89f36e6209b275eafbca9b8dc09727e129e39  gnuradio-3.7.7.2.tar.gz
fe19cb54b5d77fb76dde61d5cf184c6dee7066779b45c51676bae6e6d0cd4172  gnuradio-3.7.8.tar.gz

Release 3.7.7.2 is a bug-fix only increment, while release 3.7.8 adds both bug fixes and new features within the 3.7 API compatibility series.
Contributors

We'd like to thank the below contributors for their efforts:

    Achilleas Anastasopoulos <anastas@umich.edu>
    beitler <beitler@users.noreply.github.com>
    Bogdan Diaconescu <b_diaconescu@yahoo.com>
    Chris Kuethe <chris.kuethe+github@gmail.com>
    Doug Geiger <doug.geiger@bioradiation.net>
    Felix Wunsch <felix.wunsch@kit.edu>
    Jeremy Drake <github@jdrake.com>
    Johannes Demel <ufcsy@student.kit.edu>
    Johnathan Corgan <johnathan@corganlabs.com>
    lazydodo <github@lazydodo.com>
    Marcus MÃ¼ller <Marcus.Mueller@ettus.com>
    Martin Braun <martin.braun@ettus.com>
    Michael Dickens <michael.dickens@ettus.com>
    m-ri@users.noreply.github.com <m-ri@users.noreply.github.com>
    Nate Goergen <nate.goergen.gitlab1@mile10.com>
    Nathan West <nathan.west@nrl.navy.mil>
    Nicholas McCarthy <namccart@gmail.com>
    Nick Foster <bistromath@gmail.com>
    Paul Garver <garverp@gatech.edu>
    Philip Balister <philip@balister.org>
    Ravi Sharan <ravisharan@iith.ac.in>
    Richard C. Bell <richard.bell1@navy.mil>
    Ron Economos <w6rz@comcast.net>
    Sean Nowlan <sean.nowlan@gtri.gatech.edu>
    Sebastian Koslowski <koslowski@kit.edu>
    Seth Hitefield <sdhitefield@gmail.com>
    Tim K <tpkuester@gmail.com>
    Tim O'Shea <tim.oshea753@gmail.com>
    Tom Rondeau <tom@trondeau.com>

Changes by Component
Analog

    Power Squelch now emit tags on start/end of bursts
    fixes calculation of complex noise sources from the amplitude setting.
    frequency_modulator: float internally, double in API
    frequency_modulator_fc: float modulo using cmath

Blocks

    Address Issue #816.
    Moved setting of d_finished from ctor to start() in message_strobe
    added tag tests to vector source QA code
    better implementation of peak_detector2. Address #783.
    improved documentation for peak_detector2.
    more fixups to peak_detector2.
    vector_source: fixed tag srcid propagation when not using repeat mode

CMake

    swig: more generic way to replace std::vector<size_t> by its correct-sized std::vector<TYPE>, but only with SWIG < 3.0; this issue seems to have been fixed with SWIG >= 3.0.
    Re-add qa_gr_flowgraph/qa_set_msg_handler to test suite
    add GR_MODULE(zeromq...)
    fix case for ctrlport when no backends installed
    force QA tests to turn ControlPort off by default.
    proposed fix for issue #791.
    set correct vars when pkg-config finds GSL

ControlPort

    Addes a FindThrift cmake module to find the Thrift headers, libraries, and Python files.
    Adding support for building Java clients.
    Adds ability to configure Thrift through a config file
    Initial thrift definition for gnuradio
    QA needs to get host and port out of the endpoint.
    Thrift's binary type
    adding abstraction layer for the controlport backends; support thrift currently.
    adding performance and controlport monitor GRC blocks.
    android: cleaning up; better logs; help to support android.
    avoid copy of outknobs (a temporary).
    better controlport probe mutex handling.
    build: allowing ControlPort and probes in static builds.
    changing the default port number on the Thrift interface to zero.
    cleaner, more robust interface for buffer gets.
    cleaning up and using logger to display endpoint.
    cleaning up; trying to handle shutdown better.
    cleanup and switching over to new Python common interface.
    cleanup and thread safety.
    cmake fixes to FindThrift for when thrift is not installed.
    convert rpcpmtconverter::to_pmt() if statement to a function object map
    convert to To_PMT registration objects
    documentation
    ensure proper ctrlport shutdown.
    ephemeral / unused port number selection by OS working.
    fix gr-perf-monitorx crash when manipulating display
    fix warning message macro
    fixed controlport probes.
    fixed up performance monitor.
    fixing complaints about no non-virtual dtor.
    fixing up some issues; generate thrift sources into thrift subdir.
    improving transport layer throughput.
    info on a (possible) Thrift bug.
    made the controlport CMakeLists use thrift includedirs
    make sure to use to configured d_logger in thrift code.
    more cleaning up.
    more cleanup and conveniences
    more cleanup of python code to help generalize the interface
    more documentation and linking info.
    more work on the translation layer; properties and setting parameters in gr-ctrlport-monitor now working.
    moving the generation of the Thrift endpoint string to the application_started() function.
    moving the logger call that publishes Thrift's endpoint to i_impl().
    quick fix
    renamed some functions for clairity
    reorg abstraction layers for RPC connections.
    replacement of nanosleep() with boost::sleep() in startup thread. Fix of merge error in booter_thrift.
    restructuring to add subdirs for different cp backends.
    simple style editing.
    switching rpcpmtconverter::to_pmt() to To_PMT singleton
    this fixes a complaint by newer versions of Boost.
    thrift: "py" instead of "python" -- guessing a version thing
    use proper default return value from prefs get_bool.
    using threaded server for multiple connections.
    working controlport server using thrift.
    working gr-perf-monitorx application

Digital

    (issue #784) fixes bug in constellation_rect GRC definition.
    Fix minor grc issues in gr-digital: trigger sink of header_payload_demux should be optional; message source of packet_headerparser_b_default is named "header_data", not "out"
    Fixed berawgn example to follow recent noise power change
    Fixes for CIDs 1043259-60, 1043267-68
    Removed a potential buffer overflow in correlate_and_sync_cc_impl.cc
    Replacing center of mass interpolation for the time_est tag with parabolic interpolation. It should be more accurate although still is a biased estimate of the time delay
    Squashed commit containing the MSK timing recovery block.
    Updated HPD documentation
    added GRC example for burst shaper blocks
    added an option to the crc32_bb block that adds the unpacked CRC to the bit stream
    added missing parameter to additive scrambler GRC block; cleaned up whitespace
    added tag propagation to burst_shaper blocks
    adds callbacks to corr_est_cc block.
    adds corr_est_cc correlation estimator block
    burst_shaper block passes meaningful QA tests
    fix skipped sample handling in burst_shaper
    header_payload_demux: Fix an error in which the wrong header is allowed through
    install burst shaper block example GRC
    whitespace fixes
    wip: burst shaper compiles and installs
    wip: more progress

Docs

    Added section on message commands
    Fixed garbled Doxygen formatting of channel map
    Fixing some missing parameters and other Doxygen errors/warnings.
    Provide correct URLs in the doxygen build guide
    added Doxygen for flowgraph
    adding in info on ControlPort and Thrift.
    cleaning up some doxygen warnings and formatting.
    completing the half sentence about when to use C++
    doxyfile maintenance.

FEC

    Adding doxygen comments to new dummy encoder params.
    Address issues #757.
    TPC encoder whitespace cleanup
    added tests for extended_encoder input/output conversion.
    adding missing include.
    code clean-up for block 'ber_bf'.
    extended encoder now appends unpack_k_bits(8) block after encoder to satisfy get_output_conversion() = unpack behaviour
    fix ber_test.grc flowgraph
    fix segfault due to debug file pointer handling
    fixed QA for ber_bf.
    fixing up some of the examples.
    init debug file pointer in TPC encoder
    some initial refactoring for ber_bf

Filter

    add variable_band_pass_filter_taps
    add variable_high_pass_filter_taps
    add variable_low_pass_filter_taps
    added filter_taps.grc example
    added variable_band_reject_filter_taps and variable_rrc_filter_taps

DTV

    Add DVB-T transmitter updated files.
    Add DVB-T transmitter.
    Clean up minor Coverity Scan issues.
    Fix segfault in 64QAM non-rotated constellation mode.

GNU Radio Companion

    Add check for GTK initialization
    Added ability to bypass blocks (Suggested by Chris Headley).
    Exit if gtk import fails.
    add <flags> to blocks dtd (<throttle> still supported)
    add QT GUI hier blocks (#727)
    add StartupWMClass to .desktop file
    add default value to ToggleActions
    add struct variable block
    add support for dynamic param names
    add user settings for canvas default size and canvas font size (+ clean-ups)
    align default flowgraph block with canvas grid
    better Popen argument handling for CLI based apps
    change url in about dialog to gnuradio.org
    change url in about dialog to gnuradio.org
    changing type colors.
    clean-up Block port counters
    clean-up ParseXML
    clean-up gui/Utils.py
    ensure only valid utf-8 is passed to markup_escape_text (fixes #813)
    fix bus ports spacing in gui
    fix context menu in props dialog text displays
    fix exception when hitting Enter on a category row in the block library
    fix file load error when connections are not unique (#794)
    fix for block bypass where the next block is a virtual sink and moved bypass code in generator
    fix generate mode error message (#800)
    keep block/connection/param order when saving flow-graphs
    no block alias for variables
    only show code preview tab after user enables it
    refactor Preferences.py
    remove bypassed blocks from generated code
    replace non-printable characters instead of ignoring them
    save grc files utf-8 encoded (#792)
    show preview of generated code in each blocks properties dialog
    stop using gtk forall() (#793)
    update copyright year in about dialog
    update copyright year in about dialog
    use gnuradio icon for grc

QTGUI

    Fixes problem with half spectrum when set to 2048.
    adds Type setting for Range widget.
    adds ability to set the tag text and background colors.
    connected control panel and context menu stop button/actions.
    fixed examples using qss theme.
    fixed issue #801 with controlpanel in the frequency display.
    improved type checking for range block and simplifies python.
    pdu handler for float waterfall plot.
    protect PDU handling waterfall port for wrong data type.
    updates to waterfall for suchsamples
    waterfall PDU handling
    waterfall plots

Runtime

    Fixed non-virtual dtor pseudoissue in [flat_]flowgraph
    add flag to wrapped top_block to control SIGINT handling in wait()
    added THRIFT_INCLUDE_DIRS to find thrift in non-standard installs.
    added default xtor & dtor to tag_t; srcid default is now PMT_F
    conditionalize THRIFT_INCLUDE_DIRS
    fix default forecast implementation for python blocks
    fixed default srcid value for PythonTag class
    fixes a problem with tag pruning.
    more generic version of prefs class.
    remove thread-unsafe static qualifier
    stop catching errors from primitive_connect in connect decorator

UHD

    Bugfix for multi-chan tune request
    Expose GPIO functions through SWIG
    Fix for CID 1090026 thru -33
    Fixes for CID 1296559 and 1090067 and more
    Refactored usrp_{sink,source} blocks
    Updated USRP block documentation
    Updated command interface to match new message command format
    Updated frequency hopping example to do DSP tuning only
    Updated uhd_fft example + app (moved to QT)
    changing uhd_msg_tune example to use other forms of setting parameters.
    give source a headstart
    usrp_spectrum_sense: Print scan rate

Misc

    apps: removed title and legend from uhd_fft for more viewing space.
    base: Added argparse equivalent for eng_option
    build: remove and/or/xor keywords.
    channels: Typos: Sinusiods in channel model docs
    examples: removed extra titles or legends from QTGUI blocks in examples.
    modtool: Fix bug where gr_modtool rm messes up the C++ QA section
    modtool: Fixed correct pointer arg type stripping
    noaa: Removed reference to decimation rates in README
    pmt: use memcpy in uniform vector initializer for speed increase
    volk: Volk dependency in gr-analog pkgconfig
