## [3.7.13.3] - 2018-06-13
### Fixed
#### Project Scope
- For non-C++11 compilers, the new cstdint include doesn't work out; conditionalized it.
## [3.7.13.2] - 2018-05-31
### Fixed
#### Project Scope
- Actually bumped version in CMakeLists.txt to 3.7.13.2; the 3.7.13.1 tag was tagged off-branch; maintainer failure to simultaneously push a commit that raises the internal version number to 3.7.14.0: this had to be reverted ASAP.
## [3.7.13.1] - 2018-05-31
### Fixed
#### Project Scope
- Actually bumped version in CMakeLists.txt
## [3.7.13.0] - 2018-05-31
### Fixed
#### Project Scope
- `boost::posix_time::[milli]second` takes integer numbers, and we now at least cast the floats to integers, as Boost 1.67 forced us to realize we're (incorrectly) using floating point her
- CMake: using regex to match compiler against "Clang" now enables correct build on OS X
#### GRC
- Fixed GRC bug which broke WX and Qt (by altering the template code), in multiple (less than awesome) steps
#### gr-blocks
- `float_array_to_int`: int32 limits were wrongly hardcoded.
- Fixed the undefined behaviour happening in `float_to_complex` when accessing the second input_items element in the single-input case
## [3.7.12.0] - 2018-04-01
### Software Engineering
- Changed Changelog format
- Introducing Semantic Versioning
- Change of development model: Rather than merging bugfixes to maint, merging maint to master, and next, if applicable, we'll be moving forward more in a typical management model: Development happens on master, and bugfixes are cherrypicked onto the maint-${RELEASE} branch. More info: http://lists.gnu.org/archive/html/discuss-gnuradio/2018-02/msg00133.html
- First attempt at having a .clang-format file to improve code contribution style quality. This is Work In Progress.
### Fixed
#### Project Scope
- Buildability on systems where custom CMake command would try to find "" (empty string) as executable
- Buildable with C++11 compilers (though deprecation warning-rich, due to `unique_ptr`)
- several previously improperly handled include directories now actually included in individual lib/CMakeLists
- Unit test/QA now parallelizable
- Logger works with log4cpp <= 1.1.2 both in and out of tree
- Python linkage under MinGW64
- Documentation Directory now uniformly "docs/" (instead of sometimes "doc/")
- `log` vs `logf` performance bugs
- on-time `pmt::mp("string")` calls (instead of cached PMTs) performance bug
- Doxygen build now reproducible
#### GRC
- Dialogs' parent windows
- Embedded Python Blocks now work in hierarchical GRC flow graphs
#### gnuradio-runtime
- `random.h`: Uniform integer Generation depended on Boost version > min version
- `random.h`: time-dependency when seeding with `0` replaced with actual standard seed
- block startup now synchronized via barrier
- New tag propagation policy "custom" for own implementation
- `get_tags_in_range` used `v.resize(0)` to clear vectors, which lead to unnecessary memory reallocations
- `logger_ptr` now always a pointer, no matter whether logging is enabled; fixes heap corruption bug
- `buffer[_reader]_sptr` superfluous grab/release performance bug
- BSD threading and shared mem compatibility
- PMT: `equal()` comparison
#### gr-utils
- Sorted files in `gr_modtool` makexml processing, leading to improved reproducibility of builds
#### gr-audio
- OS X: memcpy bug
- OS X: debug mode
- Non-Linux ALSA compatibibilty
#### gr-analog
- `fmdet_cf` now has GRC file
- `fastnoise_source`: non-threadsafe `libc` `rand()` replaced by XOROSHIRO128+
#### gr-blocks
- `simple_copy` Ctrlport example
- Metadata sink/source not closing file on `close()`
- `multiply_matrix` formerly used "magic int" value where its API expected enum (and that int wasn't covered)
- TCP connection ASIO bug
- `tags_strobe`: superfluous tags addition
- `vector_sink`: multithreading hazards on `data` access
- `tuntap_pdu`: MTU-sized IP packet reception
- `socket_pdu`: Garbage Collect closed TCP connections
#### gr-channels
- IQ imbalance block formula now mathematically correct now mathematically correct
- `selective_fading_model`: proper scaling of path length
#### gr-digital
- `additive_scrambler_bb`: tag triggered reset
- `stream_to_tagged_stream`: tag offset after `unlock()`
- `blks2/packet.py`: Flushing for small packets
- `interpolating_resampler`: GCC 4.0 compile error
- `constellation`: 16QAM demapper was wrong for one constellation point
- `chunks_to_symbols`: mutex-guard LUT against modification during use
- MSVC compatibility throug `and` -> `&&` etc
- `crc32_bb`: handle unpacked bytes correctly
- `ofdm_carrier_allocator`: catching wrong allocations instead of crashing
#### gr-dtv
- All examples now are installed
- DVB-T2: Removed L1 post scrambling in spec v1.1.1 mode
#### gr-fcd
- Building on non-Linux systems
- Extended symbol bug in Reed-Solomon encoder
- DVB-T Cell identifier
#### gr-fcd
- Building on non-Linux systems
#### gr-fec
- `channel_construction.py`: return int frozen bit output
- `GSL_LDFLAGS` propagation
- `polar_decoder` used to be flaky
#### gr-fft
- locking of fftw wisdom
- `window.cc`: removed NaN due to FP math
- compilation under MinGW
- `logpwrfft.py` reference scaling integer division bug
#### gr-filter
- Simpson's rule code removed in favor of GSL call
#### gr-qtgui
- Time sink: Segfault with tag trigger
#### gr-uhd
- Antenna selection in UHD apps
- `uhd_fft` scalar gain-capability
- Device selection for multi-device operations in UHD apps
- TX streamer creation
#### gr-zeromq
- Multi-part messages reception
### Added
#### Project Scope
- Ninja (https://ninja-build.org) now a supported build system
#### gnuradio-runtime
- Python can now get `gr.WORK_CALLED_PRODUCE` and `gr.DONE`
#### gr-utils
- `gr_modtool`: Autocompletion, line editing
- `gr_modtool`: `copyrightholder` option
#### GRC
- "Create Duplicate"
- "Save a copy"
- BokehGUI
#### gr-blocks
- New `tag_share` block: take tags from one two input streams to one output stream
- `tag_gate`: tag filtering
- `file_source`: configurable `file_begin` stream tag
- `moving_average`: Vector mode (with element-wise MA)
- `plateau_detector`: threshold get/set
#### gr-digital
- `costas_loop_cc`: Optional loop variable outputs
- New `correlate_access_code_tag` block
- `glfsr` exposed through Python
#### gr-dtv
- 256QAM mode for ITU-T J.83B transmitter
#### gr-fec
- negative Polynomials in `cc_encoder`
#### gr-filter
- `symbol_sync_{cc|ff}`
#### gr-uhd
- `uhd_app.py`: selectable time/clock sources
- make `recv()` call's timeout parameterizable
- message-based RX tuning through sink, TX through source
### Changed
#### Project Scope
- VOLK version requirement: 1.4.0
- Minimal required SWIG version now 2.0.4
- GSL optional dependency
- Threw out completely unused `gr_??int` types
- Doxygen build no longer contains timestamps
- Doxygen build now reproducible
- Though factually before, now officially include ZeroMQ and Sphinx as optional dependencies in docs
#### gnuradio-runtime
- Python gateway allows variable number of ports
#### gr-utils
- `gr_modtool`: Block template now uses `numpy.float32` instead of float. 32bit float is actually the default GNU Radio type.e.
#### gr-blocks
- `vector_sink` can preallocate memory for desired amount of items
#### gr-digital
- `header_format_default` now sps>1-capable
- `correlate_acces_code` uses `GR_LOG`
#### gr-uhd
- `uhd_fft`: respect `lo_offset` in `set_bandwidth`
- `usrp_source`: freq tag now actually reflects last set frequency, even on multiple channels
#### gr-qtgui
- Labels: now with 98.121212388% improved floating point formatting
- Time Sink: Stem plot option exposed
### Deprecated
#### gnuradio-runtime
- `gr::sys_pri`
--------------------------------------------
ChangeLog v3.7.11
This is a feature release of the 3.7 API series, and incorporates all
the bug fixes implemented in the 3.7.10.2 maintenance release.
Contributors
(omitted in this commit log, sorry)
Changes
The GNU Radio project tracks changes via Github pull requests. You can
get details on each of the below by going to:
https://github.com/gnuradio/gnuradio
Note: Please see the release notes for 3.7.10.2 for details on the bug
fixes included in this release.
gnuradio-runtime
#1077 Support dynamically loaded gnuradio installs (Josh Blum)
gnuradio-companion
#1118 Support vector types in embedded Python blocks (Clayton Smith)
gr-audio
#1051 Re-implemented defunct Windows audio source (Geof Gnieboer)
#1052 Implemented block in Windows audio sink (Geof Gnieboer)
gr-blocks
#896 Added PDU block setters and GRC callbacks (Jacob Gilbert)
#900 Exposed non-vector multiply const to GRC (Ron Economos)
#903 Deprecated old-style message queue blocks (Johnathan Corgan)
#1067 Deprecated blks2 namespace blocks (Johnathan Corgan)
gr-digital
#910 Deprecated correlateandsync block 3.8 (Johnathan Corgan)
#912 Deprecated modulation blocks for 3.8 (Sebastian Müller)
#1069 Improved build memory usage with swig split (Michael Dickens)
#1097 Deprecated mpskreceivercc block (Johnathan Corgan)
#1099 Deprecated old-style OFDM receiver blocks (Martin Braun)
gr-dtv
#875 Added ability to cross-compile gr-dtv (Ron Economos)
#876 Improved ATSC transmitter performance (Ron Economos)
#894 Refactored DVB-T RS decoder to use gr-fec (Ron Economos)
#898 Improved error handling and logging (Ron Economos)
#900 Improved DVB-T performance (Ron Economos)
#907 Updated examples to use QT (Ron Economos)
#1025 Refactor DVB-T2 interleaver (Ron Economos)
gr-filter
#885 Added set parameter msg port to fractional resampler (Sebastian Müller)
gr-trellis
#908 Updated examples to use QT (Martin Braun)
gr-uhd
#872 Added relative phase plots to uhd_fft (Martin Braun)
#1032 Replace zero-timeout double-recv() with one recv() (Martin Braun)
#1053 UHD apps may now specify multiple subdevs (Martin Braun)
#1101 Support TwinRX LO sharing parameters (Andrej Rode)
#1139 Use UHD internal normalized gain methods (Martin Braun)
gr-utils
#897 Improved python docstring generation in gr_modtool
------------------------------------------------------------
ChangeLog v3.7.10.1
This is the first bug-fix release for v3.7.10
This contains bug fixes primarily for GRC and DTV.
- GRC
* Catch more exceptions thrown by ConfigParser when reading corrupted
grc.conf files.
* Fix the docstring update error for empty categories.
* Fix grcc to call refactored GRC code.
* Convert initially opened files to absolute paths to prevent
attempting to read from tmp.
* Move startup checks back in to gnuradio-companion script from grc/checks.py.
- DTV
* Fix a segfault that occurs from out-of-bounds access in
dvbt_bit_inner_interleaver forecast by forecasting an enumerated list
of all input streams.
* Fix VL-SNR framing.
- Digital
* Enable update rate in block_recovery_mm blocks to keep tags close to
the the proper clock-recovered sample time. Tag offsets will still be
off between calls to work, but each work call updates the tag rate.
- Analog
* Fix the derivative calculation in fmdet block.
- Builds
* Fix linking GSL to gr-fec.
* Use gnu99 C standard rather than gnu11 standard to maintain
support for GCC 4.6.3.
- Other
Minor spelling and documentation fixes.
Fix uhd_siggen_gui when using lo_locked.
(pkgsrc changes on gnuradio-core/Makefile.common)
- Following lines added
CXXFLAGS+= -pthread
.include "../../devel/cppunit/buildlink3.mk"
.include "../../math/gsl/buildlink3.mk"
- Following patch added to give sphinx-build name (with ${PYVERSSUFFIX) attached)
gnuradio-core/patches/patch-cmake_Modules_FindSphinx.cmake
- Depending doxygen-1.8.9.1nb1 now
- gnuradio-doxygen is updated 3.7.5.2nb1 to 3.7.6
(upstream)
- Update gnuradio-* from 3.7.5.2 to 3.7.6
---------------------------------------
GNU Radio releases 3.7.6 and 3.7.5.2 are available for download:
(several tens of lines omitted for URL and List of contributors)
Release 3.7.5.2 is a bug-fix only maintenance patch following 3.7.5.1,
and will be the last one for the 3.7.5 release. Release 3.7.6
incorporates all these fixes and adds significant new features.