Changelog¶
oser-1.3.4:¶
- build manylinux2014 wheels for Python 3.x and manylinux2010 wheels for Python 2.7
oser-1.3.3:¶
Warning
Due to some bugfixes in hlm the host id might change. We’re sorry. Please renew your license.
add support for Python 3.8 (oser is shipped for Python 2.7, 3.6, 3.7 and 3.8 for Windows and Linux for 32 and 64 bit machines)
update to
hlm-1.1
update to
protobuf~=3.11.2
oser-1.3.2:¶
- fix pickleing on Python 2.7
- fix GeneratorExit in
oser.Switch
andoser.IfElse
- fix
oser.Array.to_dict()
andoser.RepeatUntil.to_dict()
oser-1.3.1:¶
- update to hlm-1.0.4
oser-1.3.0:¶
- add support for rich_comparison
- add types for modbus (see modbus)
- add
format
parameter to all integer types and CRCs- default format for CRCs is
"hex"
- add
oser.BitMap
oser.ByteStruct
andoser.BitStruct
can be converted todict
usingoser.ByteStruct.to_dict()
andoser.BitStruct.to_dict()
oser.ByteStruct
andoser.BitStruct
can be loaded fromdict
usingoser.ByteStruct.from_dict()
andoser.BitStruct.from_dict()
root()
now callsup()
and thus traversing a hierarchy can be stopped if needed by overwritingup()
somewhere returningNone
- a
KeyError
inoser.Switch()
now leads to aoser.DecodeException
oser.Flag
andoser.PaddingFlag
cast all values tobool
- add support for bytes and strings for
oser.Padding
,oser.String
,oser.Data
andoser.RegularExpressionMatch
- improve output of introspection
- improve some docstrings
- update to
hlm-1.0.2
oser-1.2.9:¶
- build manylinux2014 wheels for Python 3.x and manylinux2010 wheels for Python 2.7
oser-1.2.8:¶
Warning
Due to some bugfixes in hlm the host id might change. We’re sorry. Please renew your license.
add support for Python 3.8 (oser is shipped for Python 2.7, 3.6, 3.7 and 3.8 for Windows and Linux for 32 and 64 bit machines)
update to
hlm-1.1
update to
protobuf~=3.11.2
oser-1.2.7:¶
- fix pickleing on Python 2.7
oser-1.2.6:¶
- update to hlm-0.21.0
oser-1.2.5:¶
- KeyError in
oser.Switch
leads to a readable DecodeException
oser-1.2.4:¶
- fix deletion of members in structs
oser-1.2.3:¶
- fix arithmetics with struct members
oser-1.2.2:¶
- update to hlm-0.18.0
oser-1.2.1:¶
- fix
copy.deepcopy(object)
to work on unencodable objects
oser-1.2.0:¶
- add support for Python 3.7
- improve bit-type encoding and decoding performance by orders of magnitude
- using acceleration allows to easily improve encoding and decoding performance
- oser nodes can be pickled (used with
pickle
)- add
EncodeException
andDecodeException
to make exceptions more obviousoser.String
andoser.Data
check parameters and raise exceptions- improve oser version output
- improve internal build process with Docker
- update to hlm-0.17.0
oser-1.2.13:¶
- build manylinux2014 wheels for Python 3.x and manylinux2010 wheels for Python 2.7
oser-1.1.12:¶
Warning
Due to some bugfixes in hlm the host id might change. We’re sorry. Please renew your license.
add support for Python 3.8 (oser is shipped for Python 2.7, 3.6, 3.7 and 3.8 for Windows and Linux for 32 and 64 bit machines)
update to
hlm-1.1
update to
protobuf~=3.11.2
oser-1.1.11:¶
- update to hlm-0.21.0
oser-1.1.10:¶
- build wheels for Python 3.7
oser-1.1.9:¶
- fix arithmetics with struct members
oser-1.1.8:¶
- update to hlm-0.18.0
oser-1.1.7:¶
- fix introspect with
oser.Value
- better error messages during decoding for
oser.Constant
,oser.Padding
,oser.Enum
,oser.Array
,oser.ByteStruct
andoser.BitStruct
oser.Constant
raisesTypeError
when called with insufficient arguments
oser-1.1.6:¶
- update to hlm-0.15.0
oser-1.1.5:¶
- add missing wrapper for the Fuzzing feature
- update to hlm-0.12.0 to fix the bug that some usb-sticks changed the host id
- update to protobuf-3.6.0
- wheels for Linux are delivered as manylinux-wheels and can be run on most linux distributions
- add
hst
(HILSTER Support Tool) as a dependency
oser-1.1.4:¶
- fixed context data generation
oser-1.1.3:¶
- fixed comparison of oser instances for equality
- improve exceptions in conditional elements
oser-1.1.2:¶
- fixed a bug in
oser.Switch
when usingoser.Nothing
as the default value- AttributeErrors in conditional elements are more obvious
oser-1.1.1:¶
- fixed bugs concerning size calculation when using conditional elements and bit-types
oser-1.1.0:¶
- added support for Python 3.6
- added the Fuzzing feature, documentation and examples.
- added
oser.RandomIntegerFuzzingValue()
fuzzing adapter.- added
oser.RandomFloatFuzzingValue()
fuzzing adapter.- added
oser.RandomBitsFuzzingValue()
fuzzing adapter.- added
oser.RandomStringFuzzingValue()
fuzzing adapter.- added
oser.RandomBytesFuzzingValue()
fuzzing adapter.- added
oser.core.FuzzingTypeMixin
.- added
oser.core.FuzzingStructMixin
.- added
oser.IfElse.set_true_value()
to set the value for aTrue
condition
.- added
oser.IfElse.set_false_value()
to set the value for aFalse
condition
.- added
oser.IfElse.get_true_value()
to get the value for aTrue
condition
.- added
oser.IfElse.get_false_value()
to get the value for aFalse
condition
.- fixed
oser.IfElse._items()
.- added
oser.Switch.set_value()
to access conditional values.- added
oser.Switch.get_value()
to access conditional values.- added
oser.Switch.get_items()
to iterate conditional keys and values.- added
oser.Switch.get_keys()
to iterate conditional keys.- added
oser.Switch.get_values()
to iterate conditional values.- added
oser.Switch.delete_value()
to delete a value.- added
oser.Switch.update_values()
to update the values.- fixed
oser.Switch._items()
.oser.Padding.get()
returns the value instead of a string and an interger value can be used for padding.copy.deepcopy()
can be used to create deep copies of oser instances.- add methods to enable and disable the checksum and crc automatic calculation feature, e.g.
oser.CRCL8.set_automatic_calculation()
.oser.Array
automatically resizes when a value is set.oser.Array
supports slicing when multiple values are set.oser.RepeatUntil
automatically resizes when a value is set.oser.RepeatUntil
supports slicing when multiple values are set.
oser-1.0.6:¶
- fixed context data generation
oser-1.0.5:¶
- fixed comparison of oser instances for equality
- improve exceptions in conditional elements
oser-1.0.4:¶
- fixed a bug in
oser.Switch
when usingoser.Nothing
as the default value
oser-1.0.3:¶
- fixed bugs concerning size calculation when using conditional elements and bit-types
oser-1.0.2:¶
- fixed a bug with conditional fields within an
oser.BitStruct
oser.Padding.get()
returns the value and not a string- fixed a bug in
oser.Switch._items()
,oser.IfElse._items()
andoser.If._items()
oser.Nothing
returnsNone
instead of an empty string
oser-1.0.1:¶
oser.ByteStruct.size()
calculation was wrong for embeddedoser.BitStruct
members.- when overwriting internal methods with fields an exception is raised
- fixed the context data in
oser.Array
andoser.RepeatUntil
- added
oser.Switch._items()
,oser.IfElse._items()
,oser.If._items()
,oser.Array._items()
andoser.RepeatUntil._items()
that generates name-item tuples- added
oser.Enum.get_value()
to get the current raw value- fixed some docstrings
- updated to
protobuf~=3.1.0
- updated to
hlm~=0.10.3
oser-1.0.0:¶
- added
oser.If
- added
oser.Nothing
- added
oser.RepeatUntil
- added
oser.Data
- added Python 3.5 support
- support for Python 2.7 and Python 3.5 using the same code base
- docs are included in wheel (run
oser docs
from commandline)- updated hlm to use the new license version (enabling features, banners, etc.)
- simplified import strings
- improved continuous integration for oser
- implemented continuous delivery for oser updates
- added pure python wrappers where needed
- better pep8 compatibility
oser.Switch.get()
andoser.IfElse.get()
return the result of.get()
applied on the currently selected objectoser.Switch.get_current()
andoser.IfElse.get_current()
can be used to retrieve the currently selected object- added
oser.__version_info__
(tuple) to compare the version against a required one- improved docs
- using hilster_theme-0.9 in docs