
Major improvements since v1.2.0
  * documentation
    - added script to auto-generate code listings when pygmentize
      is unavailable (not as good, but still functional)
  * dotprod
    - adding method to compute x^T * x of a vector (sum of squares)
  * fft
    - general speed improvements for one-dimensional FFTs
  * filter
    - add linear interpolation for arbitrary resamp output
    - added autotests for validating performance of both the
      resamp and msresamp objects
    - added new fftfilt family of objects to realize linear filter
      with fast Fourier transforms
  * framing
    - adding generic callback function definition for all framing
      structures
    - adding pre-demodulator synchronizer/detector
    - moved interleaver and packetizer objects to `fec` module
    - restructuring frame[gen|sync]64 and flexframe[gen|sync]
      objects with vastly improved performance and reliability
  * matrix
    - adding smatrix family of objects (sparse matrices)
    - improving linear solver methods (roughly doubled speed)
  * modem
    - re-organizing internal modem code (no interface change)
  * multicarrier
    - adding OFDM framing option for window tapering
    - simplfying OFDM framing for generating preamble symbols (all
      generated OFDM symbols are the same length)
    - adding run-time option for debugging ofdmframesync
  * optim
    - gradsearch (gradient search) uses internal linesearch for
      significant speed increase and better reliability
    - gradsearch interface greatly simplified
  * vector
    - new module to simplify basic vector operations

Major improvements for v1.2.0
  * dotprod
    - leveraging SIMD extensions for vector operations (SSE2, SSE3)
  * fft
    - completely re-structured internal transform strategy including
      Cooley-Tukey mixed-radix algorithm, Rader algorithm for FFTs of
      prime length, and specific codelets for small-size transforms.
  * math
    - new modular arithmetic methods (prime factor, totient, etc.)
  * modem
    - new API creates linear modem objects with one argument, e.g.
      LIQUID_MODEM_QAM16
    - new type definitions for analog modems

Major improvements for v1.1.0
  * build
    - simplifying build environment by explicitly defining object
      dependencies (no longer auto-generated; much faster now)
  * documentation
    - new tutorials (ofdmflexframe)
    - sections on new objects/methods (msresamp, gmsk filter design,
      soft-decision demodulation)
    - adding useful figures (polyfit-lagrange, symsync)
    - adding BER performance plots for new FEC schemes
    - adding BER performance plots for sqam32 and sqam128
  * agc
    - fixing scaling issues
    - improving computation speed
    - simplifying interface with a single, unified design model
  * equalization
    - adding support for decision-directed equalizers
  * fec
    - adding soft decoding (when available) for forward error-correction
      schemes; generally improves performance by about 2 dB Eb/N0
    - adding half-rate Golay(24,12) code
    - adding SEC-DED codes: (22,16), (39,32), (72,64)
  * filter
    - firdes: adding Nyquist prototyping design method
    - firdes: adding new GMSK receive filter design method
    - interp: porting to efficient polyphase filterbank implementation,
      adding prototype create() method
    - adding multi-stage resampler for efficient decimation and
      interpolation
  * framing
    - adding ofdmflexframe family of objects capable of defining which
      subcarriers are nulls/pilots/data, and easily loading data into
      frames. Very similar to 'flexframe' in usage.
    - supporting soft packet decoding (interleaving, etc.)
    - adding gmskframe generator and synchronizer object; simple,
      reliable
  * matrix
    - adding Cholesky factorization A = R^T * R (for positive definite
      matrices)
    - adding conjugate gradient solver (for positive definite matrices)
  * modem
    - adding simple on/off keying (OOK) type
    - adding 256-APSK type (6,18,32,36,46,54,64)
    - adding 'square' (cross) 32-, 128-QAM types
    - adding 'optimal' 64-, 128-, and 256-QAM constellations
    - improved speed of most schemes' modulate/demodulate
      implementations
    - adding soft-decision (log-likelihood ratio) demodulation
    - adding GMSK modulation/demodulation with improved filter design
  * multicarrier
    - ofdmframe: improving synchronization and reliability in
      interference environments, enabling squelch, improving
      equalization
  * optim
    - simplified interface to gradient search
