Added
- `network` module to handle network adapter stuff of the host computer
- `mypy` static code analysis
Fixed
- possible choosing wrong ipaddress/network interface [187](https://github.com/Draegerwerk/sdc11073/issues/187)
- added missing SerialNumber to ThisDeviceType
- no creation of operation target states, they should already exist or are not needed if multi state.
- transaction id is unique for provider instead only of sco.
- fixed problem that on operations without handler the transaction id always was 0.
- consumer: renew could be sent after unsubscribe
- possible deadlock when stopping provider
- fixed a bug where the `SdcConsumer` failed to determine the host network adapter if the ip contained in the `device_location` is on a different subnet
- comparison of extensions would fail [238](https://github.com/Draegerwerk/sdc11073/issues/238)
- ExtensionLocalValue.value must be a list instead of a dictionary in order to allow multiple elements with same name.
- fixed a bug where namespaces of xml are lost when coping lxml elements
Changed
- when creating a `SdcClient` with a `device_location` or `WsDiscovery` containing an ip where no suitable host network adapter could be determined from, an `NetworkAdapterNotFoundError` is raised
- removed `netconn` module
- renamed Device with Provider in order to be more compliant with sdc11073 names:
sdc11073.sdcdevice.SdcDevice becomes sdc11073.provider.SdcProvider,
sdc11073.mdib.devicemdib.DeviceMdibContainer becomes sdc11073.mdib.providermdib.ProviderMdib, etc.
- renamed Client with Consumer: sdc11073.sdcclient.SdcClient becomes sdc11073.consumer.SdcConsumer,
sdc11073.mdib.clientmdib.ClientMdibContainer becomes sdc11073.mdib.consumermdib.ConsumerMdib, etc.
- reduced max_subscription_duration of provider to 15 seconds
- renew can be performed in fixed intervals (as before) or depending on Expires time of subscription.
- SdcLocation class reworked; use 'bldng' instead of 'bld', which better matches the standard.
- Some classes renamed in pmtypes.py
- soap client does not try implicit reconnects
- replaced some of the ssl_context parameters with an ssl_context_container parameter,
that can hold two ssl context objects, to be able to get rid of
the deprecation warning occurring when using the same ssl context for both client and server side
- replaced AbstractDescriptorContainer.retrievability property with methods get_retrievability() and set_retrievability()