Skip to content
pySHV version 0.6.0

Added
* Automatic reconnects for `SimpleClient`
* `init_rpc_client` that only initializes `RpcClient` without connecting
  it
* `RpcMessage.make_response` now accepts result as argument so you can
  use it as initializator
* Support for Access Level for RPC messages
* Support for Client's ID in `SimpleBase` as well as in `RpcBroker`.
* New RPC error `RpcUserIDRequiredError`
* RPC Broker configuration option `config.name`
* SHV value getting utilities for common parameter formats (`shvarg`,
  `shvgett`)
* `SimpleBase.dir_exists` that is consistent with
  `SimpleBase.ls_has_child`
* `RpcNotImplementedError`

Changed
* `SimpleBase` and thus `SimpleClient` method `_method_call` has new
  argument `user_id` and order of old arguments changes. Please update
  your code!
* `RpcUrl` login specific options were moved to `RpcLogin`
* `.app/broker` and `.app/device` were moved to `.broker` and `.device`
  according to the SHV 3.0 standard
* `RpcMethodDesc.SIGNAL` renamed to `RpcMethodDesc.NOT_CALLABLE` and
  should not be used and at the same time new field
  `RpcMethodDesc.signals` was added. Signals now should be specified
  there and not as a separate items.
* `SimpleClient` has now new base `SimpleBase`
* `RpcClient.reset` no longer disconnects and instead sends reset signal
  to peer. The `RpcClient.receive` now receives not only messages but
  also these control signals.
* `RpcBroker` now lowers access level instead of overwriting it
* Command `pycp2cp` renamed to more appropriate `pycpconv`
* `RpcBroker.Client` and `RpcBroker` API changed to center mount point
  management in `RpcBroker`.
* `RpcSubscription` has now different fields due to subscription changes
* The format of logging changed to identify different clients from each
  other
* Access level numerical values adjusted to match SHV standard
* `SimpleBase` and thus `SimpleClient` no longer provides public ability
  to send messages and signals. Instead it is now implemented as
  protected methods and implementations based on it must expose them
  appropriately if that is required.
* `.app:date` SHV RPC method to `SimpleBase`

Fixed
* Failing import on Windows
* Subscription are now compared case sensitive (as it should have been)
* `ValueClient` documentation for `prop_change_wait` timeout parameter
* `ValueClient.prop_get` now uses `max_age` for `get` and correctly uses
  local cache

Removed
* `rpc_login` and `rpc_login_url` in favor of `RpcLogin`
* `SimpleClient.dir_description` that is replaced with
  `SimpleBase.dir_exists`
* `RpcMethodDesc.signal` as it is invalid with latest changes
* `RpcMethodDesc.description` that was replaced with
  `RpcMethodDesc.extra["description"]`
* Broker no longer provides `.app/broker/clientInfo`
* Broker no longer provides method
  `.app/broker/currentClient:rejectNotSubscribed`
* `RpcMessage.chng` because that is now default for `RpcMessage.signal`