Revision 0.0.11a ---------------- - Decoder can now treat values of unknown types as opaque OctetString. - Fix to Set/SetOf type decoder to handle uninitialized scalar SetOf components correctly. - The individual tag/length/value processing methods of encoder.AbstractItemEncoder renamed (leading underscore stripped) to promote overloading in cases where partial substrate processing is required. Revision 0.0.10a ---------------- - API versioning mechanics retired (pyasn1.v1 -> pyasn1) what makes it possible to zip-import pyasn1 sources (used by egg and py2exe). Revision 0.0.9a --------------- - Allow any non-zero values in Boolean type BER decoder, as it's in accordnance with the standard. Revision 0.0.8a --------------- - Integer.__index__() now supported (for Python 2.5+). - Fix to empty value encoding in BitString encoder, test case added. - Fix to SequenceOf decoder that prevents it skipping possible Choice typed inner component. - Choice.getName() method added for getting currently set component name. - OctetsString.prettyPrint() does a single str() against its value eliminating an extra quotes. Revision 0.0.7a --------------- - Large tags (>31) now supported by codecs. - Fix to encoder to properly handle explicitly tagged untagged items. - All possible value lengths (up to 256^126) now supported by encoders. - Fix to Tag class constructor to prevent negative IDs. Revision 0.0.6a --------------- - Make use of setuptools. - Constraints derivation verification (isSuperTypeOf()/isSubTypeOf()) fixed. - Fix to constraints comparation logic -- can't cmp() hash values as it may cause false positives due to hash conflicts. Revision 0.0.5a --------------- - Integer BER codec reworked fixing negative values encoding bug. - clone() and subtype() methods of Constructed ASN.1 classes now accept optional cloneValueFlag flag which controls original value inheritance. The default is *not* to inherit original value for performance reasons (this may affect backward compatibility). Performance penalty may be huge on deeply nested Constructed objects re-creation. - Base ASN.1 types (pyasn1.type.univ.*) do not have default values anymore. They remain uninitialized acting as ASN.1 types. In this model, initialized ASN.1 types represent either types with default value installed or a type instance. - Decoders' prototypes are now class instances rather than classes. This is to simplify initial value installation to decoder's prototype value. - Bugfix to BitString BER decoder (trailing bits not regarded). - Bugfix to Constraints use as mapping keys. - Bugfix to Integer & BitString clone() methods - Bugix to the way to distinguish Set from SetOf at CER/DER SetOfEncoder - Adjustments to make it running on Python 1.5. - In tests, substrate constants converted from hex escaped literals into octals to overcome indefinite hex width issue occuring in young Python. - Minor performance optimization of TagSet.isSuperTagSetOf() method - examples/sshkey.py added Revision 0.0.4a --------------- * Asn1ItemBase.prettyPrinter() -> *.prettyPrint() Revision 0.0.3a --------------- * Simple ASN1 objects now hash to their Python value and don't depend upon tag/constraints/etc. * prettyIn & prettyOut methods of SimplleAsn1Object become public * many syntax fixes Revision 0.0.2a --------------- * ConstraintsIntersection.isSuperTypeOf() and ConstraintsIntersection.hasConstraint() implemented * Bugfix to NamedValues initialization code * +/- operators added to NamedValues objects * Integer.__abs__() & Integer.subtype() added * ObjectIdentifier.prettyOut() fixes * Allow subclass components at SequenceAndSetBase * AbstractConstraint.__cmp__() dropped * error.Asn1Error replaced with error.PyAsn1Error Revision 0.0.1a --------------- * Initial public alpha release