 h1. Change Log for Release 3.7.3 and 3.7.2.2

The 3.7.2.2 release is a bug-fix only release, accumulating all the fixes that have occurred since the 3.7.2.1 release.

Release 3.7.3 contains all of the above, and new features as well that are compatible within the 3.7 API.

h2. Contributors to this release

We'd like to thank the large list of people below for their contributions to the GNU Radio Project:

* Alistair Bird <alistair.bird@gmail.com>
* Artem Pisarenko <jblackarty@gmail.com>
* Bastian Bloessl <bloessl@ccs-labs.org>
* Chuck Swiger <cswiger@swigerco.com>
* Clayton Smith <argilo@gmail.com>
* Doug Geiger <doug.geiger@bioradiation.net>
* Ethan Trewhitt <ethan@trewhitt.org>
* Florian Franzen <FlorianFranzen@gmail.com>
* Jakub Zy <jakub@openmailbox.org>
* Johannes Schmitz <schmitz@ti.rwth-aachen.de>
* Johnathan Corgan <johnathan@corganlabs.com>
* Julien Olivain <julien.olivain@lsv.ens-cachan.fr>
* Kevin Zheng <kevinz5000@gmail.com>
* Marcus Müller <marcus@hostalia.de>
* Martin Braun <martin.braun@ettus.com>
* Michael Dickens <michael.dickens@ettus.com>
* Moritz Fischer <moritz@ettus.com>
* Nathan West <nathan.west@okstate.edu>
* Nicholas Corgan <nick.corgan@ettus.com>
* Nick Foster <bistromath@gmail.com>
* Philip Balister <philip@balister.org>
* Ron Economos <w6rz@comcast.net>
* Roy Thompson <rthompso@gmail.com>
* Sebastian Koslowski <koslowski@kit.edu>
* Steve Glass <smg@hush.com>
* Steve Haynal <softerhardware@gmail.com>
* Steve Markgraf <steve@steve-m.de>
* Sylvain Munaut <246tnt@gmail.com>
* Tim O'Shea <tim.oshea753@gmail.com>
* Tom Rondeau <tom@trondeau.com>
* Volker Schroer <dl1ksv@gmx.de>



h2: @libvolk@ VOLK Library Improvements

This release cycle has seen a large amount of work done to the VOLK library, through efforts led by Nathan West and the VOLK Working Group.

Compile-time improvements were made to support Windows, better clang support, and saving compiler flags. Compiler flags and other build-time variables are preserved and can be accessed through a new utility app, @volk-config-info@ that is very similar to @gnuradio-config-info@. The QA had several fixes and improvements to fix false positives for negative floating point results and using EVM for complex results rather than checking real and imaginary parts as a single stream of floats. The QA and volk_profile now report results in ms, and adds a benchmark mode (-b) that runs all kernels even if
there is only one protokernel available.

Several kernels had unaligned protokernel copied from aligned versions, and others had bug fixes. The unused @spu_lib@ directory of protokernels was removed. This list of kernel modifications includes:

* @32fc_s32fc_x2_rotator_32fc@ (bug fixes in all protokernels)
* @32f_x2_sum_of_poly_32f@ (add AVX protokernels)
* @32fc_32f_multiply_32fc@ (add aligned avx protokernel)
* @32fc_32f_dot_prod_32fc@ (add AVX protokernels)
* @32f_invsqrt_32f@ (add AVX protokernel, tuning generic @q_rsqrt@))
* @32fc_x2_dot_prod_32fc@ (add unaligned protokernels, performance tuning)
* @8i_convert_16i@ (remove duplicate entry)

The VOLK core library saw three notable fixes. First, the machine definitions for ARM were split in to @hardfp@ and @softfp@. Second, @get_machine@ was patched for thread safety. Finally, the addition of @volk_malloc@ and @volk_free@, replacements for similar allocators such as @posix_malloc@, @fftw_malloc@, etc. This should be used whenever creating a buffer for use in VOLK.

A new regex option (-R) to @volk_profile@ allows running profiling on kernels matching the given regex. The @volk_config@ is not written when using a regex. The benchmark mode is now implicitly true.

VOLK modtool now brings in (and deletes) ORC protokernels when adding or removing kernels by name.

The following kernels have unaligned protokernels copied from aligned versions:

* @32fc_32f_dot_prod_32fc@
* @16i_32fc_dot_prod_32fc@
* @32fc_x2_dot_prod_16i@

h2. Updates and Bug Fixes (by component)

*@gnuradio-runtime:@*

* Improved unicode support in PMTs
* Improved support for message passing limits
* Fixed fast_atan2 float==0 check.
* Performance counters are now compiled in by default but not turned on
* Added ability to output flowgraph in dot format
* Added @gr.tag_utils.python_to_tag@ for improved tag generation in Python
* Added @get_tags_in_window@ helper function

*@build/cmake:@*

* Improved support for cross-compiling setups
* Improved support for OS X builds
* Improved support for ICE and conflicts between GCC and ICE versions
* Moved location of config.h in build tree
* Fixed definition of GR_CTRLPORT in config.h

*@grc:@*

* Better handling of XML and errors
* Message connections indicated by dashed lines
* Allow varying number of message ports
* Fixed typos and errors finding blocks in category tree
* Fixed init process of WXGUI graphs causing crash

*@gr-blocks:@*

* Added @gr::blocks::abs_xx@ set of blocks
* Allow @gr::blocks::null_source|sink@ to use multiple streams
* Allow @gr::blocks::sub_xx@ to take a single input to invert the sign
* Change @gr::blocks::tagged_stream_to_pdu@ to be a tagged-stream block

*@gr-fec:@*

* Added lookup table in convolution encoder for performance improvement

*@gr-filter:@*

* Replaced fftw malloc with volk_malloc to correct alignment issue
* Fixed arbitrary resampler problem when using rate-changing block upstream
* Improved support for PFB blocks (setters and getters)
* Fixed memory leaks in PFB blocks
* Fixed compiler and Coverity warnings
* Cleaned up unused adaptive filters, magic numbers in firdes
* Added @_ccf@ version of the FFT filter
* Use @fft_filter@ inside @pfb_decimator@

*@gr-audio:@*

* Added support for >1 jack port, various sizes of jack buffers
* Significant improvements to audio support under OSX

*@gr-digital:@*

* Fixed issues to make using digital mods/demods easier
* Fixed bugs with differential parameters
* Make better use of pre_diff_code
* OFDM and packet header fixes

*@gr_modtool:@*

* Make use of GnuradioConfig for OOT modules

*@gr-qtgui:@*

* Added support for QWT 5.2 - 6.1
* Added fixes for building without Python support
* Removed QT3 left-overs
* Use volk_malloc and volk dispatchers
* Fixed using QT Timer that was using too much CPU
* Added ability to set qss style sheet as a preference
* Added ability to set the graphics style rendering of the qtgui sinks

*@gr-vocoder:@*

* Fixed GSM GRC bindings and updated docs
* Fixed @codec2@ bindings and updated docs



*@Examples@*

* hfx improved for new UHD methods
* Allow click-to-tune on WX FFT plots
* uhd_rx_cfile can write metadata files

*@docs:@*

* Improved docs for analog component
* Typos and cruft removed
* New logo!
