@table @strong
+@anchor{Release 4.1}
+@item 4.1
+ @itemize
+ @item @code{ESPTREE} implementation
+ @item @code{CurveIdtc26gost34102012256paramSetB},
+ @code{CurveIdtc26gost34102012256paramSetC},
+ @code{CurveIdtc26gost34102012256paramSetD} curve aliases
+ @item Forbid any later GNU GPL version autousage
+ (project's licence now is GNU GPLv3 only)
+ @item Project now is go-get-able: @command{go get go.cypherpunks.ru/gogost/v4}
+
+ @end itemize
+
+@anchor{Release 4.0}
+@item 4.0
+ @itemize
+ @item Backward incompatible change: all keys passing to encryption
+ functions are slices now, not the fixed arrays. That heavily
+ simplifies the library usage
+ @item Fix bug with overwriting IVs memory in @code{gost28147.CFB*crypter}
+ @item @code{TLSTREE}, used in TLS 1.[23], implementation
+ @item @code{gost3410.KEK2012*} can be used with any curves, not only 512-bit ones
+ @item @code{gost3410.PrivateKey} satisfies @code{crypto.Signer} interface
+ @item @code{gost34112012*} hashes satisfy @code{encoding.Binary(Un)Marshaler}
+ @item Streebog256 HKDF test vectors
+ @end itemize
+
@anchor{Release 3.0}
@item 3.0
@itemize
@item Backward incompatible Sbox and curves parameters renaming, to
comply with OIDs identifying them:
@verbatim
- Gost2814789_TestParamSet -> SboxIdGost2814789TestParamSet
- Gost28147_CryptoProParamSetA -> SboxIdGost2814789CryptoProAParamSet
- Gost28147_CryptoProParamSetB -> SboxIdGost2814789CryptoProBParamSet
- Gost28147_CryptoProParamSetC -> SboxIdGost2814789CryptoProCParamSet
- Gost28147_CryptoProParamSetD -> SboxIdGost2814789CryptoProDParamSet
- GostR3411_94_TestParamSet -> SboxIdGostR341194TestParamSet
- Gost28147_tc26_ParamZ -> SboxIdtc26gost28147paramZ
- GostR3411_94_CryptoProParamSet -> SboxIdGostR341194CryptoProParamSet
- EACParamSet -> SboxEACParamSet
+Gost2814789_TestParamSet -> SboxIdGost2814789TestParamSet
+Gost28147_CryptoProParamSetA -> SboxIdGost2814789CryptoProAParamSet
+Gost28147_CryptoProParamSetB -> SboxIdGost2814789CryptoProBParamSet
+Gost28147_CryptoProParamSetC -> SboxIdGost2814789CryptoProCParamSet
+Gost28147_CryptoProParamSetD -> SboxIdGost2814789CryptoProDParamSet
+GostR3411_94_TestParamSet -> SboxIdGostR341194TestParamSet
+Gost28147_tc26_ParamZ -> SboxIdtc26gost28147paramZ
+GostR3411_94_CryptoProParamSet -> SboxIdGostR341194CryptoProParamSet
+EACParamSet -> SboxEACParamSet
- CurveParamsGostR34102001cc -> CurveGostR34102001ParamSetcc
- CurveParamsGostR34102001Test -> CurveIdGostR34102001TestParamSet
- CurveParamsGostR34102001CryptoProA -> CurveIdGostR34102001CryptoProAParamSet
- CurveParamsGostR34102001CryptoProB -> CurveIdGostR34102001CryptoProBParamSet
- CurveParamsGostR34102001CryptoProC -> CurveIdGostR34102001CryptoProCParamSet
- CurveParamsGostR34102001CryptoProXchA -> CurveIdGostR34102001CryptoProXchAParamSet
- CurveParamsGostR34102001CryptoProXchB -> CurveIdGostR34102001CryptoProXchBParamSet
- CurveParamsGostR34102012TC26ParamSetA -> CurveIdtc26gost341012512paramSetA
- CurveParamsGostR34102012TC26ParamSetB -> CurveIdtc26gost341012512paramSetB
+CurveParamsGostR34102001cc -> CurveGostR34102001ParamSetcc
+CurveParamsGostR34102001Test -> CurveIdGostR34102001TestParamSet
+CurveParamsGostR34102001CryptoProA -> CurveIdGostR34102001CryptoProAParamSet
+CurveParamsGostR34102001CryptoProB -> CurveIdGostR34102001CryptoProBParamSet
+CurveParamsGostR34102001CryptoProC -> CurveIdGostR34102001CryptoProCParamSet
+CurveParamsGostR34102001CryptoProXchA -> CurveIdGostR34102001CryptoProXchAParamSet
+CurveParamsGostR34102001CryptoProXchB -> CurveIdGostR34102001CryptoProXchBParamSet
+CurveParamsGostR34102012TC26ParamSetA -> CurveIdtc26gost341012512paramSetA
+CurveParamsGostR34102012TC26ParamSetB -> CurveIdtc26gost341012512paramSetB
@end verbatim
@item Various additional test vectors
@item go modules friendliness