X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=doc%2Fnews.rst;h=6266bc0fd40f55df9550a384044035cbe845094a;hb=7f2e5ef9aef122fb5bdfcb377f0644c7784398a2;hp=fe3a2938ddd6bfaf1a8d0749403969eea7820325;hpb=72f136b94ee75c3d2d6b44d02df3c5a5938f08d1;p=pyderasn.git diff --git a/doc/news.rst b/doc/news.rst index fe3a293..6266bc0 100644 --- a/doc/news.rst +++ b/doc/news.rst @@ -1,6 +1,76 @@ News ==== +.. _release7.0: + +7.0 +--- +* 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 +* 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 + +.. _release6.3: + +6.3 +--- +* Fixed workability under Python 3.5. Previously only 2.7 and 3.6 + versions were tested + +.. _release6.2: + +6.2 +--- +* Python ``int()``'s accepts even more various non-decimal characters + than expected. Make validation fully strict in UTCTime and + GeneralizedTime, without relying on ``int()`` + +.. _release6.1: + +6.1 +--- +* UTCTime and GeneralizedTime allowed values to have plus sign in them, + passing int() check successfully. Prohibit that incorrect behaviour +* UTCTime and GeneralizedTime BER decoding support +* Faster UTCTime and GeneralizedTime decoding, and slightly better + overall performance +* Workability under Cython +* Explicitly Check that all ObjectIdentifier arcs are non-negative + +.. _release6.0: + +6.0 +--- +* ``.copy()`` method removed: ``copy.copy()`` is preferred way to copy + objects now +* Copies made previously with ``.copy()`` lacked ``.defined`` field, + now they are not +* All objects are friendly to ``pickle`` libraries +* PrintableString has ``allow_asterisk`` and ``allow_ampersand`` + properties +* ``.hexencode()``, ``.hexdecode()`` and ``.hexdecod()`` methods + appeared, working with hexadecimal encoded data + .. _release5.6: 5.6 @@ -8,6 +78,9 @@ News * Convenient ``.decod()`` method, that raises if tail is not empty * Control characters (like newlines) of text fields in pprinted output are escaped +* Ability to allow asterisk and ampersand characters + (``allow_asterisk``, ``allow_ampersand`` kwargs) in PrintableString, + that unfortunately could be met in X.509 certificates .. _release5.5: @@ -19,7 +92,7 @@ News 5.4 --- -* Do not shadow underlying ``DecodeError`` during decoding of optional +* Do not shadow underlying DecodeError during decoding of optional sequence's field .. _release5.3: @@ -297,7 +370,7 @@ utility. 1.5 --- -* Generic decoder's scheme and pretty printer +* Generic decoder's schema and pretty printer (:py:func:`pyderasn.generic_decoder`) can be used in libraries * Ability to specify :ref:`defines_by_path ` during command line invocation