Changelog
oser-3.1.6:
add support for Python 3.14
update to
protobuf~=6.32.1
oser-3.1.5:
add support for Python 3.13
oser-3.1.4:
add build environment data for validation purposes
oser-3.1.3:
add support for Python 3.12
oser-3.1.2:
update to
protobuf~=4.23.2
oser-3.1.1:
fix typing error
oser-3.1.0:
add type-hints
use
hlm-3.1update to
protobuf~=4.22.1
oser-3.0.1:
add support for Python 3.11
oser-3.0.0:
Warning
oser-3 drops support for Python 2.7 and 32 bit software!
This is why:
We offered Python 2.7 support for 2 years after Python 2.7’s end of life on 2020-01-01.
No recent computer has a 32 bit processor anymore.
We will support the newest and commonly used versions of Python 3.x.
update to
hlm-3.0.0rename
size()andbyte_size()toget_size()andget_byte_size()
oser-2.x
oser-2 was never released. Instead we decided to release oser-3 which only support Python 3.x so the version fits better.
oser-1.3.10
Warning
oser-1.3 reached the end of life on January 1st, 2022. Please upgrade to oser-3.0 which can be used with little changes.
use
hlm-2.0.1
oser-1.3.9
reduce wheel size and improve performance
CRC fuzzing disables strict mode and automatic calculation while fuzzing
update to
protobuf~=3.17.3
oser-1.3.8
remove docs from wheels
oser-1.3.7
update to
hlm-2.0
oser-1.3.6
modernize documentation
fix examples that were not working with Python 3.x
oser-1.3.5
add support for Python 3.9
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.1update to
protobuf~=3.11.2
oser-1.3.2:
fix pickleing on Python 2.7
fix GeneratorExit in
oser.Switchandoser.IfElse
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 Types)
add
formatparameter to all integer types and CRCsdefault format for CRCs is
"hex"add
oser.BitMap
oser.ByteStructandoser.BitStructcan be converted todictusingoser.ByteStruct.to_dict()andoser.BitStruct.to_dict()
oser.ByteStructandoser.BitStructcan be loaded fromdictusingoser.ByteStruct.from_dict()andoser.BitStruct.from_dict()
root()now callsup()and thus traversing a hierarchy can be stopped if needed by overwritingup()somewhere returningNonea
KeyErrorinoser.Switch()now leads to aoser.DecodeException
oser.Flagandoser.PaddingFlagcast all values tobooladd support for bytes and strings for
oser.Padding,oser.String,oser.Dataandoser.RegularExpressionMatchimprove output of introspection
improve some docstrings
update to
hlm-1.0.2
oser-1.2.9:
Warning
oser-1.2 reached the end of its life on January 1st, 2021. Please upgrade to oser-1.3 which is fully backwards compatible to oser-1.2.
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.1update 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.Switchleads 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
EncodeExceptionandDecodeExceptionto make exceptions more obvious
oser.Stringandoser.Datacheck parameters and raise exceptionsimprove oser version output
improve internal build process with Docker
update to hlm-0.17.0
oser-1.1.13:
Warning
oser-1.1 reached the end of its life on January 1st, 2021. Please upgrade to oser-1.3 which is fully backwards compatible to oser-1.1.
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.1update 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.Valuebetter error messages during decoding for
oser.Constant,oser.Padding,oser.Enum,oser.Array,oser.ByteStructandoser.BitStruct
oser.ConstantraisesTypeErrorwhen 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.Switchwhen usingoser.Nothingas the default valueAttributeErrors 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 aTruecondition.added
oser.IfElse.set_false_value()to set the value for aFalsecondition.added
oser.IfElse.get_true_value()to get the value for aTruecondition.added
oser.IfElse.get_false_value()to get the value for aFalsecondition.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.Arrayautomatically resizes when a value is set.
oser.Arraysupports slicing when multiple values are set.
oser.RepeatUntilautomatically resizes when a value is set.
oser.RepeatUntilsupports 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.Switchwhen usingoser.Nothingas 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 stringfixed a bug in
oser.Switch._items(),oser.IfElse._items()andoser.If._items()
oser.NothingreturnsNoneinstead of an empty string
oser-1.0.1:
oser.ByteStruct.size()calculation was wrong for embeddedoser.BitStructmembers.when overwriting internal methods with fields an exception is raised
fixed the context data in
oser.Arrayandoser.RepeatUntiladded
oser.Switch._items(),oser.IfElse._items(),oser.If._items(),oser.Array._items()andoser.RepeatUntil._items()that generates name-item tuplesadded
oser.Enum.get_value()to get the current raw valuefixed some docstrings
updated to
protobuf~=3.1.0updated to
hlm~=0.10.3
oser-1.0.0:
added
oser.Ifadded
oser.Nothingadded
oser.RepeatUntiladded
oser.Dataadded 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 docsfrom 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 object
oser.Switch.get_current()andoser.IfElse.get_current()can be used to retrieve the currently selected objectadded
oser.__version_info__(tuple) to compare the version against a required oneimproved docs
using hilster_theme-0.9 in docs