| OLD | NEW |
| (Empty) |
| 1 Revision 0.1.7 | |
| 2 -------------- | |
| 3 | |
| 4 - License updated to vanilla BSD 2-Clause to ease package use | |
| 5 (http://opensource.org/licenses/BSD-2-Clause). | |
| 6 - Test suite made discoverable by unittest/unittest2 discovery feature. | |
| 7 - Fix to decoder working on indefinite length substrate -- end-of-octets | |
| 8 marker is now detected by both tag and value. Otherwise zero values may | |
| 9 interfere with end-of-octets marker. | |
| 10 - Fix to decoder to fail in cases where tagFormat indicates inappropriate | |
| 11 format for the type (e.g. BOOLEAN is always PRIMITIVE, SET is always | |
| 12 CONSTRUCTED and OCTET STRING is either of the two) | |
| 13 - Fix to REAL type encoder to force primitive encoding form encoding. | |
| 14 - Fix to CHOICE decoder to handle explicitly tagged, indefinite length | |
| 15 mode encoding | |
| 16 - Fix to REAL type decoder to handle negative REAL values correctly. Test | |
| 17 case added. | |
| 18 | |
| 19 Revision 0.1.6 | |
| 20 -------------- | |
| 21 | |
| 22 - The compact (valueless) way of encoding zero INTEGERs introduced in | |
| 23 0.1.5 seems to fail miserably as the world is filled with broken | |
| 24 BER decoders. So we had to back off the *encoder* for a while. | |
| 25 There's still the IntegerEncoder.supportCompactZero flag which | |
| 26 enables compact encoding form whenever it evaluates to True. | |
| 27 - Report package version on debugging code initialization. | |
| 28 | |
| 29 Revision 0.1.5 | |
| 30 -------------- | |
| 31 | |
| 32 - Documentation updated and split into chapters to better match | |
| 33 web-site contents. | |
| 34 - Make prettyPrint() working for non-initialized pyasn1 data objects. It | |
| 35 used to throw an exception. | |
| 36 - Fix to encoder to produce empty-payload INTEGER values for zeros | |
| 37 - Fix to decoder to support empty-payload INTEGER and REAL values | |
| 38 - Fix to unit test suites imports to be able to run each from | |
| 39 their current directory | |
| 40 | |
| 41 Revision 0.1.4 | |
| 42 -------------- | |
| 43 | |
| 44 - Built-in codec debugging facility added | |
| 45 - Added some more checks to ObjectIdentifier BER encoder catching | |
| 46 posible 2^8 overflow condition by two leading sub-OIDs | |
| 47 - Implementations overriding the AbstractDecoder.valueDecoder method | |
| 48 changed to return the rest of substrate behind the item being processed | |
| 49 rather than the unprocessed substrate within the item (which is usually | |
| 50 empty). | |
| 51 - Decoder's recursiveFlag feature generalized as a user callback function | |
| 52 which is passed an uninitialized object recovered from substrate and | |
| 53 its uninterpreted payload. | |
| 54 - Catch inappropriate substrate type passed to decoder. | |
| 55 - Expose tagMap/typeMap/Decoder objects at DER decoder to uniform API. | |
| 56 - Obsolete __init__.MajorVersionId replaced with __init__.__version__ | |
| 57 which is now in-sync with distutils. | |
| 58 - Package classifiers updated. | |
| 59 - The __init__.py's made non-empty (rumors are that they may be optimized | |
| 60 out by package managers). | |
| 61 - Bail out gracefully whenever Python version is older than 2.4. | |
| 62 - Fix to Real codec exponent encoding (should be in 2's complement form), | |
| 63 some more test cases added. | |
| 64 - Fix in Boolean truth testing built-in methods | |
| 65 - Fix to substrate underrun error handling at ObjectIdentifier BER decoder | |
| 66 - Fix to BER Boolean decoder that allows other pre-computed | |
| 67 values besides 0 and 1 | |
| 68 - Fix to leading 0x80 octet handling in DER/CER/DER ObjectIdentifier decoder. | |
| 69 See http://www.cosic.esat.kuleuven.be/publications/article-1432.pdf | |
| 70 | |
| 71 Revision 0.1.3 | |
| 72 -------------- | |
| 73 | |
| 74 - Include class name into asn1 value constraint violation exception. | |
| 75 - Fix to OctetString.prettyOut() method that looses leading zero when | |
| 76 building hex string. | |
| 77 | |
| 78 Revision 0.1.2 | |
| 79 -------------- | |
| 80 | |
| 81 - Fix to __long__() to actually return longs on py2k | |
| 82 - Fix to OctetString.__str__() workings of a non-initialized object. | |
| 83 - Fix to quote initializer of OctetString.__repr__() | |
| 84 - Minor fix towards ObjectIdentifier.prettyIn() reliability | |
| 85 - ObjectIdentifier.__str__() is aliased to prettyPrint() | |
| 86 - Exlicit repr() calls replaced with '%r' | |
| 87 | |
| 88 Revision 0.1.1 | |
| 89 -------------- | |
| 90 | |
| 91 - Hex/bin string initializer to OctetString object reworked | |
| 92 (in a backward-incompatible manner) | |
| 93 - Fixed float() infinity compatibility issue (affects 2.5 and earlier) | |
| 94 - Fixed a bug/typo at Boolean CER encoder. | |
| 95 - Major overhawl for Python 2.4 -- 3.2 compatibility: | |
| 96 + get rid of old-style types | |
| 97 + drop string module usage | |
| 98 + switch to rich comparation | |
| 99 + drop explicit long integer type use | |
| 100 + map()/filter() replaced with list comprehension | |
| 101 + apply() replaced with */**args | |
| 102 + switched to use 'key' sort() callback function | |
| 103 + support both __nonzero__() and __bool__() methods | |
| 104 + modified not to use py3k-incompatible exception syntax | |
| 105 + getslice() operator fully replaced with getitem() | |
| 106 + dictionary operations made 2K/3K compatible | |
| 107 + base type for encoding substrate and OctetString-based types | |
| 108 is now 'bytes' when running py3k and 'str' otherwise | |
| 109 + OctetString and derivatives now unicode compliant. | |
| 110 + OctetString now supports two python-neutral getters: asOcts() & asInts() | |
| 111 + print OctetString content in hex whenever it is not printable otherwise | |
| 112 + in test suite, implicit relative import replaced with the absolute one | |
| 113 + in test suite, string constants replaced with numerics | |
| 114 | |
| 115 Revision 0.0.13 | |
| 116 --------------- | |
| 117 | |
| 118 - Fix to base10 normalization function that loops on univ.Real(0) | |
| 119 | |
| 120 Revision 0.0.13b | |
| 121 ---------------- | |
| 122 | |
| 123 - ASN.1 Real type is now supported properly. | |
| 124 - Objects of Constructed types now support __setitem__() | |
| 125 - Set/Sequence objects can now be addressed by their field names (string index) | |
| 126 and position (integer index). | |
| 127 - Typo fix to ber.SetDecoder code that prevented guided decoding operation. | |
| 128 - Fix to explicitly tagged items decoding support. | |
| 129 - Fix to OctetString.prettyPrint() to better handle non-printable content. | |
| 130 - Fix to repr() workings of Choice objects. | |
| 131 | |
| 132 Revision 0.0.13a | |
| 133 ---------------- | |
| 134 | |
| 135 - Major codec re-design. | |
| 136 - Documentation significantly improved. | |
| 137 - ASN.1 Any type is now supported. | |
| 138 - All example ASN.1 modules moved to separate pyasn1-modules package. | |
| 139 - Fix to initial sub-OID overflow condition detection an encoder. | |
| 140 - BitString initialization value verification improved. | |
| 141 - The Set/Sequence.getNameByPosition() method implemented. | |
| 142 - Fix to proper behaviour of PermittedAlphabetConstraint object. | |
| 143 - Fix to improper Boolean substrate handling at CER/DER decoders. | |
| 144 - Changes towards performance improvement: | |
| 145 + all dict.has_key() & dict.get() invocations replaced with modern syntax | |
| 146 (this breaks compatibility with Python 2.1 and older). | |
| 147 + tag and tagset caches introduced to decoder | |
| 148 + decoder code improved to prevent unnecessary pyasn1 objects creation | |
| 149 + allow disabling components verification when setting components to | |
| 150 structured types, this is used by decoder whilst running in guided mode. | |
| 151 + BER decoder for integer values now looks up a small set of pre-computed | |
| 152 substrate values to save on decoding. | |
| 153 + a few pre-computed values configured to ObjectIdentifier BER encoder. | |
| 154 + ChoiceDecoder split-off SequenceOf one to save on unnecessary checks. | |
| 155 + replace slow hasattr()/getattr() calls with isinstance() introspection. | |
| 156 + track the number of initialized components of Constructed types to save | |
| 157 on default/optional components initialization. | |
| 158 + added a shortcut ObjectIdentifier.asTuple() to be used instead of | |
| 159 __getitem__() in hotspots. | |
| 160 + use Tag.asTuple() and pure integers at tag encoder. | |
| 161 + introduce and use in decoder the baseTagSet attribute of the built-in | |
| 162 ASN.1 types. | |
| 163 | |
| 164 Revision 0.0.12a | |
| 165 ---------------- | |
| 166 | |
| 167 - The individual tag/length/value processing methods of | |
| 168 encoder.AbstractItemEncoder renamed (leading underscore stripped) | |
| 169 to promote overloading in cases where partial substrate processing | |
| 170 is required. | |
| 171 - The ocsp.py, ldap.py example scripts added. | |
| 172 - Fix to univ.ObjectIdentifier input value handler to disallow negative | |
| 173 sub-IDs. | |
| 174 | |
| 175 Revision 0.0.11a | |
| 176 ---------------- | |
| 177 | |
| 178 - Decoder can now treat values of unknown types as opaque OctetString. | |
| 179 - Fix to Set/SetOf type decoder to handle uninitialized scalar SetOf | |
| 180 components correctly. | |
| 181 | |
| 182 Revision 0.0.10a | |
| 183 ---------------- | |
| 184 | |
| 185 - API versioning mechanics retired (pyasn1.v1 -> pyasn1) what makes | |
| 186 it possible to zip-import pyasn1 sources (used by egg and py2exe). | |
| 187 | |
| 188 Revision 0.0.9a | |
| 189 --------------- | |
| 190 | |
| 191 - Allow any non-zero values in Boolean type BER decoder, as it's in | |
| 192 accordnance with the standard. | |
| 193 | |
| 194 Revision 0.0.8a | |
| 195 --------------- | |
| 196 | |
| 197 - Integer.__index__() now supported (for Python 2.5+). | |
| 198 - Fix to empty value encoding in BitString encoder, test case added. | |
| 199 - Fix to SequenceOf decoder that prevents it skipping possible Choice | |
| 200 typed inner component. | |
| 201 - Choice.getName() method added for getting currently set component | |
| 202 name. | |
| 203 - OctetsString.prettyPrint() does a single str() against its value | |
| 204 eliminating an extra quotes. | |
| 205 | |
| 206 Revision 0.0.7a | |
| 207 --------------- | |
| 208 | |
| 209 - Large tags (>31) now supported by codecs. | |
| 210 - Fix to encoder to properly handle explicitly tagged untagged items. | |
| 211 - All possible value lengths (up to 256^126) now supported by encoders. | |
| 212 - Fix to Tag class constructor to prevent negative IDs. | |
| 213 | |
| 214 Revision 0.0.6a | |
| 215 --------------- | |
| 216 | |
| 217 - Make use of setuptools. | |
| 218 - Constraints derivation verification (isSuperTypeOf()/isSubTypeOf()) fixed. | |
| 219 - Fix to constraints comparation logic -- can't cmp() hash values as it | |
| 220 may cause false positives due to hash conflicts. | |
| 221 | |
| 222 Revision 0.0.5a | |
| 223 --------------- | |
| 224 | |
| 225 - Integer BER codec reworked fixing negative values encoding bug. | |
| 226 - clone() and subtype() methods of Constructed ASN.1 classes now | |
| 227 accept optional cloneValueFlag flag which controls original value | |
| 228 inheritance. The default is *not* to inherit original value for | |
| 229 performance reasons (this may affect backward compatibility). | |
| 230 Performance penalty may be huge on deeply nested Constructed objects | |
| 231 re-creation. | |
| 232 - Base ASN.1 types (pyasn1.type.univ.*) do not have default values | |
| 233 anymore. They remain uninitialized acting as ASN.1 types. In | |
| 234 this model, initialized ASN.1 types represent either types with | |
| 235 default value installed or a type instance. | |
| 236 - Decoders' prototypes are now class instances rather than classes. | |
| 237 This is to simplify initial value installation to decoder's | |
| 238 prototype value. | |
| 239 - Bugfix to BitString BER decoder (trailing bits not regarded). | |
| 240 - Bugfix to Constraints use as mapping keys. | |
| 241 - Bugfix to Integer & BitString clone() methods | |
| 242 - Bugix to the way to distinguish Set from SetOf at CER/DER SetOfEncoder | |
| 243 - Adjustments to make it running on Python 1.5. | |
| 244 - In tests, substrate constants converted from hex escaped literals into | |
| 245 octals to overcome indefinite hex width issue occuring in young Python. | |
| 246 - Minor performance optimization of TagSet.isSuperTagSetOf() method | |
| 247 - examples/sshkey.py added | |
| 248 | |
| 249 Revision 0.0.4a | |
| 250 --------------- | |
| 251 | |
| 252 * Asn1ItemBase.prettyPrinter() -> *.prettyPrint() | |
| 253 | |
| 254 Revision 0.0.3a | |
| 255 --------------- | |
| 256 | |
| 257 * Simple ASN1 objects now hash to their Python value and don't | |
| 258 depend upon tag/constraints/etc. | |
| 259 * prettyIn & prettyOut methods of SimplleAsn1Object become public | |
| 260 * many syntax fixes | |
| 261 | |
| 262 Revision 0.0.2a | |
| 263 --------------- | |
| 264 | |
| 265 * ConstraintsIntersection.isSuperTypeOf() and | |
| 266 ConstraintsIntersection.hasConstraint() implemented | |
| 267 * Bugfix to NamedValues initialization code | |
| 268 * +/- operators added to NamedValues objects | |
| 269 * Integer.__abs__() & Integer.subtype() added | |
| 270 * ObjectIdentifier.prettyOut() fixes | |
| 271 * Allow subclass components at SequenceAndSetBase | |
| 272 * AbstractConstraint.__cmp__() dropped | |
| 273 * error.Asn1Error replaced with error.PyAsn1Error | |
| 274 | |
| 275 Revision 0.0.1a | |
| 276 --------------- | |
| 277 | |
| 278 * Initial public alpha release | |
| OLD | NEW |