ProposedChangesV3 8

= High Level Release Goals =


 * Code maintenance
 * Update library dependencies to modern, stable versions
 * Deprecate old and redundant modules
 * Move projects to OOT modules
 * Improve and mainstream QT Gui
 * Improve message passing API

Namespace hygiene ideas

 * hier_block2: rename to hier_block
 * eradicate the remaining non-basic type classes that exhibit a gr_ prefix
 * getting rid of the blks2 hierarchy

= Changes likely to come with 3.8 =

In particular, API-breaking stuff.

General dependencies

 * Require Doxygen &gt;= 1.7
 * Require CMake &gt;= 2.8.10
 * String FIND command added in 2.8.5
 * enable_language (used for VOLK ASM files) bug fixed in 2.8.10
 * Ubuntu 12.04 comes with v2.8.7
 * Require Boost &gt;= 1.53
 * Require GCC &gt;= 4.7
 * Require QWT &gt;= 6.0 (maybe)
 * Require ICE &gt;= 3.5.0 (maybe 3.5.1)
 * Require Python &gt;= 2.7
 * Require QT4 &gt;= 4.8.0 (maybe 4.7.0 if a given a compelling reason)
 * Require UHD &gt;= 3.6.0

By component
  GNU Radio runtime scheduler


 * Possibly API breaking changes needed to fix #528
 * Maybe change the TSB implementation (wouldn't affect TSBs themselves, but blocks that would re-implement them)
 * Formally deprecate old message queues/sources/sinks in favor of new async message passing
 * Formally deprecate Single Threaded Scheduler (STS)

  GNU Radio Companion


 * Switch default window system for new flowgraphs to
 * Remove all grc-specific blocks that may be replaced with other blocks (ex. tcp.py)
 * Introduce QT version of GRC

  ATSC Digital Television demodulator


 * Remove old version to be replaced by new implementation from xxx

  Hardware support for original FunCUBE dongle


 * Remove, to be supported by 3rd party through PyBOMBS

  NOAA Weather Satellite HRPT telemetry decoder


 * Remove, re-implement as OOT project installed through PyBOMBS

  FLEX Pager protocol decoder


 * Remove, re-implement as OOT project installed through PyBOMBS

  Graphics widgets for QT window system


 * Switch examples to use  instead of

  Ettus Research UHD driver wrapper


 * Require UHD 3.6

  Audio CODECs of various standards


 * Remove internal versions of codec2, gsm, g.72x code in lieu of system packaged binaries
 * Add support for the Opus Interactive Audio Codec

  Graphics widgets for wxWindows/wxPython


 * Formally deprecate for eventual removal in 3.9

  Digital Modulation Support


 * Clean up (d)xPSK files; use a common mod/demod structure
 * Remove old OFDM code

  Filters


 * Remove wintype from firdes; re-implemented in

  VOLK


 * Deprecating ORC now for removal in 3.8 to resolve ARM issues
 * Expecting replacement kernels in NEON for ORC
 * does it make sense to make VOLK a more independent submodule with the goal of it being useful on its own (i.e. w/o compiling GNU Radio)?