All notable changes to GNU Radio will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning, starting with version 3.7.12.0.
Older Logs can be found in docs/RELEASE-NOTES-*.
boost::posix_time::[milli]secondtakes 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
- Fixed GRC bug which broke WX and Qt (by altering the template code), in multiple (less than awesome) steps
fmdet_cf's derivative coefficients were wrong.
float_array_to_int: int32 limits were wrongly hardcoded.- Fixed the undefined behaviour happening in
float_to_complexwhen accessing the second input_items element in the single-input case
- QA for complex cosine
gr_modtoolnow with autocompletion candidates forrm
- Removed cppunit from all unit tests, replaced by Boost
- Removed the cppunit dependency
- 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.
- 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/")
logvslogfperformance bugs- on-time
pmt::mp("string")calls (instead of cached PMTs) performance bug - Doxygen build now reproducible
- Dialogs' parent windows
- Embedded Python Blocks now work in hierarchical GRC flow graphs
random.h: Uniform integer Generation depended on Boost version > min versionrandom.h: time-dependency when seeding with0replaced with actual standard seed- block startup now synchronized via barrier
- New tag propagation policy "custom" for own implementation
get_tags_in_rangeusedv.resize(0)to clear vectors, which lead to unnecessary memory reallocationslogger_ptrnow always a pointer, no matter whether logging is enabled; fixes heap corruption bugbuffer[_reader]_sptrsuperfluous grab/release performance bug- BSD threading and shared mem compatibility
- PMT:
equal()comparison
- Sorted files in
gr_modtoolmakexml processing, leading to improved reproducibility of builds
- OS X: memcpy bug
- OS X: debug mode
- Non-Linux ALSA compatibibilty
fmdet_cfnow has GRC filefastnoise_source: non-threadsafelibcrand()replaced by XOROSHIRO128+
simple_copyCtrlport example- Metadata sink/source not closing file on
close() multiply_matrixformerly used "magic int" value where its API expected enum (and that int wasn't covered)- TCP connection ASIO bug
tags_strobe: superfluous tags additionvector_sink: multithreading hazards ondataaccesstuntap_pdu: MTU-sized IP packet receptionsocket_pdu: Garbage Collect closed TCP connections
- IQ imbalance block formula now mathematically correct now mathematically correct
selective_fading_model: proper scaling of path length
additive_scrambler_bb: tag triggered resetstream_to_tagged_stream: tag offset afterunlock()blks2/packet.py: Flushing for small packetsinterpolating_resampler: GCC 4.0 compile errorconstellation: 16QAM demapper was wrong for one constellation pointchunks_to_symbols: mutex-guard LUT against modification during use- MSVC compatibility throug
and->&&etc crc32_bb: handle unpacked bytes correctlyofdm_carrier_allocator: catching wrong allocations instead of crashing
- All examples now are installed
- DVB-T2: Removed L1 post scrambling in spec v1.1.1 mode
- Building on non-Linux systems
- Extended symbol bug in Reed-Solomon encoder
- DVB-T Cell identifier
- Building on non-Linux systems
channel_construction.py: return int frozen bit outputGSL_LDFLAGSpropagationpolar_decoderused to be flaky
- locking of fftw wisdom
window.cc: removed NaN due to FP math- compilation under MinGW
logpwrfft.pyreference scaling integer division bug
- Simpson's rule code removed in favor of GSL call
- Time sink: Segfault with tag trigger
- Antenna selection in UHD apps
uhd_fftscalar gain-capability- Device selection for multi-device operations in UHD apps
- TX streamer creation
- Multi-part messages reception
- Ninja (https://ninja-build.org) now a supported build system
- Python can now get
gr.WORK_CALLED_PRODUCEandgr.DONE
gr_modtool: Autocompletion, line editinggr_modtool:copyrightholderoption
- "Create Duplicate"
- "Save a copy"
- BokehGUI
- New
tag_shareblock: take tags from one two input streams to one output stream tag_gate: tag filteringfile_source: configurablefile_beginstream tagmoving_average: Vector mode (with element-wise MA)plateau_detector: threshold get/set
costas_loop_cc: Optional loop variable outputs- New
correlate_access_code_tagblock glfsrexposed through Python
- 256QAM mode for ITU-T J.83B transmitter
- negative Polynomials in
cc_encoder
symbol_sync_{cc|ff}
uhd_app.py: selectable time/clock sources- make
recv()call's timeout parameterizable - message-based RX tuning through sink, TX through source
- VOLK version requirement: 1.4.0
- Minimal required SWIG version now 2.0.4
- GSL optional dependency
- Threw out completely unused
gr_??inttypes - Doxygen build no longer contains timestamps
- Doxygen build now reproducible
- Though factually before, now officially include ZeroMQ and Sphinx as optional dependencies in docs
- Python gateway allows variable number of ports
gr_modtool: Block template now usesnumpy.float32instead of float. 32bit float is actually the default GNU Radio type.e.
vector_sinkcan preallocate memory for desired amount of items
header_format_defaultnow sps>1-capablecorrelate_acces_codeusesGR_LOG
uhd_fft: respectlo_offsetinset_bandwidthusrp_source: freq tag now actually reflects last set frequency, even on multiple channels
- Labels: now with 98.121212388% improved floating point formatting
- Time Sink: Stem plot option exposed
gr::sys_pri