Changelog
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.1
update 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.0
rename
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.1
update to
protobuf~=3.11.2
oser-1.3.2:
fix pickleing on Python 2.7
fix GeneratorExit in
oser.Switch
andoser.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
format
parameter to all integer types and CRCsdefault 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:
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.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 obvious
oser.String
andoser.Data
check 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.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 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 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 stringfixed 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 tuplesadded
oser.Enum.get_value()
to get the current raw valuefixed 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 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