Version 0.7.2 - August 26, 2022
    - Added library version retrieval functions
          oqs_version()
          oqs_python_version()

Version 0.7.1 - January 5, 2022
    - Release numbering updated to match liboqs
    - Added macOS support on CircleCI, we now support macOS & Linux (CircleCI)
      and Windows (AppVeyor)

Version 0.4.0 - November 28, 2020
    - Renamed 'master' branch to 'main'

Version 0.3.0 - June 10, 2020
    - The liboqs handle has now module-private visibility in oqs.py so clients
      can not access it directly; can be accessed via the new oqs.native()
      function
    - Closing #7 https://github.com/open-quantum-safe/liboqs-python/issues/7,
      all issues addressed
    - Added AppVeyor continuous integration

Version 0.2.1 - January 22, 2020
    - Added a signature example
    - Added partial support for RNGs from <oqs/rand.h>
    - Added an RNG example

Version 0.2.0 - October 8, 2019
    - This release updates for compatibility with liboqs 0.2.0, which contains
      new/updated algorithms based on NIST Round 2 submissions.

Version 0.1.0 - April 23, 2019
    - Initial release
