Subject: [pyderasn-devel] PyDERASN 7.0 release announcement

From: Sergey Matveev <[email-masked]>
Date: Sun, 16 Feb 2020 21:32:15 +0300

I am pleased to announce PyDERASN 7.0 release availability!

PyDERASN is free software pure Python ASN.1 DER/BER library.

------------------------ >8 ------------------------

The main improvements for that release are:

* Fixed invalid behaviour where SET OF allowed multiple objects with the
  same tag to be successfully decoded
* Fixed possibly invalid SET DER encoding where objects were not sorted
  by tag, but by encoded representation
* Any does not allow empty data value now. Now it checks if it has
  valid ASN.1 tag
* SetOf is not treated as ready, if no value was set and minimum
  bounds are greater than zero
* Any allows an ordinary Obj storing, without its forceful
  encoded representation storage. That is required for CER encoding
  mode, where we do not know in advance what encoding will be used
* ObjectIdentifier stores values as C unsigned long integer,
  forbidding storage of huge integers, that must not be a problem in
  practice
* Initial support for so called evgen_mode: event generation mode,
  where no in-memory objects storing happens, giving ability to process
  ASN.1 data without fully parsing it first. python -m pyderasn has
  --evgen mode switcher
* Useful agg_octet_string that is able to streamingly decode string
  from events of evgen_mode, allowing strings retrieving without
  copying them to memory first
* Initial experimental CER encoding mode, allowing streaming encoding of
  the data directly to some writeable object
* Ability to use mmap-ed memoryviews to skip files loading to memory
* Ability to use memoryview as an input for *Strings. If they are
  mmap-ed, then you can encode any quantities of data streamingly
  without copying to memory

Read about new streaming related features here:
http://pyderasn.cypherpunks.ru/reference.html#streaming-and-dealing-with-huge-structures

------------------------ >8 ------------------------

PyDERASN'es home page is: http://pyderasn.cypherpunks.ru/

Source code and its signature for that version can be found here:

    http://pyderasn.cypherpunks.ru/download/pyderasn-7.0.tar.xz (346 KiB)
    http://pyderasn.cypherpunks.ru/download/pyderasn-7.0.tar.xz.sig

SHA256 hash: 88CE5A05 4D3FF585 17BFDD7F 4FB3D850 DE835589 151A066E B0534D07 9F3D20B2
GPG key: 2ED6 C846 3051 02DF 5B4E  0383 04A9 33D1 BA20 327A
         PyDERASN releases <pyderasn at cypherpunks dot ru>

pip'es requirements file:

    pyderasn==7.0 --hash=sha256:2513be0181d992548f550ee65551be9b80a2d5619b61ab908fcc51da7d8088c7
    six==1.14.0 --hash=sha256:236bdbdce46e6e6a3d61a337c0f8b763ca1e8717c03b369e87a7ec7ce1319c0a

Please send questions regarding the use of PyDERASN, bug reports and patches
to mailing list: https://lists.cypherpunks.ru/mailman/listinfo/pyderasn-devel

-- 
Sergey Matveev (http://www.stargrave.org/)
OpenPGP: CF60 E89A 5923 1E76 E263  6422 AE1A 8109 E498 57EF