A 6.1
6.1
    * Simplified SESPAKE's API (no non-encoded points)

A 6.0
6.0
    * Removed Python2 compatibility.
    * Added SESPAKE (RFC 8133) algorithm support.
    * Removed utils.bytes2long, utils.long2bytes,
      utils.xrange, utils.hexenc, utils.hexdec.

A 5.13
5.13
    Ability to use masked 34.10 private keys.

A 5.12
5.12
    Fixed incorrect digest calculation when using
    GOST34112012*.update() method.

A 5.11
5.11
    gost34112012's update()/digest() methods are streaming now -- they
    do not store the whole data in memory.

A 5.10
5.10
    Added ISO 10126 pygost.gost3413.(un)pad_iso10126 padding support.

A 5.9
5.9
    Fixed wrap.wrap_cryptopro, that ignored Sbox for key diversification.

A 5.8
5.8
    Added human-readable name of the curve in GOST3410Curve.name.

A 5.7
5.7
    Fixed MGM ignoring of the set tag size.

A 5.6
5.6
    Fixed lint errors for previous release.

A 5.5
5.5
    More 34.10 curve parameters aliases:
    id-tc26-gost-3410-2012-256-paramSetA -> id-tc26-gost-3410-12-256-paramSetA
    id-tc26-gost-3410-2012-256-paramSetB -> id-tc26-gost-3410-12-256-paramSetB
    id-tc26-gost-3410-2012-256-paramSetC -> id-tc26-gost-3410-12-256-paramSetC
    id-tc26-gost-3410-2012-256-paramSetD -> id-tc26-gost-3410-12-256-paramSetD
    id-tc26-gost-3410-2012-512-paramSetTest -> id-tc26-gost-3410-12-512-paramSetTest
    id-tc26-gost-3410-2012-512-paramSetA -> id-tc26-gost-3410-12-512-paramSetA
    id-tc26-gost-3410-2012-512-paramSetB -> id-tc26-gost-3410-12-512-paramSetB
    id-tc26-gost-3410-2012-512-paramSetC -> id-tc26-gost-3410-12-512-paramSetC

A 5.4
5.4
    gost3410.prv_marshal helper can make private keys that are in
    curve's Q field, for better compatibility with some implementations.

A 5.3
5.3
    * More than 4 times speed increase of gost34112012.
    * asn1schemas/cert-selfsigned-example.py optionally
      can issue CA signed child certificate.

A 5.2
5.2
    * GOST3410Curve has .contains(point) method for checking
      if point is on the curve.
    * gost3410_vko functions check if remote peer's public
      key is on the curve.
    * Small typing stubs fixes.

A 5.1
5.1
    Small typing stubs fixes.

A 5.0
5.0
    * Backward incompatible removing of misleading and excess "mode"
      keyword argument from all gost3410* related functions. Point/key
      sizes are determined by looking at curve's parameters size.
    * asn1schemas/cert-selfsigned-example.py optionally can create
      CA certificate.

A 4.9
4.9
    * Fixed nasty bug with Edwards curves using in 34.10-VKO functions:
      curve's cofactor has not been used.
    * CTR-ACPKM mode of operation.
    * OMAC-ACPKM-Master mode of operation.
    * KExp15/KImp15 key export/import functions.
    * KDF_GOSTR3411_2012_256, KDF_TREE_GOSTR3411_2012_256.
    * KEG export key generation function.

A 4.8
4.8
    MGM AEAD mode for 64 and 128 bit ciphers.

A 4.7
4.7
    Removed gost28147.addmod for simplicity.

A 4.6
4.6
    Fix invalid gost28147.addmod's behaviour with much bigger values
    than the modulo.

A 4.5
4.5
    Fixed digest endianness and more RFC4491bis conformance in
    asn1schemas/cert-selfsigned-example.py certificate's.

A 4.4
4.4
    * id-tc26-gost-3410-2012-512-paramSetTest curve.
    * Simple FAQ.
    * More test vectors for 34.10-2012.
    * More X.509, PKCS #10 and corresponding ASN.1 helper structures.

