2.6.0 - May 4, 2018
-------------------

The main impetus for this release is a complete reorganization of the build system to enable Digital RF to run with Python 3 and on Windows. Major changes include:

- Python 3.5+ compatibility (excluding 'gr_digital_rf' since GNU Radio does not support Python 3 yet).
- Windows compatibility, including conda packages.
- Automated CI testing with revamped Python tests using 'pytest'.
- Python package available on PyPI (for 'pip' install), including binary wheels for Linux, OSX, and Windows.
- Python 'gr_digital_rf' packaged with 'digital_rf' since we no longer require GNU Radio to build (dropping Digital RF C Sink support).
- New 'thor' options:
  - Output channel settings including rational resampling, frequency shifting, and channelizing
  - Clock source (10 MHz ref) and time source (PPS) split out from sync_source
  - Clock lock check with nolock option to skip
  - LO source/export
  - Tuning arguments
  - DC offset and IQ balance
- Updated sounder example transmit script with some 'thor' features.
- Matlab reader fixes for recent data format and packaging as a Matlab Toolbox.
- Various bug fixes and improvements (see commit log for full list of changes).

2.5.4 - August 18, 2017
-----------------------

This release incorporates many robustness improvements and fixes based on testing with the Millstone Hill radar. Major changes include:

- Ringbuffer/mirror/watchdog code are now more efficient and robust to errors.
- New 'drf cp' and 'drf mv' commands for copying and moving data.
- The watchdog and cp/mv commands now support specifying a start and end time to watch/copy/move only a particular window of time.
- Many fixes and updates to the beacon example.
- Added ability to specify input/output chunksize in the GNU Radio Digital RF Sources/Sinks in order to tweak performance for a particular application.

2.5.3 - July 28, 2017
---------------------

Improvements to watchdog_drf, list_drf, mirror, and ringbuffer. Can now monitor directories that don't yet exist or get deleted and ringbuffer by file count and duration.


2.5.2 - July 22, 2017
---------------------

Fix build on OSX for C version of gr_drf Digital RF Sink.


2.5.1 - July 14, 2017
---------------------

The main new feature is a GNU Radio Digital RF Sink written entirely in Python that writes receiver and recorder metadata previously handled only in the thor recording script.


2.5 - June 16, 2017
-------------------

First release intended for public use. The 'metadata.h5' files that previously indicated a Digital RF/Metadata channel directory and that stored properties inherent to the channel have been renamed to 'drf_properties.h5' and 'dmd_properties.h5', respectively, to avoid confusion with accompanying Digital Metadata.


2.4 - April 7, 2017
-------------------

First release with a revamped CMake build system and including the gr_drf GNU Radio module and many examples.


2.0 - Dec 30, 2015
------------------

Major update to Digital RF, in that file and subdirectory names were made predictable. To do this, each file and subdirectory now contains a set range of samples, and files and subdirectories will no longer have set number of samples when data is gappy. This greatly simplified the read api, since globs were no longer needed to find the data files that need to be opened; instead all needed file names can be derived.


1.1.1 - Aug 4, 2014
-------------------

The python read methods have changed. The method read_vector now returns all data in format numpy.complex8, no matter how the data was stored in the underlying Hdf5 file. A new method, read_vector_raw duplicates the old read_vector method, returning data in the format stored in the Hdf5 raw files. The method read_vector_c81d that returns data as a single subchannel in numpy.complex8 format still exists, but issues a UserWarning recommending use of the other methods.


1.1 - July 7, 2014
------------------

The directory naming convention has changed from HH:MM:SS since certain file systems disallowed colons in directory names.  This affected both the read and write API's.


1.0 - May 29, 2014
------------------

The first major release of the C and Python API's supporting the Digital RF HDF5 raw data format.
