Version history¶
Releases¶
v0.2.0 (2019-03-23)¶
This release adds more field types and further improves on existing code. It also extends the documentation significantly.
- Added Destructify GUI, contributed by mvdnes.
- Added
StructureOptions.encoding - Added
StructureOptions.alignment,Field.offsetandField.skip, implemented byField.seek_start - Added
Field.lazy - Added
Field.decoder,Field.encoderandStructure.initialize() - Added
BytesField.terminator_handler - Added
ConditionalField.fallback - Added
ArrayField.until - New field
BytesField, merging the features ofFixedLengthFieldandTerminatedField. These fields will remain as subclasses. - New field:
ConstantField - New field:
SwitchField - New field:
VariableLengthIntegerField - Merged
FixedLengthStringFieldandTerminatedStringFieldintoStringField - Removed hook functions
Field.from_bytes()andField.to_bytes() - Removed all byte-order specific subclasses from
StructField. - Add option to
ParsingContextto capture the raw bytes, available inParsingContext.fields - Add
ParsingContext.fieldsfor information about the parsing structure. - Added
ParsingContext.ffor raw attribute access; this is now passed to lambdas. - Added
thisfor quick construction of lambdas Substreamis now a wrapper instead of a full-fetched BufferedReader- Numerous bugfixes for consistent building of fields.
v0.1.0 (2019-02-17)¶
This release features several new field types, and bugfixes from the previous release. Also some backwards-incompatible changes were made.
- Added
StructureOptions.byte_order - Added
Structure.as_cstruct() - Added
Structure.__len__() - Added
Structure.full_name() FieldContextis nowParsingContext- New field:
ConditionalField - New field:
EnumField - New field:
BitField - New field:
IntegerField, renamed struct-based field toIntField - New field:
FixedLengthStringField - New field:
TerminatedStringField - Support strict, negative lengths and padding in
structify.fields.FixedLengthField - Support length in
structify.fields.ArrayField, renamedArrayField.sizetoArrayField.count - Support step
structify.fields.TerminatedField - Fixed
structify.fields.StructureFieldto usestructify.Substream - Fixed double-closing a
structify.Substream
v0.0.1 (2018-04-07)¶
Initial release.