Skip to content

Release 0.4.7

Compare
Choose a tag to compare
@etingof etingof released this 01 Sep 16:08
· 67 commits to master since this release

The major feature of this release is SET ... WITH COMPONENTS constraint support.

  • Added WithComponentsConstraint along with related
    ComponentPresentConstraint and ComponentAbsentConstraint classes
    to be used with Sequence/Set types representing
    SET ... WITH COMPONENTS ... like ASN.1 constructs.

The other important change is that sizeSpec attribute of ASN.1 objects is now deprecated
in favor of uniform subtypeSpec, which is now used for all constraints.

  • Deprecate subtypeSpec attributes and keyword argument. It is now
    recommended to pass ValueSizeConstraint, as well as all other constraints,
    to subtypeSpec.
  • Added isInconsistent property to all constructed types. This property
    conceptually replaces verifySizeSpec method to serve a more general
    purpose e.g. ensuring all required fields are in a good shape. By default
    this check invokes subtype constraints verification and is run by codecs
    on value de/serialisation.

In the bug fixes department we have just one fix:

  • Fixed a design bug in a way of how the items assigned to constructed
    types are verified. Now if Asn1Type-based object is assigned, its
    compatibility is verified based on having all tags and constraint
    objects as the type in field definition. When a bare Python value is
    assigned, then field type object is cloned and initialized with the
    bare value (constraints verificaton would run at this moment).

Complete list of changes can be found in CHANGELOG.