A 4.3
4.3
    Dummy release with fixed pygost.__version__.

A 4.2
4.2
    * pygost.gost3410.sign accepts predefined random data used
      for k/r generation.
    * More test vectors for 34.10-2012.

A 4.1
4.1
    * PEP-396 compatible module's __version__.
    * Curve parameters aliases:
id-GostR3410-2001-CryptoPro-XchA-ParamSet -> id-GostR3410-2001-CryptoPro-A-ParamSet
id-GostR3410-2001-CryptoPro-XchB-ParamSet -> id-GostR3410-2001-CryptoPro-C-ParamSet
id-tc26-gost-3410-2012-256-paramSetB      -> id-GostR3410-2001-CryptoPro-A-ParamSet
id-tc26-gost-3410-2012-256-paramSetC      -> id-GostR3410-2001-CryptoPro-B-ParamSet
id-tc26-gost-3410-2012-256-paramSetD      -> id-GostR3410-2001-CryptoPro-C-ParamSet
    * Forbid any later GNU GPL version autousage (project's licence now
      is GNU GPLv3 only).

A 4.0
4.0
    * 34.10-2012 TC26 twisted Edwards curve related parameters
    * Coordinates conversion from twisted Edwards to Weierstrass
      form and vice versa
    * More test vectors
    * Backward incompatible Sbox and curves parameters renaming,
      to comply with OIDs identifying them:
Gost2814789_TestParamSet       -> id-Gost28147-89-TestParamSet
Gost28147_CryptoProParamSetA   -> id-Gost28147-89-CryptoPro-A-ParamSet
Gost28147_CryptoProParamSetB   -> id-Gost28147-89-CryptoPro-B-ParamSet
Gost28147_CryptoProParamSetC   -> id-Gost28147-89-CryptoPro-C-ParamSet
Gost28147_CryptoProParamSetD   -> id-Gost28147-89-CryptoPro-D-ParamSet
Gost28147_tc26_ParamZ          -> id-tc26-gost-28147-param-Z
GostR3411_94_TestParamSet      -> id-GostR3411-94-TestParamSet
GostR3411_94_CryptoProParamSet -> id-GostR3411-94-CryptoProParamSet

GostR3410_2001_TestParamSet            -> id-GostR3410-2001-TestParamSet
GostR3410_2001_CryptoPro_A_ParamSet    -> id-GostR3410-2001-CryptoPro-A-ParamSet
GostR3410_2001_CryptoPro_B_ParamSet    -> id-GostR3410-2001-CryptoPro-B-ParamSet
GostR3410_2001_CryptoPro_C_ParamSet    -> id-GostR3410-2001-CryptoPro-C-ParamSet
GostR3410_2001_CryptoPro_XchA_ParamSet -> id-GostR3410-2001-CryptoPro-XchA-ParamSet
GostR3410_2001_CryptoPro_XchB_ParamSet -> id-GostR3410-2001-CryptoPro-XchB-ParamSet
GostR3410_2012_TC26_256_ParamSetA      -> id-tc26-gost-3410-2012-256-paramSetA
GostR3410_2012_TC26_ParamSetA          -> id-tc26-gost-3410-12-512-paramSetA
GostR3410_2012_TC26_ParamSetB          -> id-tc26-gost-3410-12-512-paramSetB
GostR3410_2012_TC26_ParamSetC          -> id-tc26-gost-3410-2012-512-paramSetC
    * Backward incompatible GOST3410Curve initialization: all parameters
      are passed not as big-endian encoded binaries, but as integers
    * Backward incompatible change: gost3410.CURVE_PARAMS is disappeared.
      gost3410.CURVES dictionary holds already initialized GOST3410Curve.
      Just use CURVES["id-tc26-gost-3410-12-512-paramSetA"] instead of
      GOST3410Curve(*CURVE_PARAMS["id-tc26-gost-3410-12-512-paramSetA"])

A 3.15
3.15
    * Licence changed back to GNU GPLv3+.
      GNU LGPLv3+ licenced versions are not available anymore.
    * More ASN.1-based test vectors. PyDERASN dependency required.
      => http://www.pyderasn.stargrave.org/

A 3.14
3.14
    Add missing typing stubs related to previous release.

A 3.13
3.13
    * Ability to explicitly specify used 28147-89 Sbox
      in pygost.wrap.* functions.
    * Ability to use key meshing in 28147-89 CBC mode.

A 3.12
3.12
    * Added mode argument to pygost.gost3410_vko.kek_34102012256,
      because 256-bit private keys can be used with that algorithm too.
    * Fix incorrect degree sanitizing in pygost.gost3410.GOST3410Curve.exp
      preventing using of UKM=1 in pygost.gost3410_vko.kek_* functions.

A 3.11
3.11
    Fixed PEP247 typing stub with invalid hexdigest method.

A 3.10
3.10
    Additional missing 34.11-* typing stubs.

A 3.9
3.9
    Add missing 34.11-2012 PBKDF2 typing stub.

A 3.8
3.8
    * 34.11-2012 based PBKDF2 function added.
    * 34.13-2015 does not require double blocksized IVs.

A 3.7
3.7
    Fixed 34.13-2015 OFB bug with IVs longer than 2 blocks.

A 3.6
3.6
    Fixed source files installation during "setup.py install" invocation.

A 3.5
3.5
    Dummy release: added long description in package metadata.

A 3.4
3.4
    * Small mypy stubs related fixes.
    * Licence changed from GNU GPLv3+ to GNU LGPLv3+.

A 3.3
3.3
    * GOST3412Kuz renamed to GOST3412Kuznechik
    * GOST3412Magma implements GOST R 34.12-2015 Magma 64-bit block cipher.

A 3.2
3.2
    34.13-2015 block cipher modes of operation implementations.

A 3.1
3.1
    Fixed mypy stubs related to PEP247-successors.

A 3.0
3.0
    * gost3411_94 renamed to gost341194.
    * gost3411_2012 renamed and split to gost34112012256, gost34112012512.
    * GOST34112012 split to GOST34112012256, GOST34112012512.
    * gost3410.kek moved to separate gost3410_vko.kek_34102001.
    * VKO GOST R 34.10-2012 appeared in gost3410_vko, with test vectors.
    * 34.11-94 digest is reversed, to be compatible with HMAC and
      PBKDF2 test vectors describe in TC26 documents.
    * 34.11-94 PBKDF2 test vectors added.
    * gost3410.prv_unmarshal, gost3410.pub_marshal, gost3410.pub_unmarshal
      helpers added, removing the need of x509 module at all.
    * gost3410.verify requires (pubX, pubY) tuple, instead of two
      separate pubX, pubY arguments.
    * 34.11-94 based PBKDF2 function added.

A 2.4
2.4
    Fixed 34.13 mypy stub.

A 2.3
2.3
    Typo and pylint fixes.

A 2.2
2.2
    GOST R 34.13-2015 padding methods.

A 2.1
2.1
    Documentation and supplementary files refactoring.

A 2.0
2.0
    PEP-0247 compatible hashers and MAC.

A 1.0
1.0
    * Ability to specify curve in pygost.x509 module.
    * Ability to use 34.10-2012 in pygost.x509 functions.
    * Renamed classes and modules:
        pygost.gost3410.SIZE_34100 -> pygost.gost3410.SIZE_3410_2001
        pygost.gost3410.SIZE_34112 -> pygost.gost3410.SIZE_3410_2012
        pygost.gost3411_12.GOST341112 -> pygost.gost3411_2012.GOST34112012

A 0.16
0.16
    34.10-2012 TC26 curve parameters.

A 0.15
0.15
    PEP-0484 static typing hints.

A 0.14
0.14
    34.10-2012 workability fix.

A 0.13
0.13
    Python3 compatibility.

A 0.11
0.11
    GOST R 34.12-2015 Кузнечик (Kuznechik) implementation.

A 0.10
0.10
    CryptoPro and GOST key wrapping, CryptoPro key meshing.
